[
    {
        "name": "Vega",
        "comment": " This module will allow you to create a full Vega specification in Elm. A\nspecification is stored as a JSON object and contains sufficient declarative detail\nto specify the graphical output. While this a 'pure' Elm library, to create the\ngraphical output you probably want to send a Vega specification generated by\n`toVega` via a port to some JavaScript that invokes the Vega runtime.\n\n\n# Creating A Vega Specification\n\nFuture development of this package will allow full Vega specifications to be provided.\nCurrently, only a very limited set of Vega options detailed below, is provided for\ntesting purposes only.\n\n@docs toVega\n@docs VProperty\n\n",
        "unions": [
            {
                "name": "VProperty",
                "comment": " Top-level Vega properties. These are for testing purposes only prior to full\nVega spec generatation being made available.\n",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [],
        "values": [
            {
                "name": "toVega",
                "comment": " Convert a list of Vega specifications into a single JSON object that may be\npassed to Vega for graphics generation.\nCurrently this is a placeholder only and is not available for use.\n",
                "type": "List ( VProperty, Spec ) -> Spec"
            }
        ],
        "binops": []
    },
    {
        "name": "VegaLite",
        "comment": " This module allows you to create Vega-Lite specifications in Elm. A specification\nis stored as a JSON object which can be sent to a Vega-Lite compiler to generate\nthe graphics. While this a 'pure' Elm library, to create the graphical output you\nprobably want to send a Vega-Lite specification generated by `toVegaLite` via a\nport to some JavaScript that invokes the Vega-Lite runtime.\n\n\n# Creating A Vega-Lite Specification\n\n@docs toVegaLite\n@docs VLProperty\n@docs Spec\n@docs LabelledSpec\n@docs combineSpecs\n\n\n# Creating the Data Specification\n\nFunctions and types for declaring the input data to the visualization.\n\n@docs dataFromUrl\n@docs dataFromColumns\n@docs dataFromRows\n@docs dataFromJson\n@docs dataFromSource\n@docs datasets\n@docs dataColumn\n@docs dataRow\n@docs Data\n@docs DataColumn\n@docs DataRow\n\n\n## Geographic Data\n\n@docs geometry\n@docs geoFeatureCollection\n@docs geometryCollection\n@docs geoPoint\n@docs geoPoints\n@docs geoLine\n@docs geoLines\n@docs geoPolygon\n@docs geoPolygons\n@docs DataType\n\n\n## Formating Input Data\n\n@docs Format\n@docs jsonProperty\n@docs topojsonFeature\n@docs topojsonMesh\n@docs parse\n\n@docs foDate\n@docs foUtc\n\n\n# Creating the Transform Specification\n\nFunctions and types for declaring the transformation rules that are applied to\ndata fields or geospatial coordinates before they are encoded visually.\n\n@docs transform\n\n\n## Map Projections\n\n@docs projection\n\n@docs prType\n@docs prClipAngle\n@docs prClipExtent\n@docs prCenter\n@docs prRotate\n@docs prPrecision\n@docs prCoefficient\n@docs prDistance\n@docs prFraction\n@docs prLobes\n@docs prParallel\n@docs prRadius\n@docs prRatio\n@docs prSpacing\n@docs prTilt\n\n@docs Projection\n@docs customProjection\n@docs ClipRect\n@docs clipRect\n\n\n## Aggregation\n\n@docs aggregate\n@docs Operation\n@docs opAs\n@docs timeUnitAs\n\n\n## Binning\n\n@docs binAs\n@docs biBase\n@docs biDivide\n@docs biExtent\n@docs biMaxBins\n@docs biMinStep\n@docs biNice\n@docs biStep\n@docs biSteps\n\n\n## Data Calculation\n\n@docs calculateAs\n\n\n## Filtering\n\n@docs filter\n\n@docs fiEqual\n@docs fiExpr\n@docs fiCompose\n@docs fiSelection\n@docs fiOneOf\n@docs fiRange\n@docs numRange\n@docs dtRange\n\n\n## Relational Joining (lookup)\n\n@docs lookup\n@docs lookupAs\n\n\n## Window Transformations\n\n@docs windowAs\n@docs wiAggregateOp\n@docs wiOp\n@docs wiParam\n@docs wiField\n\n@docs wiFrame\n@docs wiIgnorePeers\n@docs wiGroupBy\n@docs wiSort\n@docs wiAscending\n@docs wiDescending\n\n@docs Window\n@docs WindowOperation\n@docs WindowProperty\n@docs WindowSortField\n\n\n# Creating the Mark Specification\n\nFunctions and types for declaring the type of visual marks used in the visualization.\nThe preferred method of specifying mark types is to call the relevant mark function\n(e.g. `bar`, `line` etc.) rather than `mark Bar`, `mark Line` etc.\n\n@docs area\n@docs bar\n@docs circle\n@docs geoshape\n@docs line\n@docs point\n@docs rect\n@docs rule\n@docs square\n@docs textMark\n@docs tick\n@docs trail\n\n\n## Mark Properties\n\n@docs maAlign\n@docs maAngle\n@docs maBandSize\n@docs maBaseline\n@docs maBinSpacing\n@docs maClip\n@docs maColor\n@docs maCursor\n@docs maContinuousBandSize\n@docs maDiscreteBandSize\n@docs maDx\n@docs maDy\n@docs maFill\n@docs maFilled\n@docs maFillOpacity\n@docs maFont\n@docs maFontSize\n@docs maFontStyle\n@docs maFontWeight\n@docs maInterpolate\n@docs maOpacity\n@docs maOrient\n@docs maPoint\n@docs maRadius\n@docs maShape\n@docs maShortTimeLabels\n@docs maSize\n@docs maStroke\n@docs maStrokeDash\n@docs maStrokeDashOffset\n@docs maStrokeOpacity\n@docs maStrokeWidth\n@docs maStyle\n@docs maTension\n@docs maText\n@docs maTheta\n@docs maThickness\n\n\n### Used by Mark Properties\n\n@docs MarkOrientation\n@docs MarkInterpolation\n@docs Symbol\n@docs symbolPath\n@docs Cursor\n@docs PointMarker\n@docs pmMarker\n\n\n# Creating the Encoding Specification\n\nTypes and functions for declaring which data fields are mapped to which channels.\nChannels can include position on screen (e.g. `X`,`Y`), visual mark properties\n(e.g. color, size, stroke, shape), text, hyperlinks, ordering, level of detail and facets\n(for composed visualizations). All can be further customised via a series of properties\nfor determining how that encoding is implemented (e.g. scaling, sorting, spacing).\n\n@docs encoding\n@docs Measurement\n\n\n## Position channel\n\nRelates to where something appears in the visualization.\n\n@docs position\n@docs Position\n\n\n### Position Channel Properties\n\n@docs pName\n@docs pRepeat\n@docs pMType\n@docs pBin\n@docs pTimeUnit\n@docs pAggregate\n@docs pScale\n@docs pAxis\n@docs pSort\n@docs pStack\n\n\n## Properties Used by Position Channels\n\n\n## Sorting Properties\n\n@docs SortProperty\n@docs soByField\n@docs soByRepeat\n@docs soCustom\n\n\n## Stacking Properties\n\n@docs StackProperty\n\n\n## Axis Properties\n\n@docs axDomain\n@docs axFormat\n@docs axGrid\n@docs axLabelAngle\n@docs axLabelOverlap\n@docs axLabelPadding\n@docs axLabels\n@docs axMaxExtent\n@docs axMinExtent\n@docs axOffset\n@docs axOrient\n@docs axPosition\n@docs axTicks\n@docs axTickCount\n@docs axTickSize\n@docs axTitle\n@docs axTitleAlign\n@docs axTitleAngle\n@docs axTitleMaxLength\n@docs axTitlePadding\n@docs axValues\n@docs axDates\n@docs axZIndex\n\n\n## Positioning Constants\n\n@docs OverlapStrategy\n@docs Side\n@docs HAlign\n@docs VAlign\n\n\n## Mark channels\n\nRelate to the appearance of the visual marks in the visualization such as their\ncolor or size.\n\n@docs size\n@docs color\n@docs fill\n@docs stroke\n@docs opacity\n@docs shape\n\n\n### Mark Channel Properties\n\n@docs mName\n@docs mRepeat\n@docs mMType\n@docs mScale\n@docs mBin\n@docs mTimeUnit\n@docs mAggregate\n@docs mLegend\n@docs mSelectionCondition\n@docs mDataCondition\n@docs mPath\n@docs mNum\n@docs mStr\n@docs mBoo\n\n\n### Mark Legends\n\n@docs leEntryPadding\n@docs leFormat\n@docs leOffset\n@docs leOrient\n@docs lePadding\n@docs leTickCount\n@docs leTitle\n@docs leType\n@docs leValues\n@docs leZIndex\n@docs Legend\n@docs LegendOrientation\n@docs leNums\n@docs leStrs\n@docs leDts\n\n\n## Text Channels\n\nRelate to the appearance of the text and tooltip elements of the visualization.\n\n@docs text\n@docs tooltip\n@docs tooltips\n@docs tName\n@docs tRepeat\n@docs tMType\n@docs tBin\n@docs tAggregate\n@docs tTimeUnit\n@docs tSelectionCondition\n@docs tDataCondition\n@docs tFormat\n@docs FontWeight\n\n\n## Hyperlink Channel\n\nRelates to a clickable URL destination of a mark. Note that unlike most other\nchannels, the hyperlink channel has no direct visual expression other than the\noption of changing the cursor style when hovering, so an encoding will usually\npair hyperlinks with other visual channels such as marks or texts.\n\n@docs hyperlink\n@docs hName\n@docs hRepeat\n@docs hMType\n@docs hBin\n@docs hAggregate\n@docs hTimeUnit\n@docs hDataCondition\n@docs hSelectionCondition\n@docs hStr\n\n\n## Order channels\n\nChannels that relate to the order of data fields such as for sorting stacking order\nor order of data points in a connected scatterplot. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/encoding.html#order)\nfor further details.\n\n@docs order\n@docs oName\n@docs oRepeat\n@docs oMType\n@docs oBin\n@docs oAggregate\n@docs oSort\n@docs oTimeUnit\n\n\n## Facet channels\n\nChannels for faceting single plots into small multiples. Can be used to create\ntrellis plots or other arrangements in rows and columns. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/encoding.html#facet)\nfor further details. See also, 'faceted view composition' for a more flexible (but\nmore verbose) way of defining faceted views.\n\n@docs row\n@docs column\n\n\n## Level of detail Channel\n\nUsed for grouping data but without changing the visual appearance of a mark. When,\nfor example, a field is encoded by color, all data items with the same value for\nthat field are given the same color. When a detail channel encodes a field, all\ndata items with the same value are placed in the same group. This allows, for example\na line chart with multiple lines to be created – one for each group. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/encoding.html#detail)\nfor more information.\n\n@docs detail\n@docs dName\n@docs dMType\n@docs dAggregate\n@docs dBin\n@docs dTimeUnit\n\n\n## Scaling\n\nUsed to specify how the encoding of a data field should be applied.\n\n@docs scType\n@docs scDomain\n@docs scRange\n@docs scScheme\n@docs scPadding\n@docs scPaddingInner\n@docs scPaddingOuter\n@docs scRangeStep\n@docs scRound\n@docs scClamp\n@docs scInterpolate\n@docs scNice\n@docs scZero\n@docs scReverse\n\n@docs Scale\n@docs raName\n@docs raNums\n@docs raStrs\n@docs categoricalDomainMap\n@docs domainRangeMap\n@docs ScaleDomain\n@docs doNums\n@docs doStrs\n@docs doDts\n@docs doSelection\n\n@docs ScaleNice\n@docs scIsNice\n@docs scNiceTickCount\n@docs scNiceInterval\n\n\n### Color Scaling\n\n@docs CInterpolate\n@docs cubeHelix\n@docs cubeHelixLong\n@docs rgb\n\n\n# Creating view compositions\n\nViews can be combined to create more complex multiview displays. This may involve\nlayering views on top of each other (superposition) or laying them out in adjacent\nspaces (juxtaposition using `repeat`, `facet`, `hConcat` or `vConcat`). Where different\nviews have potentially conflicting channels (for example, two position scales in\na layered visualization) the rules for resolving them can be defined with `resolve`.\nFor details of creating composite views see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/composition.html)\n\n@docs layer\n@docs hConcat\n@docs vConcat\n@docs resolve\n@docs resolution\n@docs reAxis\n@docs reLegend\n@docs reScale\n@docs Channel\n@docs Resolution\n\n\n## Faceted views\n\nThese are small multiples each of which show subsets of the same dataset. The specification\ndetermines which field should be used to determine subsets along with their spatial\narrangement (in rows or columns). For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/facet.html)\n\n@docs repeat\n@docs rowFields\n@docs columnFields\n@docs facet\n@docs columnBy\n@docs rowBy\n\n@docs fName\n@docs fMType\n@docs fAggregate\n@docs fBin\n@docs fHeader\n@docs fTimeUnit\n\n@docs asSpec\n@docs specification\n@docs Arrangement\n@docs hdTitle\n@docs hdFormat\n\n\n# Creating Selections for Interaction\n\nSelections are the way in which interactions (such as clicking or dragging) can be\nresponded to in a visualization. They transform interactions into data queries.\nFor details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html).\n\n@docs selection\n@docs select\n@docs Selection\n@docs SelectionProperty\n@docs seBind\n@docs seEncodings\n@docs seFields\n@docs seNearest\n@docs seOn\n@docs seResolve\n@docs seSelectionMark\n@docs seToggle\n@docs seTranslate\n@docs seZoom\n\n@docs iRange\n@docs iCheckbox\n@docs iRadio\n@docs iSelect\n@docs iText\n@docs iNumber\n@docs iDate\n@docs iTime\n@docs iMonth\n@docs iWeek\n@docs iDateTimeLocal\n@docs iTel\n@docs iColor\n\n@docs inDebounce\n@docs inElement\n@docs inOptions\n@docs inMin\n@docs inMax\n@docs inName\n@docs inStep\n@docs inPlaceholder\n\n@docs SelectionResolution\n\n@docs smFill\n@docs smFillOpacity\n@docs smStroke\n@docs smStrokeDash\n@docs smStrokeDashOffset\n@docs smStrokeOpacity\n@docs smStrokeWidth\n\n\n## Making conditional channel encodings\n\nSometimes it is useful to make channel encoding conditional on something. For example,\non the result of some interaction such as clicking or dragging or some data property\nsuch whether null or an outlier. `MSelectionCondition` (and `TSelectionCondition`) will\nencode a mark (or text) dependent on an interactive selection. `MDataCondition`\n(and `TDataCondition`) will encode it depending on some data property.\n\nFor interaction, once a selection has been defined and named, supplying a set of\n`MSelectionCondition` encodings allow mark encodings to become dependent on that selection.\n`MSelectionCondition` is followed firstly by a Boolean expression relating to the\nselection upon which it is dependent, then an 'if' and an 'else' clause. Each clause\nis a list of mark field encodings that should be applied when the selection is true\n(the 'if clause') and when it is false (the 'else clause'). The color encoding below\nis saying \"whenever data marks are selected with an interval mouse drag, encode\nthe cylinder field with an ordinal color scheme, else make them grey\".\n\n      sel =\n          selection << select \"myBrush\" Interval []\n\n      enc =\n          encoding\n              << position X [ pName \"Horsepower\", pMType Quantitative ]\n              << position Y [ pName \"Miles_per_Gallon\", pMType Quantitative ]\n              << color\n                  [ mSelectionCondition (selectionName \"myBrush\")\n                      [ mName \"Cylinders\", mMType Ordinal ]\n                      [ mStr \"grey\" ]\n                  ]\n\nIn a similar way, `MDataCondition` will encocode a mark in one of two ways depending\non whether a predicate test is satisfied.\n\n      enc =\n          encoding\n              << position X [ pName \"IMDB_Rating\", pMType Quantitative ]\n              << position Y [ pName \"Rotten_Tomatoes_Rating\", pMType Quantitative ]\n                << color\n                    [ mDataCondition\n                        (or (expr \"datum.IMDB_Rating === null\")\n                            (expr \"datum.Rotten_Tomatoes_Rating === null\")\n                        )\n                        [ mStr \"#ddd\" ]\n                        [ mStr \"#0099ee\" ]\n                    ]\n\nFor details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/condition.html).\n\n@docs and\n@docs or\n@docs not\n@docs expr\n@docs selected\n@docs selectionName\n\n\n# Global Configuration\n\nConfiguration options that affect the entire visualization. These are in addition\nto the data and transform options described above.\n\n@docs name\n@docs title\n@docs description\n@docs height\n@docs width\n@docs padding\n@docs paSize\n@docs paEdges\n@docs autosize\n@docs background\n@docs configure\n@docs configuration\n\n\n## Style Setting\n\n@docs coArea\n@docs coAutosize\n@docs coAxis\n@docs coAxisX\n@docs coAxisY\n@docs coAxisLeft\n@docs coAxisRight\n@docs coAxisTop\n@docs coAxisBottom\n@docs coAxisBand\n@docs coBackground\n@docs coBar\n@docs coCircle\n@docs coCountTitle\n@docs coFieldTitle\n@docs coGeoshape\n@docs coLegend\n@docs coLine\n@docs coMark\n@docs coNamedStyle\n@docs coNumberFormat\n@docs coPadding\n@docs coPoint\n@docs coProjection\n@docs coRange\n@docs coRect\n@docs coRemoveInvalid\n@docs coRule\n@docs coScale\n@docs coSelection\n@docs coSquare\n@docs coStack\n@docs coText\n@docs coTick\n@docs coTitle\n@docs coTimeFormat\n@docs coTrail\n@docs coView\n\n@docs Autosize\n\n\n## Axis Configuration Options\n\n@docs axcoBandPosition\n@docs axcoDomain\n@docs axcoDomainColor\n@docs axcoDomainWidth\n@docs axcoMaxExtent\n@docs axcoMinExtent\n@docs axcoGrid\n@docs axcoGridColor\n@docs axcoGridDash\n@docs axcoGridOpacity\n@docs axcoGridWidth\n@docs axcoLabels\n@docs axcoLabelAngle\n@docs axcoLabelColor\n@docs axcoLabelFont\n@docs axcoLabelFontSize\n@docs axcoLabelLimit\n@docs axcoLabelOverlap\n@docs axcoLabelPadding\n@docs axcoShortTimeLabels\n@docs axcoTicks\n@docs axcoTickColor\n@docs axcoTickRound\n@docs axcoTickSize\n@docs axcoTickWidth\n@docs axcoTitleAlign\n@docs axcoTitleAngle\n@docs axcoTitleBaseline\n@docs axcoTitleColor\n@docs axcoTitleFont\n@docs axcoTitleFontWeight\n@docs axcoTitleFontSize\n@docs axcoTitleLimit\n@docs axcoTitleMaxLength\n@docs axcoTitlePadding\n@docs axcoTitleX\n@docs axcoTitleY\n\n\n## Legend Configuration Options\n\n@docs lecoCornerRadius\n@docs lecoFillColor\n@docs lecoOrient\n@docs lecoOffset\n@docs lecoStrokeColor\n@docs lecoStrokeDash\n@docs lecoStrokeWidth\n@docs lecoPadding\n@docs lecoGradientLabelBaseline\n@docs lecoGradientLabelLimit\n@docs lecoGradientLabelOffset\n@docs lecoGradientStrokeColor\n@docs lecoGradientStrokeWidth\n@docs lecoGradientHeight\n@docs lecoGradientWidth\n@docs lecoLabelAlign\n@docs lecoLabelBaseline\n@docs lecoLabelColor\n@docs lecoLabelFont\n@docs lecoLabelFontSize\n@docs lecoLabelLimit\n@docs lecoLabelOffset\n@docs lecoShortTimeLabels\n@docs lecoEntryPadding\n@docs lecoSymbolColor\n@docs lecoSymbolType\n@docs lecoSymbolSize\n@docs lecoSymbolStrokeWidth\n@docs lecoTitleAlign\n@docs lecoTitleBaseline\n@docs lecoTitleColor\n@docs lecoTitleFont\n@docs lecoTitleFontSize\n@docs lecoTitleFontWeight\n@docs lecoTitleLimit\n@docs lecoTitlePadding\n\n\n## Scale Configuration Options\n\n@docs sacoBandPaddingInner\n@docs sacoBandPaddingOuter\n@docs sacoClamp\n@docs sacoMaxBandSize\n@docs sacoMinBandSize\n@docs sacoMaxFontSize\n@docs sacoMinFontSize\n@docs sacoMaxOpacity\n@docs sacoMinOpacity\n@docs sacoMaxSize\n@docs sacoMinSize\n@docs sacoMaxStrokeWidth\n@docs sacoMinStrokeWidth\n@docs sacoPointPadding\n@docs sacoRangeStep\n@docs sacoRound\n@docs sacoTextXRangeStep\n@docs sacoUseUnaggregatedDomain\n\n\n## Scale Range Configuration Options\n\n@docs racoCategory\n@docs racoDiverging\n@docs racoHeatmap\n@docs racoOrdinal\n@docs racoRamp\n@docs racoSymbol\n\n\n## Title Configuration Options\n\n@docs ticoAnchor\n@docs ticoAngle\n@docs ticoBaseline\n@docs ticoColor\n@docs ticoFont\n@docs ticoFontSize\n@docs ticoFontWeight\n@docs ticoLimit\n@docs ticoOffset\n@docs ticoOrient\n\n\n## View Configuration Options\n\n@docs vicoWidth\n@docs vicoHeight\n@docs vicoClip\n@docs vicoFill\n@docs vicoFillOpacity\n@docs vicoStroke\n@docs vicoStrokeOpacity\n@docs vicoStrokeWidth\n@docs vicoStrokeDash\n@docs vicoStrokeDashOffset\n\n@docs APosition\n\n@docs FieldTitleProperty\n\n\n# General Data functions\n\nIn addition to more general data types like integers and string, the following types\ncan carry data used in specifications.\n\n@docs boo\n@docs dt\n@docs num\n@docs str\n@docs boos\n@docs dts\n@docs nums\n@docs strs\n\n\n## Temporal Data\n\n@docs dtYear\n@docs dtQuarter\n@docs dtMonth\n@docs dtDate\n@docs dtDay\n@docs dtHour\n@docs dtMinute\n@docs dtSecond\n@docs dtMillisecond\n@docs MonthName\n@docs DayName\n\n@docs TimeUnit\n@docs utc\n\n---\n\n\n# Deprecated Types and functions\n\nThe following are deprecated and will be removed in a future major version release.\nGenerally, the constructors of each type should be replaced with a function of\na similar name. For example, instead of the `Rule` type use the `rule` function;\ninstead of `PAggregate` use `pAggregate`, instead of `TmType` use `tMType` etc.\n\n@docs PositionChannel\n@docs MarkChannel\n@docs DetailChannel\n@docs FacetChannel\n@docs HyperlinkChannel\n@docs OrderChannel\n@docs TextChannel\n\n@docs Mark\n@docs mark\n@docs MarkProperty\n\n@docs BooleanOp\n@docs bin\n@docs Binding\n\n@docs AxisProperty\n@docs AxisConfig\n@docs BinProperty\n@docs ConfigurationProperty\n@docs InputProperty\n@docs HeaderProperty\n@docs LegendConfig\n@docs LegendProperty\n@docs LegendValues\n@docs ProjectionProperty\n@docs ScaleProperty\n@docs ScaleConfig\n@docs RangeConfig\n@docs SelectionMarkProperty\n@docs TitleConfig\n@docs ViewConfig\n\n@docs DataValue\n@docs DataValues\n@docs DateTime\n@docs Geometry\n\n@docs FacetMapping\n@docs RepeatFields\n@docs Filter\n@docs FilterRange\n\n@docs Resolve\n\n@docs Padding\n@docs ScaleRange\n\n",
        "unions": [
            {
                "name": "APosition",
                "comment": " Indicates the anchor position for some text.\n",
                "args": [],
                "cases": [
                    [
                        "AStart",
                        []
                    ],
                    [
                        "AMiddle",
                        []
                    ],
                    [
                        "AEnd",
                        []
                    ]
                ]
            },
            {
                "name": "Arrangement",
                "comment": " Identifies whether a repeated/faceted view is arranged in rows or columns.\n",
                "args": [],
                "cases": [
                    [
                        "Column",
                        []
                    ],
                    [
                        "Row",
                        []
                    ]
                ]
            },
            {
                "name": "Autosize",
                "comment": " Indicates the auto-sizing characteristics of the visualization such as amount\nof padding, whether it should fill the parent container etc. For more details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/size.html#autosize)\n",
                "args": [],
                "cases": [
                    [
                        "AContent",
                        []
                    ],
                    [
                        "AFit",
                        []
                    ],
                    [
                        "ANone",
                        []
                    ],
                    [
                        "APad",
                        []
                    ],
                    [
                        "APadding",
                        []
                    ],
                    [
                        "AResize",
                        []
                    ]
                ]
            },
            {
                "name": "AxisConfig",
                "comment": " _Note: specifying axis configuration properties with type constructors (`BandPosition`,\n`Domain`, `Grid` etc.) is deprecated in favour of calling their equivalent property\nspecifying functions (`axcoBandPosition`, `axcoDomain`, `axcoGrid` etc.)_\n\nAxis configuration options for customising all axes. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config)\nfor more details.\n\n",
                "args": [],
                "cases": [
                    [
                        "BandPosition",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Domain",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "DomainColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "DomainWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MaxExtent",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MinExtent",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Grid",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "GridColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "GridDash",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "GridOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "GridWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Labels",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "LabelAngle",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LabelColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "LabelFont",
                        [
                            "String"
                        ]
                    ],
                    [
                        "LabelFontSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LabelLimit",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LabelOverlap",
                        [
                            "OverlapStrategy"
                        ]
                    ],
                    [
                        "LabelPadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "ShortTimeLabels",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "Ticks",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "TickColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "TickRound",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "TickSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TickWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TitleAlign",
                        [
                            "HAlign"
                        ]
                    ],
                    [
                        "TitleAngle",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TitleBaseline",
                        [
                            "VAlign"
                        ]
                    ],
                    [
                        "TitleColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "TitleFont",
                        [
                            "String"
                        ]
                    ],
                    [
                        "TitleFontWeight",
                        [
                            "FontWeight"
                        ]
                    ],
                    [
                        "TitleFontSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TitleLimit",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TitleMaxLength",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TitlePadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TitleX",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TitleY",
                        [
                            "Float"
                        ]
                    ]
                ]
            },
            {
                "name": "AxisProperty",
                "comment": " _Note: specifying axis properties with type constructors (`AxDomain`,\n`AxFormat` etc.) is deprecated in favour of calling their equivalent property\nspecifying functions (`axDomain`, `axFormat` etc.)_\n\nAxis customisation properties. These are used for customising individual axes.\nTo configure all axes, use `AxisConfig` with a `configuration` instead. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\nfor more details.\n\n",
                "args": [],
                "cases": [
                    [
                        "AxDomain",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "AxFormat",
                        [
                            "String"
                        ]
                    ],
                    [
                        "AxGrid",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "AxLabelAngle",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxLabelOverlap",
                        [
                            "OverlapStrategy"
                        ]
                    ],
                    [
                        "AxLabelPadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxLabels",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "AxMaxExtent",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxMinExtent",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxOffset",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxOrient",
                        [
                            "Side"
                        ]
                    ],
                    [
                        "AxPosition",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxTicks",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "AxTickCount",
                        [
                            "Int"
                        ]
                    ],
                    [
                        "AxTickSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxTitle",
                        [
                            "String"
                        ]
                    ],
                    [
                        "AxTitleAlign",
                        [
                            "HAlign"
                        ]
                    ],
                    [
                        "AxTitleAngle",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxTitleMaxLength",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxTitlePadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "AxValues",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "AxDates",
                        [
                            "List (List DateTime)"
                        ]
                    ],
                    [
                        "AxZIndex",
                        [
                            "Int"
                        ]
                    ]
                ]
            },
            {
                "name": "BinProperty",
                "comment": " _Note: specifying binning properties with type constructors (`Base`,\n`Extent` etc.) is deprecated in favour of calling their equivalent property\nspecifying functions (`biBase`, `biExtent` etc.)_\n\nType of binning property to customise. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/bin.html) for\nmore details.\n\n",
                "args": [],
                "cases": [
                    [
                        "Base",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Divide",
                        [
                            "Float",
                            "Float"
                        ]
                    ],
                    [
                        "Extent",
                        [
                            "Float",
                            "Float"
                        ]
                    ],
                    [
                        "MaxBins",
                        [
                            "Int"
                        ]
                    ],
                    [
                        "MinStep",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Nice",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "Step",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Steps",
                        [
                            "List Float"
                        ]
                    ]
                ]
            },
            {
                "name": "Binding",
                "comment": " _Note: specifying binding elements with type constructors (`IRange`,\n`ICheckbox` etc.) is deprecated in favour of calling their equivalent input binding\nfunctions (`iRange`, `iCheckbox` etc.)_\n\nDescribes the binding property of a selection based on some HTML input element\nsuch as a checkbox or radio button. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/bind.html#scale-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n\n",
                "args": [],
                "cases": [
                    [
                        "IRange",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "ICheckbox",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "IRadio",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "ISelect",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "IText",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "INumber",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "IDate",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "ITime",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "IMonth",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "IWeek",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "IDateTimeLocal",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "ITel",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ],
                    [
                        "IColor",
                        [
                            "String",
                            "List InputProperty"
                        ]
                    ]
                ]
            },
            {
                "name": "BooleanOp",
                "comment": " Used for creating logical compositions. _Note referencing BooleanOp type\nconstructors (`And`, `Not`, `Expr` etc.) is deprecated in favour of calling their\nequivalent Boolean operation functions (`and`, `not`, `expr` etc.)_\n",
                "args": [],
                "cases": [
                    [
                        "Expr",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Selection",
                        [
                            "String"
                        ]
                    ],
                    [
                        "SelectionName",
                        [
                            "String"
                        ]
                    ],
                    [
                        "And",
                        [
                            "BooleanOp",
                            "BooleanOp"
                        ]
                    ],
                    [
                        "Or",
                        [
                            "BooleanOp",
                            "BooleanOp"
                        ]
                    ],
                    [
                        "Not",
                        [
                            "BooleanOp"
                        ]
                    ]
                ]
            },
            {
                "name": "CInterpolate",
                "comment": " Indicates the type of color interpolation to apply, when mapping a data field\nonto a color scale. Note that color interpolation cannot be applied with the default\n`sequential` color scale, so additionally, you should set the `sType` to another\ncontinuous scale such as `linear`, `pow` etc.\n\nSeveral of the interpolation options also require a `gamma` value (with 1 being\na recommended default to provide). These should be generated with the named functions\n`cubeHelix`, `cubeHelixLong` and `rgb` rather than with a (deprecated) type constructor.\n\nFor details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous).\n\n",
                "args": [],
                "cases": [
                    [
                        "CubeHelix",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "CubeHelixLong",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Hcl",
                        []
                    ],
                    [
                        "HclLong",
                        []
                    ],
                    [
                        "Hsl",
                        []
                    ],
                    [
                        "HslLong",
                        []
                    ],
                    [
                        "Lab",
                        []
                    ],
                    [
                        "Rgb",
                        [
                            "Float"
                        ]
                    ]
                ]
            },
            {
                "name": "Channel",
                "comment": " Indicates a channel type to be used in a resolution specification.\n",
                "args": [],
                "cases": [
                    [
                        "ChX",
                        []
                    ],
                    [
                        "ChY",
                        []
                    ],
                    [
                        "ChX2",
                        []
                    ],
                    [
                        "ChY2",
                        []
                    ],
                    [
                        "ChColor",
                        []
                    ],
                    [
                        "ChOpacity",
                        []
                    ],
                    [
                        "ChShape",
                        []
                    ],
                    [
                        "ChSize",
                        []
                    ]
                ]
            },
            {
                "name": "ClipRect",
                "comment": " Specifies whether or not a clipping rectangle is to be applied. If it is, the\nfunction `clipRect` should be called rather than the (deprecated) type constructor\n`LTRB`.\n",
                "args": [],
                "cases": [
                    [
                        "NoClip",
                        []
                    ],
                    [
                        "LTRB",
                        [
                            "Float",
                            "Float",
                            "Float",
                            "Float"
                        ]
                    ]
                ]
            },
            {
                "name": "ConfigurationProperty",
                "comment": " _Note: referencing configuration properties with type constructors (`AreaStyle`,\n`Autosize`, `Axis` etc.) is deprecated in favour of calling their equivalent\nconfiguration functions (`coArea`, `coAutosize`, `coAxis` etc.)._\n\nType of configuration property to customise. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/config.html)\nfor details.\n\n",
                "args": [],
                "cases": [
                    [
                        "AreaStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "Autosize",
                        [
                            "List Autosize"
                        ]
                    ],
                    [
                        "Axis",
                        [
                            "List AxisConfig"
                        ]
                    ],
                    [
                        "AxisX",
                        [
                            "List AxisConfig"
                        ]
                    ],
                    [
                        "AxisY",
                        [
                            "List AxisConfig"
                        ]
                    ],
                    [
                        "AxisLeft",
                        [
                            "List AxisConfig"
                        ]
                    ],
                    [
                        "AxisRight",
                        [
                            "List AxisConfig"
                        ]
                    ],
                    [
                        "AxisTop",
                        [
                            "List AxisConfig"
                        ]
                    ],
                    [
                        "AxisBottom",
                        [
                            "List AxisConfig"
                        ]
                    ],
                    [
                        "AxisBand",
                        [
                            "List AxisConfig"
                        ]
                    ],
                    [
                        "Background",
                        [
                            "String"
                        ]
                    ],
                    [
                        "BarStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "CircleStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "CountTitle",
                        [
                            "String"
                        ]
                    ],
                    [
                        "FieldTitle",
                        [
                            "FieldTitleProperty"
                        ]
                    ],
                    [
                        "Legend",
                        [
                            "List LegendConfig"
                        ]
                    ],
                    [
                        "LineStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "MarkStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "NamedStyle",
                        [
                            "String",
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "NumberFormat",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Padding",
                        [
                            "Padding"
                        ]
                    ],
                    [
                        "PointStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "Projection",
                        [
                            "List ProjectionProperty"
                        ]
                    ],
                    [
                        "Range",
                        [
                            "List RangeConfig"
                        ]
                    ],
                    [
                        "RectStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "RemoveInvalid",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "RuleStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "Scale",
                        [
                            "List ScaleConfig"
                        ]
                    ],
                    [
                        "SelectionStyle",
                        [
                            "List ( Selection, List SelectionProperty )"
                        ]
                    ],
                    [
                        "SquareStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "Stack",
                        [
                            "StackProperty"
                        ]
                    ],
                    [
                        "TextStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "TickStyle",
                        [
                            "List MarkProperty"
                        ]
                    ],
                    [
                        "TitleStyle",
                        [
                            "List TitleConfig"
                        ]
                    ],
                    [
                        "TimeFormat",
                        [
                            "String"
                        ]
                    ],
                    [
                        "View",
                        [
                            "List ViewConfig"
                        ]
                    ]
                ]
            },
            {
                "name": "Cursor",
                "comment": " Represents the type of cursor to display. For an explanation of each type,\nsee the [CSS documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Keyword%20values)\n",
                "args": [],
                "cases": [
                    [
                        "CAuto",
                        []
                    ],
                    [
                        "CDefault",
                        []
                    ],
                    [
                        "CNone",
                        []
                    ],
                    [
                        "CContextMenu",
                        []
                    ],
                    [
                        "CHelp",
                        []
                    ],
                    [
                        "CPointer",
                        []
                    ],
                    [
                        "CProgress",
                        []
                    ],
                    [
                        "CWait",
                        []
                    ],
                    [
                        "CCell",
                        []
                    ],
                    [
                        "CCrosshair",
                        []
                    ],
                    [
                        "CText",
                        []
                    ],
                    [
                        "CVerticalText",
                        []
                    ],
                    [
                        "CAlias",
                        []
                    ],
                    [
                        "CCopy",
                        []
                    ],
                    [
                        "CMove",
                        []
                    ],
                    [
                        "CNoDrop",
                        []
                    ],
                    [
                        "CNotAllowed",
                        []
                    ],
                    [
                        "CAllScroll",
                        []
                    ],
                    [
                        "CColResize",
                        []
                    ],
                    [
                        "CRowResize",
                        []
                    ],
                    [
                        "CNResize",
                        []
                    ],
                    [
                        "CEResize",
                        []
                    ],
                    [
                        "CSResize",
                        []
                    ],
                    [
                        "CWResize",
                        []
                    ],
                    [
                        "CNEResize",
                        []
                    ],
                    [
                        "CNWResize",
                        []
                    ],
                    [
                        "CSEResize",
                        []
                    ],
                    [
                        "CSWResize",
                        []
                    ],
                    [
                        "CEWResize",
                        []
                    ],
                    [
                        "CNSResize",
                        []
                    ],
                    [
                        "CNESWResize",
                        []
                    ],
                    [
                        "CNWSEResize",
                        []
                    ],
                    [
                        "CZoomIn",
                        []
                    ],
                    [
                        "CZoomOut",
                        []
                    ],
                    [
                        "CGrab",
                        []
                    ],
                    [
                        "CGrabbing",
                        []
                    ]
                ]
            },
            {
                "name": "DataType",
                "comment": " Indicates the type of data to be parsed when reading input data. When parsing\ndates, you should use the `foDate` or `foUtc` functions rather than their\nequivalent (deprecated) type constructors.\n",
                "args": [],
                "cases": [
                    [
                        "FoNumber",
                        []
                    ],
                    [
                        "FoBoolean",
                        []
                    ],
                    [
                        "FoDate",
                        [
                            "String"
                        ]
                    ],
                    [
                        "FoUtc",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "DataValue",
                "comment": " _Note: referencing data types with type constructors (`Boolean`, `DateTime`,\n`Number` and `Str`) is deprecated in favour of calling their equivalent data value\nfunctions (`boo`, `dt`, `num` and `str`)._\n\nA single data value. This is used when a function can accept values of different\ntypes (e.g. either a number or a string).\n\n",
                "args": [],
                "cases": [
                    [
                        "Boolean",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "DateTime",
                        [
                            "List DateTime"
                        ]
                    ],
                    [
                        "Number",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Str",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "DataValues",
                "comment": " _Note: referencing lists of data types with type constructors (`Booleans`,\n`DateTimes`, `Numbers` and `Strings`) is deprecated in favour of calling their\nequivalent data value list functions (`boos`, `dts`, `nums` and `strs`)._\n\nA list of data values. This is used when a function can accept lists of\ndifferent types (e.g. either a list of numbers or a list of strings).\n\n",
                "args": [],
                "cases": [
                    [
                        "Booleans",
                        [
                            "List Bool"
                        ]
                    ],
                    [
                        "DateTimes",
                        [
                            "List (List DateTime)"
                        ]
                    ],
                    [
                        "Numbers",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "Strings",
                        [
                            "List String"
                        ]
                    ]
                ]
            },
            {
                "name": "DateTime",
                "comment": " _Note: referencing dateTime type constructors (`DTYear`, `DTHours` etc.)\nis deprecated in favour of calling their equivalent dateTime functions\n(`dtYear`, `dtHour` etc.)_\n\nAllows a date or time to be represented. This is typically part of a list of\nfunctions that each generate a `DateTime` item to provide a specific point in\ntime. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/types.html#datetime).\n\n",
                "args": [],
                "cases": [
                    [
                        "DTYear",
                        [
                            "Int"
                        ]
                    ],
                    [
                        "DTQuarter",
                        [
                            "Int"
                        ]
                    ],
                    [
                        "DTMonth",
                        [
                            "MonthName"
                        ]
                    ],
                    [
                        "DTDate",
                        [
                            "Int"
                        ]
                    ],
                    [
                        "DTDay",
                        [
                            "DayName"
                        ]
                    ],
                    [
                        "DTHours",
                        [
                            "Int"
                        ]
                    ],
                    [
                        "DTMinutes",
                        [
                            "Int"
                        ]
                    ],
                    [
                        "DTSeconds",
                        [
                            "Int"
                        ]
                    ],
                    [
                        "DTMilliseconds",
                        [
                            "Int"
                        ]
                    ]
                ]
            },
            {
                "name": "DayName",
                "comment": " Identifies the day of the week.\n",
                "args": [],
                "cases": [
                    [
                        "Mon",
                        []
                    ],
                    [
                        "Tue",
                        []
                    ],
                    [
                        "Wed",
                        []
                    ],
                    [
                        "Thu",
                        []
                    ],
                    [
                        "Fri",
                        []
                    ],
                    [
                        "Sat",
                        []
                    ],
                    [
                        "Sun",
                        []
                    ]
                ]
            },
            {
                "name": "DetailChannel",
                "comment": " _Note: referencing detail channel type constructors (`DName`, `DBin` etc.)\nis deprecated in favour of calling their equivalent detail channel functions\n(`dName`, `dBin` etc.)_\n\nLevel of detail channel properties used for creating a grouped channel encoding.\nFor details see the\n[Vega-Lite level of detail channel documentation](https://vega.github.io/vega-lite/docs/encoding.html#detail)\n\n",
                "args": [],
                "cases": [
                    [
                        "DName",
                        [
                            "String"
                        ]
                    ],
                    [
                        "DmType",
                        [
                            "Measurement"
                        ]
                    ],
                    [
                        "DBin",
                        [
                            "List BinProperty"
                        ]
                    ],
                    [
                        "DTimeUnit",
                        [
                            "TimeUnit"
                        ]
                    ],
                    [
                        "DAggregate",
                        [
                            "Operation"
                        ]
                    ]
                ]
            },
            {
                "name": "FacetChannel",
                "comment": " _Note: facet channel type constructors (`FName`, `FBin` etc.) are\ndeprecated in favour of calling their equivalent facet channel functions\n(`fName`, `fBin` etc.)_\n\nTypes of facet channel property used for creating a composed facet view of small\nmultiples.\n\n",
                "args": [],
                "cases": [
                    [
                        "FName",
                        [
                            "String"
                        ]
                    ],
                    [
                        "FmType",
                        [
                            "Measurement"
                        ]
                    ],
                    [
                        "FBin",
                        [
                            "List BinProperty"
                        ]
                    ],
                    [
                        "FAggregate",
                        [
                            "Operation"
                        ]
                    ],
                    [
                        "FTimeUnit",
                        [
                            "TimeUnit"
                        ]
                    ],
                    [
                        "FHeader",
                        [
                            "List HeaderProperty"
                        ]
                    ]
                ]
            },
            {
                "name": "FacetMapping",
                "comment": " _Note: facet mapping type constructors (`ColumnBy` and `RowBy` ) are\ndeprecated in favour of calling their equivalent facet mapping functions\n(`columnBy` and `rowBy`)_\n\nProvides details of the mapping between a row or column and its field\ndefinitions in a set of faceted small multiples. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/facet.html#mapping)\n\n",
                "args": [],
                "cases": [
                    [
                        "ColumnBy",
                        [
                            "List FacetChannel"
                        ]
                    ],
                    [
                        "RowBy",
                        [
                            "List FacetChannel"
                        ]
                    ]
                ]
            },
            {
                "name": "FieldTitleProperty",
                "comment": " Indicates the style in which field names are displayed. The `Verbal` style is\n'Sum of field', 'Year of date', 'field (binned)' etc. The `Function` style is\n'SUM(field)', 'YEAR(date)', 'BIN(field)' etc. The `Plain` style is just the field\nname without any additional text.\n",
                "args": [],
                "cases": [
                    [
                        "Verbal",
                        []
                    ],
                    [
                        "Function",
                        []
                    ],
                    [
                        "Plain",
                        []
                    ]
                ]
            },
            {
                "name": "Filter",
                "comment": " _Note: referencing filter type constructors (`FEqual`, `FExpr` etc.)\nis deprecated in favour of calling their equivalent filtering functions\n(`fiEqual`, `fiExpr` etc.)_\n\nType of filtering operation. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/filter.html)\nfor details.\n\n",
                "args": [],
                "cases": [
                    [
                        "FEqual",
                        [
                            "String",
                            "DataValue"
                        ]
                    ],
                    [
                        "FExpr",
                        [
                            "String"
                        ]
                    ],
                    [
                        "FCompose",
                        [
                            "BooleanOp"
                        ]
                    ],
                    [
                        "FSelection",
                        [
                            "String"
                        ]
                    ],
                    [
                        "FOneOf",
                        [
                            "String",
                            "DataValues"
                        ]
                    ],
                    [
                        "FRange",
                        [
                            "String",
                            "FilterRange"
                        ]
                    ]
                ]
            },
            {
                "name": "FilterRange",
                "comment": " _Note: referencing filter range type constructors (`NumberRange` and `DateRange`)\nis deprecated in favour of calling their equivalent filtering range functions\n(`numRange` and `dtRange`.)_\n\nA pair of filter range data values. The first argument is the inclusive minimum\nvale to accept and the second the inclusive maximum.\n\n",
                "args": [],
                "cases": [
                    [
                        "NumberRange",
                        [
                            "Float",
                            "Float"
                        ]
                    ],
                    [
                        "DateRange",
                        [
                            "List DateTime",
                            "List DateTime"
                        ]
                    ]
                ]
            },
            {
                "name": "FontWeight",
                "comment": " Indicates the weight options for a font.\n",
                "args": [],
                "cases": [
                    [
                        "Bold",
                        []
                    ],
                    [
                        "Bolder",
                        []
                    ],
                    [
                        "Lighter",
                        []
                    ],
                    [
                        "Normal",
                        []
                    ],
                    [
                        "W100",
                        []
                    ],
                    [
                        "W200",
                        []
                    ],
                    [
                        "W300",
                        []
                    ],
                    [
                        "W400",
                        []
                    ],
                    [
                        "W500",
                        []
                    ],
                    [
                        "W600",
                        []
                    ],
                    [
                        "W700",
                        []
                    ],
                    [
                        "W800",
                        []
                    ],
                    [
                        "W900",
                        []
                    ]
                ]
            },
            {
                "name": "Format",
                "comment": " Specifies the type of format a data source uses. If the format is indicated by\nthe file name extension (`.tsv`, `.csv`, `.json`) there is no need to indicate the\nformat explicitly. However this can be useful if the filename extension does not\nindicate type (e.g. `.txt`). To customise the parsing of a file use one of the\nfunctions `parse`, `jsonProperty`, `topojsonFeature` or `topojsonMesh` in preference\nto their (depcrecated) type constructor equivalents. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/data.html#format).\n",
                "args": [],
                "cases": [
                    [
                        "JSON",
                        [
                            "String"
                        ]
                    ],
                    [
                        "CSV",
                        []
                    ],
                    [
                        "TSV",
                        []
                    ],
                    [
                        "TopojsonFeature",
                        [
                            "String"
                        ]
                    ],
                    [
                        "TopojsonMesh",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Parse",
                        [
                            "List ( String, DataType )"
                        ]
                    ]
                ]
            },
            {
                "name": "Geometry",
                "comment": " _Note: referencing geometry type constructors (`GeoPoint`, `GeoLine` etc.)\nis deprecated in favour of calling their equivalent geometry functions\n(`geoPoint`, `geoLine` etc.)_\n\nSpecifies the type and content of geometry specifications for programmatically\ncreating GeoShapes. These can be mapped to the\n[GeoJson geometry object types](https://tools.ietf.org/html/rfc7946#section-3.1)\nwhere the pluralised type names refer to their `Multi` prefixed equivalent in the\nGeoJSON specification.\n\n",
                "args": [],
                "cases": [
                    [
                        "GeoPoint",
                        [
                            "Float",
                            "Float"
                        ]
                    ],
                    [
                        "GeoPoints",
                        [
                            "List ( Float, Float )"
                        ]
                    ],
                    [
                        "GeoLine",
                        [
                            "List ( Float, Float )"
                        ]
                    ],
                    [
                        "GeoLines",
                        [
                            "List (List ( Float, Float ))"
                        ]
                    ],
                    [
                        "GeoPolygon",
                        [
                            "List (List ( Float, Float ))"
                        ]
                    ],
                    [
                        "GeoPolygons",
                        [
                            "List (List (List ( Float, Float )))"
                        ]
                    ]
                ]
            },
            {
                "name": "HAlign",
                "comment": " Indicates the horizontal alignment of some text such as on an axis or legend.\n",
                "args": [],
                "cases": [
                    [
                        "AlignCenter",
                        []
                    ],
                    [
                        "AlignLeft",
                        []
                    ],
                    [
                        "AlignRight",
                        []
                    ]
                ]
            },
            {
                "name": "HeaderProperty",
                "comment": " _Note: referencing header property type constructors (`HFormat` and `HTitle`)\nis deprecated in favour of calling their equivalent header property functions\n(`hdFormat`, `hdTitle` etc.)_\n\nRepresents a facet header property. For details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/facet.html#header)\n\n",
                "args": [],
                "cases": [
                    [
                        "HFormat",
                        [
                            "String"
                        ]
                    ],
                    [
                        "HTitle",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "HyperlinkChannel",
                "comment": " _Note: referencing hyperlink channel type constructors (`HName`, `HBin` etc.)\nis deprecated in favour of calling their equivalent hyperlink channel functions\n(`hName`, `hBin` etc.)_\n\nTypes of hyperlink channel property used for linking marks or text to URLs.\n\n",
                "args": [],
                "cases": [
                    [
                        "HName",
                        [
                            "String"
                        ]
                    ],
                    [
                        "HRepeat",
                        [
                            "Arrangement"
                        ]
                    ],
                    [
                        "HmType",
                        [
                            "Measurement"
                        ]
                    ],
                    [
                        "HBin",
                        [
                            "List BinProperty"
                        ]
                    ],
                    [
                        "HAggregate",
                        [
                            "Operation"
                        ]
                    ],
                    [
                        "HTimeUnit",
                        [
                            "TimeUnit"
                        ]
                    ],
                    [
                        "HSelectionCondition",
                        [
                            "BooleanOp",
                            "List HyperlinkChannel",
                            "List HyperlinkChannel"
                        ]
                    ],
                    [
                        "HDataCondition",
                        [
                            "BooleanOp",
                            "List HyperlinkChannel",
                            "List HyperlinkChannel"
                        ]
                    ],
                    [
                        "HString",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "InputProperty",
                "comment": " _Note: specifying input properties with type constructors (`InMin`,\n`InOptions` etc.) is deprecated in favour of calling their equivalent property\nspecifying functions (`inMin`, `inOptions` etc.)_\n\nGUI Input properties. The type of relevant property will depend on the type of\ninput element selected. For example an `InRange` (slider) can have numeric min,\nmax and step values; InSelect (selector) has a list of selection label options.\nFor details see the\n[Vega input element binding documentation](https://vega.github.io/vega/docs/signals/#bind).\n\n",
                "args": [],
                "cases": [
                    [
                        "Debounce",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Element",
                        [
                            "String"
                        ]
                    ],
                    [
                        "InOptions",
                        [
                            "List String"
                        ]
                    ],
                    [
                        "InMin",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "InMax",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "InName",
                        [
                            "String"
                        ]
                    ],
                    [
                        "InStep",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "InPlaceholder",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "Legend",
                "comment": " Indicates the type of legend to create. Gradient legends are usually used for\ncontinuous quantitative data while symbol legends used for categorical data.\n",
                "args": [],
                "cases": [
                    [
                        "Gradient",
                        []
                    ],
                    [
                        "Symbol",
                        []
                    ]
                ]
            },
            {
                "name": "LegendConfig",
                "comment": " _Note: specifying legend configuration properties with type constructors\n(`CornerRadius`, `FillColor`, `LePadding` etc.) is deprecated in favour of\ncalling their equivalent property specifying functions (`lecoCornerRadius`,\n`lecoFillColor`, `lecoPadding` etc.)_\n\nLegend configuration options. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n\n",
                "args": [],
                "cases": [
                    [
                        "CornerRadius",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "FillColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Orient",
                        [
                            "LegendOrientation"
                        ]
                    ],
                    [
                        "Offset",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "StrokeColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "LeStrokeDash",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "LeStrokeWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LePadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "GradientLabelBaseline",
                        [
                            "VAlign"
                        ]
                    ],
                    [
                        "GradientLabelLimit",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "GradientLabelOffset",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "GradientStrokeColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "GradientStrokeWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "GradientHeight",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "GradientWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LeLabelAlign",
                        [
                            "HAlign"
                        ]
                    ],
                    [
                        "LeLabelBaseline",
                        [
                            "VAlign"
                        ]
                    ],
                    [
                        "LeLabelColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "LeLabelFont",
                        [
                            "String"
                        ]
                    ],
                    [
                        "LeLabelFontSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LeLabelLimit",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LeLabelOffset",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LeShortTimeLabels",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "EntryPadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SymbolColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "SymbolType",
                        [
                            "Symbol"
                        ]
                    ],
                    [
                        "SymbolSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SymbolStrokeWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LeTitleAlign",
                        [
                            "HAlign"
                        ]
                    ],
                    [
                        "LeTitleBaseline",
                        [
                            "VAlign"
                        ]
                    ],
                    [
                        "LeTitleColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "LeTitleFont",
                        [
                            "String"
                        ]
                    ],
                    [
                        "LeTitleFontSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LeTitleFontWeight",
                        [
                            "FontWeight"
                        ]
                    ],
                    [
                        "LeTitleLimit",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LeTitlePadding",
                        [
                            "Float"
                        ]
                    ]
                ]
            },
            {
                "name": "LegendOrientation",
                "comment": " Indicates the legend orientation. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config)\nfor more details.\n",
                "args": [],
                "cases": [
                    [
                        "BottomLeft",
                        []
                    ],
                    [
                        "BottomRight",
                        []
                    ],
                    [
                        "Left",
                        []
                    ],
                    [
                        "None",
                        []
                    ],
                    [
                        "Right",
                        []
                    ],
                    [
                        "TopLeft",
                        []
                    ],
                    [
                        "TopRight",
                        []
                    ]
                ]
            },
            {
                "name": "LegendProperty",
                "comment": " _Note: referencing legend property type constructors (`LFormat`, lTitle`etc.)\nis deprecated in favour of calling their equivalent legend property functions\n(`leFormat`,`leTitle` etc.)_\n\nLegend properties for customising a mark legend. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n\n",
                "args": [],
                "cases": [
                    [
                        "LEntryPadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LFormat",
                        [
                            "String"
                        ]
                    ],
                    [
                        "LOffset",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LOrient",
                        [
                            "LegendOrientation"
                        ]
                    ],
                    [
                        "LPadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LTickCount",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "LTitle",
                        [
                            "String"
                        ]
                    ],
                    [
                        "LType",
                        [
                            "Legend"
                        ]
                    ],
                    [
                        "LValues",
                        [
                            "LegendValues"
                        ]
                    ],
                    [
                        "LZIndex",
                        [
                            "Int"
                        ]
                    ]
                ]
            },
            {
                "name": "LegendValues",
                "comment": " _Note: referencing legend value type constructors (`LNumbers`, `LStrings`\nand `LDateTimes`) is deprecated in favour of calling their equivalent legend value\nfunctions (`leNums`, `leStrs` and `leDts`)_\n\nA list of data values suitable for setting legend values.\n\n",
                "args": [],
                "cases": [
                    [
                        "LDateTimes",
                        [
                            "List (List DateTime)"
                        ]
                    ],
                    [
                        "LNumbers",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "LStrings",
                        [
                            "List String"
                        ]
                    ]
                ]
            },
            {
                "name": "Mark",
                "comment": " _Note: referencing mark type constructors (`mark Area`, `mark Bar` etc.) is\ndeprecated in favour of calling their equivalent mark functions (`area`, `bar` etc.)_\n\nType of visual mark used to represent data in the visualization.\n\n",
                "args": [],
                "cases": [
                    [
                        "Area",
                        []
                    ],
                    [
                        "Bar",
                        []
                    ],
                    [
                        "Circle",
                        []
                    ],
                    [
                        "Geoshape",
                        []
                    ],
                    [
                        "Line",
                        []
                    ],
                    [
                        "Point",
                        []
                    ],
                    [
                        "Rect",
                        []
                    ],
                    [
                        "Rule",
                        []
                    ],
                    [
                        "Square",
                        []
                    ],
                    [
                        "Text",
                        []
                    ],
                    [
                        "Tick",
                        []
                    ]
                ]
            },
            {
                "name": "MarkChannel",
                "comment": " _Note: referencing mark channel type constructors (`MName`, `MBin` etc.) is\ndeprecated in favour of calling their equivalent mark channel functions\n(`mName`, `mBin` etc.)_\n\nMark channel properties used for creating a mark channel encoding.\n\n",
                "args": [],
                "cases": [
                    [
                        "MName",
                        [
                            "String"
                        ]
                    ],
                    [
                        "MRepeat",
                        [
                            "Arrangement"
                        ]
                    ],
                    [
                        "MmType",
                        [
                            "Measurement"
                        ]
                    ],
                    [
                        "MScale",
                        [
                            "List ScaleProperty"
                        ]
                    ],
                    [
                        "MBin",
                        [
                            "List BinProperty"
                        ]
                    ],
                    [
                        "MTimeUnit",
                        [
                            "TimeUnit"
                        ]
                    ],
                    [
                        "MAggregate",
                        [
                            "Operation"
                        ]
                    ],
                    [
                        "MLegend",
                        [
                            "List LegendProperty"
                        ]
                    ],
                    [
                        "MSelectionCondition",
                        [
                            "BooleanOp",
                            "List MarkChannel",
                            "List MarkChannel"
                        ]
                    ],
                    [
                        "MDataCondition",
                        [
                            "BooleanOp",
                            "List MarkChannel",
                            "List MarkChannel"
                        ]
                    ],
                    [
                        "MPath",
                        [
                            "String"
                        ]
                    ],
                    [
                        "MNumber",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MString",
                        [
                            "String"
                        ]
                    ],
                    [
                        "MBoolean",
                        [
                            "Bool"
                        ]
                    ]
                ]
            },
            {
                "name": "MarkInterpolation",
                "comment": " Indicates mark interpolation style. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/mark.html#mark-def)\nfor details.\n",
                "args": [],
                "cases": [
                    [
                        "Basis",
                        []
                    ],
                    [
                        "BasisClosed",
                        []
                    ],
                    [
                        "BasisOpen",
                        []
                    ],
                    [
                        "Bundle",
                        []
                    ],
                    [
                        "Cardinal",
                        []
                    ],
                    [
                        "CardinalClosed",
                        []
                    ],
                    [
                        "CardinalOpen",
                        []
                    ],
                    [
                        "Linear",
                        []
                    ],
                    [
                        "LinearClosed",
                        []
                    ],
                    [
                        "Monotone",
                        []
                    ],
                    [
                        "StepAfter",
                        []
                    ],
                    [
                        "StepBefore",
                        []
                    ],
                    [
                        "Stepwise",
                        []
                    ]
                ]
            },
            {
                "name": "MarkOrientation",
                "comment": " Indicates desired orientation of a mark (e.g. horizontally or vertically\noriented bars.)\n",
                "args": [],
                "cases": [
                    [
                        "Horizontal",
                        []
                    ],
                    [
                        "Vertical",
                        []
                    ]
                ]
            },
            {
                "name": "MarkProperty",
                "comment": " _Note: referencing mark property type constructors (`MAlign`, `MFill` etc.)\nis deprecated in favour of calling their equivalent mark property functions\n(`maAlign`, `maFill` etc.)_\n\nProperties for customising the appearance of a mark. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/mark.html#config).\n\n",
                "args": [],
                "cases": [
                    [
                        "MAlign",
                        [
                            "HAlign"
                        ]
                    ],
                    [
                        "MAngle",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MBandSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MBaseline",
                        [
                            "VAlign"
                        ]
                    ],
                    [
                        "MBinSpacing",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MClip",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "MColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "MCursor",
                        [
                            "Cursor"
                        ]
                    ],
                    [
                        "MContinuousBandSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MDiscreteBandSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MdX",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MdY",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MFill",
                        [
                            "String"
                        ]
                    ],
                    [
                        "MFilled",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "MFillOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MFont",
                        [
                            "String"
                        ]
                    ],
                    [
                        "MFontSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MFontStyle",
                        [
                            "String"
                        ]
                    ],
                    [
                        "MFontWeight",
                        [
                            "FontWeight"
                        ]
                    ],
                    [
                        "MInterpolate",
                        [
                            "MarkInterpolation"
                        ]
                    ],
                    [
                        "MOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MOrient",
                        [
                            "MarkOrientation"
                        ]
                    ],
                    [
                        "MRadius",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MShape",
                        [
                            "Symbol"
                        ]
                    ],
                    [
                        "MShortTimeLabels",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "MSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MStroke",
                        [
                            "String"
                        ]
                    ],
                    [
                        "MStrokeDash",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "MStrokeDashOffset",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MStrokeOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MStrokeWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MStyle",
                        [
                            "List String"
                        ]
                    ],
                    [
                        "MTension",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MText",
                        [
                            "String"
                        ]
                    ],
                    [
                        "MTheta",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "MThickness",
                        [
                            "Float"
                        ]
                    ]
                ]
            },
            {
                "name": "Measurement",
                "comment": " Type of measurement to be associated with some channel. `Nominal` data are\ncategories identified by name alone and which have no intrinsic order. `Ordinal`\ndata are also categories, but ones which have some natural order. `Quantitative`\ndata are numeric measurements typically on a continuous scale. `Temporal` data\ndescribe time.\n\nGeospatial position encoding (`Longitude` and `Latitude`) should specify the `pMType`\nas `Quantitative`. Geographically referenced features encoded as `shape` marks\nshould specify `mMType` as `GeoFeature` (Vega-Lite currently refers to this type\nas [geojson](https://vega.github.io/vega-lite/docs/encoding.html)).\n\n",
                "args": [],
                "cases": [
                    [
                        "Nominal",
                        []
                    ],
                    [
                        "Ordinal",
                        []
                    ],
                    [
                        "Quantitative",
                        []
                    ],
                    [
                        "Temporal",
                        []
                    ],
                    [
                        "GeoFeature",
                        []
                    ]
                ]
            },
            {
                "name": "MonthName",
                "comment": " Idntifies a month of the year.\n",
                "args": [],
                "cases": [
                    [
                        "Jan",
                        []
                    ],
                    [
                        "Feb",
                        []
                    ],
                    [
                        "Mar",
                        []
                    ],
                    [
                        "Apr",
                        []
                    ],
                    [
                        "May",
                        []
                    ],
                    [
                        "Jun",
                        []
                    ],
                    [
                        "Jul",
                        []
                    ],
                    [
                        "Aug",
                        []
                    ],
                    [
                        "Sep",
                        []
                    ],
                    [
                        "Oct",
                        []
                    ],
                    [
                        "Nov",
                        []
                    ],
                    [
                        "Dec",
                        []
                    ]
                ]
            },
            {
                "name": "Operation",
                "comment": " Type of aggregation operation. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/aggregate.html#ops)\nfor more details.\n",
                "args": [],
                "cases": [
                    [
                        "ArgMax",
                        []
                    ],
                    [
                        "ArgMin",
                        []
                    ],
                    [
                        "Average",
                        []
                    ],
                    [
                        "CI0",
                        []
                    ],
                    [
                        "CI1",
                        []
                    ],
                    [
                        "Count",
                        []
                    ],
                    [
                        "Distinct",
                        []
                    ],
                    [
                        "Max",
                        []
                    ],
                    [
                        "Mean",
                        []
                    ],
                    [
                        "Median",
                        []
                    ],
                    [
                        "Min",
                        []
                    ],
                    [
                        "Missing",
                        []
                    ],
                    [
                        "Q1",
                        []
                    ],
                    [
                        "Q3",
                        []
                    ],
                    [
                        "Stderr",
                        []
                    ],
                    [
                        "Stdev",
                        []
                    ],
                    [
                        "StdevP",
                        []
                    ],
                    [
                        "Sum",
                        []
                    ],
                    [
                        "Valid",
                        []
                    ],
                    [
                        "Variance",
                        []
                    ],
                    [
                        "VarianceP",
                        []
                    ]
                ]
            },
            {
                "name": "OrderChannel",
                "comment": " _Note: referencing order channel type constructors (`OName`, `OBin` etc.) is\ndeprecated in favour of calling their equivalent order channel functions\n(`oName`, `oBin` etc.)_\n\nProperties of an ordering channel used for sorting data fields.\n\n",
                "args": [],
                "cases": [
                    [
                        "OName",
                        [
                            "String"
                        ]
                    ],
                    [
                        "ORepeat",
                        [
                            "Arrangement"
                        ]
                    ],
                    [
                        "OmType",
                        [
                            "Measurement"
                        ]
                    ],
                    [
                        "OBin",
                        [
                            "List BinProperty"
                        ]
                    ],
                    [
                        "OAggregate",
                        [
                            "Operation"
                        ]
                    ],
                    [
                        "OTimeUnit",
                        [
                            "TimeUnit"
                        ]
                    ],
                    [
                        "OSort",
                        [
                            "List SortProperty"
                        ]
                    ]
                ]
            },
            {
                "name": "OverlapStrategy",
                "comment": " Type of overlap strategy to be applied when there is not space to show all items\non an axis. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/axis.html#labels)\nfor more details.\n",
                "args": [],
                "cases": [
                    [
                        "ONone",
                        []
                    ],
                    [
                        "OParity",
                        []
                    ],
                    [
                        "OGreedy",
                        []
                    ]
                ]
            },
            {
                "name": "Padding",
                "comment": " _Note: referencing padding type constructors (`PSize` and `PEdges`) is\ndeprecated in favour of calling their equivalent padding functions\n(`paSize` and `paEdges`)_\n\nRepresents padding dimensions in pixel units. `PSize` will set the same value\non all four edges of a rectangular container while `PEdges` can be used to specify\ndifferent sizes on each edge in order _left_, _top_, _right_, _bottom_.\n\n",
                "args": [],
                "cases": [
                    [
                        "PSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "PEdges",
                        [
                            "Float",
                            "Float",
                            "Float",
                            "Float"
                        ]
                    ]
                ]
            },
            {
                "name": "PointMarker",
                "comment": " Specify the appearance of a point marker that is overlaid on a line or area\nmark. For details see the\n[Vega-Lite point property documentation](https://vega.github.io/vega-lite/docs/line.html#properties).\n",
                "args": [],
                "cases": [
                    [
                        "PMTransparent",
                        []
                    ],
                    [
                        "PMNone",
                        []
                    ]
                ]
            },
            {
                "name": "Position",
                "comment": " Type of position channel, `X` and `Y` represent horizontal and vertical axis\ndimensions on a plane and `X2` and `Y2` represent secondary axis dimensions where\ntwo scales are overlaid in the same space. Geographic positions represented by\nlongitude and latitude values are identified with `Longitude`, `Latitude` and\ntheir respective secondary equivalents. Such geographic position channels are\nsubject to a map projection before being placed graphically.\n",
                "args": [],
                "cases": [
                    [
                        "X",
                        []
                    ],
                    [
                        "Y",
                        []
                    ],
                    [
                        "X2",
                        []
                    ],
                    [
                        "Y2",
                        []
                    ],
                    [
                        "Longitude",
                        []
                    ],
                    [
                        "Latitude",
                        []
                    ],
                    [
                        "Longitude2",
                        []
                    ],
                    [
                        "Latitude2",
                        []
                    ]
                ]
            },
            {
                "name": "PositionChannel",
                "comment": " _Note: referencing position channel type constructors (`PName`, `PBin` etc.) is\ndeprecated in favour of calling their equivalent position channel functions\n(`pName`, `pBin` etc.)_\n\nPosition channel properties used for creating a position channel encoding.\n\n",
                "args": [],
                "cases": [
                    [
                        "PName",
                        [
                            "String"
                        ]
                    ],
                    [
                        "PRepeat",
                        [
                            "Arrangement"
                        ]
                    ],
                    [
                        "PmType",
                        [
                            "Measurement"
                        ]
                    ],
                    [
                        "PBin",
                        [
                            "List BinProperty"
                        ]
                    ],
                    [
                        "PTimeUnit",
                        [
                            "TimeUnit"
                        ]
                    ],
                    [
                        "PAggregate",
                        [
                            "Operation"
                        ]
                    ],
                    [
                        "PScale",
                        [
                            "List ScaleProperty"
                        ]
                    ],
                    [
                        "PAxis",
                        [
                            "List AxisProperty"
                        ]
                    ],
                    [
                        "PSort",
                        [
                            "List SortProperty"
                        ]
                    ],
                    [
                        "PStack",
                        [
                            "StackProperty"
                        ]
                    ]
                ]
            },
            {
                "name": "Projection",
                "comment": " Types of geographic map projection. These are based on a subset of those provided\nby the [d3-geo library](https://github.com/d3/d3-geo). For details of available\nprojections see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/projection.html#projection-types).\n\n_Note: The use of the `Custom` type constructor is deprecated in favour of the\n`customProjection` function._\n\n",
                "args": [],
                "cases": [
                    [
                        "Albers",
                        []
                    ],
                    [
                        "AlbersUsa",
                        []
                    ],
                    [
                        "AzimuthalEqualArea",
                        []
                    ],
                    [
                        "AzimuthalEquidistant",
                        []
                    ],
                    [
                        "ConicConformal",
                        []
                    ],
                    [
                        "ConicEqualArea",
                        []
                    ],
                    [
                        "ConicEquidistant",
                        []
                    ],
                    [
                        "Custom",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Equirectangular",
                        []
                    ],
                    [
                        "Gnomonic",
                        []
                    ],
                    [
                        "Mercator",
                        []
                    ],
                    [
                        "Orthographic",
                        []
                    ],
                    [
                        "Stereographic",
                        []
                    ],
                    [
                        "TransverseMercator",
                        []
                    ]
                ]
            },
            {
                "name": "ProjectionProperty",
                "comment": " _Note: specifying projection properties with type constructors (`PType`,\n`PClipAngle` etc.) is deprecated in favour of calling their equivalent\nprojection property functions (`prType`, `prClipAngle` etc.)_\n\nProperties for customising a geospatial projection that converts longitude/latitude\npairs into planar (x,y) coordinate pairs for rendering and query. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/projection.html).\n\n",
                "args": [],
                "cases": [
                    [
                        "PType",
                        [
                            "Projection"
                        ]
                    ],
                    [
                        "PClipAngle",
                        [
                            "Maybe Float"
                        ]
                    ],
                    [
                        "PClipExtent",
                        [
                            "ClipRect"
                        ]
                    ],
                    [
                        "PCenter",
                        [
                            "Float",
                            "Float"
                        ]
                    ],
                    [
                        "PRotate",
                        [
                            "Float",
                            "Float",
                            "Float"
                        ]
                    ],
                    [
                        "PPrecision",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "PCoefficient",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "PDistance",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "PFraction",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "PLobes",
                        [
                            "Int"
                        ]
                    ],
                    [
                        "PParallel",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "PRadius",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "PRatio",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "PSpacing",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "PTilt",
                        [
                            "Float"
                        ]
                    ]
                ]
            },
            {
                "name": "RangeConfig",
                "comment": " _Note: specifying range configuration properties with type constructors\n(`RCategory`, `RDiverging`, etc.) is deprecated in favour of calling their\nequivalent property specifying functions (`racoCategory`,`racoDiverging`, etc.)_\n\nProperties for customising the colors of a range. The parameter should be a\nnamed color scheme such as `accent` or `purpleorange-11`. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega/docs/schemes/#scheme-properties).\n\n",
                "args": [],
                "cases": [
                    [
                        "RCategory",
                        [
                            "String"
                        ]
                    ],
                    [
                        "RDiverging",
                        [
                            "String"
                        ]
                    ],
                    [
                        "RHeatmap",
                        [
                            "String"
                        ]
                    ],
                    [
                        "ROrdinal",
                        [
                            "String"
                        ]
                    ],
                    [
                        "RRamp",
                        [
                            "String"
                        ]
                    ],
                    [
                        "RSymbol",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "RepeatFields",
                "comment": " _Note: specifying repeat fields with type constructors (`RowFields` and\n`ColumnFields` ) is deprecated in favour of calling their equivalent functions\n(`rowFields`, `columnFields`)_\n\nCreate a list of fields to use in set of repeated small multiples. The list of\nfields named here can be referenced in an encoding with `pRepeat Column`, `pRepeat Row`\netc.\n\n",
                "args": [],
                "cases": [
                    [
                        "RowFields",
                        [
                            "List String"
                        ]
                    ],
                    [
                        "ColumnFields",
                        [
                            "List String"
                        ]
                    ]
                ]
            },
            {
                "name": "Resolution",
                "comment": " Indicated whether or not a scale domain should be independent of others in a\ncomposite visualization. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/resolve.html) for\ndetails.\n",
                "args": [],
                "cases": [
                    [
                        "Shared",
                        []
                    ],
                    [
                        "Independent",
                        []
                    ]
                ]
            },
            {
                "name": "Resolve",
                "comment": " _Note: specifying resolve items with type constructors (`RAxis`,\n`RLegend` and `RScale`) is deprecated in favour of calling their equivalent\nresolve functions (`reAxis`, `reLegend` and `reScale`)_\n\nUsed to determine how a channel's axis, scale or legend domains should be resolved\nif defined in more than one view in a composite visualization. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/resolve.html) for\ndetails.\n\n",
                "args": [],
                "cases": [
                    [
                        "RAxis",
                        [
                            "List ( Channel, Resolution )"
                        ]
                    ],
                    [
                        "RLegend",
                        [
                            "List ( Channel, Resolution )"
                        ]
                    ],
                    [
                        "RScale",
                        [
                            "List ( Channel, Resolution )"
                        ]
                    ]
                ]
            },
            {
                "name": "Scale",
                "comment": " Used to indicate the type of scale transformation to apply.\n",
                "args": [],
                "cases": [
                    [
                        "ScLinear",
                        []
                    ],
                    [
                        "ScPow",
                        []
                    ],
                    [
                        "ScSqrt",
                        []
                    ],
                    [
                        "ScLog",
                        []
                    ],
                    [
                        "ScTime",
                        []
                    ],
                    [
                        "ScUtc",
                        []
                    ],
                    [
                        "ScSequential",
                        []
                    ],
                    [
                        "ScOrdinal",
                        []
                    ],
                    [
                        "ScBand",
                        []
                    ],
                    [
                        "ScPoint",
                        []
                    ],
                    [
                        "ScBinLinear",
                        []
                    ],
                    [
                        "ScBinOrdinal",
                        []
                    ]
                ]
            },
            {
                "name": "ScaleConfig",
                "comment": " _Note: specifying scale configuration properties with type constructors\n(`SCBandPaddingInner`, `SCClamp`, etc.) is deprecated in favour of calling their\nequivalent property specifying functions (`socoBandPaddingInner`,`sacoClamp`, etc.)_\n\nScale configuration property. These are used to configure all scales.\nFor more details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n\n",
                "args": [],
                "cases": [
                    [
                        "SCBandPaddingInner",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCBandPaddingOuter",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCClamp",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "SCMaxBandSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCMinBandSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCMaxFontSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCMinFontSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCMaxOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCMinOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCMaxSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCMinSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCMaxStrokeWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCMinStrokeWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCPointPadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCRangeStep",
                        [
                            "Maybe Float"
                        ]
                    ],
                    [
                        "SCRound",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "SCTextXRangeStep",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SCUseUnaggregatedDomain",
                        [
                            "Bool"
                        ]
                    ]
                ]
            },
            {
                "name": "ScaleDomain",
                "comment": " Describes a scale domain (type of data in scale). To specify scale domain\nvalues explicitly, use the functions `doNums`, `doStrs`, `doDts` or `doSelection`\nrather than their (deprecated) type constructor equivalents.\n\nFor full details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#domain).\n\n",
                "args": [],
                "cases": [
                    [
                        "DNumbers",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "DStrings",
                        [
                            "List String"
                        ]
                    ],
                    [
                        "DDateTimes",
                        [
                            "List (List DateTime)"
                        ]
                    ],
                    [
                        "DSelection",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Unaggregated",
                        []
                    ]
                ]
            },
            {
                "name": "ScaleNice",
                "comment": " Describes the way a scale can be rounded to 'nice' numbers. To specify nice\ntime intervals use `scNiceInterval` rather then the deprecated type constructor\n`NInterval`; to switch nice scaling on or off use `scIsNice` rather than the\ndeprecated type constructor `IsNice`; and to set a nice tick count use the\n`scNiceTickCount` function rather than the deprecated `NTickCount` type constructor.\n\nFor details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous).\n\n",
                "args": [],
                "cases": [
                    [
                        "NMillisecond",
                        []
                    ],
                    [
                        "NSecond",
                        []
                    ],
                    [
                        "NMinute",
                        []
                    ],
                    [
                        "NHour",
                        []
                    ],
                    [
                        "NDay",
                        []
                    ],
                    [
                        "NWeek",
                        []
                    ],
                    [
                        "NMonth",
                        []
                    ],
                    [
                        "NYear",
                        []
                    ],
                    [
                        "NInterval",
                        [
                            "TimeUnit",
                            "Int"
                        ]
                    ],
                    [
                        "IsNice",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "NTickCount",
                        [
                            "Int"
                        ]
                    ]
                ]
            },
            {
                "name": "ScaleProperty",
                "comment": " _Note: specifying scale properties with type constructors (`SDomain`,\n`SRange` etc.) is deprecated in favour of calling their equivalent property\nspecifying functions (`scDomain`, `scRange` etc.)_\n\nIndividual scale property. These are used to customise an individual scale\ntransformation. To customise all scales use `config` and supply relevant\n`ScaleConfig` values. For more details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html)\n\n",
                "args": [],
                "cases": [
                    [
                        "SType",
                        [
                            "Scale"
                        ]
                    ],
                    [
                        "SDomain",
                        [
                            "ScaleDomain"
                        ]
                    ],
                    [
                        "SRange",
                        [
                            "ScaleRange"
                        ]
                    ],
                    [
                        "SScheme",
                        [
                            "String",
                            "List Float"
                        ]
                    ],
                    [
                        "SPadding",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SPaddingInner",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SPaddingOuter",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SRangeStep",
                        [
                            "Maybe Float"
                        ]
                    ],
                    [
                        "SRound",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "SClamp",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "SInterpolate",
                        [
                            "CInterpolate"
                        ]
                    ],
                    [
                        "SNice",
                        [
                            "ScaleNice"
                        ]
                    ],
                    [
                        "SZero",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "SReverse",
                        [
                            "Bool"
                        ]
                    ]
                ]
            },
            {
                "name": "ScaleRange",
                "comment": " _Note: specifying scale ranges with type constructors (`RNumbers`,\n`RStrings` and `RName`) is deprecated in favour of calling their equivalent\nfunctions (`raNums`, `raStrs` and `raName`.)_\n\nDescribes a scale range of scale output values. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#range).\n\n",
                "args": [],
                "cases": [
                    [
                        "RNumbers",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "RStrings",
                        [
                            "List String"
                        ]
                    ],
                    [
                        "RName",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "Selection",
                "comment": " Indicates the type of selection to be generated by the user. `Single` allows\none mark at a time to be selected. 'Multi' allows multiple items to be selected\n(e.g. with shift-click). 'Interval' allows a bounding rectangle to be dragged by\nuser to select all items intersecting with it.\n",
                "args": [],
                "cases": [
                    [
                        "Single",
                        []
                    ],
                    [
                        "Multi",
                        []
                    ],
                    [
                        "Interval",
                        []
                    ]
                ]
            },
            {
                "name": "SelectionMarkProperty",
                "comment": " _Note: specifying selection mark properties with type constructors (`SMFill`,\n`SMStroke` etc.) is deprecated in favour of calling their equivalent functions\n(`smFill`, `smStroke` etc.)_\n\nProperties for customising the appearance of an interval selection mark (dragged\nrectangle). For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#interval-mark).\n\n",
                "args": [],
                "cases": [
                    [
                        "SMFill",
                        [
                            "String"
                        ]
                    ],
                    [
                        "SMFillOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SMStroke",
                        [
                            "String"
                        ]
                    ],
                    [
                        "SMStrokeOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SMStrokeWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "SMStrokeDash",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "SMStrokeDashOffset",
                        [
                            "Float"
                        ]
                    ]
                ]
            },
            {
                "name": "SelectionProperty",
                "comment": " Properties for customising the nature of an interactive selection. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#selection-properties)\nfor details. For parameterised properties use relevant functions (e.g. `seOn`,\n`seEncodings`, `seBind` etc.) rather than the (deprecated) type constructors\n(On, Encodings, Bind etc.).\n",
                "args": [],
                "cases": [
                    [
                        "Empty",
                        []
                    ],
                    [
                        "BindScales",
                        []
                    ],
                    [
                        "On",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Translate",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Zoom",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Fields",
                        [
                            "List String"
                        ]
                    ],
                    [
                        "Encodings",
                        [
                            "List Channel"
                        ]
                    ],
                    [
                        "ResolveSelections",
                        [
                            "SelectionResolution"
                        ]
                    ],
                    [
                        "SelectionMark",
                        [
                            "List SelectionMarkProperty"
                        ]
                    ],
                    [
                        "Bind",
                        [
                            "List Binding"
                        ]
                    ],
                    [
                        "Nearest",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "Toggle",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "SelectionResolution",
                "comment": " Determines how selections in faceted or repeated views are resolved. See the\n[Vege-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#resolve)\nfor details\n",
                "args": [],
                "cases": [
                    [
                        "Global",
                        []
                    ],
                    [
                        "Union",
                        []
                    ],
                    [
                        "Intersection",
                        []
                    ]
                ]
            },
            {
                "name": "Side",
                "comment": " Represents one side of a rectangular space.\n",
                "args": [],
                "cases": [
                    [
                        "STop",
                        []
                    ],
                    [
                        "SBottom",
                        []
                    ],
                    [
                        "SLeft",
                        []
                    ],
                    [
                        "SRight",
                        []
                    ]
                ]
            },
            {
                "name": "SortProperty",
                "comment": " Allow type of sorting to be customised. To sort a field by the aggregated\nvalues of another use the `soByField` or `soByRepeat` functions rather than their\ndeprecated type constructor equivalents `ByField` and `ByRepeat`.\n\nFor details see the\n[Vega-Lite sorting documentation](https://vega.github.io/vega-lite/docs/sort.html).\n\n",
                "args": [],
                "cases": [
                    [
                        "Ascending",
                        []
                    ],
                    [
                        "Descending",
                        []
                    ],
                    [
                        "ByField",
                        [
                            "String"
                        ]
                    ],
                    [
                        "ByRepeat",
                        [
                            "Arrangement"
                        ]
                    ],
                    [
                        "Op",
                        [
                            "Operation"
                        ]
                    ]
                ]
            },
            {
                "name": "StackProperty",
                "comment": " Describes the type of stacking to apply to a bar chart.\n",
                "args": [],
                "cases": [
                    [
                        "StZero",
                        []
                    ],
                    [
                        "StNormalize",
                        []
                    ],
                    [
                        "StCenter",
                        []
                    ],
                    [
                        "NoStack",
                        []
                    ]
                ]
            },
            {
                "name": "Symbol",
                "comment": " Identifies the type of symbol.\n\n_Note: The use of the `Path` type constructor is deprecated in favour of the\n`symbolPath` function._\n\n",
                "args": [],
                "cases": [
                    [
                        "SymCircle",
                        []
                    ],
                    [
                        "SymSquare",
                        []
                    ],
                    [
                        "Cross",
                        []
                    ],
                    [
                        "Diamond",
                        []
                    ],
                    [
                        "TriangleUp",
                        []
                    ],
                    [
                        "TriangleDown",
                        []
                    ],
                    [
                        "Path",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "TextChannel",
                "comment": " _Note: referencing text channel type constructors (`TName`, `TBin` etc.) is\ndeprecated in favour of calling their equivalent text channel functions\n(`tName`, `tBin` etc.)_\n\nTypes of text channel property used for displaying text as part of the visualization.\n\n",
                "args": [],
                "cases": [
                    [
                        "TName",
                        [
                            "String"
                        ]
                    ],
                    [
                        "TRepeat",
                        [
                            "Arrangement"
                        ]
                    ],
                    [
                        "TmType",
                        [
                            "Measurement"
                        ]
                    ],
                    [
                        "TBin",
                        [
                            "List BinProperty"
                        ]
                    ],
                    [
                        "TAggregate",
                        [
                            "Operation"
                        ]
                    ],
                    [
                        "TTimeUnit",
                        [
                            "TimeUnit"
                        ]
                    ],
                    [
                        "TSelectionCondition",
                        [
                            "BooleanOp",
                            "List TextChannel",
                            "List TextChannel"
                        ]
                    ],
                    [
                        "TDataCondition",
                        [
                            "BooleanOp",
                            "List TextChannel",
                            "List TextChannel"
                        ]
                    ],
                    [
                        "TFormat",
                        [
                            "String"
                        ]
                    ]
                ]
            },
            {
                "name": "TimeUnit",
                "comment": " Describes a unit of time. Useful for encoding and transformations. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/timeunit.html)\nfor further details.\n\nTo encode a time as UTC (coordinated universal time, independent of local time\nzones or daylight saving), provide a time unit to the `utc` function.\nFor example,\n\n    encoding\n        << position X [ pName \"date\", pMType Temporal, pTimeUnit (utc YearMonthDateHours) ]\n\n",
                "args": [],
                "cases": [
                    [
                        "Year",
                        []
                    ],
                    [
                        "YearQuarter",
                        []
                    ],
                    [
                        "YearQuarterMonth",
                        []
                    ],
                    [
                        "YearMonth",
                        []
                    ],
                    [
                        "YearMonthDate",
                        []
                    ],
                    [
                        "YearMonthDateHours",
                        []
                    ],
                    [
                        "YearMonthDateHoursMinutes",
                        []
                    ],
                    [
                        "YearMonthDateHoursMinutesSeconds",
                        []
                    ],
                    [
                        "Quarter",
                        []
                    ],
                    [
                        "QuarterMonth",
                        []
                    ],
                    [
                        "Month",
                        []
                    ],
                    [
                        "MonthDate",
                        []
                    ],
                    [
                        "Date",
                        []
                    ],
                    [
                        "Day",
                        []
                    ],
                    [
                        "Hours",
                        []
                    ],
                    [
                        "HoursMinutes",
                        []
                    ],
                    [
                        "HoursMinutesSeconds",
                        []
                    ],
                    [
                        "Minutes",
                        []
                    ],
                    [
                        "MinutesSeconds",
                        []
                    ],
                    [
                        "Seconds",
                        []
                    ],
                    [
                        "SecondsMilliseconds",
                        []
                    ],
                    [
                        "Milliseconds",
                        []
                    ]
                ]
            },
            {
                "name": "TitleConfig",
                "comment": " _Note: specifying title configuration properties with type constructors\n(`TAnchor`, `TAngle`, etc.) is deprecated in favour of calling their\nequivalent property specifying functions (`ticoAnchor`,`ticoAngle`, etc.)_\n\nTitle configuration properties. These are used to configure the default style\nof all titles within a visualization. For further details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n\n",
                "args": [],
                "cases": [
                    [
                        "TAnchor",
                        [
                            "APosition"
                        ]
                    ],
                    [
                        "TAngle",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TBaseline",
                        [
                            "VAlign"
                        ]
                    ],
                    [
                        "TColor",
                        [
                            "String"
                        ]
                    ],
                    [
                        "TFont",
                        [
                            "String"
                        ]
                    ],
                    [
                        "TFontSize",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TFontWeight",
                        [
                            "FontWeight"
                        ]
                    ],
                    [
                        "TLimit",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TOffset",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "TOrient",
                        [
                            "Side"
                        ]
                    ]
                ]
            },
            {
                "name": "VAlign",
                "comment": " Indicates the vertical alignment of some text that may be attached to a mark.\n",
                "args": [],
                "cases": [
                    [
                        "AlignTop",
                        []
                    ],
                    [
                        "AlignMiddle",
                        []
                    ],
                    [
                        "AlignBottom",
                        []
                    ]
                ]
            },
            {
                "name": "VLProperty",
                "comment": " Top-level Vega-Lite properties. These are the ones that define the core of the\nvisualization grammar. All `VLProperties` are created by functions which can be\narranged into seven broad groups.\n\n**Data Properties** relate to the input data to be visualized. Generated by\n[`dataFromColumns`](#dataFromColumns), [`dataFromRows`](#dataFromRows),\n[`dataFromUrl`](#dataFromUrl), [`dataFromSource`](#dataFromSource) and\n[`dataFromJson`](#dataFromJson).\n\n**Transform Properties** indicate that some transformation of input data should\nbe applied before encoding them visually. Generated by [`transform`](#transform)\nand [`projection`](#projection) they can include data transformations such as `filter`,\n`binAs` and `calculateAs` and geo transformations of longitude, latitude coordinates\nused by marks such as those generated by `geoshape`, `point` and `line`.\n\n**Mark Functions** relate to the symbols used to visualize data items. Generated\nby functions such as [`circle`](#circle), [`bar`](#bar) and [`line`](#line).\n\n**Encoding Properties** specify which data elements are mapped to which mark characteristics\n(known as _channels_). Generated by [`encoding`](#encoding) they include encodings\nsuch as `position`, `color`, `size`, `shape` `text` and `hyperlink`.\n\n**Composition Properties** allow visualization views to be combined to form more\ncomplex visualizations. Generated by [`layer`](#layer), [`repeat`](#repeat),\n[`facet`](#facet), [`hConcat`](#hConcat), [`vConcat`](#vConcat), [`spec`](#spec)\nand [`resolve`](#resolve).\n\n**Interaction Properties** allow interactions such as clicking, dragging and others\ngenerated via a GUI or data stream to influence the visualization. Generated by\n[`selection`](#selection).\n\n**Supplementary and Configuration Properties** provide a means to add metadata and\nstyling to one or more visualizations. Generated by [`name`](#name), [`title`](#title),\n[`description`](#description), [`background`](#background), [`width`](#width),\n[`height`](#height), [`padding`](#padding), [`autosize`](#autosize) and\n[`configure`](#configure).\n\n",
                "args": [],
                "cases": []
            },
            {
                "name": "ViewConfig",
                "comment": " _Note: specifying view configuration properties with type constructors\n(`Clip`, `ViewWidth`, `ViewHeight` etc.) is deprecated in favour of calling their\nequivalent property specifying functions (`vicoClip`,`vicoWidth`, `vicoHeight` etc.)_\n\nView configuration property. These are used to configure the style of a single\nview within a visualization such as its size and default fill and stroke colors.\nFor further details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n\n",
                "args": [],
                "cases": [
                    [
                        "ViewWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "ViewHeight",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Clip",
                        [
                            "Bool"
                        ]
                    ],
                    [
                        "Fill",
                        [
                            "Maybe String"
                        ]
                    ],
                    [
                        "FillOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "Stroke",
                        [
                            "Maybe String"
                        ]
                    ],
                    [
                        "StrokeOpacity",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "StrokeWidth",
                        [
                            "Float"
                        ]
                    ],
                    [
                        "StrokeDash",
                        [
                            "List Float"
                        ]
                    ],
                    [
                        "StrokeDashOffset",
                        [
                            "Float"
                        ]
                    ]
                ]
            },
            {
                "name": "Window",
                "comment": " Window transform field definition. For details see the\n[Vega-Lite window transform field documentation](https://vega.github.io/vega-lite/docs/window.html#field-def)\n",
                "args": [],
                "cases": []
            },
            {
                "name": "WindowOperation",
                "comment": " Operations that may be applied during a window transformation. For details see the\n[Vega-Lite window operation documentation](https://vega.github.io/vega-lite/docs/window.html#ops).\n",
                "args": [],
                "cases": [
                    [
                        "RowNumber",
                        []
                    ],
                    [
                        "Rank",
                        []
                    ],
                    [
                        "DenseRank",
                        []
                    ],
                    [
                        "PercentRank",
                        []
                    ],
                    [
                        "CumeDist",
                        []
                    ],
                    [
                        "Ntile",
                        []
                    ],
                    [
                        "Lag",
                        []
                    ],
                    [
                        "Lead",
                        []
                    ],
                    [
                        "FirstValue",
                        []
                    ],
                    [
                        "LastValue",
                        []
                    ],
                    [
                        "NthValue",
                        []
                    ]
                ]
            },
            {
                "name": "WindowProperty",
                "comment": " Window transform properties for performing calculations over sorted groups.\nFor details see the\n[Vega-Lite window transform documentation](https://vega.github.io/vega-lite/docs/window.html#window-transform-definition)\n",
                "args": [],
                "cases": []
            },
            {
                "name": "WindowSortField",
                "comment": " A named field with either an ascending or descending sort direction. Used by\nthe window transform for performing calculations over sorted groups. For details, see the\n[Vega-Lite window transform field documentation](https://vega.github.io/vega-lite/docs/window.html#field-def)\n",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "Data",
                "comment": " Convenience type annotation label for use with data generation functions.\n\n    myRegion : List DataColumn -> Data\n    myRegion =\n        dataFromColumns []\n            << dataColumn \"easting\" (nums [ -3, 4, 4, -3, -3 ])\n            << dataColumn \"northing\" (nums [ 52, 52, 45, 45, 52 ])\n\n",
                "args": [],
                "type": "( VLProperty, Spec )"
            },
            {
                "name": "DataColumn",
                "comment": " Represents a single column of data. Used when generating inline data with\n`dataColumn`.\n",
                "args": [],
                "type": "List LabelledSpec"
            },
            {
                "name": "DataRow",
                "comment": " Represents a single row of data. Used when generating inline data with\n`dataRow`.\n",
                "args": [],
                "type": "Spec"
            },
            {
                "name": "LabelledSpec",
                "comment": " Represents a named Vega-Lite specification, usually generated by an elm-vega\nfunction. You shouldn't need to create `LabelledSpec` tuples directly, but they\ncan be useful for type annotations.\n",
                "args": [],
                "type": "( String, Spec )"
            },
            {
                "name": "Spec",
                "comment": " Represents part or all of Vega-Lite specification. Specs can be (and usually\nare) nested. They can range from a single Boolean value up to the entire Vega-Lite\nspecification.\n",
                "args": [],
                "type": "Value"
            }
        ],
        "values": [
            {
                "name": "aggregate",
                "comment": " Defines a set of named aggregation transformations to be used when encoding\nchannels. This is useful when, for example, you wish to apply the same transformation\nto a number of channels but do not want to define it each time. The first parameter is\na list of the named aggregation operations to apply. The second parameter is a list\nof 'group by' fields. The third parameter is the list of transformations to which\nthis is to be added. For further details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/aggregate.html#aggregate-op-def).\n\n    trans =\n        transform\n            << aggregate\n                [ opAs Min \"people\" \"lowerBound\", opAs Max \"people\" \"upperBound\" ]\n                [ \"age\" ]\n\n",
                "type": "List Spec -> List String -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "and",
                "comment": " Apply an 'and' Boolean operation as part of a logical composition.\n\n    and (expr \"datum.IMDB_Rating === null\") (expr \"datum.Rotten_Tomatoes_Rating === null\")\n\n",
                "type": "BooleanOp -> BooleanOp -> BooleanOp"
            },
            {
                "name": "area",
                "comment": " Specify an area mark. An area mark is used for representing a series of data\nelements, such as in a stacked area chart or streamgraph. For details see the\n[Vega Lite documentation](https://vega.github.io/vega-lite/docs/area.html).\n\n    area [ maStroke \"white\" ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    area []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "asSpec",
                "comment": " Create a specification sufficient to define an element in a composed visualization\nsuch as a superposed layer or juxtaposed facet. Typically a layer will contain a\nfull set of specifications that define a visualization with\nthe exception of the data specification which is usually defined outside of any one\nlayer. Whereas for repeated and faceted specs, the entire specification is provided.\n\n    enc1 = ...\n    spec1 =\n        asSpec [ enc1, line [] ]\n\n",
                "type": "List ( VLProperty, Spec ) -> Spec"
            },
            {
                "name": "autosize",
                "comment": " Declare the way the view is sized. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/size.html#autosize)\nfor details.\n\n    enc = ...\n    toVegaLite\n        [ width 250\n        , height 300\n        , autosize [ AFit, APadding, AResize ]\n        , dataFromUrl \"data/population.json\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "List Autosize -> ( VLProperty, Spec )"
            },
            {
                "name": "axDates",
                "comment": " Specify the date/times to appear along an axis. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "List (List DateTime) -> AxisProperty"
            },
            {
                "name": "axDomain",
                "comment": " Specify whether or not the axis baseline (domain) should be included as part\nof an axis. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Bool -> AxisProperty"
            },
            {
                "name": "axFormat",
                "comment": " Specify the [format](https://vega.github.io/vega-lite/docs/format.html)\nto apply to labels on an axis. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "String -> AxisProperty"
            },
            {
                "name": "axGrid",
                "comment": " Specify whether or not grid lones should be included as part of an axis.\nFor details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Bool -> AxisProperty"
            },
            {
                "name": "axLabelAngle",
                "comment": " Specify the rotation angle in degrees of axis labels. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axLabelOverlap",
                "comment": " Specify the overlap strategy for labels when they are too large to fit within\nthe space devoted to an axis. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "OverlapStrategy -> AxisProperty"
            },
            {
                "name": "axLabelPadding",
                "comment": " Specify the padding in pixels between an axis and its text labels. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axLabels",
                "comment": " Specify whether or not axis labels should be displayed. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Bool -> AxisProperty"
            },
            {
                "name": "axMaxExtent",
                "comment": " Specify the maximum extent in pixels that axis ticks and labels should use.\nThis determines a maximum offset value for axis titles. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axMinExtent",
                "comment": " Specify the minimum extent in pixels that axis ticks and labels should use.\nThis determines a minimum offset value for axis titles. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axOffset",
                "comment": " Specify the offset, in pixels, by which to displace the axis from the edge\nof the enclosing group or data rectangle. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axOrient",
                "comment": " Specify the orientation of an axis relative to the plot it is describing. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Side -> AxisProperty"
            },
            {
                "name": "axPosition",
                "comment": " Specify the anchor position of the axis in pixels. For x-axis with top or\nbottom orientation, this sets the axis group x coordinate. For y-axis with left\nor right orientation, this sets the axis group y coordinate. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axTickCount",
                "comment": " Specify the desired number of ticks, for axes visualizing quantitative scales.\nThe resulting number may be different so that values are “nice” (multiples of 2, 5, 10)\nand lie within the underlying scale’s range. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Int -> AxisProperty"
            },
            {
                "name": "axTickSize",
                "comment": " Specify the tick mark size in pixels. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axTicks",
                "comment": " Specify whether or not an axis should include tick marks. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Bool -> AxisProperty"
            },
            {
                "name": "axTitle",
                "comment": " Specify the title to display as part of an axis. An empty string can be used\nto prevent a title being displayed. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "String -> AxisProperty"
            },
            {
                "name": "axTitleAlign",
                "comment": " Specify the horizontal alignment of an axis title. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "HAlign -> AxisProperty"
            },
            {
                "name": "axTitleAngle",
                "comment": " Specify the angle in degrees of an axis title. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axTitleMaxLength",
                "comment": " Specify the maximum length for an axis title for cases where the title is\nautomatically generated from a field’s description. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axTitlePadding",
                "comment": " Specify the padding in pixels between a title and axis. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Float -> AxisProperty"
            },
            {
                "name": "axValues",
                "comment": " Specify the numeric values to appear along an axis. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "List Float -> AxisProperty"
            },
            {
                "name": "axZIndex",
                "comment": " Specify the drawing order of the axis relative to the other chart elements.\nA value of 1 indicates axis is drawn in front of chart marks, 0 indicates it is\ndrawn behind them. For details see the\n[Vega axis property documentation](https://vega.github.io/vega-lite/docs/axis.html#axis-properties)\n",
                "type": "Int -> AxisProperty"
            },
            {
                "name": "axcoBandPosition",
                "comment": " Specify a default axis band position. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoDomain",
                "comment": " Specify whether or not an axis domain should be displayed by default. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Bool -> AxisConfig"
            },
            {
                "name": "axcoDomainColor",
                "comment": " Specify a default axis domain color. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "String -> AxisConfig"
            },
            {
                "name": "axcoDomainWidth",
                "comment": " Specify a default axis domain width style. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoGrid",
                "comment": " Specify whether or not an axis grid is displayed by default. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Bool -> AxisConfig"
            },
            {
                "name": "axcoGridColor",
                "comment": " Specify a default axis grid color style. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "String -> AxisConfig"
            },
            {
                "name": "axcoGridDash",
                "comment": " Specify a default axis line dash style. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "List Float -> AxisConfig"
            },
            {
                "name": "axcoGridOpacity",
                "comment": " Specify a default axis grid line opacity. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoGridWidth",
                "comment": " Specify a default axis grid line width. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoLabelAngle",
                "comment": " Specify a default axis label angle. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoLabelColor",
                "comment": " Specify a default axis label color. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "String -> AxisConfig"
            },
            {
                "name": "axcoLabelFont",
                "comment": " Specify a default axis label font. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "String -> AxisConfig"
            },
            {
                "name": "axcoLabelFontSize",
                "comment": " Specify a default axis label font size. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoLabelLimit",
                "comment": " Specify a default axis label limit (how much a label can extend beyond the\nleft/bottom or right/top of the axis line). For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoLabelOverlap",
                "comment": " Specify a default axis label overlap strategy for cases where labels cannot\nfit within the allotted space. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "OverlapStrategy -> AxisConfig"
            },
            {
                "name": "axcoLabelPadding",
                "comment": " Specify a default axis label padding (space between labels in pixels). For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoLabels",
                "comment": " Specify whether or not an axis has labels by default. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Bool -> AxisConfig"
            },
            {
                "name": "axcoMaxExtent",
                "comment": " Specify a default maximum extent style. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoMinExtent",
                "comment": " Specify a default minimum extent style. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoShortTimeLabels",
                "comment": " Specify whether or not an axis should use short time labels by default. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Bool -> AxisConfig"
            },
            {
                "name": "axcoTickColor",
                "comment": " Specify a default axis tick mark color. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "String -> AxisConfig"
            },
            {
                "name": "axcoTickRound",
                "comment": " Specify whether or not axis tick labels use rounded values by default. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Bool -> AxisConfig"
            },
            {
                "name": "axcoTickSize",
                "comment": " Specify a default axis tick mark size in pixel units. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoTickWidth",
                "comment": " Specify a default axis tick mark width in pixel units. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoTicks",
                "comment": " Specify whether or not an axis should show ticks by default. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Bool -> AxisConfig"
            },
            {
                "name": "axcoTitleAlign",
                "comment": " Specify a default axis tick label horizontal alignment. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "HAlign -> AxisConfig"
            },
            {
                "name": "axcoTitleAngle",
                "comment": " Specify a default axis title angle. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoTitleBaseline",
                "comment": " Specify a default axis title vertical alignment. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "VAlign -> AxisConfig"
            },
            {
                "name": "axcoTitleColor",
                "comment": " Specify a default axis title color. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "String -> AxisConfig"
            },
            {
                "name": "axcoTitleFont",
                "comment": " Specify a default axis title font. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "String -> AxisConfig"
            },
            {
                "name": "axcoTitleFontSize",
                "comment": " Specify a default axis title font size. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoTitleFontWeight",
                "comment": " Specify a default axis title font weight. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "FontWeight -> AxisConfig"
            },
            {
                "name": "axcoTitleLimit",
                "comment": " Specify a default axis title maximum size. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoTitleMaxLength",
                "comment": " Specify a default axis title maximum length when generated automatically from\na field's description. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoTitlePadding",
                "comment": " Specify a default axis title padding between axis line and text. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoTitleX",
                "comment": " Specify a default axis x-position relative to the axis group. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "axcoTitleY",
                "comment": " Specify a default axis y-position relative to the axis group. For more details, see the\n[Vega-Lite axis config documentation](https://vega.github.io/vega-lite/docs/axis.html#general-config).\n",
                "type": "Float -> AxisConfig"
            },
            {
                "name": "background",
                "comment": " Set the background color of the visualization. Should be specified with a CSS\nstring such as `#ffe` or `rgb(200,20,150)`. If not specified the background will\nbe transparent.\n\n    enc = ...\n    toVegaLite\n        [ background \"rgb(251,247,238)\"\n        , dataFromUrl \"data/population.json\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "String -> ( VLProperty, Spec )"
            },
            {
                "name": "bar",
                "comment": " Specify an bar mark. Bars are used for histograms, bar charts etc. for showing\nthe magnitude of values in categories. For details see the\n[Vega Lite documentation](https://vega.github.io/vega-lite/docs/bar.html).\n\n    bar [ maFill \"black\", maStroke \"white\", maStrokeWeight 2 ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    bar []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "biBase",
                "comment": " Specify the number base to use for automatic bin determination (default is\nbase 10). For more details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "Float -> BinProperty"
            },
            {
                "name": "biDivide",
                "comment": " Specify the scale factors indicating allowable subdivisions for binning.\nThe default value is [5, 2], which indicates that for base 10 numbers (the\ndefault base), binning will consider dividing bin sizes by 5 and/or 2.\nFor more details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "List Float -> BinProperty"
            },
            {
                "name": "biExtent",
                "comment": " Specify the desired range of bin values when binning a collection of values.\nThe first and second parameters indicate the minimum and maximum range values\nrespectively. For more details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "Float -> Float -> BinProperty"
            },
            {
                "name": "biMaxBins",
                "comment": " Specify the maximum number of bins when binning a collection of values.\nFor more details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "Int -> BinProperty"
            },
            {
                "name": "biMinStep",
                "comment": " Specify the step size between bins when binning a collection of values.\nFor more details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "Float -> BinProperty"
            },
            {
                "name": "biNice",
                "comment": " Specify whether or not binning boundaries use human-friendly values such as\nmultiples of ten. For more details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "Bool -> BinProperty"
            },
            {
                "name": "biStep",
                "comment": " Specify an exact step size between bins when binning a collection of values.\nFor more details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "Float -> BinProperty"
            },
            {
                "name": "biSteps",
                "comment": " Specify the allowable step sizes between bins when binning a collection of\nvalues. For more details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "List Float -> BinProperty"
            },
            {
                "name": "bin",
                "comment": " _Deprecated in favour of channel-specific binning (e.g. `pBin`, `oBin` etc.)_\n",
                "type": "List BinProperty -> LabelledSpec"
            },
            {
                "name": "binAs",
                "comment": " Create a named binning transformation that may be referenced in other Transformations\nor encodings. The type of binning can be customised with a list of `BinProperty`\ngenerating functions (`biBase`, `biDivide` etc.) or an empty list to use the default\nbinning. For more details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/bin.html).\n\n    trans =\n        transform\n            << binAs [ MaxBins 3 ] \"IMDB_Rating\" \"ratingGroup\"\n\nNote that usually, direct binning within an encoding is preferred over this form\nof bin transformation.\n\n",
                "type": "List BinProperty -> String -> String -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "boo",
                "comment": " Specify a boolean data value. This is used when a function can accept values\nof different types.\n",
                "type": "Bool -> DataValue"
            },
            {
                "name": "boos",
                "comment": " Specify a list of boolean data values. This is used when a function can\naccept lists of different types.\n",
                "type": "List Bool -> DataValues"
            },
            {
                "name": "calculateAs",
                "comment": " Creates a new data field based on calculations from existing fields.\nThe first parameter is an expression representing the calculation and the second\nis the name to give the newly calculated field. This third parameter is a list of\nany previous calculations to which this is to be added. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/calculate.html)\nfor further details.\n\n    trans =\n        transform << calculateAs \"datum.sex == 2 ? 'F' : 'M'\" \"gender\"\n\n",
                "type": "String -> String -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "categoricalDomainMap",
                "comment": " Create a set of discrete domain to color mappings suitable for customising categorical\nscales. The first item in each tuple should be a domain value and the second the\ncolor value with which it should be associated. It is a convenience function equivalent\nto specifying separate `SDomain` and `SRange` lists and is safer as it guarantees\na one-to-one correspondence between domain and range values.\n\n    color\n        [ mName \"weather\"\n        , mMType Nominal\n        , mScale <|\n            categoricalDomainMap\n                [ ( \"sun\", \"yellow\" )\n                , ( \"rain\", \"blue\" )\n                , ( \"fog\", \"grey\" )\n                ]\n        ]\n\n",
                "type": "List ( String, String ) -> List ScaleProperty"
            },
            {
                "name": "circle",
                "comment": " Specify a circle mark for symbolising points. For details see the\n[Vega Lite documentation](https://vega.github.io/vega-lite/docs/circle.html).\n\n    circle [ maStroke \"red\", maStrokeWeight 2 ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    circle []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "clipRect",
                "comment": " Specify a clipping rectangle in pixel units. The four parameters are respectively\n'left', 'top', 'right' and 'bottom' of the rectangular clipping bounds.\n",
                "type": "Float -> Float -> Float -> Float -> ClipRect"
            },
            {
                "name": "coArea",
                "comment": " Configure the default appearance of area marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coAutosize",
                "comment": " Configure the default sizing of visualizations. For details, see the\n[Vega-Lite top-level configuration documentation](https://vega.github.io/vega-lite/docs/config.html#top-level-config)\n",
                "type": "List Autosize -> ConfigurationProperty"
            },
            {
                "name": "coAxis",
                "comment": " Configure the default appearance of axes. For details, see the\n[Vega-Lite axis configuration documentation](https://vega.github.io/vega-lite/docs/config.html#axis-config)\n",
                "type": "List AxisConfig -> ConfigurationProperty"
            },
            {
                "name": "coAxisBand",
                "comment": " Configure the default appearance of axes with band scaling. For details, see the\n[Vega-Lite axis configuration documentation](https://vega.github.io/vega-lite/docs/config.html#axis-config)\n",
                "type": "List AxisConfig -> ConfigurationProperty"
            },
            {
                "name": "coAxisBottom",
                "comment": " Configure the default appearance of bottom-side axes. For details, see the\n[Vega-Lite axis configuration documentation](https://vega.github.io/vega-lite/docs/config.html#axis-config)\n",
                "type": "List AxisConfig -> ConfigurationProperty"
            },
            {
                "name": "coAxisLeft",
                "comment": " Configure the default appearance of left-side axes. For details, see the\n[Vega-Lite axis configuration documentation](https://vega.github.io/vega-lite/docs/config.html#axis-config)\n",
                "type": "List AxisConfig -> ConfigurationProperty"
            },
            {
                "name": "coAxisRight",
                "comment": " Configure the default appearance of right-side axes. For details, see the\n[Vega-Lite axis configuration documentation](https://vega.github.io/vega-lite/docs/config.html#axis-config)\n",
                "type": "List AxisConfig -> ConfigurationProperty"
            },
            {
                "name": "coAxisTop",
                "comment": " Configure the default appearance of top-side axes. For details, see the\n[Vega-Lite axis configuration documentation](https://vega.github.io/vega-lite/docs/config.html#axis-config)\n",
                "type": "List AxisConfig -> ConfigurationProperty"
            },
            {
                "name": "coAxisX",
                "comment": " Configure the default appearance of x-axes. For details, see the\n[Vega-Lite axis configuration documentation](https://vega.github.io/vega-lite/docs/config.html#axis-config)\n",
                "type": "List AxisConfig -> ConfigurationProperty"
            },
            {
                "name": "coAxisY",
                "comment": " Configure the default appearance of y-axes. For details, see the\n[Vega-Lite axis configuration documentation](https://vega.github.io/vega-lite/docs/config.html#axis-config)\n",
                "type": "List AxisConfig -> ConfigurationProperty"
            },
            {
                "name": "coBackground",
                "comment": " Configure the default background color of visualizations. For details, see the\n[Vega-Lite top-level configuration documentation](https://vega.github.io/vega-lite/docs/config.html#top-level-config)\n",
                "type": "String -> ConfigurationProperty"
            },
            {
                "name": "coBar",
                "comment": " Configure the default appearance of bar marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coCircle",
                "comment": " Configure the default appearance of circle marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coCountTitle",
                "comment": " Configure the default title style for count fields. For details, see the\n[Vega-Lite top-level configuration documentation](https://vega.github.io/vega-lite/docs/config.html#top-level-config)\n",
                "type": "String -> ConfigurationProperty"
            },
            {
                "name": "coFieldTitle",
                "comment": " Configure the default title generation style for fields. For details, see the\n[Vega-Lite top-level configuration documentation](https://vega.github.io/vega-lite/docs/config.html#top-level-config)\n",
                "type": "FieldTitleProperty -> ConfigurationProperty"
            },
            {
                "name": "coGeoshape",
                "comment": " Configure the default appearance of geoshape marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coLegend",
                "comment": " Configure the default appearance of legends. For details, see the\n[Vega-Lite legend configuration documentation](https://vega.github.io/vega-lite/docs/config.html#legend-config)\n",
                "type": "List LegendConfig -> ConfigurationProperty"
            },
            {
                "name": "coLine",
                "comment": " Configure the default appearance of line marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coMark",
                "comment": " Configure the default mark appearance. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coNamedStyle",
                "comment": " Configure the default appearance of a named style. For details, see the\n[Vega-Lite mark style configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "String -> List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coNumberFormat",
                "comment": " Configure the default number formatting for axis and text labels. For details, see the\n[Vega-Lite top-level configuration documentation](https://vega.github.io/vega-lite/docs/config.html#top-level-config)\n",
                "type": "String -> ConfigurationProperty"
            },
            {
                "name": "coPadding",
                "comment": " Configure the default padding in pixels from the edge of the of visualization\nto the data rectangle. For details, see the\n[Vega-Lite top-level configuration documentation](https://vega.github.io/vega-lite/docs/config.html#top-level-config)\n",
                "type": "Padding -> ConfigurationProperty"
            },
            {
                "name": "coPoint",
                "comment": " Configure the default appearance of point marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coProjection",
                "comment": " Configure the default style of map projections. For details, see the\n[Vega-Lite projection configuration documentation](https://vega.github.io/vega-lite/docs/config.html#projection-config)\n",
                "type": "List ProjectionProperty -> ConfigurationProperty"
            },
            {
                "name": "coRange",
                "comment": " Configure the default range properties used when scaling. For details, see the\n[Vega-Lite scale range configuration documentation](https://vega.github.io/vega-lite/docs/config.html#scale-config)\n",
                "type": "List RangeConfig -> ConfigurationProperty"
            },
            {
                "name": "coRect",
                "comment": " Configure the default appearance of rectangle marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coRemoveInvalid",
                "comment": " Configure the default handling of invalid (`null` and `NaN`) values. If `true`,\ninvalid values are skipped or filtered out when represented as marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "Bool -> ConfigurationProperty"
            },
            {
                "name": "coRule",
                "comment": " Configure the default appearance of rule marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coScale",
                "comment": " Configure the default scale properties used when scaling. For details, see the\n[Vega-Lite scale configuration documentation](https://vega.github.io/vega-lite/docs/config.html#scale-config)\n",
                "type": "List ScaleConfig -> ConfigurationProperty"
            },
            {
                "name": "coSelection",
                "comment": " Configure the default appearance of selection marks. For details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/config.html)\n",
                "type": "List ( Selection, List SelectionProperty ) -> ConfigurationProperty"
            },
            {
                "name": "coSquare",
                "comment": " Configure the default appearance of square marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coStack",
                "comment": " Configure the default stack offset style for stackable marks. For details, see the\n[Vega-Lite top-level configuration documentation](https://vega.github.io/vega-lite/docs/config.html#top-level-config)\n",
                "type": "StackProperty -> ConfigurationProperty"
            },
            {
                "name": "coText",
                "comment": " Configure the default appearance of text marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coTick",
                "comment": " Configure the default appearance of tick marks. For details, see the\n[Vega-Lite mark configuration documentation](https://vega.github.io/vega-lite/docs/config.html#mark-config)\n",
                "type": "List MarkProperty -> ConfigurationProperty"
            },
            {
                "name": "coTimeFormat",
                "comment": " Configure the default time format for axis and legend labels. For details, see the\n[Vega-Lite top-level configuration documentation](https://vega.github.io/vega-lite/docs/config.html#top-level-config)\n",
                "type": "String -> ConfigurationProperty"
            },
            {
                "name": "coTitle",
                "comment": " Configure the default style of visualization titles. For details, see the\n[Vega-Lite title configuration documentation](https://vega.github.io/vega-lite/docs/config.html#title-config)\n",
                "type": "List TitleConfig -> ConfigurationProperty"
            },
            {
                "name": "coTrail",
                "comment": " Specify the default style of trail marks.\n\n    config =\n        configure << coTrail [ maOpacity 0.5, maStrokeDash [ 1, 2 ] ]\n\n",
                "type": "List MarkProperty -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "coView",
                "comment": " Configure the default single view style. For details, see the\n[Vega-Lite view configuration documentation](https://vega.github.io/vega-lite/docs/config.html#view-configuration)\n",
                "type": "List ViewConfig -> ConfigurationProperty"
            },
            {
                "name": "color",
                "comment": " Encode a color channel. The first parameter is a list of mark channel properties\nthat characterise the way a data field is encoded by color. The second parameter\nis a list of any previous channels to which this color channel should be added.\n\n    color [ mName \"Species\", mMType Nominal ] []\n\nEncoding a color channel will generate a legend by default. To stop the legend\nappearing, just supply an empty list of legend properties to `MLegend` :\n\n    color [ mName \"Species\", mMType Nominal, mLegend [] ] []\n\n",
                "type": "List MarkChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "column",
                "comment": " Encodes a new facet to be arranged in columns. The first parameter is a list\nof properties that define the faceting channel. This should include at least the\nname of the data field and its measurement type. The final parameter is a list of\nany previous channels to which this is to be added. This is usually implicit when\nchaining encodings using functional composition\n\n    enc =\n        encoding\n            << position X [ pName \"people\", pMType Quantitative ]\n            << position Y [ pName \"gender\", pMType Nominal ]\n            << column [ fName \"age\", fMType Ordinal ]\n\n",
                "type": "List FacetChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "columnBy",
                "comment": " Specify the mapping between a column and its field definitions in a set of\nfaceted small multiples. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/facet.html#mapping)\n",
                "type": "List FacetChannel -> FacetMapping"
            },
            {
                "name": "columnFields",
                "comment": " Create a list of fields to use in set of repeated small multiples arranged in\ncolumns. The list of fields named here can be referenced in an encoding with\n`pRepeat Column`, `mRepeat Column` etc.\n",
                "type": "List String -> RepeatFields"
            },
            {
                "name": "combineSpecs",
                "comment": " Combines a list of labelled specifications into a single specification that\nmay be passed to JavaScript for rendering. This is useful when you wish to create\na single page with multiple visulizualizations.\n\n    combineSpecs\n        [ ( \"vis1\", myFirstVis )\n        , ( \"vis2\", mySecondVis )\n        , ( \"vis3\", myOtherVis )\n        ]\n\n",
                "type": "List LabelledSpec -> Spec"
            },
            {
                "name": "configuration",
                "comment": " Defines a single configuration option to be applied globally across the visualization.\nThe first parameter identifies the type of configuration, the second a list of previous\nconfigurations to which this one may be added.\n\n    configuration (coAxis [ axcoDomainWidth 4 ]) []\n\n",
                "type": "ConfigurationProperty -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "configure",
                "comment": " Create a single global configuration from a list of configuration specifications.\nConfigurations are applied to all relevant items in the specification. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/config.html) for\nmore details.\n\n    config =\n        configure\n            << configuration (coAxis [ axcoDomainWidth 1 ])\n            << configuration (coView [ vicoStroke Nothing ])\n            << configuration (coSelection [ ( Single, [ seOn \"dblclick\" ] ) ])\n\n",
                "type": "List LabelledSpec -> ( VLProperty, Spec )"
            },
            {
                "name": "cubeHelix",
                "comment": " Specify a cube helix color interpolation for continuous color scales. The\nparameter is the gamma value to use in interpolation (anchored at 1).\n",
                "type": "Float -> CInterpolate"
            },
            {
                "name": "cubeHelixLong",
                "comment": " Specify a long-path cube helix color interpolation for continuous color scales.\nThe parameter is the gamma value to use in interpolation (anchored at 1).\n",
                "type": "Float -> CInterpolate"
            },
            {
                "name": "customProjection",
                "comment": " Specify a custom projection type. Additional custom projections from d3 can\nbe defined via the [Vega API](https://vega.github.io/vega/docs/projections/#register)\nand called from with this function where the parameter is the name of the D3\nprojection to use (e.g. `customProjection \"winkel3\"`).\n",
                "type": "String -> Projection"
            },
            {
                "name": "dAggregate",
                "comment": " Compute some aggregate summaray statistics for a field to be encoded with a\nlevel of detail (grouping) channel. The type of aggregation is determined by the\ngiven operation parameter. For details, see the\n[Vega-Lite aggregate documentation](https://vega.github.io/vega-lite/docs/aggregate.html)\n",
                "type": "Operation -> DetailChannel"
            },
            {
                "name": "dBin",
                "comment": " Discretizes a series of numeric values into bins when encoding with a level\nof detail (grouping) channel. For details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "List BinProperty -> DetailChannel"
            },
            {
                "name": "dMType",
                "comment": " Specify the field type (level of measurement) when encoding with a level of\ndetail (grouping) channel. For details, see the\n[Vega-Lite type documentation](https://vega.github.io/vega-lite/docs/type.html)\n",
                "type": "Measurement -> DetailChannel"
            },
            {
                "name": "dName",
                "comment": " Provide the name of the field used for encoding with a level of detail\n(grouping) channel. For details, see the\n[Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html)\n",
                "type": "String -> DetailChannel"
            },
            {
                "name": "dTimeUnit",
                "comment": " Specify the form of time unit aggregation of field values when encoding\nwith a level of detail (grouping) channel. For details, see the\n[Vega-Lite time unit documentation](https://vega.github.io/vega-lite/docs/timeunit.html)\n",
                "type": "TimeUnit -> DetailChannel"
            },
            {
                "name": "dataColumn",
                "comment": " Create a column of data. A column has a name and a list of values. The final\nparameter is the list of any other columns to which this is added.\n\n    dataColumn \"Animal\" (strs [ \"Cat\", \"Dog\", \"Mouse\"]) []\n\n",
                "type": "String -> DataValues -> List DataColumn -> List DataColumn"
            },
            {
                "name": "dataFromColumns",
                "comment": " Declare a data source from a provided list of column values. Each column contains\nvalues of the same type, but columns each with a different type are permitted.\nColumns should all contain the same number of items; if not the dataset will be\ntruncated to the length of the shortest column. An optional list of field formatting\ninstructions can be provided as the first parameter or an empty list to use the\ndefault formatting. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/data.html#format)\nfor details.\nThe columns themselves are most easily generated with `dataColumn`\n\n    data =\n        dataFromColumns [ parse [ ( \"Year\", foDate \"%Y\" ) ] ]\n            << dataColumn \"Animal\" (strs [ \"Fish\", \"Dog\", \"Cat\" ])\n            << dataColumn \"Age\" (nums [ 28, 12, 6 ])\n            << dataColumn \"Year\" (strs [ \"2010\", \"2014\", \"2015\" ])\n\n",
                "type": "List Format -> List DataColumn -> Data"
            },
            {
                "name": "dataFromJson",
                "comment": " Declare a data source from a provided json specification. The most likely use-case\nfor specifying json inline is when creating [geojson](http://geojson.org) objects,\nwhen [`geometry`](#geometry), [`geometryCollection`](#geometryCollection) and\n[`geoFeatureCollection`](#geoFeatureCollection) functions may be used. For more\ngeneral cases of json creation, consider\n[`Json.Encode`](http://package.elm-lang.org/packages/elm-lang/core/5.1.1/Json-Encode).\n\n    let\n        geojson =\n            geometry (geoPolygon [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]) []\n    in\n    toVegaLite\n        [ width 200\n        , height 200\n        , dataFromJson geojson []\n        , projection [ prType Orthographic ]\n        , geoshape []\n        ]\n\n",
                "type": "Spec -> List Format -> Data"
            },
            {
                "name": "dataFromRows",
                "comment": " Declare a data source from a provided list of row values. Each row contains\na list of tuples where the first value is a string representing the column name, and the\nsecond the column value for that row. Each column can have a value of a different type\nbut you must ensure that when subsequent rows are added, they match the types of previous\nvalues with shared column names. An optional list of field formatting instructions can\nbe provided as the first parameter or an empty list to use the default formatting. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/data.html#format)\nfor details.\nThe rows themselves are most easily generated with `dataRow`. Note though that generally\nif you are creating data inline (as opposed to reading from a file), adding data by column\nis more efficient and less error-prone.\n\n    data =\n        dataFromRows [ parse [ ( \"Year\", foDate \"%Y\" ) ] ]\n            << dataRow [ ( \"Animal\", str \"Fish\" ), ( \"Age\", num 28 ), ( \"Year\", str \"2010\" ) ]\n            << dataRow [ ( \"Animal\", str \"Dog\" ), ( \"Age\", num 12 ), ( \"Year\", str \"2014\" ) ]\n            << dataRow [ ( \"Animal\", str \"Cat\" ), ( \"Age\", num 6 ), ( \"Year\", str \"2015\" ) ]\n\n",
                "type": "List Format -> List DataRow -> Data"
            },
            {
                "name": "dataFromSource",
                "comment": " Declare data from a named source. The source may be from named `datasets` within\na specification or a named data source created via the\n[Vega View API](https://vega.github.io/vega/docs/api/view/#data).\nAn optional list of field formatting instructions can be provided as the second\nparameter or an empty list to use the default formatting. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/data.html#named)\nfor details.\n\n    data = ...\n    json = ...\n    enc = ...\n    toVegaLite\n        [ datasets [ ( \"myData\", data [] ),  ( \"myJson\", dataFromJson json [] ) ]\n        , dataFromSource \"myData\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "String -> List Format -> Data"
            },
            {
                "name": "dataFromUrl",
                "comment": " Declare data source from a url. The URL can be a local path on a web server\nor an external http(s) URL. Used to create a data ( property, specification ) pair.\nAn optional list of field formatting instructions can be provided as the second\nparameter or an empty list to use the default formatting. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/data.html#format)\nfor details.\n\n    enc = ...\n    toVegaLite\n        [ dataFromUrl \"data/weather.csv\" [ parse [ ( \"date\", foDate \"%Y-%m-%d %H:%M\" ) ] ]\n        , line []\n        , enc []\n        ]\n\n",
                "type": "String -> List Format -> Data"
            },
            {
                "name": "dataRow",
                "comment": " Create a row of data. A row comprises a list of (columnName,value) pairs.\nThe final parameter is the list of any other rows to which this is added.\n\n    dataRow [ (\"Animal\", str \"Fish\"), (\"Age\", num 28), (\"Year\", str \"2010\") ] []\n\n",
                "type": "List ( String, DataValue ) -> List DataRow -> List DataRow"
            },
            {
                "name": "datasets",
                "comment": " Create a dataset comprising a collection of named `Data` items. Each data item\ncan be created with normal data generating functions such as `dataFromRows` or\n`dataFromJson`. These can be later referred to using `dataFromSource`.\n\n    import Json.Encode as JE\n\n    let\n        data =\n            dataFromRows []\n                << dataRow [ ( \"cat\", str \"a\" ), ( \"val\", num 10 ) ]\n                << dataRow [ ( \"cat\", str \"b\" ), ( \"val\", num 18 ) ]\n        json =\n            JE.list\n                [ JE.object [ ( \"cat\", JE.string \"a\" ), ( \"val\", JE.float 120 ) ]\n                , JE.object [ ( \"cat\", JE.string \"b\" ), ( \"val\", JE.float 180 ) ]\n                ]\n\n        enc = ...\n\n    in\n    toVegaLite\n        [ datasets [ ( \"myData\", data [] ),  ( \"myJson\", dataFromJson json [] ) ]\n        , dataFromSource \"myData\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "List ( String, Data ) -> Data"
            },
            {
                "name": "description",
                "comment": " Provides an optional description to be associated with the visualization.\n\n    enc = ...\n    toVegaLite\n        [ description \"Population change of key regions since 1900\"\n        , dataFromUrl \"data/population.json\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "String -> ( VLProperty, Spec )"
            },
            {
                "name": "detail",
                "comment": " Encode a 'level of detail' channel. This provides a way of grouping by a field\nbut unlike, say `color`, all groups have the same visual properties. The first\nparameter is a list of the field characteristics to be grouped. The second parameter\nis a list of any previous channels to which this detail channel should be added. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/encoding.html#detail)\nfor details.\n\n    detail [ dName \"Species\", dMType Nominal ] []\n\n",
                "type": "List DetailChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "doDts",
                "comment": " Specify the date-time values that define a scale domain. For full details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#domain).\n",
                "type": "List (List DateTime) -> ScaleDomain"
            },
            {
                "name": "doNums",
                "comment": " Specify the numeric values that define a scale domain. For full details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#domain).\n",
                "type": "List Float -> ScaleDomain"
            },
            {
                "name": "doSelection",
                "comment": " Specify a scale domain based on a named interactive selection. For full details see\nthe [Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#domain).\n",
                "type": "String -> ScaleDomain"
            },
            {
                "name": "doStrs",
                "comment": " Specify the string values that define a scale domain. For full details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#domain).\n",
                "type": "List String -> ScaleDomain"
            },
            {
                "name": "domainRangeMap",
                "comment": " Create a pair of continuous domain to color mappings suitable for customising\nordered scales. The first parameter is a tuple representing the mapping of the lowest\nnumeric value in the domain to its equivalent color; the second tuple the mapping\nof the highest numeric value to color. If the domain contains any values between\nthese lower and upper bounds they are interpolated according to the scale's interpolation\nfunction. This is a convenience function equivalent to specifying separate `SDomain`\nand `SRange` lists and is safer as it guarantees a one-to-one correspondence between\ndomain and range values.\n\n    color\n        [ mName \"year\"\n        , mMType Ordinal\n        , mScale (domainRangeMap ( 1955, \"#e6959c\" ) ( 2000, \"#911a24\" ))\n        ]\n\n",
                "type": "( Float, String ) -> ( Float, String ) -> List ScaleProperty"
            },
            {
                "name": "dt",
                "comment": " Specify a date-time data value. This is used when a function can accept values\nof different types.\n",
                "type": "List DateTime -> DataValue"
            },
            {
                "name": "dtDate",
                "comment": " Specify a day of the month as an integer. For details, see the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\n",
                "type": "Int -> DateTime"
            },
            {
                "name": "dtDay",
                "comment": " Specify a day of the week. For details, see the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\n",
                "type": "DayName -> DateTime"
            },
            {
                "name": "dtHour",
                "comment": " Specify an hour of the day (0=midnight, 1=1am, 23=11pm etc.) an integer. For details, see the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\n",
                "type": "Int -> DateTime"
            },
            {
                "name": "dtMillisecond",
                "comment": " Specify a millisecond of a second (0-999). For details, see the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\n",
                "type": "Int -> DateTime"
            },
            {
                "name": "dtMinute",
                "comment": " Specify a minute of an hour (0-59). For details, see the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\n",
                "type": "Int -> DateTime"
            },
            {
                "name": "dtMonth",
                "comment": " Specify a month as an integer (1=January, 2=February etc.). For details, see the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\n",
                "type": "MonthName -> DateTime"
            },
            {
                "name": "dtQuarter",
                "comment": " Specify a year quarter as an integer. For details, see the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\n",
                "type": "Int -> DateTime"
            },
            {
                "name": "dtRange",
                "comment": " Specify the min max date-time range to be used in data filtering. If either\nparameter is an empty list, it is assumed to be unbounded.\n",
                "type": "List DateTime -> List DateTime -> FilterRange"
            },
            {
                "name": "dtSecond",
                "comment": " Specify a second of a minute (0-59). For details, see the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\n",
                "type": "Int -> DateTime"
            },
            {
                "name": "dtYear",
                "comment": " Specify a year as an integer. For details, see the\n[Vega-Lite dateTime documentation](https://vega.github.io/vega-lite/docs/types.html#datetime)\n",
                "type": "Int -> DateTime"
            },
            {
                "name": "dts",
                "comment": " Specify a list of date-time data values. This is used when a function can\naccept lists of different types.\n",
                "type": "List (List DateTime) -> DataValues"
            },
            {
                "name": "encoding",
                "comment": " Create an encoding specification from a list of channel encodings.\n\n    enc =\n        encoding\n            << position X [ pName \"Animal\", pMType Ordinal ]\n            << position Y [ pName \"Age\", pMType Quantitative ]\n            << shape [ mName \"Species\", mMType Nominal ]\n            << size [ mName \"Population\", mMType Quantitative ]\n\n",
                "type": "List LabelledSpec -> ( VLProperty, Spec )"
            },
            {
                "name": "expr",
                "comment": " Specify an expression that should evaluate to either true or false. Can use\nany valid [Vega expression](https://vega.github.io/vega/docs/expressions/).\n",
                "type": "String -> BooleanOp"
            },
            {
                "name": "fAggregate",
                "comment": " Compute some aggregate summaray statistics for a field to be encoded with a\nfacet channel. The type of aggregation is determined by the given operation\nparameter. For details, see the\n[Vega-Lite aggregate documentation](https://vega.github.io/vega-lite/docs/aggregate.html)\n",
                "type": "Operation -> FacetChannel"
            },
            {
                "name": "fBin",
                "comment": " Discretizes a series of numeric values into bins when encoding with a\nfacet channel. For details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "List BinProperty -> FacetChannel"
            },
            {
                "name": "fHeader",
                "comment": " Specify the 'axis' for a series of faceted plots. This is the guide that spans\nthe collection of faceted plots, each of which may have their own axes. For details,\nsee the\n[Vega-Lite facet header documentation](https://vega.github.io/vega-lite/docs/facet.html#header)\n",
                "type": "List HeaderProperty -> FacetChannel"
            },
            {
                "name": "fMType",
                "comment": " Specify the field type (level of measurement) when encoding with a facet\nchannel. For details, see the\n[Vega-Lite type documentation](https://vega.github.io/vega-lite/docs/type.html)\n",
                "type": "Measurement -> FacetChannel"
            },
            {
                "name": "fName",
                "comment": " Provide the name of the field used for encoding with a facet channel.\nFor details, see the\n[Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html)\n",
                "type": "String -> FacetChannel"
            },
            {
                "name": "fTimeUnit",
                "comment": " Specify the form of time unit aggregation of field values when encoding\nwith a facet channel. For details, see the\n[Vega-Lite time unit documentation](https://vega.github.io/vega-lite/docs/timeunit.html)\n",
                "type": "TimeUnit -> FacetChannel"
            },
            {
                "name": "facet",
                "comment": " Defines the fields that will be used to facet a view in rows or columns to create\na set of small multiples. This is used where the encoding of the visualization in small\nmultiples is identical, but data for each is grouped by the given fields. When\ncreating a faceted view in this way you also need to define a full specification\nto apply to each of those facets using `asSpec`.\n\n    spec = ...\n    toVegaLite\n        [ facet [ rowBy [ fName \"Origin\", fMType Nominal ] ]\n        , specifcation spec\n        ]\n\nSee the [Vega-Lite documentation](https://vega.github.io/vega-lite/docs/facet.html)\nfor further details.\n\n",
                "type": "List FacetMapping -> ( VLProperty, Spec )"
            },
            {
                "name": "fiCompose",
                "comment": " Build up a filtering predicate through logical composition (`and`, `or` etc.).\nSee the [Vega-Lite documentation](https://vega.github.io/vega-lite/docs/filter.html)\nfor details.\n",
                "type": "BooleanOp -> Filter"
            },
            {
                "name": "fiEqual",
                "comment": " Filter a data stream so that only data in a given field equal to the given\nvalue are used. For details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/filter.html).\n",
                "type": "String -> DataValue -> Filter"
            },
            {
                "name": "fiExpr",
                "comment": " Filter a data stream so that only data that satisfy the given predicate\nexpression are used. For details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/filter.html).\n",
                "type": "String -> Filter"
            },
            {
                "name": "fiOneOf",
                "comment": " Filter a data stream so that only data in a given field contained in the given\nlist of values are used. For details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/filter.html).\n",
                "type": "String -> DataValues -> Filter"
            },
            {
                "name": "fiRange",
                "comment": " Filter a data stream so that only data in a given field that are within the\ngiven range are used. For details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/filter.html).\n",
                "type": "String -> FilterRange -> Filter"
            },
            {
                "name": "fiSelection",
                "comment": " Filter a data stream so that only data in a given field that are within the\ngiven interactive selection are used. For details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/filter.html).\n",
                "type": "String -> Filter"
            },
            {
                "name": "fill",
                "comment": " Encode a fill channel. This acts in a similar way to encoding by `color` but\nonly affects the interior of closed shapes. The first parameter is a list of mark\nchannel properties that characterise the way a data field is encoded by fill.\nThe second parameter is a list of any previous channels to which this fill channel\nshould be added.\n\n    fill [ mName \"Species\", mMType Nominal ] []\n\nNote that if both `fill` and `color` encodings are specified, `fill` takes precedence.\n\n",
                "type": "List MarkChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "filter",
                "comment": " Adds the given filter operation a list of transformations that may be applied\nto a channel or field. The first parameter is the filter operation and the second,\noften implicit, parameter is the list of other filter operations to which this\nshould be added in sequence.\n\n    trans =\n        transform\n            << filter (fiEqual \"Animal\" (str \"Cat\"))\n\nFilter operations can combine selections and data predicates with `BooleanOp` expressions:\n\n    trans =\n        transform\n            << filter (fiCompose (and (expr \"datum.Weight_in_lbs > 3000\") (fiSelection \"brush\")))\n\n",
                "type": "Filter -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "foDate",
                "comment": " Specity a date format for parsing input data. Formatting can be specified using\n[D3's formatting specifiers](https://vega.github.io/vega-lite/docs/data.html#format)\nor left as an empty string if default date formatting is to be applied. Care should\nbe taken when assuming default parsing of dates because different browsers can\nparse dates differently. Being explicit about the date format is usually safer.\n",
                "type": "String -> DataType"
            },
            {
                "name": "foUtc",
                "comment": " Specity a UTC date format for parsing input data. Formatting can be specified using\n[D3's formatting specifiers](https://vega.github.io/vega-lite/docs/data.html#format)\nor left as an empty string if default date formatting is to be applied. Care should\nbe taken when assuming default parsing of UTC dates because different browsers can\nparse dates differently. Being explicit about the date format is usually safer.\n",
                "type": "String -> DataType"
            },
            {
                "name": "geoFeatureCollection",
                "comment": " Specifies a list of geo features to be used in a `geoshape` specification.\nEach feature object in this collection can be created with the `geometry` function.\n\n    geojson =\n        geoFeatureCollection\n            [ geometry (geoPolygon [ [ ( -3, 59 ), ( -3, 52 ), ( 4, 52 ), ( -3, 59 ) ] ])\n                [ ( \"myRegionName\", str \"Northern region\" ) ]\n            , geometry (geoPolygon [ [ ( -3, 52 ), ( 4, 52 ), ( 4, 45 ), ( -3, 52 ) ] ])\n                [ ( \"myRegionName\", str \"Southern region\" ) ]\n            ]\n\n",
                "type": "List Spec -> Spec"
            },
            {
                "name": "geoLine",
                "comment": " Specify line geometry for programmatically creating GeoShapes. This is equivalent\nto the [GeoJson geometry `line` type](https://tools.ietf.org/html/rfc7946#section-3.1)\nin the GeoJSON specification.\n",
                "type": "List ( Float, Float ) -> Geometry"
            },
            {
                "name": "geoLines",
                "comment": " Specify multi-line geometry for programmatically creating GeoShapes. This is equivalent\nto the [GeoJson geometry `multi-line` type](https://tools.ietf.org/html/rfc7946#section-3.1)\nin the GeoJSON specification.\n",
                "type": "List (List ( Float, Float )) -> Geometry"
            },
            {
                "name": "geoPoint",
                "comment": " Specify point geometry for programmatically creating GeoShapes. This is equivalent\nto the [GeoJson geometry `point` type](https://tools.ietf.org/html/rfc7946#section-3.1)\nin the GeoJSON specification.\n",
                "type": "Float -> Float -> Geometry"
            },
            {
                "name": "geoPoints",
                "comment": " Specify multi-point geometry for programmatically creating GeoShapes. This is equivalent\nto the [GeoJson geometry `multi-point` type](https://tools.ietf.org/html/rfc7946#section-3.1)\nin the GeoJSON specification.\n",
                "type": "List ( Float, Float ) -> Geometry"
            },
            {
                "name": "geoPolygon",
                "comment": " Specify polygon geometry for programmatically creating GeoShapes. This is equivalent\nto the [GeoJson geometry `polygon` type](https://tools.ietf.org/html/rfc7946#section-3.1)\nin the GeoJSON specification.\n",
                "type": "List (List ( Float, Float )) -> Geometry"
            },
            {
                "name": "geoPolygons",
                "comment": " Specify multi-polygon geometry for programmatically creating GeoShapes. This is equivalent\nto the [GeoJson geometry `multi-polygon` type](https://tools.ietf.org/html/rfc7946#section-3.1)\nin the GeoJSON specification.\n",
                "type": "List (List (List ( Float, Float ))) -> Geometry"
            },
            {
                "name": "geometry",
                "comment": " Specifies a geometric object to be used in a `geoshape` specification. The\nfirst parameter is the geometric type, the second an optional list of properties\nto be associated with the object.\n\n      geojson =\n          geometry (geoPolygon [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]) []\n\n",
                "type": "Geometry -> List ( String, DataValue ) -> Spec"
            },
            {
                "name": "geometryCollection",
                "comment": " Specifies a list of geometry objects to be used in a `geoshape` specification.\nEach geometry object in this collection can be created with the `geometry` function.\n\n    geojson =\n        geometryCollection\n            [ geometry (geoPolygon [ [ ( -3, 59 ), ( 4, 59 ), ( 4, 52 ), ( -3, 59 ) ] ]) []\n            , geometry (geoPoint -3.5 55.5) []\n            ]\n\n",
                "type": "List Spec -> Spec"
            },
            {
                "name": "geoshape",
                "comment": " Specify a an arbitrary shape determined by georaphically referenced\ncoordinates. For details see the\n[Vega Lite documentation](https://vega.github.io/vega-lite/docs/geoshape.html).\n\n    geoshape [ maFill \"blue\", maStroke \"white\" ]\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "hAggregate",
                "comment": " Compute some aggregate summaray statistics for a field to be encoded with a\nhyperlink channel. The type of aggregation is determined by the given operation\nparameter. For details, see the\n[Vega-Lite aggregate documentation](https://vega.github.io/vega-lite/docs/aggregate.html)\n",
                "type": "Operation -> HyperlinkChannel"
            },
            {
                "name": "hBin",
                "comment": " Discretizes a series of numeric values into bins when encoding with a\nhyperlink channel. For details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "List BinProperty -> HyperlinkChannel"
            },
            {
                "name": "hConcat",
                "comment": " Assigns a list of specifications to be juxtaposed horizontally in a visualization.\n\n    let\n        spec1 = ...\n        spec2 = ...\n    in\n    toVegaLite\n        [ dataFromUrl \"data/driving.json\" []\n        , hConcat [ spec1, spec2 ]\n        ]\n\n",
                "type": "List Spec -> ( VLProperty, Spec )"
            },
            {
                "name": "hDataCondition",
                "comment": " Specify the properties of a hyperlink channel conditional on some predicate\nexpression. The first parameter provides the expression to evaluate, the second the encoding\nto apply if the expression is true, the third the encoding if the expression is\nfalse. For details, see the\n[Vega-Lite condition documentation](https://vega.github.io/vega-lite/docs/condition.htmll)\n",
                "type": "BooleanOp -> List HyperlinkChannel -> List HyperlinkChannel -> HyperlinkChannel"
            },
            {
                "name": "hMType",
                "comment": " Specify the field type (level of measurement) when encoding with a hyperlink\nchannel. For details, see the\n[Vega-Lite type documentation](https://vega.github.io/vega-lite/docs/type.html)\n",
                "type": "Measurement -> HyperlinkChannel"
            },
            {
                "name": "hName",
                "comment": " Provide the name of the field used for encoding with a hyperlink channel.\nFor details, see the\n[Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html)\n",
                "type": "String -> HyperlinkChannel"
            },
            {
                "name": "hRepeat",
                "comment": " Reference in a hyperlink channel to a field name generated by `repeat`. The\nparameter identifies whether reference is being made to fields being laid out\nin columns or in rows.\n",
                "type": "Arrangement -> HyperlinkChannel"
            },
            {
                "name": "hSelectionCondition",
                "comment": " Specify the properties of a hyperlink channel conditional on interactive selection.\nThe first parameter provides the selection to evaluate, the second the encoding\nto apply if the hyperlink has been selected, the third the encoding if it is not selected.\nFor details, see the\n[Vega-Lite condition documentation](https://vega.github.io/vega-lite/docs/condition.htmll)\n",
                "type": "BooleanOp -> List HyperlinkChannel -> List HyperlinkChannel -> HyperlinkChannel"
            },
            {
                "name": "hStr",
                "comment": " Provide a literal string value when encoding with a hyperlink channel.\n",
                "type": "String -> HyperlinkChannel"
            },
            {
                "name": "hTimeUnit",
                "comment": " Specify the form of time unit aggregation of field values when encoding\nwith a hyperlink channel. For details, see the\n[Vega-Lite time unit documentation](https://vega.github.io/vega-lite/docs/timeunit.html)\n",
                "type": "TimeUnit -> HyperlinkChannel"
            },
            {
                "name": "hdFormat",
                "comment": " Header format specifier for a faceted view. For details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/facet.html#header)\n",
                "type": "String -> HeaderProperty"
            },
            {
                "name": "hdTitle",
                "comment": " Specify a header title in a faceted view. For details, see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/facet.html#header)\n",
                "type": "String -> HeaderProperty"
            },
            {
                "name": "height",
                "comment": " Overrides the default height of the visualization. If not specified the height\nwill be calculated based on the content of the visualization.\n\n    enc = ...\n    toVegaLite\n        [ height 300\n        , dataFromUrl \"data/population.json\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "Float -> ( VLProperty, Spec )"
            },
            {
                "name": "hyperlink",
                "comment": " Encode a hyperlink channel. The first parameter is a list of hyperlink channel\nproperties that characterise the hyperlinking such as the destination URL and cursor\ntype. The second parameter is a list of any previous encoding channels to which\nthis hyperlink channel should be added.\n\n    hyperlink [ hName \"Species\", hMType Nominal ] []\n\nFor further details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/encoding.html#href)\n\n",
                "type": "List HyperlinkChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "iCheckbox",
                "comment": " Specify a checkbox input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iColor",
                "comment": " Specify a color input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iDate",
                "comment": " Specify a date input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iDateTimeLocal",
                "comment": " Specify a local time input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iMonth",
                "comment": " Specify a month input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iNumber",
                "comment": " Specify a number input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iRadio",
                "comment": " Specify a radio box input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iRange",
                "comment": " Specify a range slider input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iSelect",
                "comment": " Specify a select input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iTel",
                "comment": " Specify a telephone number input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iText",
                "comment": " Specify a text input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iTime",
                "comment": " Specify a time input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "iWeek",
                "comment": " Specify a week input element that can bound to a named field value (first\nparameter. For details see the\n[Vega-Lite input element binding documentation](https://vega.github.io/vega-lite/docs/bind.html#input-element-binding)\nand the [Vega input binding documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> List InputProperty -> Binding"
            },
            {
                "name": "inDebounce",
                "comment": " Specify the delay in input event handling when processing input events in\norder to avoid unnecessary event broadcasting. For details see the\n[Vega-Lite input element documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "Float -> InputProperty"
            },
            {
                "name": "inElement",
                "comment": " Specify an optional CSS selector indicating the parent element to which an\ninput element should be added. This allows the option of the input element to be\noutside the visualization container. For details see the\n[Vega-Lite input element documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> InputProperty"
            },
            {
                "name": "inMax",
                "comment": " Specify the maximum slider value for a range input element. Defaults to the\nlarger of the signal value and 100. For details see the\n[Vega-Lite input element documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "Float -> InputProperty"
            },
            {
                "name": "inMin",
                "comment": " Specify the minimum slider value for a range input element. Defaults to the\nsmaller of the signal value and 0. For details see the\n[Vega-Lite input element documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "Float -> InputProperty"
            },
            {
                "name": "inName",
                "comment": " Specify a custom label for a radio or select input element. For details see the\n[Vega-Lite input element documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> InputProperty"
            },
            {
                "name": "inOptions",
                "comment": " Specify a range of options for a radio or select input element. For details see the\n[Vega-Lite input element documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "List String -> InputProperty"
            },
            {
                "name": "inPlaceholder",
                "comment": " Specify the initial placeholding text for input elements such as text fields.\nFor details see the\n[Vega-Lite input element documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "String -> InputProperty"
            },
            {
                "name": "inStep",
                "comment": " Specify the minimum input element range slider increment. If undefined,\nthe step size will be automatically determined based on the min and max values.\nFor details see the\n[Vega-Lite input element documentation](https://vega.github.io/vega/docs/signals/#bind)\n",
                "type": "Float -> InputProperty"
            },
            {
                "name": "jsonProperty",
                "comment": " Indicates a JSON file format from which a given property is to be extracted\nwhen it has some surrounding structure or meta-data. For example, specifying\nthe property `values.features` is equivalent to retrieving `json.values.features`\nfrom the loaded JSON object with a custom delimeter. For details, see the\n[Vega-Lite JSON documentation](https://vega.github.io/vega-lite/docs/data.html#json).\n",
                "type": "String -> Format"
            },
            {
                "name": "layer",
                "comment": " Assigns a list of specifications to superposed layers in a visualization.\n\n    let\n        spec1 = ...\n        spec2 = ...\n    in\n    toVegaLite\n        [ dataFromUrl \"data/driving.json\" []\n        , layer [ spec1, spec2 ]\n        ]\n\n",
                "type": "List Spec -> ( VLProperty, Spec )"
            },
            {
                "name": "leDts",
                "comment": " Specify a set of legend date-times explicitly.\n",
                "type": "List (List DateTime) -> LegendValues"
            },
            {
                "name": "leEntryPadding",
                "comment": " Specify the padding in pixels between legend entries. For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "Float -> LegendProperty"
            },
            {
                "name": "leFormat",
                "comment": " Specify the formatting pattern for legend labels. For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "String -> LegendProperty"
            },
            {
                "name": "leNums",
                "comment": " Specify a set of legend numeric values explicitly.\n",
                "type": "List Float -> LegendValues"
            },
            {
                "name": "leOffset",
                "comment": " Specify the offset in pixels of a legend from the edge of its enclosing group\n/ data rectangle. For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "Float -> LegendProperty"
            },
            {
                "name": "leOrient",
                "comment": " Specify the position of a legend in a scene. For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "LegendOrientation -> LegendProperty"
            },
            {
                "name": "lePadding",
                "comment": " Specify the padding in pixels between a legend and axis. For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "Float -> LegendProperty"
            },
            {
                "name": "leStrs",
                "comment": " Specify a set of legend strings explicitly.\n",
                "type": "List String -> LegendValues"
            },
            {
                "name": "leTickCount",
                "comment": " Specify the number of tick marks in a quantitative legend. For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "Float -> LegendProperty"
            },
            {
                "name": "leTitle",
                "comment": " Specify the title of a legend. For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "String -> LegendProperty"
            },
            {
                "name": "leType",
                "comment": " Specify the type of legend (discrete symbols or continuous gradients). For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "Legend -> LegendProperty"
            },
            {
                "name": "leValues",
                "comment": " Specify the legend values explicitly. For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "LegendValues -> LegendProperty"
            },
            {
                "name": "leZIndex",
                "comment": " Specify the drawing order of a legend relative to other chart elements. To\nplace a legend in front of others use a positive integer, or 0 to draw behind. For more detail see the\n[Vega-Lite legend property documentation](https://vega.github.io/vega-lite/docs/legend.html#legend-properties).\n",
                "type": "Int -> LegendProperty"
            },
            {
                "name": "lecoCornerRadius",
                "comment": " Specify a default legend corner radius. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#general).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoEntryPadding",
                "comment": " Specify a default spacing between legend items. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoFillColor",
                "comment": " Specify a default background legend color. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#general).\n",
                "type": "String -> LegendConfig"
            },
            {
                "name": "lecoGradientHeight",
                "comment": " Specify a default height of a color ramp legend. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoGradientLabelBaseline",
                "comment": " Specify a default vertical alignment for labels in a color ramp legend. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "VAlign -> LegendConfig"
            },
            {
                "name": "lecoGradientLabelLimit",
                "comment": " Specify a default maximum allowable length for labels in a color ramp legend.\nFor more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoGradientLabelOffset",
                "comment": " Specify a default vertical offset in pixel units for labels in a color ramp legend.\nFor more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoGradientStrokeColor",
                "comment": " Specify a default color for strokes in a color ramp legend. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "String -> LegendConfig"
            },
            {
                "name": "lecoGradientStrokeWidth",
                "comment": " Specify a default width for strokes in a color ramp legend. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoGradientWidth",
                "comment": " Specify a default width of a color ramp legend. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoLabelAlign",
                "comment": " Specify a default horizontal alignment of legend labels. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#labels).\n",
                "type": "HAlign -> LegendConfig"
            },
            {
                "name": "lecoLabelBaseline",
                "comment": " Specify a default vertical alignment of legend labels. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#labels).\n",
                "type": "VAlign -> LegendConfig"
            },
            {
                "name": "lecoLabelColor",
                "comment": " Specify a default color for legend labels. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#labels).\n",
                "type": "String -> LegendConfig"
            },
            {
                "name": "lecoLabelFont",
                "comment": " Specify a default font for legend labels. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#labels).\n",
                "type": "String -> LegendConfig"
            },
            {
                "name": "lecoLabelFontSize",
                "comment": " Specify a default font size legend labels. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#labels).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoLabelLimit",
                "comment": " Specify a default maximum width for legend labels in pixel units.\nFor more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#labels).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoLabelOffset",
                "comment": " Specify a default offset for legend labels. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#labels).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoOffset",
                "comment": " Specify a default offset in pixel units between the legend and the enclosing\ngroup or data rectangle. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#general).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoOrient",
                "comment": " Specify a default legend position relative to the main plot content.\nFor more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#general).\n",
                "type": "LegendOrientation -> LegendConfig"
            },
            {
                "name": "lecoPadding",
                "comment": " Specify a default spacing in pixel units between a legend and axis.\nFor more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#general).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoShortTimeLabels",
                "comment": " Specify whether or not time labels are abbreviated by default in a legend.\nFor more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "Bool -> LegendConfig"
            },
            {
                "name": "lecoStrokeColor",
                "comment": " Specify a default legend border color. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#general).\n",
                "type": "String -> LegendConfig"
            },
            {
                "name": "lecoStrokeDash",
                "comment": " Specify a default legend border stroke dash style. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#general).\n",
                "type": "List Float -> LegendConfig"
            },
            {
                "name": "lecoStrokeWidth",
                "comment": " Specify a default legend border stroke width. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#general).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoSymbolColor",
                "comment": " Specify a default legend symbol color. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#symbols).\n",
                "type": "String -> LegendConfig"
            },
            {
                "name": "lecoSymbolSize",
                "comment": " Specify a default legend symbol size. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#symbols).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoSymbolStrokeWidth",
                "comment": " Specify a default legend symbol stroke width. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#symbols).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoSymbolType",
                "comment": " Specify a default legend symbol type. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#symbols).\n",
                "type": "Symbol -> LegendConfig"
            },
            {
                "name": "lecoTitleAlign",
                "comment": " Specify a default horizontal alignment for legend titles. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#config).\n",
                "type": "HAlign -> LegendConfig"
            },
            {
                "name": "lecoTitleBaseline",
                "comment": " Specify a default vertical alignment for legend titles. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#title).\n",
                "type": "VAlign -> LegendConfig"
            },
            {
                "name": "lecoTitleColor",
                "comment": " Specify a default color legend titles. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#title).\n",
                "type": "String -> LegendConfig"
            },
            {
                "name": "lecoTitleFont",
                "comment": " Specify a default font for legend titles. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#title).\n",
                "type": "String -> LegendConfig"
            },
            {
                "name": "lecoTitleFontSize",
                "comment": " Specify a default font size for legend titles. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#title).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoTitleFontWeight",
                "comment": " Specify a default font weight for legend titles. For more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#title).\n",
                "type": "FontWeight -> LegendConfig"
            },
            {
                "name": "lecoTitleLimit",
                "comment": " Specify a default maximum size in pixel units for legend titles.\nFor more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#title).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "lecoTitlePadding",
                "comment": " Specify a default spacing in pixel units between title and legend.\nFor more detail see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/legend.html#title).\n",
                "type": "Float -> LegendConfig"
            },
            {
                "name": "line",
                "comment": " Specify a line mark for symbolising a sequence of values. For details see\nthe [Vega Lite documentation](https://vega.github.io/vega-lite/docs/line.html).\n\n    line [maStroke \"red\", maStrokeDash [1, 2] ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    line []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "lookup",
                "comment": " Perform a lookup of named fields between two data sources. This allows you to\nfind values in one data source based on the values in another (like a relational\njoin). The first parameter is the field in the primary data source to act as key,\nthe second is the secondary data source which can be specified with a call to `dataFromUrl`\nor other data generating function. The third is the name of the field in the secondary\ndata source to match values with the primary key. The fourth parameter is the list\nof fields to be stored when the keys match. As with other transformation functions,\nthe final implicit parameter is a list of any other transformations to which this\nis to be added.\n\nUnlike `lookupAs`, this function will only return the specific fields named in the\nfourth parameter. If you wish to return the entire set of fields in the secondary\ndata source as a single object, use `lookupAs`.\n\nSee the [Vega-Lite documentation](https://vega.github.io/vega-lite/docs/lookup.html)\nfor further details.\n\nThe following would return the values in the `age` and `height` fields from\n`lookup_people.csv` for all rows where the value in the `name` column in that\nfile matches the value of `person` in the primary data source.\n\n    data =\n        dataFromUrl \"data/lookup_groups.csv\" []\n\n    trans =\n        transform\n            << lookup \"person\" (dataFromUrl \"data/lookup_people.csv\" []) \"name\" [ \"age\", \"height\" ]\n\n",
                "type": "String -> ( VLProperty, Spec ) -> String -> List String -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "lookupAs",
                "comment": " Perform an object lookup between two data sources. This allows you to find\nvalues in one data source based on the values in another (like a relational\njoin). The first parameter is the field in the primary data source to act as key,\nthe second is the secondary data source which can be specified with a call to\n`dataFromUrl` or other data generating function. The third is the name of the field\nin the secondary data source to match values with the primary key. The fourth\nparameter is the name to be given to the object storing matched values. As with\nother transformation functions, the final implicit parameter is a list of any other\ntransformations to which this is to be added.\n\nUnlike `lookup`, this function returns the entire set of field values from the\nsecondary data source when keys match. Those fields are stored as an object with\nthe name provided in the fourth parameter.\n\nSee the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/lookup.html)\nfor further details.\n\nIn the following example, `personDetails` would reference all the field values in\n`lookup_people.csv` for each row where the value in the `name` column in that\nfile matches the value of `person` in the primary data source.\n\n    data =\n        dataFromUrl \"data/lookup_groups.csv\" []\n\n    trans =\n        transform\n            << lookupAs \"person\" (dataFromUrl \"data/lookup_people.csv\" []) \"name\" \"personDetails\"\n\n",
                "type": "String -> ( VLProperty, Spec ) -> String -> String -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "mAggregate",
                "comment": " Compute some aggregate summaray statistics for a field to be encoded with a\nmark property channel. The type of aggregation is determined by the given operation\nparameter. For details, see the\n[Vega-Lite aggregate documentation](https://vega.github.io/vega-lite/docs/aggregate.html)\n",
                "type": "Operation -> MarkChannel"
            },
            {
                "name": "mBin",
                "comment": " Discretizes a series of numeric values into bins when encoding with a\nmark property channel. For details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "List BinProperty -> MarkChannel"
            },
            {
                "name": "mBoo",
                "comment": " Provide a literal Boolean value when encoding with a mark property channel.\n",
                "type": "Bool -> MarkChannel"
            },
            {
                "name": "mDataCondition",
                "comment": " Specify the properties of a mark channel conditional on some predicate\nexpression. The first parameter provides the expression to evaluate, the second\nthe encoding to apply if the expression is true, the third the encoding if the\nexpression is false.\n\n    color\n        [ mDataCondition\n            (expr \"datum.IMDB_Rating === null\")\n            [ mStr \"#ddd\" ]\n            [ mStr \"rgb(76,120,168)\" ]\n        ]\n\nFor details, see the\n[Vega-Lite condition documentation](https://vega.github.io/vega-lite/docs/condition.htmll)\n\n",
                "type": "BooleanOp -> List MarkChannel -> List MarkChannel -> MarkChannel"
            },
            {
                "name": "mLegend",
                "comment": " Specify the properties of a legend that describes a mark's encoding. To stop\na legend from appearing provide an empty list as a parameter.\n\n    color [ mName \"Animal\", mMType Nominal, mLegend [] ]\n\nFor details, see the\n[Vega-Lite type documentation](https://vega.github.io/vega-lite/docs/encoding.html#mark-prop-field-def)\n\n",
                "type": "List LegendProperty -> MarkChannel"
            },
            {
                "name": "mMType",
                "comment": " Specify the field type (level of measurement) when encoding with a mark\nproperty channel. For details, see the\n[Vega-Lite type documentation](https://vega.github.io/vega-lite/docs/type.html)\n",
                "type": "Measurement -> MarkChannel"
            },
            {
                "name": "mName",
                "comment": " Provide the name of the field used for encoding with a mark property channel.\nFor details, see the\n[Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html)\n",
                "type": "String -> MarkChannel"
            },
            {
                "name": "mNum",
                "comment": " Provide a literal numeric value when encoding with a mark property channel.\n",
                "type": "Float -> MarkChannel"
            },
            {
                "name": "mPath",
                "comment": " Provide an SVG path string when encoding with a mark property channel. Useful\nwhen providing custom shapes.\n",
                "type": "String -> MarkChannel"
            },
            {
                "name": "mRepeat",
                "comment": " Reference in a mark channel to a field name generated by `repeat`. The\nparameter identifies whether reference is being made to fields that are to be\nlaid out in columns or in rows.\n",
                "type": "Arrangement -> MarkChannel"
            },
            {
                "name": "mScale",
                "comment": " Specify the scaling applied to a field when encoding with a mark property channel.\nThe scale will transform a field's value into a color, shape, size etc. For details, see the\n[Vega-Lite position field documentation](https://vega.github.io/vega-lite/docs/encoding.html#position)\n",
                "type": "List ScaleProperty -> MarkChannel"
            },
            {
                "name": "mSelectionCondition",
                "comment": " Specify the properties of a mark channel conditional on interactive selection.\nThe first parameter provides the selection to evaluate, the second the encoding\nto apply if the mark has been selected, the third the encoding if it is not selected.\n\n    color\n        [ mSelectionCondition (selectionName \"myBrush\")\n            [ mName \"Cylinders\", mMType Ordinal ]\n            [ mStr \"grey\" ]\n        ]\n\nFor details, see the\n[Vega-Lite condition documentation](https://vega.github.io/vega-lite/docs/condition.htmll)\n\n",
                "type": "BooleanOp -> List MarkChannel -> List MarkChannel -> MarkChannel"
            },
            {
                "name": "mStr",
                "comment": " Provide a literal string value when encoding with a mark property channel.\n",
                "type": "String -> MarkChannel"
            },
            {
                "name": "mTimeUnit",
                "comment": " Specify the form of time unit aggregation of field values when encoding\nwith a mark property channel. For details, see the\n[Vega-Lite time unit documentation](https://vega.github.io/vega-lite/docs/timeunit.html)\n",
                "type": "TimeUnit -> MarkChannel"
            },
            {
                "name": "maAlign",
                "comment": " Specify the horizontal alignment of a text mark. For details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "HAlign -> MarkProperty"
            },
            {
                "name": "maAngle",
                "comment": " Specify the rotation angle in degrees of a text mark. For details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maBandSize",
                "comment": " Specify the band size in pixels of a bar mark. For details see the\n[Vega-Lite bar mark property documentation](https://vega.github.io/vega-lite/docs/bar.html)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maBaseline",
                "comment": " Specify the vertical alignment of a text mark. For details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "VAlign -> MarkProperty"
            },
            {
                "name": "maBinSpacing",
                "comment": " Specify the offset between bars for a binned field using a bar mark. For details see the\n[Vega-Lite bar mark property documentation](https://vega.github.io/vega-lite/docs/bar.html#properties)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maClip",
                "comment": " Specify whether or not a makr should be clipped to the enclosing group's\ndimensions. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "Bool -> MarkProperty"
            },
            {
                "name": "maColor",
                "comment": " Specify the default color of a mark. Note that `maFill` and `maStroke` have\nhigher precedence and will override this if specified. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "String -> MarkProperty"
            },
            {
                "name": "maContinuousBandSize",
                "comment": " Specify the continuous band size in pixels of a bar mark. For details see the\n[Vega-Lite bar mark property documentation](https://vega.github.io/vega-lite/docs/bar.html)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maCursor",
                "comment": " Specify the cursor to be associated with a hyperlink mark. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "Cursor -> MarkProperty"
            },
            {
                "name": "maDiscreteBandSize",
                "comment": " Specify the discrete band size in pixels of a bar mark. For details see the\n[Vega-Lite bar mark property documentation](https://vega.github.io/vega-lite/docs/bar.html)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maDx",
                "comment": " Specify the horizontal offset in pixels between a text mark and its anchor.\nFor details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maDy",
                "comment": " Specify the vertical offset in pixels between a text mark and its anchor.\nFor details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maFill",
                "comment": " Specify the default fill color of a mark. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "String -> MarkProperty"
            },
            {
                "name": "maFillOpacity",
                "comment": " Specify the\nFor details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maFilled",
                "comment": " Specify whether or not a mark's color should be used as the fill color\ninstead of stroke color. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "Bool -> MarkProperty"
            },
            {
                "name": "maFont",
                "comment": " Specify the font of a text mark. This can be any font name made accessible via\na css file (or one of the generic fonts `serif`, `monospace` etc.). For details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "String -> MarkProperty"
            },
            {
                "name": "maFontSize",
                "comment": " Specify the font size in pixels used by a text mark. For details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maFontStyle",
                "comment": " Specify the font style (e.g. `italic`) used by a text mark. For details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "String -> MarkProperty"
            },
            {
                "name": "maFontWeight",
                "comment": " Specify the font wight used by a text mark. For details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "FontWeight -> MarkProperty"
            },
            {
                "name": "maInterpolate",
                "comment": " Specify the interpolation method used by line and area marks. For details see the\n[Vega-Lite line mark property documentation](https://vega.github.io/vega-lite/docs/line.html#properties)\n",
                "type": "MarkInterpolation -> MarkProperty"
            },
            {
                "name": "maOpacity",
                "comment": " Specify the overal opacity of a mark in the range [0, 1]. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maOrient",
                "comment": " Specify the orientation of a non-stacked bar, tick, area or line mark.\nFor details see the\n[Vega-Lite line mark property documentation](https://vega.github.io/vega-lite/docs/line.html#properties)\n",
                "type": "MarkOrientation -> MarkProperty"
            },
            {
                "name": "maPoint",
                "comment": " Specify the appearance of a point marker placed on the vertices of a line\nor area mark. For details see the\n[Vega-Lite line mark property documentation](https://vega.github.io/vega-lite/docs/line.html#properties)\n",
                "type": "PointMarker -> MarkProperty"
            },
            {
                "name": "maRadius",
                "comment": " Specify the polar coordinate radial offset of a text mark from its origin.\nFor details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maShape",
                "comment": " Specify the shape of a point mark. For details see the\n[Vega-Lite point mark property documentation](https://vega.github.io/vega-lite/docs/point.html#properties)\n",
                "type": "Symbol -> MarkProperty"
            },
            {
                "name": "maShortTimeLabels",
                "comment": " Specify whether or not month and weekday names are abbreviated in a text mark.\nFor details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html#config)\n",
                "type": "Bool -> MarkProperty"
            },
            {
                "name": "maSize",
                "comment": " Specify the size of a mark. For details see, for example, the\n[Vega-Lite circle mark property documentation](https://vega.github.io/vega-lite/docs/circle.html#properties)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maStroke",
                "comment": " Specify the default stroke color of a mark. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "String -> MarkProperty"
            },
            {
                "name": "maStrokeDash",
                "comment": " Specify the stroke dash style used by a mark. A stroke dash style is determined\nby an alternating 'on-off' sequence of line lengths in pixel units. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "List Float -> MarkProperty"
            },
            {
                "name": "maStrokeDashOffset",
                "comment": " Specify the stroke dash offset used by a mark. This is the number of pixels\nbefore which the first line dash is drawn. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maStrokeOpacity",
                "comment": " Specify the stroke opacity of a mark in the range [0, 1]. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maStrokeWidth",
                "comment": " Specify the stroke width of a mark in pixel units.\nFor details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maStyle",
                "comment": " Specify the names of custom styles to apply to the mark. Each name should\nrefer to a named style defined in a separate style configuration. For details see the\n[Vega-Lite mark property documentation](https://vega.github.io/vega-lite/docs/mark.html#general-mark-properties)\n",
                "type": "List String -> MarkProperty"
            },
            {
                "name": "maTension",
                "comment": " Specify the interpolation tension used if interpolating line and area marks. For details see the\n[Vega-Lite line mark property documentation](https://vega.github.io/vega-lite/docs/line.html#properties)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maText",
                "comment": " Specify the placeholder text for a text mark for when a text channel is not specified.\nFor details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html#properties)\n",
                "type": "String -> MarkProperty"
            },
            {
                "name": "maTheta",
                "comment": " Specify the polar coordinate angle, in radians, of a text mark from the\norigin determined by its x and y properties. Values for theta follow the same\nconvention of arc mark `startAngle` and `endAngle` properties: angles are\nmeasured in radians, with 0 indicating “north”. For details see the\n[Vega-Lite text mark property documentation](https://vega.github.io/vega-lite/docs/text.html)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "maThickness",
                "comment": " Specify the thickness of a tick mark. For details see the\n[Vega-Lite tick mark property documentation](https://vega.github.io/vega-lite/docs/tick.html#config)\n",
                "type": "Float -> MarkProperty"
            },
            {
                "name": "mark",
                "comment": " _Deprecated: Use mark functions (e.g. `circle`, `line`) instead._\n\nCreate a mark specification. All marks must have a type (first parameter) and\ncan optionally be customised with a list of mark properties such as interpolation\nstyle for lines.\n\n",
                "type": "Mark -> List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "name",
                "comment": " Provides an optional name to be associated with the visualization.\n\n    enc = ...\n    toVegaLite\n        [ name \"PopGrowth\"\n        , dataFromUrl \"data/population.json\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "String -> ( VLProperty, Spec )"
            },
            {
                "name": "not",
                "comment": " Apply a negation Boolean operation as part of a logical composition. Boolean\noperations can be nested to any level, for example:\n\n    not (and (expr \"datum.IMDB_Rating === null\") (expr \"datum.Rotten_Tomatoes_Rating === null\") )\n\n",
                "type": "BooleanOp -> BooleanOp"
            },
            {
                "name": "num",
                "comment": " Specify a numeric data value. This is used when a function can accept values\nof different types.\n",
                "type": "Float -> DataValue"
            },
            {
                "name": "numRange",
                "comment": " Specify the min max number range to be used in data filtering.\n",
                "type": "Float -> Float -> FilterRange"
            },
            {
                "name": "nums",
                "comment": " Specify a list of numeric data values. This is used when a function can\naccept lists of different types.\n",
                "type": "List Float -> DataValues"
            },
            {
                "name": "oAggregate",
                "comment": " Compute some aggregate summaray statistics for a field to be encoded with an\norder channel. The type of aggregation is determined by the given operation\nparameter. For details, see the\n[Vega-Lite aggregate documentation](https://vega.github.io/vega-lite/docs/aggregate.html)\n",
                "type": "Operation -> OrderChannel"
            },
            {
                "name": "oBin",
                "comment": " Discretizes a series of numeric values into bins when encoding with an order\nchannel. For details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "List BinProperty -> OrderChannel"
            },
            {
                "name": "oMType",
                "comment": " Specify the field type (level of measurement) when encoding with an order\nchannel. For details, see the\n[Vega-Lite type documentation](https://vega.github.io/vega-lite/docs/type.html)\n",
                "type": "Measurement -> OrderChannel"
            },
            {
                "name": "oName",
                "comment": " Provide the name of the field used for encoding with an order channel.\nFor details, see the\n[Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html)\n",
                "type": "String -> OrderChannel"
            },
            {
                "name": "oRepeat",
                "comment": " Reference in a order channel to a field name generated by `repeat`. The\nparameter identifies whether reference is being made to fields that are to be\nlaid out in columns or in rows.\n",
                "type": "Arrangement -> OrderChannel"
            },
            {
                "name": "oSort",
                "comment": " Specify the sort order to be used by an order channel.\n[Vega-Lite order field documentation](https://vega.github.io/vega-lite/docs/encoding.html#order-field-definition)\n",
                "type": "List SortProperty -> OrderChannel"
            },
            {
                "name": "oTimeUnit",
                "comment": " Specify the form of time unit aggregation of field values when encoding\nwith an order channel. For details, see the\n[Vega-Lite time unit documentation](https://vega.github.io/vega-lite/docs/timeunit.html)\n",
                "type": "TimeUnit -> OrderChannel"
            },
            {
                "name": "opAs",
                "comment": " Create a named aggregation operation on a field that can be added to a transformation.\nThe first parameter is the aggregation operation to use; the second the name of\nthe field in which to apply it and the third the name to be given to this transformation.\nFor further details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/aggregate.html#aggregate-op-def).\n\n    trans =\n        transform\n            << aggregate\n                [ opAs Min \"people\" \"lowerBound\"\n                , opAs Max \"people\" \"upperBound\"\n                ]\n                [ \"age\" ]\n\n",
                "type": "Operation -> String -> String -> Spec"
            },
            {
                "name": "opacity",
                "comment": " Encode an opacity channel. The first parameter is a list of mark channel properties\nthat characterise the way a data field is encoded by opacity. The second parameter\nis a list of any previous channels to which this opacity channel should be added.\n\n    opacity [ mName \"Age\", mMType Quantitative ] []\n\n",
                "type": "List MarkChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "or",
                "comment": " Apply an 'or' Boolean operation as part of a logical composition.\n\n    color\n        [ mSelectionCondition (or (selectionName \"alex\") (selectionName \"morgan\"))\n            [ mAggregate Count, mName \"*\", mMType Quantitative ]\n            [ mStr \"gray\" ]\n        ]\n\n",
                "type": "BooleanOp -> BooleanOp -> BooleanOp"
            },
            {
                "name": "order",
                "comment": " Encode an order channel. The first parameter is a list of order field definitions\nto define the channel. The second parameter is a list of any previous channels to\nwhich this order channel is to be added.\n\n    enc =\n        encoding\n            << position X [ pName \"miles\", pMType Quantitative ]\n            << position Y [ pName \"gas\", pMType Quantitative ]\n            << order [ oName \"year\", oMType Temporal ]\n\n",
                "type": "List OrderChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "pAggregate",
                "comment": " Compute some aggregate summaray statistics for a field to be encoded with a\nposition channel. The type of aggregation is determined by the given operation\nparameter. For details, see the\n[Vega-Lite aggregate documentation](https://vega.github.io/vega-lite/docs/aggregate.html)\n",
                "type": "Operation -> PositionChannel"
            },
            {
                "name": "pAxis",
                "comment": " Specify the axis properties used when encoding with a position channel.\nFor details, see the\n[Vega-Lite position field documentation](https://vega.github.io/vega-lite/docs/encoding.html#position)\n",
                "type": "List AxisProperty -> PositionChannel"
            },
            {
                "name": "pBin",
                "comment": " Discretizes a series of numeric values into bins when encoding with a\nposition channel. For details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "List BinProperty -> PositionChannel"
            },
            {
                "name": "pMType",
                "comment": " Specify the field type (level of measurement) when encoding with a position\nchannel. For details, see the\n[Vega-Lite type documentation](https://vega.github.io/vega-lite/docs/type.html)\n",
                "type": "Measurement -> PositionChannel"
            },
            {
                "name": "pName",
                "comment": " Provide the name of the field used for encoding with a position channel.\nFor details, see the\n[Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html)\n",
                "type": "String -> PositionChannel"
            },
            {
                "name": "pRepeat",
                "comment": " Provide the name of the fields from a repeat operator used for encoding\nwith a position channel. For details, see the\n[Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html)\n",
                "type": "Arrangement -> PositionChannel"
            },
            {
                "name": "pScale",
                "comment": " Specify the scaling applied to a field when encoding with a position channel.\nThe scale will transform a field's value into a position along one axis. For details, see the\n[Vega-Lite position field documentation](https://vega.github.io/vega-lite/docs/encoding.html#position)\n",
                "type": "List ScaleProperty -> PositionChannel"
            },
            {
                "name": "pSort",
                "comment": " Specify the sort order for field when encoding with a position channel.\nFor details, see the\n[Vega-Lite position field documentation](https://vega.github.io/vega-lite/docs/encoding.html#position)\n",
                "type": "List SortProperty -> PositionChannel"
            },
            {
                "name": "pStack",
                "comment": " Specify the type of stacking offset for field when encoding with a position\nchannel. For details, see the\n[Vega-Lite position field documentation](https://vega.github.io/vega-lite/docs/encoding.html#position)\n",
                "type": "StackProperty -> PositionChannel"
            },
            {
                "name": "pTimeUnit",
                "comment": " Specify the form of time unit aggregation of field values when encoding\nwith a position channel. For details, see the\n[Vega-Lite time unit documentation](https://vega.github.io/vega-lite/docs/timeunit.html)\n",
                "type": "TimeUnit -> PositionChannel"
            },
            {
                "name": "paEdges",
                "comment": " Specify padding around a visualization in pixel units. The four parameters\nrefer to _left_, _top_, _right_, and _bottom_ edges respectively.\n",
                "type": "Float -> Float -> Float -> Float -> Padding"
            },
            {
                "name": "paSize",
                "comment": " Specify a uniform padding around a visualization in pixel units.\n",
                "type": "Float -> Padding"
            },
            {
                "name": "padding",
                "comment": " Set the padding around the visualization in pixel units. The way padding is\ninterpreted will depend on the `autosize` properties. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/spec.html#top-level-specifications)\nfor details.\n\n    enc = ...\n    toVegaLite\n        [ width 500\n        , padding (paEdges 20 10 5 15)\n        , dataFromUrl \"data/population.json\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "Padding -> ( VLProperty, Spec )"
            },
            {
                "name": "parse",
                "comment": " Indicates the parsing rules when processing some data text. The parameter is\na list of tuples where each corresponds to a field name paired with its desired\ndata type. Typically used when specifying a data url.\n",
                "type": "List ( String, DataType ) -> Format"
            },
            {
                "name": "pmMarker",
                "comment": " Specify the properties of a point marker that is overlaid on a line or area\nmark. For details see the\n[Vega-Lite point property documentation](https://vega.github.io/vega-lite/docs/line.html#properties).\n",
                "type": "List MarkProperty -> PointMarker"
            },
            {
                "name": "point",
                "comment": " Specify a point mark for symbolising a data point with a symbol. For details see\nthe [Vega Lite documentation](https://vega.github.io/vega-lite/docs/point.html).\n\n    point [ maFill \"black\", maStroke \"red\" ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    point []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "position",
                "comment": " Encode a position channel. The first parameter identifies the channel,\nthe second a list of qualifying options. Usually these will include at least the\nname of the data field associated with it and its measurement type (either the field\nname directly, or a reference to a row / column repeat field). The final parameter\nis a list of any previous channels to which this position channel should be added.\nThis is often implicit when chaining a series of encodings using functional composition.\n\n      enc =\n          encoding\n            << position X [ pName \"Animal\", pMType Ordinal ]\n\nEncoding by position will generate an axis by default. To prevent the axis from\nappearing, simply provide an empty list of axis properties to `pAxis` :\n\n     enc =\n         encoding\n           << position X [ pName \"Animal\", pMType Ordinal, pAxis [] ]\n\n",
                "type": "Position -> List PositionChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "prCenter",
                "comment": " Specify a projection’s center as longitude and latitude in degrees. The default\nvalue is `0,0`. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> Float -> ProjectionProperty"
            },
            {
                "name": "prClipAngle",
                "comment": " Specify a projection’s clipping circle radius to the specified angle in degrees.\nA value of `Nothing` will switch to antimeridian cutting rather than small-circle\nclipping. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Maybe Float -> ProjectionProperty"
            },
            {
                "name": "prClipExtent",
                "comment": " Specify a projection’s viewport clip extent to the specified bounds in pixels.\nFor details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "ClipRect -> ProjectionProperty"
            },
            {
                "name": "prCoefficient",
                "comment": " Specify a 'Hammer' map projection coefficient. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> ProjectionProperty"
            },
            {
                "name": "prDistance",
                "comment": " Specify a 'Satellite' map projection distance. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> ProjectionProperty"
            },
            {
                "name": "prFraction",
                "comment": " Specify a `Bottomley` map projection fraction. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> ProjectionProperty"
            },
            {
                "name": "prLobes",
                "comment": " Specify the number of lobes in lobed map projections such as the 'Berghaus star'.\nFor details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Int -> ProjectionProperty"
            },
            {
                "name": "prParallel",
                "comment": " Specify a parallel for map projections such as the 'Armadillo'. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> ProjectionProperty"
            },
            {
                "name": "prPrecision",
                "comment": " Specify a threshold for the projection’s adaptive resampling in pixels. This\ncorresponds to the Douglas–Peucker distance. If precision is not specified, the\nprojection’s current resampling precision which defaults to √0.5 ≅ 0.70710 is used.\nFor details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> ProjectionProperty"
            },
            {
                "name": "prRadius",
                "comment": " Specify a radius value for map projections such as the 'Gingery'. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> ProjectionProperty"
            },
            {
                "name": "prRatio",
                "comment": " Specify a ratio value for map projections such as the 'Hill'. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> ProjectionProperty"
            },
            {
                "name": "prRotate",
                "comment": " Specify a projection’s three-axis rotation angle. This should be in order\n_lambda phi gamma_ specifying the rotation angles in degrees about each\nspherical axis (corresponding to yaw, pitch and roll.). For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> Float -> Float -> ProjectionProperty"
            },
            {
                "name": "prSpacing",
                "comment": " Specify a spacing value for map projections such as the 'Lagrange'. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> ProjectionProperty"
            },
            {
                "name": "prTilt",
                "comment": " Specify a 'Satellite' map projection tilt. For details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Float -> ProjectionProperty"
            },
            {
                "name": "prType",
                "comment": " Specify the type of global map projection to use in a projection transformation.\nFor details see the\n[Vega-Lite projection documentation](https://vega.github.io/vega-lite/docs/projection.html#properties)\n",
                "type": "Projection -> ProjectionProperty"
            },
            {
                "name": "projection",
                "comment": " Sets the cartographic projection used for geospatial coordinates. A projection\ndefines the mapping from _(longitude,latitude)_ to an _(x,y)_ plane used for rendering.\nThis is useful when using the `Geoshape` mark. For further details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/projection.html).\n\n    proj =\n        projection [ prType Orthographic, prRotate -40 0 0 ]\n\n",
                "type": "List ProjectionProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "raName",
                "comment": " Specify the name of a pre-defined scale range (e.g. `symbol` or `diverging`).\nFor details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#range)\n",
                "type": "String -> ScaleRange"
            },
            {
                "name": "raNums",
                "comment": " Specify a numeric scale range. Depending on the scaling this may be a min,max\npair, or a list of explicit numerical values. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#range)\n",
                "type": "List Float -> ScaleRange"
            },
            {
                "name": "raStrs",
                "comment": " Specify a text scale range for discrete scales. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#range)\n",
                "type": "List String -> ScaleRange"
            },
            {
                "name": "racoCategory",
                "comment": " Specify the default color scheme for categorical ranges. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega/docs/schemes/#scheme-properties).\n",
                "type": "String -> RangeConfig"
            },
            {
                "name": "racoDiverging",
                "comment": " Specify the default diverging color scheme. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega/docs/schemes/#scheme-properties).\n",
                "type": "String -> RangeConfig"
            },
            {
                "name": "racoHeatmap",
                "comment": " Specify the default 'heatmap' color scheme. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega/docs/schemes/#scheme-properties).\n",
                "type": "String -> RangeConfig"
            },
            {
                "name": "racoOrdinal",
                "comment": " Specify the default ordinal color scheme. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega/docs/schemes/#scheme-properties).\n",
                "type": "String -> RangeConfig"
            },
            {
                "name": "racoRamp",
                "comment": " Specify the default ramp (contnuous) color scheme. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega/docs/schemes/#scheme-properties).\n",
                "type": "String -> RangeConfig"
            },
            {
                "name": "racoSymbol",
                "comment": " Specify the default color scheme symbols. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega/docs/schemes/#scheme-properties).\n",
                "type": "String -> RangeConfig"
            },
            {
                "name": "reAxis",
                "comment": " Specify how a channel's axes should be resolved when defined in more\nthan one view in a composite visualization. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/resolve.html) for\ndetails.\n",
                "type": "List ( Channel, Resolution ) -> Resolve"
            },
            {
                "name": "reLegend",
                "comment": " Specify how a channel's legends should be resolved when defined in more\nthan one view in a composite visualization. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/resolve.html) for\ndetails.\n",
                "type": "List ( Channel, Resolution ) -> Resolve"
            },
            {
                "name": "reScale",
                "comment": " Specify how a channel's scales should be resolved when defined in more\nthan one view in a composite visualization. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/resolve.html) for\ndetails.\n",
                "type": "List ( Channel, Resolution ) -> Resolve"
            },
            {
                "name": "rect",
                "comment": " Specify an arbitrary rectangle. For details see\nthe [Vega Lite documentation](https://vega.github.io/vega-lite/docs/rect.html).\n\n    rect [ maFill \"black\", maStroke \"red\" ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    rect []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "repeat",
                "comment": " Define the fields that will be used to compose rows and columns of a set of\nsmall multiples. This is used where the encoding of the visualization in small\nmultiples is largely identical, but the data field used in each might vary. When\na list of fields is identified with `repeat` you also need to define a full specification\nto apply to each of those fields using `asSpec`.\n\n    spec = ...\n    toVegaLite\n        [ repeat [ columnFields [ \"Cat\", \"Dog\", \"Fish\" ] ]\n        , specification (asSpec spec)\n        ]\n\nSee the [Vega-Lite documentation](https://vega.github.io/vega-lite/docs/repeat.html)\nfor further details.\n\n",
                "type": "List RepeatFields -> ( VLProperty, Spec )"
            },
            {
                "name": "resolution",
                "comment": " Define a single resolution option to be applied when scales, axes or legends\nin composite views share channel encodings. This allows, for example, two different\ncolor encodings to be created in a layered view, which otherwise by default would\nshare color channels between layers. Each resolution rule should be in a tuple\npairing the channel to which it applies and the rule type.\nThe first parameter identifies the type of resolution, the second a list of previous\nresolutions to which this one may be added.\n\n    resolve\n        << resolution (reScale [ ( ChY, Independent ) ])\n\n",
                "type": "Resolve -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "resolve",
                "comment": " Determine whether scales, axes or legends in composite views should share channel\nencodings. This allows, for example, two different color encodings to be created\nin a layered view, which otherwise by default would share color channels between\nlayers. Each resolution rule should be in a tuple pairing the channel to which it\napplies and the rule type.\n\n    let\n        res =\n            resolve\n                << resolution (reLegend [ ( ChColor, Independent ) ])\n    in\n    toVegaLite\n        [ dataFromUrl \"data/movies.json\" []\n        , vConcat [ heatSpec, barSpec ]\n        , res []\n        ]\n\nFor more information see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/resolve.html).\n\n",
                "type": "List LabelledSpec -> ( VLProperty, Spec )"
            },
            {
                "name": "rgb",
                "comment": " Specify an RGB color interpolation for continuous color scales. The parameter\nis the gamma value to use in interpolation (anchored at 1).\n",
                "type": "Float -> CInterpolate"
            },
            {
                "name": "row",
                "comment": " Encode a new facet to be arranged in rows. The first parameter is a list of\nfacet properties that define the faceting channel. This should include at least\nthe name of data the field and its measurement type. The final parameter is a list\nof any previous channels to which this is to be added. This is usually implicit\nwhen chaining encodings using functional composition\n\n    enc =\n        encoding\n            << position X [ pName \"people\", pMType Quantitative ]\n            << position Y [ pName \"gender\", pMType Nominal ]\n            << row [ fName \"age\", fMType Ordinal ]\n\n",
                "type": "List FacetChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "rowBy",
                "comment": " Specify the mapping between a row and its field definitions in a set of\nfaceted small multiples. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/facet.html#mapping)\n",
                "type": "List FacetChannel -> FacetMapping"
            },
            {
                "name": "rowFields",
                "comment": " Create a list of fields to use in set of repeated small multiples arranged in\nrows. The list of fields named here can be referenced in an encoding with\n`pRepeat Row`, `mRepeat Row` etc.\n",
                "type": "List String -> RepeatFields"
            },
            {
                "name": "rule",
                "comment": " Specify a line seqment connecting two vertices. Can either be used to span the\nentire width or height of a view, or to connect two arbitrary positions. For details\nsee the [Vega Lite documentation](https://vega.github.io/vega-lite/docs/rule.html).\n\n    rule [ maStroke \"red\" ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    rule []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "sacoBandPaddingInner",
                "comment": " Specify the default inner padding for x and y band-ordinal scales.\nFor more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoBandPaddingOuter",
                "comment": " Specify the default outer padding for x and y band-ordinal scales.\nFor more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoClamp",
                "comment": " Specify whether or not by default values that exceed the data domain are\nclamped to the min/max range value. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Bool -> ScaleConfig"
            },
            {
                "name": "sacoMaxBandSize",
                "comment": " Specify the default maximum value for mapping quantitative fields to a bar's\nsize/bandSize. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoMaxFontSize",
                "comment": " Specify the default maximum value for mapping a quantitative field to a text\nmark's size. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoMaxOpacity",
                "comment": " Specify the default maximum opacity (in the range [0, 1]) for mapping a field\nto opacity. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoMaxSize",
                "comment": " Specify the default maximum size for point-based scales. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoMaxStrokeWidth",
                "comment": " Specify the default maximum stroke width for rule, line and trail marks.\nFor more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoMinBandSize",
                "comment": " Specify the default minimum value for mapping quantitative fields to a bar's\nsize/bandSize. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoMinFontSize",
                "comment": " Specify the default minimum value for mapping a quantitative field to a text\nmark's size. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoMinOpacity",
                "comment": " Specify the default minimum opacity (in the range [0, 1]) for mapping a field\nto opacity. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoMinSize",
                "comment": " Specify the default minimum size for point-based scales (when not forced to\nstart at zero). For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoMinStrokeWidth",
                "comment": " Specify the default minimum stroke width for rule, line and trail marks.\nFor more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoPointPadding",
                "comment": " Specify the default padding for point-ordinal scales.\nFor more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoRangeStep",
                "comment": " Specify the default range step for band and point scales when the mark is\nnot text. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Maybe Float -> ScaleConfig"
            },
            {
                "name": "sacoRound",
                "comment": " Specify whether or not by default numeric values are rounded to integers\nwhen scaling. Useful for snapping to the pixel grid. For more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Bool -> ScaleConfig"
            },
            {
                "name": "sacoTextXRangeStep",
                "comment": " Specify the default range step for x band and point scales of text marks.\nFor more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Float -> ScaleConfig"
            },
            {
                "name": "sacoUseUnaggregatedDomain",
                "comment": " Specify whether or not to use the source data range before aggregation.\nFor more details see the\n[Vega-Lite scale config documentation](https://vega.github.io/vega-lite/docs/scale.html#scale-config)\n",
                "type": "Bool -> ScaleConfig"
            },
            {
                "name": "scClamp",
                "comment": " Specify that when scaling, values outside the data domain are clamped to the\nminimum or maximum value. For details see the\n[Vega-Lite scale documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous)\n",
                "type": "Bool -> ScaleProperty"
            },
            {
                "name": "scDomain",
                "comment": " Specify a custom scaling domain. For details see the\n[Vega-Lite scale domain documentation](https://vega.github.io/vega-lite/docs/scale.html#domain)\n",
                "type": "ScaleDomain -> ScaleProperty"
            },
            {
                "name": "scInterpolate",
                "comment": " Specify an interpolation method for scaling range values. For details see the\n[Vega-Lite scale documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous)\n",
                "type": "CInterpolate -> ScaleProperty"
            },
            {
                "name": "scIsNice",
                "comment": " Specify whether or not a scaling should use 'nice' values. For details see\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous).\n",
                "type": "Bool -> ScaleNice"
            },
            {
                "name": "scNice",
                "comment": " Specify 'nice' minimum and maximum values in a scaling (e.g. multiples of 10).\nFor details see the\n[Vega-Lite scale documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous)\n",
                "type": "ScaleNice -> ScaleProperty"
            },
            {
                "name": "scNiceInterval",
                "comment": " Specify the 'nice' temporal interval values when scaling. For details see\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous).\n",
                "type": "TimeUnit -> Int -> ScaleNice"
            },
            {
                "name": "scNiceTickCount",
                "comment": " Specify the desired number of tick marks in a 'nice' scaling. For details see\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous).\n",
                "type": "Int -> ScaleNice"
            },
            {
                "name": "scPadding",
                "comment": " Specify the padding in pixels to apply to a scaling. For details see the\n[Vega-Lite scale documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous)\n",
                "type": "Float -> ScaleProperty"
            },
            {
                "name": "scPaddingInner",
                "comment": " Specify the inner padding in pixels to apply to a band scaling. For details see the\n[Vega-Lite band scale documentation](https://vega.github.io/vega-lite/docs/scale.html#bands)\n",
                "type": "Float -> ScaleProperty"
            },
            {
                "name": "scPaddingOuter",
                "comment": " Specify the outer padding in pixels to apply to a band scaling. For details see the\n[Vega-Lite band scale documentation](https://vega.github.io/vega-lite/docs/scale.html#bands)\n",
                "type": "Float -> ScaleProperty"
            },
            {
                "name": "scRange",
                "comment": " Specify the range of a scaling. The type of range depends on the encoding\nchannel. For details see the\n[Vega-Lite scale range documentation](https://vega.github.io/vega-lite/docs/scale.html#range)\n",
                "type": "ScaleRange -> ScaleProperty"
            },
            {
                "name": "scRangeStep",
                "comment": " Specify the distance in pixels between the starts of adjacent bands in a band\nscaling. If `Nothing` is provided the distance is determined automatically.\nFor details see the\n[Vega-Lite band scale documentation](https://vega.github.io/vega-lite/docs/scale.html#bands)\n",
                "type": "Maybe Float -> ScaleProperty"
            },
            {
                "name": "scReverse",
                "comment": " Reverse the order of a scaling. For details see the\n[Vega scale documentation](https://vega.github.io/vega/docs/scales/)\n",
                "type": "Bool -> ScaleProperty"
            },
            {
                "name": "scRound",
                "comment": " Specify whether or not numeric values in a scaling are rounded to integers.\nFor details see the\n[Vega-Lite scale documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous)\n",
                "type": "Bool -> ScaleProperty"
            },
            {
                "name": "scScheme",
                "comment": " Specify the color scheme used by a color scaling. For details see the\n[Vega-Lite scale color scheme documentation](https://vega.github.io/vega-lite/docs/scale.html#scheme)\n",
                "type": "String -> List Float -> ScaleProperty"
            },
            {
                "name": "scType",
                "comment": " Specify the type of scaling to apply. For details see the\n[Vega-Lite scale type documentation](https://vega.github.io/vega-lite/docs/scale.html#type)\n",
                "type": "Scale -> ScaleProperty"
            },
            {
                "name": "scZero",
                "comment": " Specify whether or not a numeric scaling should be forced to include a zero\nvalue. For details see the\n[Vega-Lite scale documentation](https://vega.github.io/vega-lite/docs/scale.html#continuous)\n",
                "type": "Bool -> ScaleProperty"
            },
            {
                "name": "seBind",
                "comment": " Specify a binding to some input elements as part of a named selection.\nFor details, see the\n[Vega-Lite bind documentation](https://vega.github.io/vega-lite/docs/bind.html)\n",
                "type": "List Binding -> SelectionProperty"
            },
            {
                "name": "seEncodings",
                "comment": " Specify a encoding channels that form a named selection.\nFor details, see the\n[Vega-Lite selection documentation](https://vega.github.io/vega-lite/docs/selection.html#type)\n",
                "type": "List Channel -> SelectionProperty"
            },
            {
                "name": "seFields",
                "comment": " Specify the field names for projecting a selection. For details, see the\n[Vega-Lite projection selection documentation](https://vega.github.io/vega-lite/docs/project.html)\n",
                "type": "List String -> SelectionProperty"
            },
            {
                "name": "seNearest",
                "comment": " Specify whether or not a selection should capture nearest marks to a pointer\nrather than an exact position match. This allows 'accelerated' selection for\ndiscrete marks. For details, see the\n[Vega-Lite nearest documentation](https://vega.github.io/vega-lite/docs/nearest.html)\n",
                "type": "Bool -> SelectionProperty"
            },
            {
                "name": "seOn",
                "comment": " Specify a [Vega event stream](https://vega.github.io/vega/docs/event-streams)\nthat triggers a selection. For details, see the\n[Vega-Lite selection documentation](https://vega.github.io/vega-lite/docs/selection.html#selection-properties)\n",
                "type": "String -> SelectionProperty"
            },
            {
                "name": "seResolve",
                "comment": " Specify a strategy that determines how selections’ data queries are resolved\nwhen applied in a filter transform, conditional encoding rule, or scale domain.\nFor details, see the\n[Vega-Lite selection documentation](https://vega.github.io/vega-lite/docs/selection.html#type)\n",
                "type": "SelectionResolution -> SelectionProperty"
            },
            {
                "name": "seSelectionMark",
                "comment": " Specify the appearance of an interval selection mark (dragged rectangle).\nFor details, see the\n[Vega-Lite selection documentation](https://vega.github.io/vega-lite/docs/selection.html#type)\n",
                "type": "List SelectionMarkProperty -> SelectionProperty"
            },
            {
                "name": "seToggle",
                "comment": " Specify a predicate expression that determines a toggled selection.\nFor details, see the\n[Vega-Lite toggle documentation](https://vega.github.io/vega-lite/docs/toggle.html)\n",
                "type": "String -> SelectionProperty"
            },
            {
                "name": "seTranslate",
                "comment": " Specify a translation selection transformation used for panning a view.\nFor details, see the\n[Vega-Lite selection translate documentation](https://vega.github.io/vega-lite/docs/translate.html)\n",
                "type": "String -> SelectionProperty"
            },
            {
                "name": "seZoom",
                "comment": " Specify a zooming selection transformation used for zooming a view.\nFor details, see the\n[Vega-Lite selection zoom documentation](https://vega.github.io/vega-lite/docs/zoom.html)\n",
                "type": "String -> SelectionProperty"
            },
            {
                "name": "select",
                "comment": " Create a single named selection that may be applied to a data query or transformation.\nThe first two parameters specify the name to be given to the selection for later reference\nand the type of selection made. The third allows additional selection options to\nbe specified. The fourth is a list of selections to which this is added, which is\ncommonly implicit when chaining a series of selections together with functional\ncomposition.\n\n    sel =\n        selection\n            << select \"view\" Interval [ BindScales ] []\n            << select \"myBrush\" Interval []\n            << select \"myPaintbrush\" Multi [ On \"mouseover\", Nearest True ]\n\n",
                "type": "String -> Selection -> List SelectionProperty -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "selected",
                "comment": " Provide an interactive selection that will be true or false as part of a\nlogical composition. For example, to filter a dataset so that only items selected\ninteractively and that have a weight of more than 30:\n\n    transform\n        << filter (fCompose (and (selected \"brush\") (expr \"datum.weight > 30\")))\n\n",
                "type": "String -> BooleanOp"
            },
            {
                "name": "selection",
                "comment": " Create a full selection specification from a list of selections. For details\nsee the [Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html).\n\n    selection =\n        selection << select \"view\" Interval [ BindScales ]\n\n",
                "type": "List LabelledSpec -> ( VLProperty, Spec )"
            },
            {
                "name": "selectionName",
                "comment": " Provide the name of a selection that is used as part of a conditional encoding.\n\n    color\n        [ mSelectionCondition (selectionName \"myBrush\")\n            [ mName \"Origin\", mMType Nominal ]\n            [ mStr \"grey\" ]\n        ]\n\n",
                "type": "String -> BooleanOp"
            },
            {
                "name": "shape",
                "comment": " Encode a shape channel. The first parameter is a list of mark channel properties\nthat characterise the way a data field is encoded by shape. The second parameter\nis a list of any previous channels to which this shape channel should be added.\n\n    shape [ mName \"Species\", mMType Nominal ] []\n\n",
                "type": "List MarkChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "size",
                "comment": " Encode a size channel. The first parameter is a list of mark channel properties\nthat characterise the way a data field is encoded by size. The second parameter\nis a list of any previous channels to which this size channel should be added.\n\n    size [ mName \"Age\", mMType Quantitative ] []\n\n",
                "type": "List MarkChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "smFill",
                "comment": " Specify the fill color of the interval selection mark (dragged rectangular area).\nFor details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#interval-mark).\n",
                "type": "String -> SelectionMarkProperty"
            },
            {
                "name": "smFillOpacity",
                "comment": " Specify the fill opacity of the interval selection mark (dragged rectangular area)\nin the range [0, 1]. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#interval-mark).\n",
                "type": "Float -> SelectionMarkProperty"
            },
            {
                "name": "smStroke",
                "comment": " Specify the stroke color of the interval selection mark (dragged rectangular area).\nFor details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#interval-mark).\n",
                "type": "String -> SelectionMarkProperty"
            },
            {
                "name": "smStrokeDash",
                "comment": " Specify the stroke dash style of the interval selection mark (dragged\nrectangular area). For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#interval-mark).\n",
                "type": "List Float -> SelectionMarkProperty"
            },
            {
                "name": "smStrokeDashOffset",
                "comment": " Specify the stroke dash offset of the interval selection mark (dragged\nrectangular area). For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#interval-mark).\n",
                "type": "Float -> SelectionMarkProperty"
            },
            {
                "name": "smStrokeOpacity",
                "comment": " Specify the stroke opacity of the interval selection mark (dragged rectangular\narea) in the range [0, 1]. For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#interval-mark).\n",
                "type": "Float -> SelectionMarkProperty"
            },
            {
                "name": "smStrokeWidth",
                "comment": " Specify the stroke width of the interval selection mark (dragged rectangular\narea). For details see the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/selection.html#interval-mark).\n",
                "type": "Float -> SelectionMarkProperty"
            },
            {
                "name": "soByField",
                "comment": " Specify a sorting by the aggregated summary of a given field using a given\naggregation operation. For example, the following sorts the categorical data\nfield `variety` by the mean age of the data in each variety category.\n\n    position Y [ pName \"variety\"\n               , pMType Ordinal\n               , pSort [ soByField \"age\" Mean, Descending ]\n               ]\n\nFor details see the\n[Vega-Lite sorting documentation](https://vega.github.io/vega-lite/docs/sort.html).\n\n",
                "type": "String -> Operation -> SortProperty"
            },
            {
                "name": "soByRepeat",
                "comment": " Specify a sorting by the aggregated summaries of the given fields (referenced\nby a repeat iteration) using a given aggregation operation. For details see the\n[Vega-Lite sorting documentation](https://vega.github.io/vega-lite/docs/sort.html).\n",
                "type": "Arrangement -> Operation -> SortProperty"
            },
            {
                "name": "soCustom",
                "comment": " Provide a custom sort order by listing data values explicitly. This can be\nused in place of lists of [SortProperty](#SortProperty). For example,\n\n    let\n        data =\n            dataFromColumns []\n                << dataColumn \"a\" (strs [ \"A\", \"B\", \"C\" ])\n                << dataColumn \"b\" (nums [ 28, 55, 43 ])\n\n        enc =\n            encoding\n                << position X\n                    [ pName \"a\"\n                    , pMType Ordinal\n                    , pSort [ soCustom (strs [ \"B\", \"A\", \"C\" ]) ]\n                    ]\n                << position Y [ pName \"b\", pMType Quantitative ]\n    in\n    toVegaLite [ data [], enc [], bar [] ]\n\n",
                "type": "DataValues -> SortProperty"
            },
            {
                "name": "specification",
                "comment": " Defines a specification object for use with faceted and repeated small multiples.\n\n    spec = ...\n    toVegaLite\n        [ facet [ rowBy [ fName \"Origin\", fMType Nominal ] ]\n        , specifcation spec\n        ]\n\n",
                "type": "Spec -> ( VLProperty, Spec )"
            },
            {
                "name": "square",
                "comment": " Specify a square mark for symbolising points. For details see the\n[Vega Lite documentation](https://vega.github.io/vega-lite/docs/square.html).\n\n    square [ maStroke \"red\", maStrokeWeight 2 ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    square []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "str",
                "comment": " Specify a string data value. This is used when a function can accept values\nof different types.\n",
                "type": "String -> DataValue"
            },
            {
                "name": "stroke",
                "comment": " Encode a stroke channel. This acts in a similar way to encoding by `color` but\nonly affects the exterior boundary of marks. The first parameter is a list of mark\nchannel properties that characterise the way a data field is encoded by stroke.\nThe second parameter is a list of any previous channels to which this stroke channel\nshould be added.\n\n    stroke [ mName \"Species\", mMType Nominal ] []\n\nNote that if both `stroke` and `color` encodings are specified, `stroke` takes\nprecedence.\n\n",
                "type": "List MarkChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "strs",
                "comment": " Specify a string data value. This is used when a function can accept values\nof different types.\n",
                "type": "List String -> DataValues"
            },
            {
                "name": "symbolPath",
                "comment": " Specify a custom symbol shape with an\n[SVG path description](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths).\n",
                "type": "String -> Symbol"
            },
            {
                "name": "tAggregate",
                "comment": " Compute some aggregate summaray statistics for a field to be encoded with a\ntext channel. The type of aggregation is determined by the given operation\nparameter. For details, see the\n[Vega-Lite aggregate documentation](https://vega.github.io/vega-lite/docs/aggregate.html)\n",
                "type": "Operation -> TextChannel"
            },
            {
                "name": "tBin",
                "comment": " Discretizes a series of numeric values into bins when encoding with a text\nchannel. For details, see the\n[Vega-Lite binning documentation](https://vega.github.io/vega-lite/docs/bin.html)\n",
                "type": "List BinProperty -> TextChannel"
            },
            {
                "name": "tDataCondition",
                "comment": " Specify the properties of a text channel conditional on some predicate\nexpression. The first parameter provides the expression to evaluate, the second\nthe encoding to apply if the expression is true, the third the encoding if the\nexpression is false. For details, see the\n[Vega-Lite condition documentation](https://vega.github.io/vega-lite/docs/condition.htmll)\n",
                "type": "BooleanOp -> List TextChannel -> List TextChannel -> TextChannel"
            },
            {
                "name": "tFormat",
                "comment": " Provide a [formatting pattern](https://vega.github.io/vega-lite/docs/format.html)\nfor a field when encoding with a text channel.\n",
                "type": "String -> TextChannel"
            },
            {
                "name": "tMType",
                "comment": " Specify the field type (level of measurement) when encoding with a text\nchannel. For details, see the\n[Vega-Lite type documentation](https://vega.github.io/vega-lite/docs/type.html)\n",
                "type": "Measurement -> TextChannel"
            },
            {
                "name": "tName",
                "comment": " Provide the name of the field used for encoding with a text channel.\nFor details, see the\n[Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html)\n",
                "type": "String -> TextChannel"
            },
            {
                "name": "tRepeat",
                "comment": " Reference in a text channel to a field name generated by `repeat`. The\nparameter identifies whether reference is being made to fields that are to be\nlaid out in columns or in rows.\n",
                "type": "Arrangement -> TextChannel"
            },
            {
                "name": "tSelectionCondition",
                "comment": " Specify the properties of a text channel conditional on interactive selection.\nThe first parameter provides the selection to evaluate, the second the encoding\nto apply if the text has been selected, the third the encoding if it is not selected.\nFor details, see the\n[Vega-Lite condition documentation](https://vega.github.io/vega-lite/docs/condition.htmll)\n",
                "type": "BooleanOp -> List TextChannel -> List TextChannel -> TextChannel"
            },
            {
                "name": "tTimeUnit",
                "comment": " Specify the form of time unit aggregation of field values when encoding with\na text channel. For details, see the\n[Vega-Lite time unit documentation](https://vega.github.io/vega-lite/docs/timeunit.html)\n",
                "type": "TimeUnit -> TextChannel"
            },
            {
                "name": "text",
                "comment": " Encode a text channel. The first parameter is a list of text channel properties\nthat define the channel. The second parameter is a list of any previous channels to\nwhich this channel is to be added. This is usually implicit when chaining a set\nof encodings together with functional composition. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/encoding.html#text)\nfor further details on the text and tooltip channels and\n[Vega-Lite formatting documentation](https://vega.github.io/vega-lite/docs/format.html)\nfor formatting the appearance of the text.\n\n    enc =\n        encoding\n            << position X [ pName \"miles\", pMType Quantitative ]\n            << position Y [ pName \"gas\", pMType Quantitative ]\n            << text [ tName \"miles\", tMType Quantitative ]\n\n",
                "type": "List TextChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "textMark",
                "comment": " Specify a text mark to be displayed at some point location. For details see\nthe [Vega Lite documentation](https://vega.github.io/vega-lite/docs/text.html).\n\n    textMark [ maFontSize 18 ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    textMark []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "tick",
                "comment": " Specify a short line mark for symbolising point locations. For details see the\n[Vega Lite documentation](https://vega.github.io/vega-lite/docs/tick.html).\n\n    tick [ maStroke \"blue\", maStrokeWeight 0.5 ]\n\nTo keep the default style for the mark, just provide an empty list as the parameter.\n\n    tick []\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "ticoAnchor",
                "comment": " Specify the default anchor position when placing titles.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "APosition -> TitleConfig"
            },
            {
                "name": "ticoAngle",
                "comment": " Specify the default angle when orientating titles.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "Float -> TitleConfig"
            },
            {
                "name": "ticoBaseline",
                "comment": " Specify the default vertical alignment when placing titles.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "VAlign -> TitleConfig"
            },
            {
                "name": "ticoColor",
                "comment": " Specify the default color when showing titles.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "String -> TitleConfig"
            },
            {
                "name": "ticoFont",
                "comment": " Specify the default font when showing titles.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "String -> TitleConfig"
            },
            {
                "name": "ticoFontSize",
                "comment": " Specify the default font size when showing titles.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "Float -> TitleConfig"
            },
            {
                "name": "ticoFontWeight",
                "comment": " Specify the default font weight when showing titles.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "FontWeight -> TitleConfig"
            },
            {
                "name": "ticoLimit",
                "comment": " Specify the default maximim length in pixel units when showing titles.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "Float -> TitleConfig"
            },
            {
                "name": "ticoOffset",
                "comment": " Specify the default offset in pixel units of titles relative to the chart body.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "Float -> TitleConfig"
            },
            {
                "name": "ticoOrient",
                "comment": " Specify the default placement of titles relative to the chart body.\nFor further details see the\n[Vega-Lite title config documentation](https://vega.github.io/vega-lite/docs/title.html#config)\n",
                "type": "Side -> TitleConfig"
            },
            {
                "name": "timeUnitAs",
                "comment": " Creates a new data field based on the given temporal binning. Unlike the\ndirect encoding binning, this transformation is named and so can be referred\nto in multiple encodings. The first parameter is the 'width' of each temporal bin,\nthe second is the field to bin and the third is name to give the newly binned\nfield. The final, often implicit, parameter is a list of previous transformations\nto which this is added. Note though that usually it is easer to apply the temporal\nbinning directly as part of the encoding as this will automatically format the\ntemporal axis. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/timeunit.html#transform)\nfor further details.\n\nThe following example takes a temporal dataset and encodes daily totals from it\ngrouping by month.\n\n    trans =\n        transform << timeUnitAs Month \"date\" \"monthly\"\n\n    enc =\n        encoding\n            << position X [ pName \"date\", pMType Temporal, pTimeUnit Day ]\n            << position Y [ pAggregate Sum, pMType Quantitative ]\n            << detail [ dName \"monthly\", dMType Temporal ]\n\n",
                "type": "TimeUnit -> String -> String -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "title",
                "comment": " Provide an optional title to be displayed in the visualization.\n\n    enc = ...\n    toVegaLite\n        [ title \"Population Growth\"\n        , dataFromUrl \"data/population.json\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "String -> ( VLProperty, Spec )"
            },
            {
                "name": "toVegaLite",
                "comment": " Convert a list of Vega-Lite specifications into a single JSON object that may be\npassed to Vega-Lite for graphics generation. Commonly these will include at least\na data, mark and encoding specification.\n\nWhile simple functions like `bar` may be provided directly, it is usually clearer\nto label more complex ones such as encodings as separate expressions. This becomes\nincreasingly helpful for visualizations that involve composition of layers, repeats\nand facets.\n\nSpecifications can be built up by chaining a series of functions (such as `dataColumn`\nor `position` in the example below). Functional composition using the `<<` operator\nallows this to be done compactly.\n\n    let\n        data =\n            dataFromColumns []\n                << dataColumn \"a\" (strs [ \"C\", \"C\", \"D\", \"D\", \"E\", \"E\" ])\n                << dataColumn \"b\" (nums [ 2, 7, 1, 2, 6, 8 ])\n\n        enc =\n            encoding\n                << position X [ pName \"a\", pMType Nominal ]\n                << position Y [ pName \"b\", pMType Quantitative, pAggregate Mean ]\n    in\n    toVegaLite [ data [], bar [], enc [] ]\n\n",
                "type": "List ( VLProperty, Spec ) -> Spec"
            },
            {
                "name": "tooltip",
                "comment": " Encode a tooltip channel. The first parameter is a list of text channel properties\nthat define the channel. The second parameter is a list of any previous channels to\nwhich this channel is to be added. This is usually implicit when chaining a\nset of encodings together with functional composition. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/encoding.html#text)\nfor further details on the text and tooltip channels and\n[Vega-Lite formatting documentation](https://vega.github.io/vega-lite/docs/format.html)\nfor formatting the appearance of the text.\n\n      enc =\n          encoding\n              << position X [ pName \"Horsepower\", pMType Quantitative ]\n              << position Y [ pName \"Miles_per_Gallon\", pMType Quantitative ]\n              << tooltip [ tName \"Year\", tMType Temporal, tFormat \"%Y\" ]\n\nTo encode multiple tooltip values with a mark, use `tooltips`\n\n",
                "type": "List TextChannel -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "tooltips",
                "comment": " Encode a tooltip channel with multiple tooltips. The first parameter is a\nlist of the multiple tooltips, each of which is a list of text channel properties\nthat define the channel. The second parameter is a list of any previous channels to\nwhich this channel is to be added. See the\n[Vega-Lite documentation](https://vega.github.io/vega-lite/docs/encoding.html#text)\nfor further details on the text and tooltip channels and\n[Vega-Lite formatting documentation](https://vega.github.io/vega-lite/docs/format.html)\nfor formatting the appearance of the text.\n\n      enc =\n          encoding\n              << position X [ pName \"Horsepower\", pMType Quantitative ]\n              << position Y [ pName \"Miles_per_Gallon\", pMType Quantitative ]\n              << tooltips [ [ tName \"Year\", tMType Temporal, tFormat \"%Y\" ]\n                          , [ tName \"Cylinders\", tMType Quantitative ]\n                          ]\n\n",
                "type": "List (List TextChannel) -> List LabelledSpec -> List LabelledSpec"
            },
            {
                "name": "topojsonFeature",
                "comment": " Indicates a topoJSON feature format. The first parameter should be the name\nof the object set to extract. Typically used when specifying a data url.\n",
                "type": "String -> Format"
            },
            {
                "name": "topojsonMesh",
                "comment": " Indicates a topoJSON mesh format. The first parameter should be the name\nof the object set to extract. Unlike the `topojsonFeature`, the corresponding\ngeo data are returned as a single, unified mesh instance, not as individual\nGeoJSON features. Typically used when specifying a data url.\n",
                "type": "String -> Format"
            },
            {
                "name": "trail",
                "comment": " Specify a trail mark. A trail is a line that can vary in thickness along its\nlength. For details see the\n[Vega Lite documentation](https://vega.github.io/vega-lite/docs/trail.html).\n\n    trail [ maInterpolate StepAfter ]\n\n",
                "type": "List MarkProperty -> ( VLProperty, Spec )"
            },
            {
                "name": "transform",
                "comment": " Create a single transform from a list of transformation specifications. Note\nthat the order of transformations can be important, especially if labels created\nwith `calculateAs`, `timeUnitAs` and `binAs` are used in other transformations.\nUsing the functional composition pipeline idiom (as example below) allows you to\nprovide the transformations in the order intended in a clear manner.\n\n    trans =\n        transform\n            << filter (fiExpr \"datum.year == 2010\")\n            << calculateAs \"datum.sex == 2 ? 'Female' : 'Male'\" \"gender\"\n\n",
                "type": "List LabelledSpec -> ( VLProperty, Spec )"
            },
            {
                "name": "utc",
                "comment": " Provides a UTC version of a given a time (coordinated universal time, independent\nof local time zones or daylight saving).\nFor example,\n\n    encoding\n        << position X [ pName \"date\", pMType Temporal, pTimeUnit (utc YearMonthDateHours) ]\n\n",
                "type": "TimeUnit -> TimeUnit"
            },
            {
                "name": "vConcat",
                "comment": " Assigns a list of specifications to be juxtaposed vertically in a visualization.\n\n    let\n        spec1 = ...\n        spec2 = ...\n    in\n    toVegaLite\n        [ dataFromUrl \"data/driving.json\" []\n        , vConcat [ spec1, spec2 ]\n        ]\n\n",
                "type": "List Spec -> ( VLProperty, Spec )"
            },
            {
                "name": "vicoClip",
                "comment": " Specify whether or not by default single views should be clipped.\nFor further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "Bool -> ViewConfig"
            },
            {
                "name": "vicoFill",
                "comment": " Specify the default fill color for single views.\nFor further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "Maybe String -> ViewConfig"
            },
            {
                "name": "vicoFillOpacity",
                "comment": " Specify the default fill opacity for single views.\nFor further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "Float -> ViewConfig"
            },
            {
                "name": "vicoHeight",
                "comment": " Specify the default height of single views (e.g. each view in a trellis plot).\nFor further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "Float -> ViewConfig"
            },
            {
                "name": "vicoStroke",
                "comment": " Specify the default stroke color for single views. If `Nothing` is provided,\nno strokes are drawn around the view. For further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "Maybe String -> ViewConfig"
            },
            {
                "name": "vicoStrokeDash",
                "comment": " Specify the default stroke dash style for single views.\nFor further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "List Float -> ViewConfig"
            },
            {
                "name": "vicoStrokeDashOffset",
                "comment": " Specify the default stroke dash offset for single views.\nFor further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "Float -> ViewConfig"
            },
            {
                "name": "vicoStrokeOpacity",
                "comment": " Specify the default stroke opacity for single views.\nFor further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "Float -> ViewConfig"
            },
            {
                "name": "vicoStrokeWidth",
                "comment": " Specify the default stroke width of single views. For further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "Float -> ViewConfig"
            },
            {
                "name": "vicoWidth",
                "comment": " Specify the default width of single views (e.g. each view in a trellis plot).\nFor further details see the\n[Vega-Lite view config documentation](https://vega.github.io/vega-lite/docs/spec.html#config)\n",
                "type": "Float -> ViewConfig"
            },
            {
                "name": "wiAggregateOp",
                "comment": " Specify an aggregrate operation as part of a window transformation.\nA window transformation must specify either one of these aggregate operations or\na window-only transformation (`wiOp`). For details see the\n[Vega-Lite window transform documentation](https://vega.github.io/vega-lite/docs/window.html#field-def)\n",
                "type": "Operation -> Window"
            },
            {
                "name": "wiAscending",
                "comment": " Specify that the given field should be sorted in ascending order when performing\na window transform. For details, see the\n[Vega-Lite window transform field documentation](https://vega.github.io/vega-lite/docs/window.html#field-def)\n",
                "type": "String -> WindowSortField"
            },
            {
                "name": "wiDescending",
                "comment": " Specify that the given field should be sorted in descending order when performing\na window transform. For details, see the\n[Vega-Lite window transform field documentation](https://vega.github.io/vega-lite/docs/window.html#field-def)\n",
                "type": "String -> WindowSortField"
            },
            {
                "name": "wiField",
                "comment": " Specify an data field for which to compute an operation. This is not needed\nfor operations that do not apply to fields such as `Count`, `Rank` and `DenseRank`.\nFor details see the\n[Vega-Lite window transform documentation](https://vega.github.io/vega-lite/docs/window.html#field-def)\n",
                "type": "String -> Window"
            },
            {
                "name": "wiFrame",
                "comment": " Specify a sliding window should be produced for use by a window transform.\nThe two parameters should either be a `Just` a number indicating the offset from\nthe current data object, or `Nothing` to indicate unbounded rows preceding or\nfollowing the current data object. The default value is equivalent to `Nothing (Just 0)`,\nindicating that the sliding window includes the current object and all preceding\nobjects. The value `(Just 5) (Just 5)` indicates that the window should include\nfive objects preceding and five objects following the current object. Finally,\n`Nothing Nothing` indicates that the window frame should always include all data\nobjects. For details see the\n[Vega-Lite window transform documentation](https://vega.github.io/vega-lite/docs/window.html#window-transform-definition)\n",
                "type": "Maybe Int -> Maybe Int -> WindowProperty"
            },
            {
                "name": "wiGroupBy",
                "comment": " Specify the data fields for partioning data objects in a window transform\ninto separate windows. If unspecified, all points will be in a single group.\nFor details see the\n[Vega-Lite window transform documentation](https://vega.github.io/vega-lite/docs/window.html#window-transform-definition)\n",
                "type": "List String -> WindowProperty"
            },
            {
                "name": "wiIgnorePeers",
                "comment": " Specify whether or not the sliding window frame in a window transform should\nignore peer values (those considered identical by the sort criteria). The default\nis false, causing the window frame to expand to include all peer values. If set\nto be true, the window frame will be defined by offset values only. For details see the\n[Vega-Lite window transform documentation](https://vega.github.io/vega-lite/docs/window.html#window-transform-definition)\n",
                "type": "Bool -> WindowProperty"
            },
            {
                "name": "wiOp",
                "comment": " Specify an window-specific operation as part of a window transformation.\nA window transformation must specify either one of these window-only operations\nor an aggregate transformation (`wiAggregateOp`). For details see the\n[Vega-Lite window transform documentation](https://vega.github.io/vega-lite/docs/window.html#field-def)\n",
                "type": "WindowOperation -> Window"
            },
            {
                "name": "wiParam",
                "comment": " Specify the numeric parameter for those window-only operations that can be\nparameterised (`Ntile`, `Lag`, `Lead` and `NthValue`). For details see the\n[Vega-Lite window transform documentation](https://vega.github.io/vega-lite/docs/window.html#field-def)\n",
                "type": "Int -> Window"
            },
            {
                "name": "wiSort",
                "comment": " Specify a comparator for sorting data objects within a window transform. If\ntwo data objects are considered equal by the comparator, they are considered `peer`\nvalues of equal rank. If not specified, data objects are processed in the order\nthey are observed and none are considered peers. For details see the\n[Vega-Lite window transform documentation](https://vega.github.io/vega-lite/docs/window.html#window-transform-definition)\n",
                "type": "List WindowSortField -> WindowProperty"
            },
            {
                "name": "width",
                "comment": " Override the default width of the visualization. If not specified the width\nwill be calculated based on the content of the visualization.\n\n    enc = ...\n    toVegaLite\n        [ width 500\n        , dataFromUrl \"data/population.json\" []\n        , bar []\n        , enc []\n        ]\n\n",
                "type": "Float -> ( VLProperty, Spec )"
            },
            {
                "name": "windowAs",
                "comment": " Adds the window transform to a list of transformations that may be applied\nto a data stream. The window transform performs calculations over sorted groups\nof data objects. These calculations including ranking, lead/lag analysis, and\naggregates such as running sums and averages. Calculated values are written back\nto the input data stream.\n\nThe first parameter is the name to give the transformed output. The second is the\n[window transform field definition](https://vega.github.io/vega-lite/docs/window.html#field-def).\nThe third the [window transform definition](https://vega.github.io/vega-lite/docs/window.html#window-transform-definition).\n\n    trans =\n        transform\n            << windowAs \"TotalTime\"\n                [ wiAggregateOp Sum, wiField \"Time\" ]\n                [ wiFrame Nothing Nothing ]\n\n",
                "type": "String -> List Window -> List WindowProperty -> List LabelledSpec -> List LabelledSpec"
            }
        ],
        "binops": []
    }
]