@ggts-sh/spec 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +75 -0
- package/dist/artifact.d.ts +11 -0
- package/dist/artifact.d.ts.map +1 -0
- package/dist/artifact.js +71 -0
- package/dist/artifact.js.map +1 -0
- package/dist/builder-core.d.ts +100 -0
- package/dist/builder-core.d.ts.map +1 -0
- package/dist/builder-core.js +176 -0
- package/dist/builder-core.js.map +1 -0
- package/dist/builder-data.d.ts +36 -0
- package/dist/builder-data.d.ts.map +1 -0
- package/dist/builder-data.js +123 -0
- package/dist/builder-data.js.map +1 -0
- package/dist/builder-geoms.d.ts +128 -0
- package/dist/builder-geoms.d.ts.map +1 -0
- package/dist/builder-geoms.js +221 -0
- package/dist/builder-geoms.js.map +1 -0
- package/dist/builder-options.d.ts +323 -0
- package/dist/builder-options.d.ts.map +1 -0
- package/dist/builder-options.js +2 -0
- package/dist/builder-options.js.map +1 -0
- package/dist/builder-scales.d.ts +160 -0
- package/dist/builder-scales.d.ts.map +1 -0
- package/dist/builder-scales.js +322 -0
- package/dist/builder-scales.js.map +1 -0
- package/dist/builder.d.ts +242 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/builder.js +42 -0
- package/dist/builder.js.map +1 -0
- package/dist/capabilities-data.d.ts +72 -0
- package/dist/capabilities-data.d.ts.map +1 -0
- package/dist/capabilities-data.js +337 -0
- package/dist/capabilities-data.js.map +1 -0
- package/dist/capabilities-helpers.d.ts +31 -0
- package/dist/capabilities-helpers.d.ts.map +1 -0
- package/dist/capabilities-helpers.js +41 -0
- package/dist/capabilities-helpers.js.map +1 -0
- package/dist/capabilities.d.ts +22 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +154 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/coord-helpers.d.ts +102 -0
- package/dist/coord-helpers.d.ts.map +1 -0
- package/dist/coord-helpers.js +90 -0
- package/dist/coord-helpers.js.map +1 -0
- package/dist/coord-reference-build.d.ts +50 -0
- package/dist/coord-reference-build.d.ts.map +1 -0
- package/dist/coord-reference-build.js +211 -0
- package/dist/coord-reference-build.js.map +1 -0
- package/dist/coord-reference.d.ts +52 -0
- package/dist/coord-reference.d.ts.map +1 -0
- package/dist/coord-reference.js +27 -0
- package/dist/coord-reference.js.map +1 -0
- package/dist/error-catalog.d.ts +258 -0
- package/dist/error-catalog.d.ts.map +1 -0
- package/dist/error-catalog.js +235 -0
- package/dist/error-catalog.js.map +1 -0
- package/dist/error-prose-shared.d.ts +100 -0
- package/dist/error-prose-shared.d.ts.map +1 -0
- package/dist/error-prose-shared.js +95 -0
- package/dist/error-prose-shared.js.map +1 -0
- package/dist/errors.d.ts +39 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +52 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/coord-reference-data.d.ts +189 -0
- package/dist/generated/coord-reference-data.d.ts.map +1 -0
- package/dist/generated/coord-reference-data.js +212 -0
- package/dist/generated/coord-reference-data.js.map +1 -0
- package/dist/generated/geom-param-keys.d.ts +58 -0
- package/dist/generated/geom-param-keys.d.ts.map +1 -0
- package/dist/generated/geom-param-keys.js +223 -0
- package/dist/generated/geom-param-keys.js.map +1 -0
- package/dist/generated/geom-reference-data.d.ts +2377 -0
- package/dist/generated/geom-reference-data.d.ts.map +1 -0
- package/dist/generated/geom-reference-data.js +2790 -0
- package/dist/generated/geom-reference-data.js.map +1 -0
- package/dist/generated/guide-reference-data.d.ts +219 -0
- package/dist/generated/guide-reference-data.d.ts.map +1 -0
- package/dist/generated/guide-reference-data.js +253 -0
- package/dist/generated/guide-reference-data.js.map +1 -0
- package/dist/generated/plot-spec-validator.d.ts +2 -0
- package/dist/generated/plot-spec-validator.d.ts.map +1 -0
- package/dist/generated/plot-spec-validator.js +6274 -0
- package/dist/generated/plot-spec-validator.js.map +1 -0
- package/dist/generated/position-reference-data.d.ts +82 -0
- package/dist/generated/position-reference-data.d.ts.map +1 -0
- package/dist/generated/position-reference-data.js +181 -0
- package/dist/generated/position-reference-data.js.map +1 -0
- package/dist/generated/scale-reference-data.d.ts +8366 -0
- package/dist/generated/scale-reference-data.d.ts.map +1 -0
- package/dist/generated/scale-reference-data.js +9821 -0
- package/dist/generated/scale-reference-data.js.map +1 -0
- package/dist/generated/stat-reference-data.d.ts +241 -0
- package/dist/generated/stat-reference-data.d.ts.map +1 -0
- package/dist/generated/stat-reference-data.js +311 -0
- package/dist/generated/stat-reference-data.js.map +1 -0
- package/dist/geom-params-build.d.ts +3 -0
- package/dist/geom-params-build.d.ts.map +1 -0
- package/dist/geom-params-build.js +80 -0
- package/dist/geom-params-build.js.map +1 -0
- package/dist/geom-params.d.ts +13 -0
- package/dist/geom-params.d.ts.map +1 -0
- package/dist/geom-params.js +7 -0
- package/dist/geom-params.js.map +1 -0
- package/dist/geom-reference-build.d.ts +29 -0
- package/dist/geom-reference-build.d.ts.map +1 -0
- package/dist/geom-reference-build.js +221 -0
- package/dist/geom-reference-build.js.map +1 -0
- package/dist/geom-reference.d.ts +52 -0
- package/dist/geom-reference.d.ts.map +1 -0
- package/dist/geom-reference.js +72 -0
- package/dist/geom-reference.js.map +1 -0
- package/dist/guide-helpers.d.ts +20 -0
- package/dist/guide-helpers.d.ts.map +1 -0
- package/dist/guide-helpers.js +25 -0
- package/dist/guide-helpers.js.map +1 -0
- package/dist/guide-reference-build.d.ts +42 -0
- package/dist/guide-reference-build.d.ts.map +1 -0
- package/dist/guide-reference-build.js +180 -0
- package/dist/guide-reference-build.js.map +1 -0
- package/dist/guide-reference.d.ts +48 -0
- package/dist/guide-reference.d.ts.map +1 -0
- package/dist/guide-reference.js +32 -0
- package/dist/guide-reference.js.map +1 -0
- package/dist/hue-grey-palettes.d.ts +15 -0
- package/dist/hue-grey-palettes.d.ts.map +1 -0
- package/dist/hue-grey-palettes.js +77 -0
- package/dist/hue-grey-palettes.js.map +1 -0
- package/dist/index.d.ts +364 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +225 -0
- package/dist/index.js.map +1 -0
- package/dist/lint-catalog.d.ts +47 -0
- package/dist/lint-catalog.d.ts.map +1 -0
- package/dist/lint-catalog.js +39 -0
- package/dist/lint-catalog.js.map +1 -0
- package/dist/lint-layer-rules.d.ts +18 -0
- package/dist/lint-layer-rules.d.ts.map +1 -0
- package/dist/lint-layer-rules.js +145 -0
- package/dist/lint-layer-rules.js.map +1 -0
- package/dist/lint-scale-rules.d.ts +8 -0
- package/dist/lint-scale-rules.d.ts.map +1 -0
- package/dist/lint-scale-rules.js +254 -0
- package/dist/lint-scale-rules.js.map +1 -0
- package/dist/lint.d.ts +62 -0
- package/dist/lint.d.ts.map +1 -0
- package/dist/lint.js +57 -0
- package/dist/lint.js.map +1 -0
- package/dist/normalize-coord.d.ts +8 -0
- package/dist/normalize-coord.d.ts.map +1 -0
- package/dist/normalize-coord.js +123 -0
- package/dist/normalize-coord.js.map +1 -0
- package/dist/normalize-input-layers-marks.d.ts +208 -0
- package/dist/normalize-input-layers-marks.d.ts.map +1 -0
- package/dist/normalize-input-layers-marks.js +2 -0
- package/dist/normalize-input-layers-marks.js.map +1 -0
- package/dist/normalize-input-layers-special.d.ts +131 -0
- package/dist/normalize-input-layers-special.d.ts.map +1 -0
- package/dist/normalize-input-layers-special.js +2 -0
- package/dist/normalize-input-layers-special.js.map +1 -0
- package/dist/normalize-input.d.ts +81 -0
- package/dist/normalize-input.d.ts.map +1 -0
- package/dist/normalize-input.js +2 -0
- package/dist/normalize-input.js.map +1 -0
- package/dist/normalize-paint.d.ts +8 -0
- package/dist/normalize-paint.d.ts.map +1 -0
- package/dist/normalize-paint.js +83 -0
- package/dist/normalize-paint.js.map +1 -0
- package/dist/normalize-scales.d.ts +7 -0
- package/dist/normalize-scales.d.ts.map +1 -0
- package/dist/normalize-scales.js +90 -0
- package/dist/normalize-scales.js.map +1 -0
- package/dist/normalize.d.ts +46 -0
- package/dist/normalize.d.ts.map +1 -0
- package/dist/normalize.js +279 -0
- package/dist/normalize.js.map +1 -0
- package/dist/paint-helpers.d.ts +45 -0
- package/dist/paint-helpers.d.ts.map +1 -0
- package/dist/paint-helpers.js +48 -0
- package/dist/paint-helpers.js.map +1 -0
- package/dist/pipeline-error-catalog.d.ts +319 -0
- package/dist/pipeline-error-catalog.d.ts.map +1 -0
- package/dist/pipeline-error-catalog.js +260 -0
- package/dist/pipeline-error-catalog.js.map +1 -0
- package/dist/portability-check.d.ts +35 -0
- package/dist/portability-check.d.ts.map +1 -0
- package/dist/portability-check.js +121 -0
- package/dist/portability-check.js.map +1 -0
- package/dist/portability-lossy.d.ts +19 -0
- package/dist/portability-lossy.d.ts.map +1 -0
- package/dist/portability-lossy.js +65 -0
- package/dist/portability-lossy.js.map +1 -0
- package/dist/portability.d.ts +23 -0
- package/dist/portability.d.ts.map +1 -0
- package/dist/portability.js +23 -0
- package/dist/portability.js.map +1 -0
- package/dist/portable-builder.d.ts +215 -0
- package/dist/portable-builder.d.ts.map +1 -0
- package/dist/portable-builder.js +27 -0
- package/dist/portable-builder.js.map +1 -0
- package/dist/portable-entry.d.ts +16 -0
- package/dist/portable-entry.d.ts.map +1 -0
- package/dist/portable-entry.js +14 -0
- package/dist/portable-entry.js.map +1 -0
- package/dist/position-reference-build.d.ts +29 -0
- package/dist/position-reference-build.d.ts.map +1 -0
- package/dist/position-reference-build.js +115 -0
- package/dist/position-reference-build.js.map +1 -0
- package/dist/position-reference.d.ts +34 -0
- package/dist/position-reference.d.ts.map +1 -0
- package/dist/position-reference.js +19 -0
- package/dist/position-reference.js.map +1 -0
- package/dist/runtime.d.ts +139 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +2 -0
- package/dist/runtime.js.map +1 -0
- package/dist/scale-color-helpers.d.ts +121 -0
- package/dist/scale-color-helpers.d.ts.map +1 -0
- package/dist/scale-color-helpers.js +188 -0
- package/dist/scale-color-helpers.js.map +1 -0
- package/dist/scale-color-hue-grey.d.ts +52 -0
- package/dist/scale-color-hue-grey.d.ts.map +1 -0
- package/dist/scale-color-hue-grey.js +60 -0
- package/dist/scale-color-hue-grey.js.map +1 -0
- package/dist/scale-color-stops.d.ts +85 -0
- package/dist/scale-color-stops.d.ts.map +1 -0
- package/dist/scale-color-stops.js +87 -0
- package/dist/scale-color-stops.js.map +1 -0
- package/dist/scale-color-viridis.d.ts +52 -0
- package/dist/scale-color-viridis.d.ts.map +1 -0
- package/dist/scale-color-viridis.js +68 -0
- package/dist/scale-color-viridis.js.map +1 -0
- package/dist/scale-helpers.d.ts +20 -0
- package/dist/scale-helpers.d.ts.map +1 -0
- package/dist/scale-helpers.js +20 -0
- package/dist/scale-helpers.js.map +1 -0
- package/dist/scale-multi-helpers.d.ts +61 -0
- package/dist/scale-multi-helpers.d.ts.map +1 -0
- package/dist/scale-multi-helpers.js +147 -0
- package/dist/scale-multi-helpers.js.map +1 -0
- package/dist/scale-position-helpers.d.ts +81 -0
- package/dist/scale-position-helpers.d.ts.map +1 -0
- package/dist/scale-position-helpers.js +133 -0
- package/dist/scale-position-helpers.js.map +1 -0
- package/dist/scale-reference-build.d.ts +50 -0
- package/dist/scale-reference-build.d.ts.map +1 -0
- package/dist/scale-reference-build.js +147 -0
- package/dist/scale-reference-build.js.map +1 -0
- package/dist/scale-reference-classify-color.d.ts +11 -0
- package/dist/scale-reference-classify-color.d.ts.map +1 -0
- package/dist/scale-reference-classify-color.js +292 -0
- package/dist/scale-reference-classify-color.js.map +1 -0
- package/dist/scale-reference-classify-position.d.ts +10 -0
- package/dist/scale-reference-classify-position.d.ts.map +1 -0
- package/dist/scale-reference-classify-position.js +137 -0
- package/dist/scale-reference-classify-position.js.map +1 -0
- package/dist/scale-reference-classify-style.d.ts +10 -0
- package/dist/scale-reference-classify-style.d.ts.map +1 -0
- package/dist/scale-reference-classify-style.js +194 -0
- package/dist/scale-reference-classify-style.js.map +1 -0
- package/dist/scale-reference-classify-support.d.ts +37 -0
- package/dist/scale-reference-classify-support.d.ts.map +1 -0
- package/dist/scale-reference-classify-support.js +206 -0
- package/dist/scale-reference-classify-support.js.map +1 -0
- package/dist/scale-reference.d.ts +80 -0
- package/dist/scale-reference.d.ts.map +1 -0
- package/dist/scale-reference.js +85 -0
- package/dist/scale-reference.js.map +1 -0
- package/dist/scale-style-helpers.d.ts +158 -0
- package/dist/scale-style-helpers.d.ts.map +1 -0
- package/dist/scale-style-helpers.js +197 -0
- package/dist/scale-style-helpers.js.map +1 -0
- package/dist/schema-catalog.d.ts +62 -0
- package/dist/schema-catalog.d.ts.map +1 -0
- package/dist/schema-catalog.js +208 -0
- package/dist/schema-catalog.js.map +1 -0
- package/dist/schema-declarations.d.ts +1585 -0
- package/dist/schema-declarations.d.ts.map +1 -0
- package/dist/schema-declarations.js +51 -0
- package/dist/schema-declarations.js.map +1 -0
- package/dist/schema-decls-data.d.ts +58 -0
- package/dist/schema-decls-data.d.ts.map +1 -0
- package/dist/schema-decls-data.js +151 -0
- package/dist/schema-decls-data.js.map +1 -0
- package/dist/schema-decls-guides-theme.d.ts +166 -0
- package/dist/schema-decls-guides-theme.d.ts.map +1 -0
- package/dist/schema-decls-guides-theme.js +251 -0
- package/dist/schema-decls-guides-theme.js.map +1 -0
- package/dist/schema-decls-layers-col-boxplot.d.ts +118 -0
- package/dist/schema-decls-layers-col-boxplot.d.ts.map +1 -0
- package/dist/schema-decls-layers-col-boxplot.js +239 -0
- package/dist/schema-decls-layers-col-boxplot.js.map +1 -0
- package/dist/schema-decls-layers-count-pointrange.d.ts +89 -0
- package/dist/schema-decls-layers-count-pointrange.d.ts.map +1 -0
- package/dist/schema-decls-layers-count-pointrange.js +190 -0
- package/dist/schema-decls-layers-count-pointrange.js.map +1 -0
- package/dist/schema-decls-layers-crossbar-jitter.d.ts +129 -0
- package/dist/schema-decls-layers-crossbar-jitter.d.ts.map +1 -0
- package/dist/schema-decls-layers-crossbar-jitter.js +255 -0
- package/dist/schema-decls-layers-crossbar-jitter.js.map +1 -0
- package/dist/schema-decls-layers-point-path.d.ts +49 -0
- package/dist/schema-decls-layers-point-path.d.ts.map +1 -0
- package/dist/schema-decls-layers-point-path.js +156 -0
- package/dist/schema-decls-layers-point-path.js.map +1 -0
- package/dist/schema-decls-layers-sf-blank.d.ts +89 -0
- package/dist/schema-decls-layers-sf-blank.d.ts.map +1 -0
- package/dist/schema-decls-layers-sf-blank.js +254 -0
- package/dist/schema-decls-layers-sf-blank.js.map +1 -0
- package/dist/schema-decls-layers-text-map.d.ts +80 -0
- package/dist/schema-decls-layers-text-map.d.ts.map +1 -0
- package/dist/schema-decls-layers-text-map.js +151 -0
- package/dist/schema-decls-layers-text-map.js.map +1 -0
- package/dist/schema-decls-paint.d.ts +39 -0
- package/dist/schema-decls-paint.d.ts.map +1 -0
- package/dist/schema-decls-paint.js +95 -0
- package/dist/schema-decls-paint.js.map +1 -0
- package/dist/schema-decls-params-area-abline.d.ts +85 -0
- package/dist/schema-decls-params-area-abline.d.ts.map +1 -0
- package/dist/schema-decls-params-area-abline.js +259 -0
- package/dist/schema-decls-params-area-abline.js.map +1 -0
- package/dist/schema-decls-params-col-contour.d.ts +61 -0
- package/dist/schema-decls-params-col-contour.d.ts.map +1 -0
- package/dist/schema-decls-params-col-contour.js +202 -0
- package/dist/schema-decls-params-col-contour.js.map +1 -0
- package/dist/schema-decls-params-curve-label.d.ts +64 -0
- package/dist/schema-decls-params-curve-label.d.ts.map +1 -0
- package/dist/schema-decls-params-curve-label.js +204 -0
- package/dist/schema-decls-params-curve-label.js.map +1 -0
- package/dist/schema-decls-params-errorbar-position.d.ts +83 -0
- package/dist/schema-decls-params-errorbar-position.d.ts.map +1 -0
- package/dist/schema-decls-params-errorbar-position.js +264 -0
- package/dist/schema-decls-params-errorbar-position.js.map +1 -0
- package/dist/schema-decls-params-point-path.d.ts +61 -0
- package/dist/schema-decls-params-point-path.d.ts.map +1 -0
- package/dist/schema-decls-params-point-path.js +240 -0
- package/dist/schema-decls-params-point-path.js.map +1 -0
- package/dist/schema-decls-params-violin-summary.d.ts +78 -0
- package/dist/schema-decls-params-violin-summary.d.ts.map +1 -0
- package/dist/schema-decls-params-violin-summary.js +272 -0
- package/dist/schema-decls-params-violin-summary.js.map +1 -0
- package/dist/schema-decls-plot.d.ts +80 -0
- package/dist/schema-decls-plot.d.ts.map +1 -0
- package/dist/schema-decls-plot.js +222 -0
- package/dist/schema-decls-plot.js.map +1 -0
- package/dist/schema-decls-scales-guides.d.ts +291 -0
- package/dist/schema-decls-scales-guides.d.ts.map +1 -0
- package/dist/schema-decls-scales-guides.js +189 -0
- package/dist/schema-decls-scales-guides.js.map +1 -0
- package/dist/schema-decls-scales.d.ts +124 -0
- package/dist/schema-decls-scales.d.ts.map +1 -0
- package/dist/schema-decls-scales.js +279 -0
- package/dist/schema-decls-scales.js.map +1 -0
- package/dist/schema-imports.d.ts +1679 -0
- package/dist/schema-imports.d.ts.map +1 -0
- package/dist/schema-imports.js +104 -0
- package/dist/schema-imports.js.map +1 -0
- package/dist/schema-name-schemas.d.ts +18 -0
- package/dist/schema-name-schemas.d.ts.map +1 -0
- package/dist/schema-name-schemas.js +13 -0
- package/dist/schema-name-schemas.js.map +1 -0
- package/dist/schema-names.d.ts +53 -0
- package/dist/schema-names.d.ts.map +1 -0
- package/dist/schema-names.js +229 -0
- package/dist/schema-names.js.map +1 -0
- package/dist/schema-types.d.ts +336 -0
- package/dist/schema-types.d.ts.map +1 -0
- package/dist/schema-types.js +10 -0
- package/dist/schema-types.js.map +1 -0
- package/dist/schema.d.ts +38 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +34 -0
- package/dist/schema.js.map +1 -0
- package/dist/stat-reference-build.d.ts +24 -0
- package/dist/stat-reference-build.d.ts.map +1 -0
- package/dist/stat-reference-build.js +86 -0
- package/dist/stat-reference-build.js.map +1 -0
- package/dist/stat-reference.d.ts +33 -0
- package/dist/stat-reference.d.ts.map +1 -0
- package/dist/stat-reference.js +19 -0
- package/dist/stat-reference.js.map +1 -0
- package/dist/structural-gate.d.ts +15 -0
- package/dist/structural-gate.d.ts.map +1 -0
- package/dist/structural-gate.js +34 -0
- package/dist/structural-gate.js.map +1 -0
- package/dist/temporal-column.d.ts +33 -0
- package/dist/temporal-column.d.ts.map +1 -0
- package/dist/temporal-column.js +247 -0
- package/dist/temporal-column.js.map +1 -0
- package/dist/temporal-guides.d.ts +11 -0
- package/dist/temporal-guides.d.ts.map +1 -0
- package/dist/temporal-guides.js +11 -0
- package/dist/temporal-guides.js.map +1 -0
- package/dist/temporal-interval-schema.d.ts +9 -0
- package/dist/temporal-interval-schema.d.ts.map +1 -0
- package/dist/temporal-interval-schema.js +25 -0
- package/dist/temporal-interval-schema.js.map +1 -0
- package/dist/temporal-interval.d.ts +29 -0
- package/dist/temporal-interval.d.ts.map +1 -0
- package/dist/temporal-interval.js +122 -0
- package/dist/temporal-interval.js.map +1 -0
- package/dist/temporal-parse-core.d.ts +96 -0
- package/dist/temporal-parse-core.d.ts.map +1 -0
- package/dist/temporal-parse-core.js +235 -0
- package/dist/temporal-parse-core.js.map +1 -0
- package/dist/temporal-parse-format.d.ts +13 -0
- package/dist/temporal-parse-format.d.ts.map +1 -0
- package/dist/temporal-parse-format.js +180 -0
- package/dist/temporal-parse-format.js.map +1 -0
- package/dist/temporal-parse-schema.d.ts +11 -0
- package/dist/temporal-parse-schema.d.ts.map +1 -0
- package/dist/temporal-parse-schema.js +23 -0
- package/dist/temporal-parse-schema.js.map +1 -0
- package/dist/temporal-parse.d.ts +18 -0
- package/dist/temporal-parse.d.ts.map +1 -0
- package/dist/temporal-parse.js +183 -0
- package/dist/temporal-parse.js.map +1 -0
- package/dist/temporal-polyfill.d.ts +3 -0
- package/dist/temporal-polyfill.d.ts.map +1 -0
- package/dist/temporal-polyfill.js +25 -0
- package/dist/temporal-polyfill.js.map +1 -0
- package/dist/temporal-ticks.d.ts +20 -0
- package/dist/temporal-ticks.d.ts.map +1 -0
- package/dist/temporal-ticks.js +246 -0
- package/dist/temporal-ticks.js.map +1 -0
- package/dist/temporal.d.ts +109 -0
- package/dist/temporal.d.ts.map +1 -0
- package/dist/temporal.js +73 -0
- package/dist/temporal.js.map +1 -0
- package/dist/validate-data-checks-color-temporal.d.ts +58 -0
- package/dist/validate-data-checks-color-temporal.d.ts.map +1 -0
- package/dist/validate-data-checks-color-temporal.js +168 -0
- package/dist/validate-data-checks-color-temporal.js.map +1 -0
- package/dist/validate-data-checks-color.d.ts +28 -0
- package/dist/validate-data-checks-color.d.ts.map +1 -0
- package/dist/validate-data-checks-color.js +296 -0
- package/dist/validate-data-checks-color.js.map +1 -0
- package/dist/validate-data-checks-layer.d.ts +37 -0
- package/dist/validate-data-checks-layer.d.ts.map +1 -0
- package/dist/validate-data-checks-layer.js +343 -0
- package/dist/validate-data-checks-layer.js.map +1 -0
- package/dist/validate-data-checks-position.d.ts +45 -0
- package/dist/validate-data-checks-position.d.ts.map +1 -0
- package/dist/validate-data-checks-position.js +204 -0
- package/dist/validate-data-checks-position.js.map +1 -0
- package/dist/validate-data-checks-style-finite.d.ts +24 -0
- package/dist/validate-data-checks-style-finite.d.ts.map +1 -0
- package/dist/validate-data-checks-style-finite.js +40 -0
- package/dist/validate-data-checks-style-finite.js.map +1 -0
- package/dist/validate-data-checks-style-numeric.d.ts +26 -0
- package/dist/validate-data-checks-style-numeric.d.ts.map +1 -0
- package/dist/validate-data-checks-style-numeric.js +327 -0
- package/dist/validate-data-checks-style-numeric.js.map +1 -0
- package/dist/validate-data-checks-style.d.ts +14 -0
- package/dist/validate-data-checks-style.d.ts.map +1 -0
- package/dist/validate-data-checks-style.js +14 -0
- package/dist/validate-data-checks-style.js.map +1 -0
- package/dist/validate-data-checks-temporal.d.ts +57 -0
- package/dist/validate-data-checks-temporal.d.ts.map +1 -0
- package/dist/validate-data-checks-temporal.js +83 -0
- package/dist/validate-data-checks-temporal.js.map +1 -0
- package/dist/validate-data-checks.d.ts +31 -0
- package/dist/validate-data-checks.d.ts.map +1 -0
- package/dist/validate-data-checks.js +110 -0
- package/dist/validate-data-checks.js.map +1 -0
- package/dist/validate-data-evidence.d.ts +69 -0
- package/dist/validate-data-evidence.d.ts.map +1 -0
- package/dist/validate-data-evidence.js +329 -0
- package/dist/validate-data-evidence.js.map +1 -0
- package/dist/validate-data.d.ts +73 -0
- package/dist/validate-data.d.ts.map +1 -0
- package/dist/validate-data.js +30 -0
- package/dist/validate-data.js.map +1 -0
- package/dist/validate-map-errors.d.ts +32 -0
- package/dist/validate-map-errors.d.ts.map +1 -0
- package/dist/validate-map-errors.js +76 -0
- package/dist/validate-map-errors.js.map +1 -0
- package/dist/validate-map-forms.d.ts +43 -0
- package/dist/validate-map-forms.d.ts.map +1 -0
- package/dist/validate-map-forms.js +125 -0
- package/dist/validate-map-forms.js.map +1 -0
- package/dist/validate-map-path-keywords.d.ts +11 -0
- package/dist/validate-map-path-keywords.d.ts.map +1 -0
- package/dist/validate-map-path-keywords.js +95 -0
- package/dist/validate-map-path-keywords.js.map +1 -0
- package/dist/validate-map-path-unions.d.ts +27 -0
- package/dist/validate-map-path-unions.d.ts.map +1 -0
- package/dist/validate-map-path-unions.js +200 -0
- package/dist/validate-map-path-unions.js.map +1 -0
- package/dist/validate-schema-shape.d.ts +69 -0
- package/dist/validate-schema-shape.d.ts.map +1 -0
- package/dist/validate-schema-shape.js +156 -0
- package/dist/validate-schema-shape.js.map +1 -0
- package/dist/validate-schema-walk.d.ts +34 -0
- package/dist/validate-schema-walk.d.ts.map +1 -0
- package/dist/validate-schema-walk.js +216 -0
- package/dist/validate-schema-walk.js.map +1 -0
- package/dist/validate-structure-facet.d.ts +8 -0
- package/dist/validate-structure-facet.d.ts.map +1 -0
- package/dist/validate-structure-facet.js +67 -0
- package/dist/validate-structure-facet.js.map +1 -0
- package/dist/validate-structure-layer-computed-y.d.ts +14 -0
- package/dist/validate-structure-layer-computed-y.d.ts.map +1 -0
- package/dist/validate-structure-layer-computed-y.js +70 -0
- package/dist/validate-structure-layer-computed-y.js.map +1 -0
- package/dist/validate-structure-layer-ribbon.d.ts +8 -0
- package/dist/validate-structure-layer-ribbon.d.ts.map +1 -0
- package/dist/validate-structure-layer-ribbon.js +36 -0
- package/dist/validate-structure-layer-ribbon.js.map +1 -0
- package/dist/validate-structure-layer-rule.d.ts +14 -0
- package/dist/validate-structure-layer-rule.d.ts.map +1 -0
- package/dist/validate-structure-layer-rule.js +90 -0
- package/dist/validate-structure-layer-rule.js.map +1 -0
- package/dist/validate-structure-layer-shared.d.ts +12 -0
- package/dist/validate-structure-layer-shared.d.ts.map +1 -0
- package/dist/validate-structure-layer-shared.js +17 -0
- package/dist/validate-structure-layer-shared.js.map +1 -0
- package/dist/validate-structure-layers.d.ts +12 -0
- package/dist/validate-structure-layers.d.ts.map +1 -0
- package/dist/validate-structure-layers.js +292 -0
- package/dist/validate-structure-layers.js.map +1 -0
- package/dist/validate-structure-paint.d.ts +12 -0
- package/dist/validate-structure-paint.d.ts.map +1 -0
- package/dist/validate-structure-paint.js +87 -0
- package/dist/validate-structure-paint.js.map +1 -0
- package/dist/validate-structure-scales.d.ts +10 -0
- package/dist/validate-structure-scales.d.ts.map +1 -0
- package/dist/validate-structure-scales.js +242 -0
- package/dist/validate-structure-scales.js.map +1 -0
- package/dist/validate-structure-style-bins.d.ts +17 -0
- package/dist/validate-structure-style-bins.d.ts.map +1 -0
- package/dist/validate-structure-style-bins.js +150 -0
- package/dist/validate-structure-style-bins.js.map +1 -0
- package/dist/validate-structure.d.ts +16 -0
- package/dist/validate-structure.d.ts.map +1 -0
- package/dist/validate-structure.js +16 -0
- package/dist/validate-structure.js.map +1 -0
- package/dist/validate.d.ts +24 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +178 -0
- package/dist/validate.js.map +1 -0
- package/package.json +59 -0
- package/schema/v0.json +9618 -0
- package/src/artifact.ts +81 -0
- package/src/builder-core.ts +276 -0
- package/src/builder-data.ts +156 -0
- package/src/builder-geoms.ts +290 -0
- package/src/builder-options.ts +428 -0
- package/src/builder-scales.ts +443 -0
- package/src/builder.ts +125 -0
- package/src/capabilities-data.ts +336 -0
- package/src/capabilities-helpers.ts +54 -0
- package/src/capabilities.ts +159 -0
- package/src/coord-helpers.ts +177 -0
- package/src/coord-reference-build.ts +283 -0
- package/src/coord-reference.ts +75 -0
- package/src/error-catalog.ts +253 -0
- package/src/error-prose-shared.ts +106 -0
- package/src/errors.ts +87 -0
- package/src/generated/coord-reference-data.ts +235 -0
- package/src/generated/geom-param-keys.ts +222 -0
- package/src/generated/geom-reference-data.ts +3024 -0
- package/src/generated/guide-reference-data.ts +284 -0
- package/src/generated/plot-spec-validator.ts +7335 -0
- package/src/generated/position-reference-data.ts +191 -0
- package/src/generated/scale-reference-data.ts +10665 -0
- package/src/generated/stat-reference-data.ts +339 -0
- package/src/geom-params-build.ts +92 -0
- package/src/geom-params.ts +14 -0
- package/src/geom-reference-build.ts +292 -0
- package/src/geom-reference.ts +127 -0
- package/src/guide-helpers.ts +44 -0
- package/src/guide-reference-build.ts +249 -0
- package/src/guide-reference.ts +76 -0
- package/src/hue-grey-palettes.ts +82 -0
- package/src/index.ts +400 -0
- package/src/lint-catalog.ts +57 -0
- package/src/lint-layer-rules.ts +175 -0
- package/src/lint-scale-rules.ts +285 -0
- package/src/lint.ts +126 -0
- package/src/normalize-coord.ts +126 -0
- package/src/normalize-input-layers-marks.ts +276 -0
- package/src/normalize-input-layers-special.ts +252 -0
- package/src/normalize-input.ts +154 -0
- package/src/normalize-paint.ts +98 -0
- package/src/normalize-scales.ts +108 -0
- package/src/normalize.ts +403 -0
- package/src/paint-helpers.ts +98 -0
- package/src/pipeline-error-catalog.ts +278 -0
- package/src/portability-check.ts +155 -0
- package/src/portability-lossy.ts +81 -0
- package/src/portability.ts +31 -0
- package/src/portable-builder.ts +35 -0
- package/src/portable-entry.ts +37 -0
- package/src/position-reference-build.ts +164 -0
- package/src/position-reference.ts +41 -0
- package/src/runtime.ts +198 -0
- package/src/scale-color-helpers.ts +263 -0
- package/src/scale-color-hue-grey.ts +95 -0
- package/src/scale-color-stops.ts +177 -0
- package/src/scale-color-viridis.ts +99 -0
- package/src/scale-helpers.ts +264 -0
- package/src/scale-multi-helpers.ts +220 -0
- package/src/scale-position-helpers.ts +231 -0
- package/src/scale-reference-build.ts +222 -0
- package/src/scale-reference-classify-color.ts +334 -0
- package/src/scale-reference-classify-position.ts +164 -0
- package/src/scale-reference-classify-style.ts +229 -0
- package/src/scale-reference-classify-support.ts +298 -0
- package/src/scale-reference.ts +165 -0
- package/src/scale-style-helpers.ts +316 -0
- package/src/schema-catalog.ts +222 -0
- package/src/schema-declarations.ts +51 -0
- package/src/schema-decls-data.ts +272 -0
- package/src/schema-decls-guides-theme.ts +395 -0
- package/src/schema-decls-layers-col-boxplot.ts +410 -0
- package/src/schema-decls-layers-count-pointrange.ts +321 -0
- package/src/schema-decls-layers-crossbar-jitter.ts +443 -0
- package/src/schema-decls-layers-point-path.ts +246 -0
- package/src/schema-decls-layers-sf-blank.ts +408 -0
- package/src/schema-decls-layers-text-map.ts +259 -0
- package/src/schema-decls-paint.ts +124 -0
- package/src/schema-decls-params-area-abline.ts +440 -0
- package/src/schema-decls-params-col-contour.ts +333 -0
- package/src/schema-decls-params-curve-label.ts +343 -0
- package/src/schema-decls-params-errorbar-position.ts +446 -0
- package/src/schema-decls-params-point-path.ts +394 -0
- package/src/schema-decls-params-violin-summary.ts +447 -0
- package/src/schema-decls-plot.ts +385 -0
- package/src/schema-decls-scales-guides.ts +233 -0
- package/src/schema-decls-scales.ts +432 -0
- package/src/schema-imports.ts +116 -0
- package/src/schema-name-schemas.ts +37 -0
- package/src/schema-names.ts +243 -0
- package/src/schema-types.ts +400 -0
- package/src/schema.ts +287 -0
- package/src/stat-reference-build.ts +145 -0
- package/src/stat-reference.ts +38 -0
- package/src/structural-gate.ts +42 -0
- package/src/temporal-column.ts +323 -0
- package/src/temporal-guides.ts +32 -0
- package/src/temporal-interval-schema.ts +40 -0
- package/src/temporal-interval.ts +151 -0
- package/src/temporal-parse-core.ts +331 -0
- package/src/temporal-parse-format.ts +222 -0
- package/src/temporal-parse-schema.ts +38 -0
- package/src/temporal-parse.ts +259 -0
- package/src/temporal-polyfill.ts +27 -0
- package/src/temporal-ticks.ts +312 -0
- package/src/temporal.ts +112 -0
- package/src/validate-data-checks-color-temporal.ts +261 -0
- package/src/validate-data-checks-color.ts +395 -0
- package/src/validate-data-checks-layer.ts +492 -0
- package/src/validate-data-checks-position.ts +275 -0
- package/src/validate-data-checks-style-finite.ts +55 -0
- package/src/validate-data-checks-style-numeric.ts +455 -0
- package/src/validate-data-checks-style.ts +13 -0
- package/src/validate-data-checks-temporal.ts +129 -0
- package/src/validate-data-checks.ts +157 -0
- package/src/validate-data-evidence.ts +419 -0
- package/src/validate-data.ts +114 -0
- package/src/validate-map-errors.ts +126 -0
- package/src/validate-map-forms.ts +148 -0
- package/src/validate-map-path-keywords.ts +129 -0
- package/src/validate-map-path-unions.ts +281 -0
- package/src/validate-schema-shape.ts +232 -0
- package/src/validate-schema-walk.ts +219 -0
- package/src/validate-structure-facet.ts +76 -0
- package/src/validate-structure-layer-computed-y.ts +94 -0
- package/src/validate-structure-layer-ribbon.ts +61 -0
- package/src/validate-structure-layer-rule.ts +98 -0
- package/src/validate-structure-layer-shared.ts +29 -0
- package/src/validate-structure-layers.ts +395 -0
- package/src/validate-structure-paint.ts +101 -0
- package/src/validate-structure-scales.ts +278 -0
- package/src/validate-structure-style-bins.ts +167 -0
- package/src/validate-structure.ts +16 -0
- package/src/validate.ts +212 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style-family classification for the SCALE_REFERENCE builder (gen-only):
|
|
3
|
+
* numeric style channels (size/linewidth/alpha) and finite style channels
|
|
4
|
+
* (shape/linetype).
|
|
5
|
+
*/
|
|
6
|
+
import { aestheticFromHelper, guideFor, paramDocsFromSchema, styleSchemaFor, sugarParam, withValues, } from "./scale-reference-classify-support.js";
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Param key sets per options family (mirrors helper option Pick/Omit types)
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
const STYLE_SEQUENTIAL_KEYS = [
|
|
11
|
+
"domain",
|
|
12
|
+
"breaks",
|
|
13
|
+
"range",
|
|
14
|
+
"reverse",
|
|
15
|
+
"oob",
|
|
16
|
+
"naValue",
|
|
17
|
+
"unknownValue",
|
|
18
|
+
"labels",
|
|
19
|
+
"guide",
|
|
20
|
+
];
|
|
21
|
+
const STYLE_DISCRETE_KEYS = [
|
|
22
|
+
"domain",
|
|
23
|
+
"domainMode",
|
|
24
|
+
"range",
|
|
25
|
+
"reverse",
|
|
26
|
+
"naValue",
|
|
27
|
+
"unknownValue",
|
|
28
|
+
"onExhaust",
|
|
29
|
+
"guide",
|
|
30
|
+
];
|
|
31
|
+
const STYLE_MANUAL_KEYS = ["domain", "naValue", "unknownValue", "guide"];
|
|
32
|
+
const STYLE_IDENTITY_KEYS = ["naValue", "unknownValue", "guide"];
|
|
33
|
+
const FINITE_DISCRETE_KEYS = [
|
|
34
|
+
"domain",
|
|
35
|
+
"domainMode",
|
|
36
|
+
"range",
|
|
37
|
+
"reverse",
|
|
38
|
+
"naValue",
|
|
39
|
+
"unknownValue",
|
|
40
|
+
"onExhaust",
|
|
41
|
+
"guide",
|
|
42
|
+
];
|
|
43
|
+
const FINITE_BINNED_KEYS = [
|
|
44
|
+
"domain",
|
|
45
|
+
"breaks",
|
|
46
|
+
"range",
|
|
47
|
+
"reverse",
|
|
48
|
+
"naValue",
|
|
49
|
+
"unknownValue",
|
|
50
|
+
"labels",
|
|
51
|
+
"guide",
|
|
52
|
+
];
|
|
53
|
+
export function classifyStyleHelper(helper, family) {
|
|
54
|
+
return family === "numeric-style"
|
|
55
|
+
? classifyNumericStyleHelper(helper)
|
|
56
|
+
: classifyFiniteStyleHelper(helper);
|
|
57
|
+
}
|
|
58
|
+
function classifyNumericStyleHelper(helper) {
|
|
59
|
+
const aes = aestheticFromHelper(helper);
|
|
60
|
+
const decl = styleSchemaFor(aes);
|
|
61
|
+
if (helper === "scaleSizeArea" || helper === "scaleSizeBinnedArea") {
|
|
62
|
+
const binned = helper.includes("Binned");
|
|
63
|
+
return {
|
|
64
|
+
optionsType: "SizeAreaScaleOptions",
|
|
65
|
+
scaleType: binned ? "binned" : "sequential",
|
|
66
|
+
params: [
|
|
67
|
+
...paramDocsFromSchema(decl, STYLE_SEQUENTIAL_KEYS),
|
|
68
|
+
sugarParam("maxSize", "number", "Maximum area-mapped size (ggplot2 scale_size_area max_size)."),
|
|
69
|
+
],
|
|
70
|
+
guide: guideFor(aes, binned ? "binned" : "sequential"),
|
|
71
|
+
summary: binned
|
|
72
|
+
? "Binned size scale with area mapping (zero maps to zero area)."
|
|
73
|
+
: "Continuous size scale with area mapping (zero maps to zero area).",
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (helper === "scaleRadius") {
|
|
77
|
+
return {
|
|
78
|
+
optionsType: "SequentialStyleScaleOptions",
|
|
79
|
+
scaleType: "sequential",
|
|
80
|
+
params: paramDocsFromSchema(decl, STYLE_SEQUENTIAL_KEYS),
|
|
81
|
+
guide: guideFor("size", "sequential"),
|
|
82
|
+
summary: "Continuous size scale with radius (linear) mapping instead of area.",
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
if (helper.includes("Discrete") || helper.includes("Ordinal")) {
|
|
86
|
+
return {
|
|
87
|
+
optionsType: "DiscreteNumericStyleScaleOptions",
|
|
88
|
+
scaleType: "ordinal",
|
|
89
|
+
params: paramDocsFromSchema(decl, STYLE_DISCRETE_KEYS),
|
|
90
|
+
guide: guideFor(aes, "ordinal"),
|
|
91
|
+
summary: `Discrete ${aes} scale for categories (ordinal).`,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
if (helper.includes("Manual")) {
|
|
95
|
+
return {
|
|
96
|
+
optionsType: "ManualNumericStyleScaleOptions",
|
|
97
|
+
scaleType: "manual",
|
|
98
|
+
params: withValues(paramDocsFromSchema(decl, STYLE_MANUAL_KEYS), "number[]", "Numeric range values paired with domain (required)."),
|
|
99
|
+
guide: guideFor(aes, "manual"),
|
|
100
|
+
summary: `Manual ${aes} mapping: domain values paired with explicit numbers.`,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (helper.includes("Identity")) {
|
|
104
|
+
return {
|
|
105
|
+
optionsType: "IdentityNumericStyleScaleOptions",
|
|
106
|
+
scaleType: "identity",
|
|
107
|
+
params: paramDocsFromSchema(decl, STYLE_IDENTITY_KEYS),
|
|
108
|
+
guide: guideFor(aes, "identity"),
|
|
109
|
+
summary: `Identity ${aes} scale: source numbers used as mapped style values.`,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
if (helper.includes("Datetime")) {
|
|
113
|
+
return {
|
|
114
|
+
optionsType: "TemporalNumericStyleScaleOptions",
|
|
115
|
+
scaleType: "sequential",
|
|
116
|
+
temporalKind: "datetime",
|
|
117
|
+
params: paramDocsFromSchema(decl, STYLE_SEQUENTIAL_KEYS),
|
|
118
|
+
guide: guideFor(aes, "sequential"),
|
|
119
|
+
summary: `Sequential ${aes} scale trained on datetime values.`,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
if (helper.includes("Date")) {
|
|
123
|
+
return {
|
|
124
|
+
optionsType: "TemporalNumericStyleScaleOptions",
|
|
125
|
+
scaleType: "sequential",
|
|
126
|
+
temporalKind: "date",
|
|
127
|
+
params: paramDocsFromSchema(decl, STYLE_SEQUENTIAL_KEYS),
|
|
128
|
+
guide: guideFor(aes, "sequential"),
|
|
129
|
+
summary: `Sequential ${aes} scale trained on calendar dates.`,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
if (helper.includes("Binned")) {
|
|
133
|
+
return {
|
|
134
|
+
optionsType: "SequentialStyleScaleOptions",
|
|
135
|
+
scaleType: "binned",
|
|
136
|
+
params: paramDocsFromSchema(decl, STYLE_SEQUENTIAL_KEYS),
|
|
137
|
+
guide: guideFor(aes, "binned"),
|
|
138
|
+
summary: `Binned ${aes} scale: continuous values → stepped numeric style.`,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
if (helper.includes("Continuous")) {
|
|
142
|
+
return {
|
|
143
|
+
optionsType: "SequentialStyleScaleOptions",
|
|
144
|
+
scaleType: "sequential",
|
|
145
|
+
params: paramDocsFromSchema(decl, STYLE_SEQUENTIAL_KEYS),
|
|
146
|
+
guide: guideFor(aes, "sequential"),
|
|
147
|
+
summary: `Continuous sequential ${aes} scale.`,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
throw new Error(`SCALE_REFERENCE: unhandled numeric-style helper "${helper}"`);
|
|
151
|
+
}
|
|
152
|
+
function classifyFiniteStyleHelper(helper) {
|
|
153
|
+
const aes = aestheticFromHelper(helper);
|
|
154
|
+
const decl = styleSchemaFor(aes);
|
|
155
|
+
const output = aes === "shape" ? "PointShapeName" : aes === "linetype" ? "LinetypeName" : "string";
|
|
156
|
+
if (helper.includes("Discrete") || helper.includes("Ordinal")) {
|
|
157
|
+
return {
|
|
158
|
+
optionsType: `DiscreteFiniteStyleScaleOptions<${output}>`,
|
|
159
|
+
scaleType: "ordinal",
|
|
160
|
+
params: paramDocsFromSchema(decl, FINITE_DISCRETE_KEYS),
|
|
161
|
+
guide: guideFor(aes, "ordinal"),
|
|
162
|
+
summary: `Discrete ${aes} scale for categories (named symbols).`,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
if (helper.includes("Binned")) {
|
|
166
|
+
return {
|
|
167
|
+
optionsType: `BinnedFiniteStyleScaleOptions<${output}>`,
|
|
168
|
+
scaleType: "binned",
|
|
169
|
+
params: paramDocsFromSchema(decl, FINITE_BINNED_KEYS),
|
|
170
|
+
guide: guideFor(aes, "binned"),
|
|
171
|
+
summary: `Binned ${aes} scale: continuous values → finite named symbols.`,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
if (helper.includes("Manual")) {
|
|
175
|
+
return {
|
|
176
|
+
optionsType: `ManualFiniteStyleScaleOptions<${output}>`,
|
|
177
|
+
scaleType: "manual",
|
|
178
|
+
params: withValues(paramDocsFromSchema(decl, STYLE_MANUAL_KEYS), `${output}[]`, "Named symbols paired with domain (required)."),
|
|
179
|
+
guide: guideFor(aes, "manual"),
|
|
180
|
+
summary: `Manual ${aes} mapping: domain values paired with named symbols.`,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
if (helper.includes("Identity")) {
|
|
184
|
+
return {
|
|
185
|
+
optionsType: `IdentityFiniteStyleScaleOptions<${output}>`,
|
|
186
|
+
scaleType: "identity",
|
|
187
|
+
params: paramDocsFromSchema(decl, STYLE_IDENTITY_KEYS),
|
|
188
|
+
guide: guideFor(aes, "identity"),
|
|
189
|
+
summary: `Identity ${aes} scale: source names used as mapped symbols.`,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
throw new Error(`SCALE_REFERENCE: unhandled finite-style helper "${helper}"`);
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=scale-reference-classify-style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scale-reference-classify-style.js","sourceRoot":"","sources":["../src/scale-reference-classify-style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared classification machinery for the SCALE_REFERENCE builder (gen-only):
|
|
3
|
+
* public scale types, schema walkers, param-doc sugar, and per-helper
|
|
4
|
+
* lookups. Family classifiers live in scale-reference-classify-*.ts.
|
|
5
|
+
*/
|
|
6
|
+
import type { ScaleCapability } from "./capabilities.js";
|
|
7
|
+
import { SpecDeclarations } from "./schema-declarations.js";
|
|
8
|
+
export interface ScaleParamDoc {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly description: string;
|
|
11
|
+
readonly typeSummary: string;
|
|
12
|
+
readonly required: boolean;
|
|
13
|
+
}
|
|
14
|
+
export type ScaleFamily = ScaleCapability["family"];
|
|
15
|
+
/** Canonical aesthetic channel(s) this Scale* component configures. */
|
|
16
|
+
export type ScaleAesthetic = "x" | "y" | "color" | "fill" | "size" | "linewidth" | "alpha" | "shape" | "linetype";
|
|
17
|
+
export declare function paramDocsFromSchema(declName: keyof typeof SpecDeclarations, keys: readonly string[]): ScaleParamDoc[];
|
|
18
|
+
export declare function sugarParam(name: string, typeSummary: string, description: string, required?: boolean): ScaleParamDoc;
|
|
19
|
+
export interface HelperMeta {
|
|
20
|
+
optionsType: string;
|
|
21
|
+
scaleType: string;
|
|
22
|
+
transform?: "log10" | "sqrt";
|
|
23
|
+
temporalKind?: string;
|
|
24
|
+
params: readonly ScaleParamDoc[];
|
|
25
|
+
guide: string;
|
|
26
|
+
summary: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function aestheticFromHelper(helper: string): ScaleAesthetic;
|
|
29
|
+
export declare function styleSchemaFor(aes: ScaleAesthetic): keyof typeof SpecDeclarations;
|
|
30
|
+
export declare function guideFor(aes: ScaleAesthetic, scaleType: string): string;
|
|
31
|
+
export declare function withLimits(base: ScaleParamDoc[]): ScaleParamDoc[];
|
|
32
|
+
export declare function withValues(base: ScaleParamDoc[], typeSummary: string, description: string): ScaleParamDoc[];
|
|
33
|
+
export declare function withPaletteDirection(base: ScaleParamDoc[]): ScaleParamDoc[];
|
|
34
|
+
export declare function withGradientStops(base: ScaleParamDoc[], kind: "2" | "n" | "steps" | "steps2" | "stepsn"): ScaleParamDoc[];
|
|
35
|
+
export declare function withViridisOption(base: ScaleParamDoc[]): ScaleParamDoc[];
|
|
36
|
+
export declare function withHueGrey(base: ScaleParamDoc[], kind: "hue" | "grey"): ScaleParamDoc[];
|
|
37
|
+
//# sourceMappingURL=scale-reference-classify-support.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scale-reference-classify-support.d.ts","sourceRoot":"","sources":["../src/scale-reference-classify-support.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAM5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAEpD,uEAAuE;AACvE,MAAM,MAAM,cAAc,GACtB,GAAG,GACH,GAAG,GACH,OAAO,GACP,MAAM,GACN,MAAM,GACN,WAAW,GACX,OAAO,GACP,OAAO,GACP,UAAU,CAAC;AAoFf,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,OAAO,gBAAgB,EACvC,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,aAAa,EAAE,CAqBjB;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,UAAQ,GACf,aAAa,CAEf;AAMD,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAWlE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAMjF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAcvE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CASjE;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,aAAa,EAAE,EACrB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,aAAa,EAAE,CAEjB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAU3E;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,EAAE,EACrB,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAC9C,aAAa,EAAE,CAkCjB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CASxE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,aAAa,EAAE,CAexF"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { SpecDeclarations } from "./schema-declarations.js";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Schema walkers (param docs)
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
function isRecord(value) {
|
|
6
|
+
return typeof value === "object" && value !== null;
|
|
7
|
+
}
|
|
8
|
+
function descriptionOf(node) {
|
|
9
|
+
if (!isRecord(node))
|
|
10
|
+
return "";
|
|
11
|
+
const d = node["description"];
|
|
12
|
+
return typeof d === "string" ? d : "";
|
|
13
|
+
}
|
|
14
|
+
function typeSummaryOf(node, depth = 0) {
|
|
15
|
+
if (!isRecord(node) || depth > 8)
|
|
16
|
+
return "unknown";
|
|
17
|
+
const ref = node["$ref"];
|
|
18
|
+
if (typeof ref === "string")
|
|
19
|
+
return ref;
|
|
20
|
+
if (typeof node["const"] === "string" || typeof node["const"] === "number") {
|
|
21
|
+
return JSON.stringify(node["const"]);
|
|
22
|
+
}
|
|
23
|
+
const anyOf = node["anyOf"];
|
|
24
|
+
if (Array.isArray(anyOf)) {
|
|
25
|
+
const parts = anyOf.map((branch) => typeSummaryOf(branch, depth + 1));
|
|
26
|
+
if (parts.every((p) => p.startsWith('"') || p.startsWith("'") || /^-?\d/.test(p))) {
|
|
27
|
+
return [...new Set(parts)].join(" | ");
|
|
28
|
+
}
|
|
29
|
+
return parts.join(" | ");
|
|
30
|
+
}
|
|
31
|
+
const type = node["type"];
|
|
32
|
+
if (type === "number" || type === "integer")
|
|
33
|
+
return type === "integer" ? "integer" : "number";
|
|
34
|
+
if (type === "string")
|
|
35
|
+
return "string";
|
|
36
|
+
if (type === "boolean")
|
|
37
|
+
return "boolean";
|
|
38
|
+
if (type === "array") {
|
|
39
|
+
const items = node["items"];
|
|
40
|
+
return `Array<${typeSummaryOf(items, depth + 1)}>`;
|
|
41
|
+
}
|
|
42
|
+
if (type === "object")
|
|
43
|
+
return "object";
|
|
44
|
+
if (Array.isArray(type)) {
|
|
45
|
+
return type.filter((t) => t !== "null").join(" | ") || "unknown";
|
|
46
|
+
}
|
|
47
|
+
return "unknown";
|
|
48
|
+
}
|
|
49
|
+
function propertiesOf(declName) {
|
|
50
|
+
const schema = SpecDeclarations[declName];
|
|
51
|
+
if (!isRecord(schema)) {
|
|
52
|
+
throw new Error(`SCALE_REFERENCE: SpecDeclarations.${declName} is not an object`);
|
|
53
|
+
}
|
|
54
|
+
// Intersect schemas put properties on allOf[0].properties
|
|
55
|
+
const direct = schema["properties"];
|
|
56
|
+
if (isRecord(direct))
|
|
57
|
+
return direct;
|
|
58
|
+
const allOf = schema["allOf"];
|
|
59
|
+
if (Array.isArray(allOf)) {
|
|
60
|
+
for (const branch of allOf) {
|
|
61
|
+
if (isRecord(branch) && isRecord(branch["properties"])) {
|
|
62
|
+
return branch["properties"];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
throw new Error(`SCALE_REFERENCE: SpecDeclarations.${declName} has no properties`);
|
|
67
|
+
}
|
|
68
|
+
/** Fallback prose when a schema node has no description (shared style fields). */
|
|
69
|
+
const PARAM_DESCRIPTION_FALLBACKS = Object.freeze({
|
|
70
|
+
domain: "Explicit semantic domain. Continuous scales use [min, max]; ordinal uses ordered values.",
|
|
71
|
+
domainMode: 'Ordinal domain stability: "grow" (default) preserves assignments across filters; "data" rebuilds from current data.',
|
|
72
|
+
breaks: "Explicit reference ticks or bin boundaries in data units.",
|
|
73
|
+
range: "Explicit output range for the mapped aesthetic.",
|
|
74
|
+
reverse: "Reverse the scale's output direction. Default false.",
|
|
75
|
+
oob: 'Out-of-bounds policy for values outside an explicit domain: "censor" (default) or "squish".',
|
|
76
|
+
naValue: "Replacement for missing/null source values.",
|
|
77
|
+
unknownValue: "Replacement for invalid, out-of-domain, or unmapped values.",
|
|
78
|
+
onExhaust: 'Ordinal palette exhaustion policy: "cycle" (default) with a warning, or "error".',
|
|
79
|
+
labels: "Guide label format string (numeric or temporal).",
|
|
80
|
+
guide: "Guide presentation override (legend, colorbar, colorsteps, or none).",
|
|
81
|
+
transform: 'Pre-training quantitative transform: "identity" (default), "log10", or "sqrt".',
|
|
82
|
+
scheme: "Named color scheme (categorical or sequential family).",
|
|
83
|
+
});
|
|
84
|
+
export function paramDocsFromSchema(declName, keys) {
|
|
85
|
+
const props = propertiesOf(declName);
|
|
86
|
+
const docs = [];
|
|
87
|
+
for (const name of keys) {
|
|
88
|
+
const prop = props[name];
|
|
89
|
+
if (prop === undefined) {
|
|
90
|
+
throw new Error(`SCALE_REFERENCE: ${declName} missing property "${name}"`);
|
|
91
|
+
}
|
|
92
|
+
const fromSchema = descriptionOf(prop).trim();
|
|
93
|
+
const description = fromSchema === ""
|
|
94
|
+
? (PARAM_DESCRIPTION_FALLBACKS[name] ?? `Authoring option \`${name}\` for this scale.`)
|
|
95
|
+
: fromSchema;
|
|
96
|
+
docs.push({
|
|
97
|
+
name,
|
|
98
|
+
description,
|
|
99
|
+
typeSummary: typeSummaryOf(prop),
|
|
100
|
+
required: false,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return docs;
|
|
104
|
+
}
|
|
105
|
+
export function sugarParam(name, typeSummary, description, required = false) {
|
|
106
|
+
return { name, typeSummary, description, required };
|
|
107
|
+
}
|
|
108
|
+
export function aestheticFromHelper(helper) {
|
|
109
|
+
if (helper.startsWith("scaleX"))
|
|
110
|
+
return "x";
|
|
111
|
+
if (helper.startsWith("scaleY"))
|
|
112
|
+
return "y";
|
|
113
|
+
if (helper.startsWith("scaleColor") || helper.startsWith("scaleColour"))
|
|
114
|
+
return "color";
|
|
115
|
+
if (helper.startsWith("scaleFill"))
|
|
116
|
+
return "fill";
|
|
117
|
+
if (helper.startsWith("scaleSize") || helper === "scaleRadius")
|
|
118
|
+
return "size";
|
|
119
|
+
if (helper.startsWith("scaleLinewidth"))
|
|
120
|
+
return "linewidth";
|
|
121
|
+
if (helper.startsWith("scaleAlpha"))
|
|
122
|
+
return "alpha";
|
|
123
|
+
if (helper.startsWith("scaleShape"))
|
|
124
|
+
return "shape";
|
|
125
|
+
if (helper.startsWith("scaleLinetype"))
|
|
126
|
+
return "linetype";
|
|
127
|
+
throw new Error(`SCALE_REFERENCE: cannot derive aesthetic from "${helper}"`);
|
|
128
|
+
}
|
|
129
|
+
export function styleSchemaFor(aes) {
|
|
130
|
+
if (aes === "alpha")
|
|
131
|
+
return "AlphaScaleSpec";
|
|
132
|
+
if (aes === "shape")
|
|
133
|
+
return "ShapeScaleSpec";
|
|
134
|
+
if (aes === "linetype")
|
|
135
|
+
return "LinetypeScaleSpec";
|
|
136
|
+
if (aes === "size" || aes === "linewidth")
|
|
137
|
+
return "PositiveStyleScaleSpec";
|
|
138
|
+
throw new Error(`SCALE_REFERENCE: no style schema for aesthetic ${aes}`);
|
|
139
|
+
}
|
|
140
|
+
export function guideFor(aes, scaleType) {
|
|
141
|
+
if (aes === "x" || aes === "y") {
|
|
142
|
+
return 'Axis guide on the position channel (band axis guide when type is band). Set guide to customize ticks/labels or guide: "none" to hide.';
|
|
143
|
+
}
|
|
144
|
+
if (aes === "color" || aes === "fill") {
|
|
145
|
+
if (scaleType === "sequential") {
|
|
146
|
+
return 'Colorbar guide by default for continuous ramps. Use guide helpers or guide: "none" to suppress.';
|
|
147
|
+
}
|
|
148
|
+
if (scaleType === "binned") {
|
|
149
|
+
return 'Colorsteps guide by default for binned color. Use guide helpers or guide: "none" to suppress.';
|
|
150
|
+
}
|
|
151
|
+
return 'Legend guide for discrete/manual/identity color. Set guide: "none" to hide.';
|
|
152
|
+
}
|
|
153
|
+
return 'Legend guide for the mapped style channel. Set guide: "none" to hide.';
|
|
154
|
+
}
|
|
155
|
+
export function withLimits(base) {
|
|
156
|
+
return [
|
|
157
|
+
sugarParam("limits", "DomainValue[]", "Pin the scale to [min, max] in source units (authoring sugar for domain). Supplying both limits and domain throws."),
|
|
158
|
+
...base,
|
|
159
|
+
];
|
|
160
|
+
}
|
|
161
|
+
export function withValues(base, typeSummary, description) {
|
|
162
|
+
return [...base, sugarParam("values", typeSummary, description, true)];
|
|
163
|
+
}
|
|
164
|
+
export function withPaletteDirection(base) {
|
|
165
|
+
return [
|
|
166
|
+
...base,
|
|
167
|
+
sugarParam("palette", "string", "Named palette (ColorBrewer / distiller / fermenter family). Maps onto scheme."),
|
|
168
|
+
sugarParam("direction", "1 | -1", "Palette direction: 1 (default) or -1 (reverse)."),
|
|
169
|
+
];
|
|
170
|
+
}
|
|
171
|
+
export function withGradientStops(base, kind) {
|
|
172
|
+
const extra = [];
|
|
173
|
+
if (kind === "2" || kind === "steps2") {
|
|
174
|
+
extra.push(sugarParam("low", "string", "Low-end #rgb/#rrggbb color."), sugarParam("mid", "string", "Midpoint #rgb/#rrggbb color."), sugarParam("high", "string", "High-end #rgb/#rrggbb color."), sugarParam("midpoint", "number", "Data value mapped to mid (default 0 for diverging helpers)."));
|
|
175
|
+
}
|
|
176
|
+
else if (kind === "n" || kind === "stepsn") {
|
|
177
|
+
extra.push(sugarParam("colours", "string[]", "Ordered #rgb/#rrggbb stops (British spelling alias of colors)."), sugarParam("colors", "string[]", "Ordered #rgb/#rrggbb stops."), sugarParam("values", "number[]", "Optional stop positions in [0, 1] (or data units for some helpers)."));
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
extra.push(sugarParam("low", "string", "Low-end #rgb/#rrggbb color."), sugarParam("high", "string", "High-end #rgb/#rrggbb color."));
|
|
181
|
+
}
|
|
182
|
+
return [...base.filter((p) => p.name !== "scheme" && p.name !== "range"), ...extra];
|
|
183
|
+
}
|
|
184
|
+
export function withViridisOption(base) {
|
|
185
|
+
return [
|
|
186
|
+
sugarParam("option", '"viridis" | "magma" | "plasma" | "inferno" | "cividis" | "turbo"', "Viridis family option (default viridis)."),
|
|
187
|
+
...base.filter((p) => p.name !== "scheme"),
|
|
188
|
+
];
|
|
189
|
+
}
|
|
190
|
+
export function withHueGrey(base, kind) {
|
|
191
|
+
if (kind === "hue") {
|
|
192
|
+
return [
|
|
193
|
+
...base.filter((p) => p.name !== "scheme" && p.name !== "range"),
|
|
194
|
+
sugarParam("h", "[number, number]", "Hue range in degrees (ggplot2 scale_colour_hue)."),
|
|
195
|
+
sugarParam("c", "number", "Chroma."),
|
|
196
|
+
sugarParam("l", "number", "Luminance."),
|
|
197
|
+
sugarParam("direction", "1 | -1", "Wheel direction."),
|
|
198
|
+
];
|
|
199
|
+
}
|
|
200
|
+
return [
|
|
201
|
+
...base.filter((p) => p.name !== "scheme" && p.name !== "range"),
|
|
202
|
+
sugarParam("start", "number", "Grey start (0–1)."),
|
|
203
|
+
sugarParam("end", "number", "Grey end (0–1)."),
|
|
204
|
+
];
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=scale-reference-classify-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scale-reference-classify-support.js","sourceRoot":"","sources":["../src/scale-reference-classify-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SCALE_REFERENCE — per-Scale* component API docs for the docs site.
|
|
3
|
+
*
|
|
4
|
+
* Catalog data is precomputed from SCALE_CAPABILITIES + SpecDeclarations
|
|
5
|
+
* (`scripts/gen-reference-catalogs.ts`) so reference pages never load TypeBox.
|
|
6
|
+
* Shells under packages/svelte/src/lib/scale/ are declaration-only; document
|
|
7
|
+
* this catalog instead of TypeDoc.
|
|
8
|
+
*/
|
|
9
|
+
import { type ScaleCapability } from "./capabilities.js";
|
|
10
|
+
export interface ScaleParamDoc {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly description: string;
|
|
13
|
+
readonly typeSummary: string;
|
|
14
|
+
readonly required: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type ScaleFamily = ScaleCapability["family"];
|
|
17
|
+
/** Canonical aesthetic channel(s) this Scale* component configures. */
|
|
18
|
+
export type ScaleAesthetic = "x" | "y" | "color" | "fill" | "size" | "linewidth" | "alpha" | "shape" | "linetype";
|
|
19
|
+
export interface ScaleReferenceEntry {
|
|
20
|
+
/** Helper name, e.g. scaleXContinuous (Colour aliases use Colour spelling). */
|
|
21
|
+
readonly helper: string;
|
|
22
|
+
/** Route slug — snake_case stem without the scale prefix (e.g. x_continuous). */
|
|
23
|
+
readonly slug: string;
|
|
24
|
+
/** Svelte component export, e.g. ScaleXContinuous. */
|
|
25
|
+
readonly component: string;
|
|
26
|
+
readonly family: ScaleFamily;
|
|
27
|
+
/** Aesthetic channels written by this helper (usually one). */
|
|
28
|
+
readonly aesthetics: readonly ScaleAesthetic[];
|
|
29
|
+
/** Canonical post-normalize scale type(s) this helper authors. */
|
|
30
|
+
readonly scaleType: string;
|
|
31
|
+
/** Forced transform when the helper pins one (log10/sqrt); else undefined. */
|
|
32
|
+
readonly transform?: "log10" | "sqrt";
|
|
33
|
+
/** Forced temporalKind when the helper pins one. */
|
|
34
|
+
readonly temporalKind?: string;
|
|
35
|
+
/** Short purpose text for index + detail lede. */
|
|
36
|
+
readonly summary: string;
|
|
37
|
+
/** TypeScript options type name (or Omit expression) for the shell props. */
|
|
38
|
+
readonly optionsType: string;
|
|
39
|
+
/** Authoring props (schema-derived + helper sugar). */
|
|
40
|
+
readonly params: readonly ScaleParamDoc[];
|
|
41
|
+
/**
|
|
42
|
+
* How this scale interacts with guides: axis for position; legend/colorbar/
|
|
43
|
+
* colorsteps for style; "none" when guide: "none" is typical.
|
|
44
|
+
*/
|
|
45
|
+
readonly guide: string;
|
|
46
|
+
/**
|
|
47
|
+
* When set, this component is a binding-identical re-export of another
|
|
48
|
+
* (British Colour spelling or *Ordinal → *Discrete).
|
|
49
|
+
*/
|
|
50
|
+
readonly aliasOf?: string;
|
|
51
|
+
/** Alternate component names that re-export this shell. */
|
|
52
|
+
readonly alsoExportedAs: readonly string[];
|
|
53
|
+
}
|
|
54
|
+
/** scaleXContinuous → ScaleXContinuous */
|
|
55
|
+
export declare function componentNameForScaleHelper(helper: string): string;
|
|
56
|
+
/** scaleXContinuous → x_continuous; scaleColorViridisC → color_viridis_c */
|
|
57
|
+
export declare function slugForScaleHelper(helper: string): string;
|
|
58
|
+
/** Primary Scale* helpers (no Colour / Ordinal-only aliases). */
|
|
59
|
+
export declare function primaryScaleHelpers(): readonly string[];
|
|
60
|
+
/**
|
|
61
|
+
* Every public Scale* surface: primary shells + Colour aliases + Ordinal
|
|
62
|
+
* style aliases (binding-identical re-exports).
|
|
63
|
+
*/
|
|
64
|
+
export declare function allScaleHelpers(): readonly string[];
|
|
65
|
+
/**
|
|
66
|
+
* Complete per-scale API reference. Keys are route slugs
|
|
67
|
+
* (e.g. color_continuous, x_log10). Precomputed at gen time.
|
|
68
|
+
*/
|
|
69
|
+
export declare const SCALE_REFERENCE: Readonly<Record<string, ScaleReferenceEntry>>;
|
|
70
|
+
/** Stable sorted list for docs index, search, and inventory. */
|
|
71
|
+
export declare function scaleReferenceList(): readonly ScaleReferenceEntry[];
|
|
72
|
+
/** Primary (non-alias) entries only. */
|
|
73
|
+
export declare function scaleReferencePrimaries(): readonly ScaleReferenceEntry[];
|
|
74
|
+
/** Group primaries by family for the landing page. */
|
|
75
|
+
export declare function scaleReferenceByFamily(): Readonly<Record<ScaleFamily, readonly ScaleReferenceEntry[]>>;
|
|
76
|
+
/** Display labels for capability families on the index page. */
|
|
77
|
+
export declare const SCALE_FAMILY_LABELS: Readonly<Record<ScaleFamily, string>>;
|
|
78
|
+
/** Known scale reference slugs (for route entry generation). */
|
|
79
|
+
export declare function knownScaleSlugs(): readonly string[];
|
|
80
|
+
//# sourceMappingURL=scale-reference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scale-reference.d.ts","sourceRoot":"","sources":["../src/scale-reference.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAO3B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAEpD,uEAAuE;AACvE,MAAM,MAAM,cAAc,GACtB,GAAG,GACH,GAAG,GACH,OAAO,GACP,MAAM,GACN,MAAM,GACN,WAAW,GACX,OAAO,GACP,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtC,oDAAoD;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAMD,0CAA0C;AAC1C,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAEvD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,SAAS,MAAM,EAAE,CAMnD;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAwB,CAAC;AAEnG,gEAAgE;AAChE,wBAAgB,kBAAkB,IAAI,SAAS,mBAAmB,EAAE,CAEnE;AAED,wCAAwC;AACxC,wBAAgB,uBAAuB,IAAI,SAAS,mBAAmB,EAAE,CAExE;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,IAAI,QAAQ,CAChD,MAAM,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC,CACpD,CAcA;AAED,gEAAgE;AAChE,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAQpE,CAAC;AAEH,gEAAgE;AAChE,wBAAgB,eAAe,IAAI,SAAS,MAAM,EAAE,CAEnD"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SCALE_REFERENCE — per-Scale* component API docs for the docs site.
|
|
3
|
+
*
|
|
4
|
+
* Catalog data is precomputed from SCALE_CAPABILITIES + SpecDeclarations
|
|
5
|
+
* (`scripts/gen-reference-catalogs.ts`) so reference pages never load TypeBox.
|
|
6
|
+
* Shells under packages/svelte/src/lib/scale/ are declaration-only; document
|
|
7
|
+
* this catalog instead of TypeDoc.
|
|
8
|
+
*/
|
|
9
|
+
import { SCALE_CAPABILITIES, STYLE_ORDINAL_SCALE_HELPERS, scaleCapabilityCamelHelpers, } from "./capabilities.js";
|
|
10
|
+
import { SCALE_REFERENCE_DATA } from "./generated/scale-reference-data.js";
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Naming
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/** scaleXContinuous → ScaleXContinuous */
|
|
15
|
+
export function componentNameForScaleHelper(helper) {
|
|
16
|
+
if (!helper.startsWith("scale")) {
|
|
17
|
+
throw new Error(`SCALE_REFERENCE: expected scale* helper, got "${helper}"`);
|
|
18
|
+
}
|
|
19
|
+
return "S" + helper.slice(1);
|
|
20
|
+
}
|
|
21
|
+
/** scaleXContinuous → x_continuous; scaleColorViridisC → color_viridis_c */
|
|
22
|
+
export function slugForScaleHelper(helper) {
|
|
23
|
+
const stem = helper.startsWith("scale") ? helper.slice(5) : helper;
|
|
24
|
+
return stem
|
|
25
|
+
.replaceAll(/([a-z0-9])([A-Z])/g, "$1_$2")
|
|
26
|
+
.replaceAll(/([A-Z]+)([A-Z][a-z])/g, "$1_$2")
|
|
27
|
+
.toLowerCase();
|
|
28
|
+
}
|
|
29
|
+
/** Primary Scale* helpers (no Colour / Ordinal-only aliases). */
|
|
30
|
+
export function primaryScaleHelpers() {
|
|
31
|
+
return scaleCapabilityCamelHelpers();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Every public Scale* surface: primary shells + Colour aliases + Ordinal
|
|
35
|
+
* style aliases (binding-identical re-exports).
|
|
36
|
+
*/
|
|
37
|
+
export function allScaleHelpers() {
|
|
38
|
+
const primary = scaleCapabilityCamelHelpers();
|
|
39
|
+
const colour = primary
|
|
40
|
+
.filter((h) => h.startsWith("scaleColor"))
|
|
41
|
+
.map((h) => h.replace("Color", "Colour"));
|
|
42
|
+
return [...new Set([...primary, ...colour, ...STYLE_ORDINAL_SCALE_HELPERS])].toSorted();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Complete per-scale API reference. Keys are route slugs
|
|
46
|
+
* (e.g. color_continuous, x_log10). Precomputed at gen time.
|
|
47
|
+
*/
|
|
48
|
+
export const SCALE_REFERENCE = SCALE_REFERENCE_DATA;
|
|
49
|
+
/** Stable sorted list for docs index, search, and inventory. */
|
|
50
|
+
export function scaleReferenceList() {
|
|
51
|
+
return Object.values(SCALE_REFERENCE).toSorted((a, b) => a.slug.localeCompare(b.slug));
|
|
52
|
+
}
|
|
53
|
+
/** Primary (non-alias) entries only. */
|
|
54
|
+
export function scaleReferencePrimaries() {
|
|
55
|
+
return scaleReferenceList().filter((e) => e.aliasOf === undefined);
|
|
56
|
+
}
|
|
57
|
+
/** Group primaries by family for the landing page. */
|
|
58
|
+
export function scaleReferenceByFamily() {
|
|
59
|
+
const groups = {};
|
|
60
|
+
for (const cap of SCALE_CAPABILITIES) {
|
|
61
|
+
groups[cap.family] = [];
|
|
62
|
+
}
|
|
63
|
+
for (const entry of scaleReferencePrimaries()) {
|
|
64
|
+
groups[entry.family].push(entry);
|
|
65
|
+
}
|
|
66
|
+
for (const family of Object.keys(groups)) {
|
|
67
|
+
groups[family] = Object.freeze(groups[family].toSorted((a, b) => a.slug.localeCompare(b.slug)));
|
|
68
|
+
}
|
|
69
|
+
return Object.freeze(groups);
|
|
70
|
+
}
|
|
71
|
+
/** Display labels for capability families on the index page. */
|
|
72
|
+
export const SCALE_FAMILY_LABELS = Object.freeze({
|
|
73
|
+
"position-continuous": "Position — continuous",
|
|
74
|
+
"position-binned": "Position — binned",
|
|
75
|
+
"position-temporal": "Position — temporal",
|
|
76
|
+
"position-discrete": "Position — discrete",
|
|
77
|
+
"color-fill": "Color and fill",
|
|
78
|
+
"numeric-style": "Size, linewidth, and alpha",
|
|
79
|
+
"finite-style": "Shape and linetype",
|
|
80
|
+
});
|
|
81
|
+
/** Known scale reference slugs (for route entry generation). */
|
|
82
|
+
export function knownScaleSlugs() {
|
|
83
|
+
return scaleReferenceList().map((e) => e.slug);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=scale-reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scale-reference.js","sourceRoot":"","sources":["../src/scale-reference.ts"],"names":[],"mappings":"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"}
|