@howells/hairline 0.0.0-stage → 0.1.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 +148 -2
- package/lib/charts/axes.js +5 -0
- package/lib/charts/basics/candlestick.data.js +44 -0
- package/lib/charts/basics/candlestick.js +180 -0
- package/lib/charts/basics/daily-empty.js +24 -0
- package/lib/charts/basics/daily-readings.js +16 -0
- package/lib/charts/basics/dot-heat.data.js +225 -0
- package/lib/charts/basics/dot-heat.js +174 -0
- package/lib/charts/basics/dumbbell-queue.js +203 -0
- package/lib/charts/basics/hairline-area.js +208 -0
- package/lib/charts/basics/hairline-line.js +195 -0
- package/lib/charts/basics/nested-treemap.data.js +55 -0
- package/lib/charts/basics/nested-treemap.js +191 -0
- package/lib/charts/basics/paired-rungs.data.js +31 -0
- package/lib/charts/basics/paired-rungs.js +151 -0
- package/lib/charts/basics/plumb-scatter.js +229 -0
- package/lib/charts/basics/rung-bars.js +178 -0
- package/lib/charts/basics/rung-geometry.js +6 -0
- package/lib/charts/basics/rung-histogram.data.js +73 -0
- package/lib/charts/basics/rung-histogram.js +153 -0
- package/lib/charts/basics/rung-waterfall.data.js +30 -0
- package/lib/charts/basics/rung-waterfall.js +150 -0
- package/lib/charts/basics/rungs.js +22 -0
- package/lib/charts/basics/series-key.js +26 -0
- package/lib/charts/basics/stacked-rungs.data.js +42 -0
- package/lib/charts/basics/stacked-rungs.js +174 -0
- package/lib/charts/basics/stream-ribbon.data.js +124 -0
- package/lib/charts/basics/stream-ribbon.js +336 -0
- package/lib/charts/basics/tick-box.data.js +50 -0
- package/lib/charts/basics/tick-box.js +226 -0
- package/lib/charts/basics/tick-donut.data.js +30 -0
- package/lib/charts/basics/tick-donut.js +210 -0
- package/lib/charts/basics/tick-gauge.data.js +8 -0
- package/lib/charts/basics/tick-gauge.js +169 -0
- package/lib/charts/basics/tick-rows.data.js +30 -0
- package/lib/charts/basics/tick-rows.js +121 -0
- package/lib/charts/basics/util-a.js +15 -0
- package/lib/charts/basics/util-b.js +13 -0
- package/lib/charts/big/circular-graph.data.js +827 -0
- package/lib/charts/big/circular-graph.js +289 -0
- package/lib/charts/big/force-galaxy-model.js +167 -0
- package/lib/charts/big/force-galaxy.data.js +813 -0
- package/lib/charts/big/force-galaxy.js +276 -0
- package/lib/charts/big/thread-triptych.data.js +204 -0
- package/lib/charts/big/thread-triptych.js +334 -0
- package/lib/charts/board/room.js +6 -0
- package/lib/charts/board/slope.js +176 -0
- package/lib/charts/board/spread.js +28 -0
- package/lib/charts/control.js +18 -0
- package/lib/charts/core.js +84 -0
- package/lib/charts/data-table.js +34 -0
- package/lib/charts/fills.js +153 -0
- package/lib/charts/forms/area-difference.data.js +62 -0
- package/lib/charts/forms/area-difference.js +192 -0
- package/lib/charts/forms/brush-math.js +42 -0
- package/lib/charts/forms/brush-strip.js +199 -0
- package/lib/charts/forms/brushed-overview.data.js +374 -0
- package/lib/charts/forms/brushed-overview.js +162 -0
- package/lib/charts/forms/chord-ring.data.js +140 -0
- package/lib/charts/forms/chord-ring.js +167 -0
- package/lib/charts/forms/circle-pack.data.js +80 -0
- package/lib/charts/forms/circle-pack.js +99 -0
- package/lib/charts/forms/hatched-stack.data.js +71 -0
- package/lib/charts/forms/hatched-stack.js +228 -0
- package/lib/charts/forms/radial-year.data.js +13 -0
- package/lib/charts/forms/radial-year.js +156 -0
- package/lib/charts/frame.js +73 -0
- package/lib/charts/glance/aggregate-sankey.data.js +74 -0
- package/lib/charts/glance/aggregate-sankey.js +242 -0
- package/lib/charts/glance/bar-race.data.js +122 -0
- package/lib/charts/glance/bar-race.js +246 -0
- package/lib/charts/glance/big-slice.data.js +41 -0
- package/lib/charts/glance/big-slice.js +238 -0
- package/lib/charts/glance/chunky-bars.data.js +22 -0
- package/lib/charts/glance/chunky-bars.js +113 -0
- package/lib/charts/glance/circular-graph.data.js +146 -0
- package/lib/charts/glance/circular-graph.js +138 -0
- package/lib/charts/glance/control-slot.js +9 -0
- package/lib/charts/glance/diverging-bar.data.js +34 -0
- package/lib/charts/glance/diverging-bar.js +154 -0
- package/lib/charts/glance/dot-waffle.data.js +26 -0
- package/lib/charts/glance/dot-waffle.js +179 -0
- package/lib/charts/glance/draw-in.data.js +9 -0
- package/lib/charts/glance/draw-in.goals.json.js +289 -0
- package/lib/charts/glance/draw-in.js +214 -0
- package/lib/charts/glance/dynamic-stream.data.js +6 -0
- package/lib/charts/glance/dynamic-stream.js +189 -0
- package/lib/charts/glance/force-graph.data.js +77 -0
- package/lib/charts/glance/force-graph.js +211 -0
- package/lib/charts/glance/jitter-strip.data.js +10 -0
- package/lib/charts/glance/jitter-strip.easter.json.js +430 -0
- package/lib/charts/glance/jitter-strip.js +157 -0
- package/lib/charts/glance/link-bundle.js +51 -0
- package/lib/charts/glance/matrix-heat-glance.data.js +108 -0
- package/lib/charts/glance/matrix-heat-glance.js +170 -0
- package/lib/charts/glance/pictorial-bar.data.js +22 -0
- package/lib/charts/glance/pictorial-bar.js +180 -0
- package/lib/charts/glance/rainfall-dual-area.data.js +177 -0
- package/lib/charts/glance/rainfall-dual-area.js +192 -0
- package/lib/charts/glance/rank-strip.data.js +76 -0
- package/lib/charts/glance/rank-strip.js +172 -0
- package/lib/charts/glance/scatter-labels.js +60 -0
- package/lib/charts/glance/scatter-morph.data.js +78 -0
- package/lib/charts/glance/scatter-morph.js +338 -0
- package/lib/charts/glance/single-axis.data.js +6 -0
- package/lib/charts/glance/single-axis.js +150 -0
- package/lib/charts/glance/single-axis.tides.json.js +180 -0
- package/lib/charts/glance/stagger-wave.data.js +66 -0
- package/lib/charts/glance/stagger-wave.js +132 -0
- package/lib/charts/glance/tree-lr.data.js +41 -0
- package/lib/charts/glance/tree-lr.js +135 -0
- package/lib/charts/glance/util-a.js +49 -0
- package/lib/charts/glance/util-b.js +19 -0
- package/lib/charts/glance/violin.data.js +9 -0
- package/lib/charts/glance/violin.js +185 -0
- package/lib/charts/glance/violin.tenors.json.js +5 -0
- package/lib/charts/hooks.js +154 -0
- package/lib/charts/hover.js +19 -0
- package/lib/charts/lupi/arc-matrix.data.js +83 -0
- package/lib/charts/lupi/arc-matrix.js +146 -0
- package/lib/charts/lupi/ballot-tally.data.js +22 -0
- package/lib/charts/lupi/ballot-tally.js +125 -0
- package/lib/charts/lupi/barcode-lollipop.data.js +195 -0
- package/lib/charts/lupi/barcode-lollipop.js +161 -0
- package/lib/charts/lupi/brand-spectrum.data.js +70 -0
- package/lib/charts/lupi/brand-spectrum.js +233 -0
- package/lib/charts/lupi/bubble-almanac.data.js +689 -0
- package/lib/charts/lupi/bubble-almanac.js +164 -0
- package/lib/charts/lupi/calendar-heat.data.js +399 -0
- package/lib/charts/lupi/calendar-heat.js +175 -0
- package/lib/charts/lupi/cluster-field.data.js +83 -0
- package/lib/charts/lupi/cluster-field.js +173 -0
- package/lib/charts/lupi/dot-cascade.data.js +54 -0
- package/lib/charts/lupi/dot-cascade.js +124 -0
- package/lib/charts/lupi/dotty-matrix.data.js +170 -0
- package/lib/charts/lupi/dotty-matrix.js +126 -0
- package/lib/charts/lupi/hourglass-stream.data.js +30 -0
- package/lib/charts/lupi/hourglass-stream.js +158 -0
- package/lib/charts/lupi/hundred-field.data.js +38 -0
- package/lib/charts/lupi/hundred-field.js +237 -0
- package/lib/charts/lupi/launch-fan.data.js +315 -0
- package/lib/charts/lupi/launch-fan.js +198 -0
- package/lib/charts/lupi/matrix-heat.data.js +97 -0
- package/lib/charts/lupi/matrix-heat.js +246 -0
- package/lib/charts/lupi/parallel-coordinates.data.js +54 -0
- package/lib/charts/lupi/parallel-coordinates.js +218 -0
- package/lib/charts/lupi/radial-convergence.data.js +178 -0
- package/lib/charts/lupi/radial-convergence.js +208 -0
- package/lib/charts/lupi/radial-patchwork.data.js +454 -0
- package/lib/charts/lupi/radial-patchwork.js +181 -0
- package/lib/charts/lupi/ridgeline.data.js +1834 -0
- package/lib/charts/lupi/ridgeline.js +195 -0
- package/lib/charts/lupi/trend-lineage.data.js +51 -0
- package/lib/charts/lupi/trend-lineage.js +198 -0
- package/lib/charts/lupi/type-colonnade.data.js +18 -0
- package/lib/charts/lupi/type-colonnade.js +198 -0
- package/lib/charts/lupi/util-a.js +14 -0
- package/lib/charts/lupi/util-b.js +12 -0
- package/lib/charts/maps/choropleth.js +295 -0
- package/lib/charts/maps/geo.js +84 -0
- package/lib/charts/maps/legend.js +83 -0
- package/lib/charts/maps/step-fill.js +9 -0
- package/lib/charts/maps/us-choropleth.data.js +249 -0
- package/lib/charts/maps/us-choropleth.js +41 -0
- package/lib/charts/maps/world-choropleth.data.js +681 -0
- package/lib/charts/maps/world-choropleth.js +46 -0
- package/lib/charts/markers.js +35 -0
- package/lib/charts/marks.js +31 -0
- package/lib/charts/motion.js +11 -0
- package/lib/charts/originals/daily-users.data.js +101 -0
- package/lib/charts/originals/daily-users.js +203 -0
- package/lib/charts/originals/feature-rank.data.js +92 -0
- package/lib/charts/originals/feature-rank.js +167 -0
- package/lib/charts/originals/format.js +5 -0
- package/lib/charts/originals/key.js +26 -0
- package/lib/charts/originals/response-time.data.js +98 -0
- package/lib/charts/originals/response-time.js +187 -0
- package/lib/charts/originals/revenue-by-plan.data.js +26 -0
- package/lib/charts/originals/revenue-by-plan.js +248 -0
- package/lib/charts/playback.js +68 -0
- package/lib/charts/plot-note.js +27 -0
- package/lib/charts/roles.js +5 -0
- package/lib/charts/rules.js +66 -0
- package/lib/charts/scale-context.js +6 -0
- package/lib/charts/shapes.js +8 -0
- package/lib/charts/shared-options.js +25 -0
- package/lib/charts/svg.js +43 -0
- package/lib/charts/text.js +30 -0
- package/lib/charts/texture-ids.js +20 -0
- package/lib/charts/texture.js +286 -0
- package/lib/charts/util.js +43 -0
- package/lib/charts/value-grid.js +26 -0
- package/lib/draw.js +27 -0
- package/lib/entries/dumbbell-queue.js +2 -0
- package/lib/entries/hairline-area.js +2 -0
- package/lib/entries/hairline-line.js +2 -0
- package/lib/entries/plumb-scatter.js +2 -0
- package/lib/entries/rung-bars.js +2 -0
- package/lib/entries/slope.js +2 -0
- package/lib/frame.js +2 -0
- package/lib/hairline.css +1385 -0
- package/lib/index.js +72 -0
- package/lib/json-schema/dumbbell-queue.json +258 -0
- package/lib/json-schema/hairline-area.json +262 -0
- package/lib/json-schema/hairline-line.json +256 -0
- package/lib/json-schema/index.json +50 -0
- package/lib/json-schema/plumb-scatter.json +363 -0
- package/lib/json-schema/rung-bars.json +230 -0
- package/lib/json-schema/slope.json +333 -0
- package/lib/kit.js +16 -0
- package/lib/lib/format.js +29 -0
- package/lib/lib/random.js +8 -0
- package/lib/maps.js +4 -0
- package/lib/schema/daily.js +9 -0
- package/lib/schema/dumbbell-queue.js +28 -0
- package/lib/schema/format.js +72 -0
- package/lib/schema/hairline-area.js +24 -0
- package/lib/schema/hairline-line.js +23 -0
- package/lib/schema/key.js +4 -0
- package/lib/schema/metrics.js +26 -0
- package/lib/schema/motion.js +12 -0
- package/lib/schema/options.js +21 -0
- package/lib/schema/plumb-scatter.js +48 -0
- package/lib/schema/registry.js +132 -0
- package/lib/schema/rung-bars.js +25 -0
- package/lib/schema/scale.js +9 -0
- package/lib/schema/slope.js +28 -0
- package/lib/schema/validate.js +25 -0
- package/lib/schema.js +16 -0
- package/lib/theme/derive.js +98 -0
- package/lib/theme.css +443 -0
- package/lib/theme.js +1 -0
- package/lib/tokens.css +306 -0
- package/lib/types/charts/axes.d.ts +14 -0
- package/lib/types/charts/basics/candlestick.d.ts +22 -0
- package/lib/types/charts/basics/candlestick.data.d.ts +10 -0
- package/lib/types/charts/basics/daily-empty.d.ts +7 -0
- package/lib/types/charts/basics/daily-readings.d.ts +38 -0
- package/lib/types/charts/basics/dot-heat.d.ts +19 -0
- package/lib/types/charts/basics/dot-heat.data.d.ts +28 -0
- package/lib/types/charts/basics/dumbbell-queue.d.ts +15 -0
- package/lib/types/charts/basics/hairline-area.d.ts +18 -0
- package/lib/types/charts/basics/hairline-line.d.ts +18 -0
- package/lib/types/charts/basics/nested-treemap.d.ts +18 -0
- package/lib/types/charts/basics/nested-treemap.data.d.ts +30 -0
- package/lib/types/charts/basics/paired-rungs.d.ts +21 -0
- package/lib/types/charts/basics/paired-rungs.data.d.ts +43 -0
- package/lib/types/charts/basics/plumb-scatter.d.ts +14 -0
- package/lib/types/charts/basics/rung-bars.d.ts +16 -0
- package/lib/types/charts/basics/rung-geometry.d.ts +6 -0
- package/lib/types/charts/basics/rung-histogram.d.ts +22 -0
- package/lib/types/charts/basics/rung-histogram.data.d.ts +34 -0
- package/lib/types/charts/basics/rung-waterfall.d.ts +19 -0
- package/lib/types/charts/basics/rung-waterfall.data.d.ts +31 -0
- package/lib/types/charts/basics/rungs.d.ts +28 -0
- package/lib/types/charts/basics/series-key.d.ts +19 -0
- package/lib/types/charts/basics/stacked-rungs.d.ts +20 -0
- package/lib/types/charts/basics/stacked-rungs.data.d.ts +26 -0
- package/lib/types/charts/basics/stream-ribbon.d.ts +19 -0
- package/lib/types/charts/basics/stream-ribbon.data.d.ts +29 -0
- package/lib/types/charts/basics/tick-box.d.ts +19 -0
- package/lib/types/charts/basics/tick-box.data.d.ts +30 -0
- package/lib/types/charts/basics/tick-donut.d.ts +24 -0
- package/lib/types/charts/basics/tick-donut.data.d.ts +25 -0
- package/lib/types/charts/basics/tick-gauge.d.ts +22 -0
- package/lib/types/charts/basics/tick-gauge.data.d.ts +24 -0
- package/lib/types/charts/basics/tick-rows.d.ts +18 -0
- package/lib/types/charts/basics/tick-rows.data.d.ts +23 -0
- package/lib/types/charts/basics/util-a.d.ts +10 -0
- package/lib/types/charts/basics/util-b.d.ts +13 -0
- package/lib/types/charts/big/circular-graph.d.ts +20 -0
- package/lib/types/charts/big/circular-graph.data.d.ts +46 -0
- package/lib/types/charts/big/force-galaxy-model.d.ts +109 -0
- package/lib/types/charts/big/force-galaxy.d.ts +18 -0
- package/lib/types/charts/big/force-galaxy.data.d.ts +48 -0
- package/lib/types/charts/big/thread-triptych.d.ts +17 -0
- package/lib/types/charts/big/thread-triptych.data.d.ts +41 -0
- package/lib/types/charts/board/room.d.ts +18 -0
- package/lib/types/charts/board/slope.d.ts +14 -0
- package/lib/types/charts/board/spread.d.ts +5 -0
- package/lib/types/charts/control.d.ts +17 -0
- package/lib/types/charts/core.d.ts +77 -0
- package/lib/types/charts/data-table.d.ts +18 -0
- package/lib/types/charts/fills.d.ts +103 -0
- package/lib/types/charts/forms/area-difference.d.ts +9 -0
- package/lib/types/charts/forms/area-difference.data.d.ts +26 -0
- package/lib/types/charts/forms/brush-math.d.ts +19 -0
- package/lib/types/charts/forms/brush-strip.d.ts +19 -0
- package/lib/types/charts/forms/brushed-overview.d.ts +12 -0
- package/lib/types/charts/forms/brushed-overview.data.d.ts +16 -0
- package/lib/types/charts/forms/chord-ring.d.ts +12 -0
- package/lib/types/charts/forms/chord-ring.data.d.ts +29 -0
- package/lib/types/charts/forms/circle-pack.d.ts +9 -0
- package/lib/types/charts/forms/circle-pack.data.d.ts +23 -0
- package/lib/types/charts/forms/hatched-stack.d.ts +10 -0
- package/lib/types/charts/forms/hatched-stack.data.d.ts +36 -0
- package/lib/types/charts/forms/radial-year.d.ts +8 -0
- package/lib/types/charts/forms/radial-year.data.d.ts +17 -0
- package/lib/types/charts/frame.d.ts +21 -0
- package/lib/types/charts/glance/aggregate-sankey.d.ts +23 -0
- package/lib/types/charts/glance/aggregate-sankey.data.d.ts +32 -0
- package/lib/types/charts/glance/bar-race.d.ts +20 -0
- package/lib/types/charts/glance/bar-race.data.d.ts +32 -0
- package/lib/types/charts/glance/big-slice.d.ts +27 -0
- package/lib/types/charts/glance/big-slice.data.d.ts +30 -0
- package/lib/types/charts/glance/chunky-bars.d.ts +18 -0
- package/lib/types/charts/glance/chunky-bars.data.d.ts +24 -0
- package/lib/types/charts/glance/circular-graph.d.ts +19 -0
- package/lib/types/charts/glance/circular-graph.data.d.ts +43 -0
- package/lib/types/charts/glance/control-slot.d.ts +9 -0
- package/lib/types/charts/glance/diverging-bar.d.ts +19 -0
- package/lib/types/charts/glance/diverging-bar.data.d.ts +27 -0
- package/lib/types/charts/glance/dot-waffle.d.ts +19 -0
- package/lib/types/charts/glance/dot-waffle.data.d.ts +31 -0
- package/lib/types/charts/glance/draw-in.d.ts +20 -0
- package/lib/types/charts/glance/draw-in.data.d.ts +6 -0
- package/lib/types/charts/glance/dynamic-stream.d.ts +22 -0
- package/lib/types/charts/glance/dynamic-stream.data.d.ts +7 -0
- package/lib/types/charts/glance/force-graph.d.ts +16 -0
- package/lib/types/charts/glance/force-graph.data.d.ts +45 -0
- package/lib/types/charts/glance/jitter-strip.d.ts +24 -0
- package/lib/types/charts/glance/jitter-strip.data.d.ts +27 -0
- package/lib/types/charts/glance/link-bundle.d.ts +22 -0
- package/lib/types/charts/glance/matrix-heat-glance.d.ts +22 -0
- package/lib/types/charts/glance/matrix-heat-glance.data.d.ts +35 -0
- package/lib/types/charts/glance/pictorial-bar.d.ts +20 -0
- package/lib/types/charts/glance/pictorial-bar.data.d.ts +27 -0
- package/lib/types/charts/glance/rainfall-dual-area.d.ts +19 -0
- package/lib/types/charts/glance/rainfall-dual-area.data.d.ts +32 -0
- package/lib/types/charts/glance/rank-strip.d.ts +19 -0
- package/lib/types/charts/glance/rank-strip.data.d.ts +36 -0
- package/lib/types/charts/glance/scatter-labels.d.ts +23 -0
- package/lib/types/charts/glance/scatter-morph.d.ts +22 -0
- package/lib/types/charts/glance/scatter-morph.data.d.ts +30 -0
- package/lib/types/charts/glance/single-axis.d.ts +27 -0
- package/lib/types/charts/glance/single-axis.data.d.ts +6 -0
- package/lib/types/charts/glance/stagger-wave.d.ts +18 -0
- package/lib/types/charts/glance/stagger-wave.data.d.ts +26 -0
- package/lib/types/charts/glance/tree-lr.d.ts +16 -0
- package/lib/types/charts/glance/tree-lr.data.d.ts +27 -0
- package/lib/types/charts/glance/util-a.d.ts +31 -0
- package/lib/types/charts/glance/util-b.d.ts +12 -0
- package/lib/types/charts/glance/violin.d.ts +22 -0
- package/lib/types/charts/glance/violin.data.d.ts +24 -0
- package/lib/types/charts/hooks.d.ts +109 -0
- package/lib/types/charts/hover.d.ts +26 -0
- package/lib/types/charts/lupi/arc-matrix.d.ts +18 -0
- package/lib/types/charts/lupi/arc-matrix.data.d.ts +28 -0
- package/lib/types/charts/lupi/ballot-tally.d.ts +19 -0
- package/lib/types/charts/lupi/ballot-tally.data.d.ts +28 -0
- package/lib/types/charts/lupi/barcode-lollipop.d.ts +19 -0
- package/lib/types/charts/lupi/barcode-lollipop.data.d.ts +26 -0
- package/lib/types/charts/lupi/brand-spectrum.d.ts +28 -0
- package/lib/types/charts/lupi/brand-spectrum.data.d.ts +34 -0
- package/lib/types/charts/lupi/bubble-almanac.d.ts +22 -0
- package/lib/types/charts/lupi/bubble-almanac.data.d.ts +45 -0
- package/lib/types/charts/lupi/calendar-heat.d.ts +19 -0
- package/lib/types/charts/lupi/calendar-heat.data.d.ts +20 -0
- package/lib/types/charts/lupi/cluster-field.d.ts +21 -0
- package/lib/types/charts/lupi/cluster-field.data.d.ts +52 -0
- package/lib/types/charts/lupi/dot-cascade.d.ts +22 -0
- package/lib/types/charts/lupi/dot-cascade.data.d.ts +24 -0
- package/lib/types/charts/lupi/dotty-matrix.d.ts +17 -0
- package/lib/types/charts/lupi/dotty-matrix.data.d.ts +32 -0
- package/lib/types/charts/lupi/hourglass-stream.d.ts +18 -0
- package/lib/types/charts/lupi/hourglass-stream.data.d.ts +27 -0
- package/lib/types/charts/lupi/hundred-field.d.ts +18 -0
- package/lib/types/charts/lupi/hundred-field.data.d.ts +24 -0
- package/lib/types/charts/lupi/launch-fan.d.ts +37 -0
- package/lib/types/charts/lupi/launch-fan.data.d.ts +41 -0
- package/lib/types/charts/lupi/matrix-heat.d.ts +20 -0
- package/lib/types/charts/lupi/matrix-heat.data.d.ts +29 -0
- package/lib/types/charts/lupi/parallel-coordinates.d.ts +23 -0
- package/lib/types/charts/lupi/parallel-coordinates.data.d.ts +40 -0
- package/lib/types/charts/lupi/radial-convergence.d.ts +15 -0
- package/lib/types/charts/lupi/radial-convergence.data.d.ts +24 -0
- package/lib/types/charts/lupi/radial-patchwork.d.ts +16 -0
- package/lib/types/charts/lupi/radial-patchwork.data.d.ts +35 -0
- package/lib/types/charts/lupi/ridgeline.d.ts +23 -0
- package/lib/types/charts/lupi/ridgeline.data.d.ts +19 -0
- package/lib/types/charts/lupi/trend-lineage.d.ts +18 -0
- package/lib/types/charts/lupi/trend-lineage.data.d.ts +56 -0
- package/lib/types/charts/lupi/type-colonnade.d.ts +20 -0
- package/lib/types/charts/lupi/type-colonnade.data.d.ts +30 -0
- package/lib/types/charts/lupi/util-a.d.ts +9 -0
- package/lib/types/charts/lupi/util-b.d.ts +11 -0
- package/lib/types/charts/maps/choropleth.d.ts +33 -0
- package/lib/types/charts/maps/geo.d.ts +48 -0
- package/lib/types/charts/maps/legend.d.ts +14 -0
- package/lib/types/charts/maps/step-fill.d.ts +6 -0
- package/lib/types/charts/maps/us-choropleth.d.ts +25 -0
- package/lib/types/charts/maps/us-choropleth.data.d.ts +23 -0
- package/lib/types/charts/maps/world-choropleth.d.ts +22 -0
- package/lib/types/charts/maps/world-choropleth.data.d.ts +35 -0
- package/lib/types/charts/markers.d.ts +42 -0
- package/lib/types/charts/marks.d.ts +58 -0
- package/lib/types/charts/motion.d.ts +12 -0
- package/lib/types/charts/originals/daily-users.d.ts +13 -0
- package/lib/types/charts/originals/daily-users.data.d.ts +17 -0
- package/lib/types/charts/originals/feature-rank.d.ts +13 -0
- package/lib/types/charts/originals/feature-rank.data.d.ts +29 -0
- package/lib/types/charts/originals/format.d.ts +2 -0
- package/lib/types/charts/originals/key.d.ts +16 -0
- package/lib/types/charts/originals/response-time.d.ts +11 -0
- package/lib/types/charts/originals/response-time.data.d.ts +24 -0
- package/lib/types/charts/originals/revenue-by-plan.d.ts +12 -0
- package/lib/types/charts/originals/revenue-by-plan.data.d.ts +26 -0
- package/lib/types/charts/playback.d.ts +42 -0
- package/lib/types/charts/plot-note.d.ts +37 -0
- package/lib/types/charts/roles.d.ts +28 -0
- package/lib/types/charts/rules.d.ts +62 -0
- package/lib/types/charts/scale-context.d.ts +3 -0
- package/lib/types/charts/shapes.d.ts +9 -0
- package/lib/types/charts/shared-options.d.ts +25 -0
- package/lib/types/charts/svg.d.ts +24 -0
- package/lib/types/charts/text.d.ts +36 -0
- package/lib/types/charts/texture-ids.d.ts +24 -0
- package/lib/types/charts/texture.d.ts +185 -0
- package/lib/types/charts/util.d.ts +66 -0
- package/lib/types/charts/value-grid.d.ts +22 -0
- package/lib/types/draw.d.ts +279 -0
- package/lib/types/entries/dumbbell-queue.d.ts +2 -0
- package/lib/types/entries/hairline-area.d.ts +2 -0
- package/lib/types/entries/hairline-line.d.ts +2 -0
- package/lib/types/entries/plumb-scatter.d.ts +2 -0
- package/lib/types/entries/rung-bars.d.ts +2 -0
- package/lib/types/entries/slope.d.ts +2 -0
- package/lib/types/frame.d.ts +2 -0
- package/lib/types/index.d.ts +82 -0
- package/lib/types/kit.d.ts +22 -0
- package/lib/types/lib/format.d.ts +58 -0
- package/lib/types/lib/random.d.ts +5 -0
- package/lib/types/maps.d.ts +2 -0
- package/lib/types/schema/daily.d.ts +14 -0
- package/lib/types/schema/dumbbell-queue.d.ts +91 -0
- package/lib/types/schema/format.d.ts +101 -0
- package/lib/types/schema/hairline-area.d.ts +83 -0
- package/lib/types/schema/hairline-line.d.ts +85 -0
- package/lib/types/schema/key.d.ts +12 -0
- package/lib/types/schema/metrics.d.ts +26 -0
- package/lib/types/schema/motion.d.ts +22 -0
- package/lib/types/schema/options.d.ts +51 -0
- package/lib/types/schema/plumb-scatter.d.ts +124 -0
- package/lib/types/schema/registry.d.ts +309 -0
- package/lib/types/schema/rung-bars.d.ts +84 -0
- package/lib/types/schema/scale.d.ts +34 -0
- package/lib/types/schema/slope.d.ts +120 -0
- package/lib/types/schema/validate.d.ts +29 -0
- package/lib/types/schema.d.ts +30 -0
- package/lib/types/theme/derive.d.ts +23 -0
- package/lib/types/theme.d.ts +2 -0
- package/lib/vendor/us-atlas/states-10m.json.js +13855 -0
- package/lib/vendor/world-atlas/countries-110m.json.js +9357 -0
- package/package.json +162 -4
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L13 Library earnings: how many UK writers, illustrators and others were paid
|
|
3
|
+
* at least a given sum for library loans in one year.
|
|
4
|
+
*
|
|
5
|
+
* Source: British Library, Public Lending Right (PLR) page, "Shown below is
|
|
6
|
+
* how the UK PLR earnings were distributed amongst registered contributors for
|
|
7
|
+
* the 2024/25 year" (payments by pay band, rate 12.40p a loan, minimum payment
|
|
8
|
+
* £1, maximum £6,600).
|
|
9
|
+
* Page: https://www.bl.uk/plr
|
|
10
|
+
* Fetched 2026-10-15. The page is British Library web content; only the
|
|
11
|
+
* published counts are used.
|
|
12
|
+
*
|
|
13
|
+
* Transform: the page gives payments per band: £1 to £99.99 19,039; £100 to
|
|
14
|
+
* £499.99 3,399; £500 to £999.99 973; £1,000 to £2,499.99 877; £2,500 to
|
|
15
|
+
* £4,999.99 393; £5,000 to £6,600 311 (total 24,992, which the bands sum to).
|
|
16
|
+
* Each stage is the cumulative count of payments at or above its threshold:
|
|
17
|
+
* £1 or more 24,992; £100 or more 5,953; £500 or more 2,554; £1,000 or more
|
|
18
|
+
* 1,581; £2,500 or more 704; £5,000 or more 311.
|
|
19
|
+
* Script: reference/scripts/L13/bands.py.
|
|
20
|
+
*/
|
|
21
|
+
/** One funnel stage and how many reached it. */
|
|
22
|
+
export interface StageDatum {
|
|
23
|
+
label: string;
|
|
24
|
+
value: number;
|
|
25
|
+
}
|
|
26
|
+
/** Payments at or above each sum, UK PLR 2024/25. */
|
|
27
|
+
export declare const hourglassDemo: StageDatum[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { NoteProps } from "../../schema/options.js";
|
|
2
|
+
import type { ShareDatum } from "./hundred-field.data.js";
|
|
3
|
+
interface HundredFieldProps extends NoteProps {
|
|
4
|
+
data?: ShareDatum[];
|
|
5
|
+
height?: number;
|
|
6
|
+
/** What one seed stands for, used in the tooltip ("donors"). */
|
|
7
|
+
unit?: string;
|
|
8
|
+
/** Group drawn in the hero colour. Defaults to the largest. */
|
|
9
|
+
highlight?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* L14 A hundred donors. A hundred donors as one engraved seed head: a
|
|
13
|
+
* sunflower of exactly a hundred seeds, cut into contiguous wedges by blood
|
|
14
|
+
* type, each with its own glyph. The largest is the hero, in solid
|
|
15
|
+
* ink seeds.
|
|
16
|
+
*/
|
|
17
|
+
export declare const HundredField: (props: HundredFieldProps) => import("react").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L14 A hundred donors: the blood types of a hundred blood donors in England.
|
|
3
|
+
*
|
|
4
|
+
* Source: NHS Blood and Transplant, "Blood types" page, the list "the
|
|
5
|
+
* percentage of donors with each blood type" (data accurate at February 2026;
|
|
6
|
+
* figures rounded to the nearest whole number by NHSBT).
|
|
7
|
+
* Page: https://www.blood.co.uk/why-give-blood/blood-types/
|
|
8
|
+
* Fetched 2026-10-15.
|
|
9
|
+
*
|
|
10
|
+
* Transform: the eight percentages are copied unchanged: O positive 36, O
|
|
11
|
+
* negative 14, A positive 28, A negative 8, B positive 8, B negative 3, AB
|
|
12
|
+
* positive 2, AB negative 1. They sum to exactly 100, so each is read as
|
|
13
|
+
* donors in a hundred. The page's prose says "just 2%" for B negative, which
|
|
14
|
+
* disagrees with its own list (3%); the list is used. The types are ordered
|
|
15
|
+
* around the head so that the three smallest wedges sit apart and their
|
|
16
|
+
* labels do not collide.
|
|
17
|
+
*/
|
|
18
|
+
/** One group's share of the whole, in units (donors in a hundred). */
|
|
19
|
+
export interface ShareDatum {
|
|
20
|
+
label: string;
|
|
21
|
+
value: number;
|
|
22
|
+
}
|
|
23
|
+
/** The blood types of a hundred donors, NHS Blood and Transplant, 2026. */
|
|
24
|
+
export declare const hundredFieldDemo: ShareDatum[];
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { NoteProps } from "../../schema/options.js";
|
|
2
|
+
import type { LaunchFanDatum } from "./launch-fan.data.js";
|
|
3
|
+
/** The time unit of a fan: launches, readings and rings count these. */
|
|
4
|
+
export type FanUnit = "month" | "week";
|
|
5
|
+
interface LaunchFanProps extends NoteProps {
|
|
6
|
+
data?: LaunchFanDatum[];
|
|
7
|
+
/** The last week: where every spoke ends. Same as `periods`. */
|
|
8
|
+
weeks?: number;
|
|
9
|
+
/**
|
|
10
|
+
* The last period, in `unit`s: where every spoke ends. Defaults to
|
|
11
|
+
* `weeks`, else the demo's 24 weeks, else 20 weeks or 24 months.
|
|
12
|
+
*/
|
|
13
|
+
periods?: number;
|
|
14
|
+
/**
|
|
15
|
+
* What `launch`, `weekly` and `periods` count. "month" (the default)
|
|
16
|
+
* spaces rings every 3, 6 or 12 months by span; "week" every five weeks.
|
|
17
|
+
*/
|
|
18
|
+
unit?: FanUnit;
|
|
19
|
+
/**
|
|
20
|
+
* The calendar date of a period: rings then read in the broadsheet style
|
|
21
|
+
* ("Mar 2025 · Apr · May") and tooltips name the day (weeks) or month
|
|
22
|
+
* (months). Without it periods read "W14" or "M14".
|
|
23
|
+
*/
|
|
24
|
+
periodDate?: (period: number) => Date;
|
|
25
|
+
height?: number;
|
|
26
|
+
format?: (v: number) => string;
|
|
27
|
+
/** Name of the spoke drawn in ink. Defaults to the largest. */
|
|
28
|
+
highlight?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* L1 Spring arrivals. One spoke per entity, fanned through a quarter turn and
|
|
32
|
+
* ordered by arrival. Distance along the spoke is time: the big dot sits at the
|
|
33
|
+
* arrival week or month (area = peak reading), and a 1px rung crosses the spoke
|
|
34
|
+
* at every one since, as long as that period's reading.
|
|
35
|
+
*/
|
|
36
|
+
export declare const LaunchFan: (props: LaunchFanProps) => import("react").JSX.Element;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Twelve summer migrants in Britain: the week each arrives and how its share of
|
|
3
|
+
* bird records climbs, March to August 2025.
|
|
4
|
+
*
|
|
5
|
+
* Source: GBIF occurrence search, the eBird Observation Dataset (Cornell Lab
|
|
6
|
+
* of Ornithology, CC BY 4.0, https://doi.org/10.15468/aomfnb) and the other
|
|
7
|
+
* datasets GBIF aggregates, restricted to country GB. Each count is
|
|
8
|
+
* https://api.gbif.org/v1/occurrence/search?country=GB&taxonKey=<key>&eventDate=<first day>,<last day>&limit=0
|
|
9
|
+
* for 24 consecutive 7-day weeks from 2025-03-01 to 2025-08-15, once for each
|
|
10
|
+
* species and once for all birds (taxonKey=212, class Aves). The species
|
|
11
|
+
* keys came from https://api.gbif.org/v1/species/match: Northern wheatear Oenanthe oenanthe (5231240), Sand martin Riparia riparia (2489160), Chiffchaff Phylloscopus collybita (2493091), Swallow Hirundo rustica (9515886), Willow warbler Phylloscopus trochilus (2493052), Cuckoo Cuculus canorus (5231918), Whitethroat Curruca communis (10507373), House martin Delichon urbicum (2489214), Nightingale Luscinia megarhynchos (7660710), Garden warbler Sylvia borin (2492942), Swift Apus apus (5228676), Spotted flycatcher Muscicapa striata (2492576).
|
|
12
|
+
* Fetched 2026-10-15 (saved to reference/raw/L1/gbif_weekly_2025.json).
|
|
13
|
+
* GBIF counts drift as records are added, so a refetch will differ a little.
|
|
14
|
+
* BTO BirdTrack reporting rates, the plan's first choice, are not offered as a
|
|
15
|
+
* download.
|
|
16
|
+
*
|
|
17
|
+
* Transform: a species' reading for a week is its record count divided by the
|
|
18
|
+
* count of all bird records that week, in per cent, to two decimals (a share
|
|
19
|
+
* of records, not a BirdTrack-style reporting rate). `size` is the largest
|
|
20
|
+
* weekly reading. `launch` is the 1-based week (1 is the week from 1 March)
|
|
21
|
+
* of the first reading at or above a quarter of the species' own peak. `weekly[t]` is the
|
|
22
|
+
* reading t weeks after that week, through week 24; weekly[0] is the arrival
|
|
23
|
+
* week itself. Spokes are sorted by `launch` in the chart. Chiffchaff, which
|
|
24
|
+
* winters here in small numbers, arrives in week 2 on this rule; the
|
|
25
|
+
* quarter-of-peak threshold is mine and is the one judgment in the transform.
|
|
26
|
+
* Script: reference/scripts/L1/emit.py.
|
|
27
|
+
*/
|
|
28
|
+
export interface LaunchFanDatum {
|
|
29
|
+
name: string;
|
|
30
|
+
/** Week (or month, with `unit="month"`) of arrival, 1-based. */
|
|
31
|
+
launch: number;
|
|
32
|
+
/** Peak reading. Sizes the arrival dot. */
|
|
33
|
+
size: number;
|
|
34
|
+
/** One reading per week (or month) from arrival on; sizes the small dots. */
|
|
35
|
+
weekly?: number[];
|
|
36
|
+
}
|
|
37
|
+
/** Weeks in the demo span: 1 March 2025 starts week 1, week 24 ends 15 August. */
|
|
38
|
+
export declare const ARRIVAL_WEEKS = 24;
|
|
39
|
+
/** The first day of demo week `n` (week 1 starts on 1 March 2025). */
|
|
40
|
+
export declare const arrivalWeekDate: (n: number) => Date;
|
|
41
|
+
export declare const launchFanDemo: LaunchFanDatum[];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { MatrixData } from "./matrix-heat.data.js";
|
|
2
|
+
interface MatrixHeatProps {
|
|
3
|
+
data?: MatrixData;
|
|
4
|
+
/** Four lower bounds splitting values into five shades. */
|
|
5
|
+
thresholds?: [number, number, number, number];
|
|
6
|
+
/** Unit suffix for legend and tooltip, e.g. "%". */
|
|
7
|
+
unit?: string;
|
|
8
|
+
/** Cell to frame as the key cell: [row, col]. Defaults to the largest value. */
|
|
9
|
+
highlight?: [number, number];
|
|
10
|
+
height?: number;
|
|
11
|
+
format?: (v: number) => string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* L16 Letter pairs. Two discrete dimensions, one tile per pair: a halftone
|
|
15
|
+
* screen on paper whose dot grows in five steps with the value, the number
|
|
16
|
+
* set on it. The strongest pair is the one ink crosshatch, its number
|
|
17
|
+
* knocked out in paper; cells with no value (the diagonal) are a 4px hatch.
|
|
18
|
+
*/
|
|
19
|
+
export declare const MatrixHeat: (props: MatrixHeatProps) => import("react").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L16 Letter pairs: which letter comes next, for the eight commonest letters.
|
|
3
|
+
*
|
|
4
|
+
* Sources: Peter Norvig, "English Letter Frequency Counts: Mayzner Revisited"
|
|
5
|
+
* (letter ranking, from Google Books Ngrams, 3.56 trillion letters), and his
|
|
6
|
+
* two-letter sequence counts, count_2l.txt (data files used under his
|
|
7
|
+
* published terms; the counts are facts).
|
|
8
|
+
* Pages: https://norvig.com/mayzner.html
|
|
9
|
+
* File: https://norvig.com/ngrams/count_2l.txt
|
|
10
|
+
* Fetched 2026-10-15.
|
|
11
|
+
*
|
|
12
|
+
* Transform: the eight commonest letters are the first eight rows of the
|
|
13
|
+
* "Letter Counts" table (E T A O I N S R). For each, every count of that
|
|
14
|
+
* letter followed by another letter inside a word is totalled over all 26
|
|
15
|
+
* following letters; each of the eight following letters is then that count
|
|
16
|
+
* as a percentage of the total, rounded to a whole number. Row = the first
|
|
17
|
+
* letter, column = the letter after it, so rows do not sum to 100 (the other
|
|
18
|
+
* eighteen letters follow too). The diagonal is real (EE, TT and so on).
|
|
19
|
+
* Script: reference/scripts/L16/bigrams.py.
|
|
20
|
+
*/
|
|
21
|
+
/** A grid of values over two discrete dimensions. */
|
|
22
|
+
export interface MatrixData {
|
|
23
|
+
/** Row labels; columns use the same labels unless `cols` is given. */
|
|
24
|
+
rows: string[];
|
|
25
|
+
cols?: string[];
|
|
26
|
+
/** values[row][col]; null = no value (e.g. the diagonal). */
|
|
27
|
+
values: (number | null)[][];
|
|
28
|
+
}
|
|
29
|
+
export declare const matrixHeatDemo: MatrixData;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { NoteProps } from "../../schema/options.js";
|
|
2
|
+
import type { ParallelData } from "./parallel-coordinates.data.js";
|
|
3
|
+
interface ParallelCoordinatesProps extends NoteProps {
|
|
4
|
+
data?: ParallelData;
|
|
5
|
+
height?: number;
|
|
6
|
+
format?: (v: number) => string;
|
|
7
|
+
/** Name of the entity to draw in ink and label at the end. */
|
|
8
|
+
highlight?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Widest the block of axes gets, in px. Defaults to 600, which suits a
|
|
11
|
+
* gallery card; pass `Infinity` to fill a full-width row.
|
|
12
|
+
*/
|
|
13
|
+
maxWidth?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* L20 Twelve cheeses. Entities across three to six continuous axes, laid
|
|
17
|
+
* over an engraved ground: the full range of every entity between each pair
|
|
18
|
+
* of axes stippled, the middle half hatched, each axis carrying a rug of its
|
|
19
|
+
* values. The rest are faint hairlines; the highlighted entity is in ink,
|
|
20
|
+
* dotted at each axis and named.
|
|
21
|
+
*/
|
|
22
|
+
export declare const ParallelCoordinates: (props: ParallelCoordinatesProps) => import("react").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L20 Twelve cheeses: what is in 100 g of each.
|
|
3
|
+
*
|
|
4
|
+
* Source: Public Health England, McCance and Widdowson's The Composition of
|
|
5
|
+
* Foods Integrated Dataset (CoFID) 2021, workbook sheets "1.3 Proximates"
|
|
6
|
+
* (protein, fat) and "1.4 Inorganics" (calcium, sodium). Open Government
|
|
7
|
+
* Licence v3.0.
|
|
8
|
+
* Page: https://www.gov.uk/government/publications/composition-of-foods-integrated-dataset-cofid
|
|
9
|
+
* File: https://assets.publishing.service.gov.uk/media/60538b91e90e07527df82ae4/McCance_Widdowsons_Composition_of_Foods_Integrated_Dataset_2021..xlsx
|
|
10
|
+
* Fetched 2026-10-15.
|
|
11
|
+
*
|
|
12
|
+
* Transform: twelve foods of the cheese group (BL), chosen as a spread of
|
|
13
|
+
* styles and countries, taken by CoFID food code: Cheddar 12-346 (English),
|
|
14
|
+
* Stilton 12-367 (blue), Brie 12-344 (rind removed), Camembert 12-345, Edam
|
|
15
|
+
* 12-355, Emmental 12-493, Parmesan 12-526 (fresh), Feta 12-525, Mozzarella
|
|
16
|
+
* 12-360 (fresh), Roquefort 12-177, Mascarpone 12-490 and Cottage 12-539
|
|
17
|
+
* (plain). Fat and protein are in grams, calcium and sodium in milligrams, all
|
|
18
|
+
* per 100 g, copied unchanged. Sodium is shown, not salt, so no conversion is
|
|
19
|
+
* applied.
|
|
20
|
+
* Script: reference/scripts/L20/cheeses.py (with xl.py).
|
|
21
|
+
*/
|
|
22
|
+
/** One vertical axis: which value it reads and the range it spans (bottom → top). */
|
|
23
|
+
export interface ParallelAxis {
|
|
24
|
+
key: string;
|
|
25
|
+
label: string;
|
|
26
|
+
domain: [number, number];
|
|
27
|
+
/** Suffix for this axis's values, e.g. "%" or "k". */
|
|
28
|
+
unit?: string;
|
|
29
|
+
}
|
|
30
|
+
/** One entity: a value for every axis key. */
|
|
31
|
+
export interface ParallelRow {
|
|
32
|
+
name: string;
|
|
33
|
+
values: Record<string, number>;
|
|
34
|
+
}
|
|
35
|
+
export interface ParallelData {
|
|
36
|
+
axes: ParallelAxis[];
|
|
37
|
+
rows: ParallelRow[];
|
|
38
|
+
}
|
|
39
|
+
/** Twelve cheeses, per 100 g. */
|
|
40
|
+
export declare const parallelDemo: ParallelData;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NoteProps } from "../../schema/options.js";
|
|
2
|
+
import type { ConvergenceItem } from "./radial-convergence.data.js";
|
|
3
|
+
interface RadialConvergenceProps extends NoteProps {
|
|
4
|
+
data?: ConvergenceItem[];
|
|
5
|
+
height?: number;
|
|
6
|
+
/** Noun for the tooltip, e.g. "storm". */
|
|
7
|
+
noun?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* L5 Named storms. Many items on one dotted ring, each claimed by one
|
|
11
|
+
* of a few themes; hairlines bundle inward to the theme's hub (area =
|
|
12
|
+
* count). Only the hubs are labelled; items name themselves on hover.
|
|
13
|
+
*/
|
|
14
|
+
export declare const RadialConvergence: (props: RadialConvergenceProps) => import("react").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every storm the Met Office lists as named for the UK, Ireland and the
|
|
3
|
+
* Netherlands in the six storm seasons from 2020/21 to 2025/26, each claimed
|
|
4
|
+
* by its season.
|
|
5
|
+
*
|
|
6
|
+
* Source: Met Office UK Storm Centre, one summary page per season:
|
|
7
|
+
* https://weather.metoffice.gov.uk/warnings-and-advice/uk-storm-centre/uk-storm-season-2020-21
|
|
8
|
+
* (and -2021-22, -2022-23, -2023-24, -2024-25, -202526 for 2025/26; index:
|
|
9
|
+
* https://www.metoffice.gov.uk/weather/warnings-and-advice/uk-storm-centre/index).
|
|
10
|
+
* Fetched 2026-10-15 (saved to reference/raw/L5/).
|
|
11
|
+
*
|
|
12
|
+
* Transform: the "Name" column of each season's table is read, in the order
|
|
13
|
+
* the page lists the storms (by date named), with the season as the theme.
|
|
14
|
+
* Storms named by a neighbouring service (for example Alex by Meteo France,
|
|
15
|
+
* Malik by DMI, Darcy by KNMI) are kept, because the Met Office lists them
|
|
16
|
+
* in its season tables. 43 storms in all. Seasons run September to August.
|
|
17
|
+
* Script: reference/scripts/L5/emit.py.
|
|
18
|
+
*/
|
|
19
|
+
export interface ConvergenceItem {
|
|
20
|
+
id: string;
|
|
21
|
+
theme: string;
|
|
22
|
+
}
|
|
23
|
+
/** Named storms in order of naming, each with its season. */
|
|
24
|
+
export declare const radialConvergenceDemo: ConvergenceItem[];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { NoteProps } from "../../schema/options.js";
|
|
2
|
+
import type { PatchworkEvent } from "./radial-patchwork.data.js";
|
|
3
|
+
interface RadialPatchworkProps extends NoteProps {
|
|
4
|
+
data?: PatchworkEvent[];
|
|
5
|
+
height?: number;
|
|
6
|
+
/** What a flagged (crosshatched) wedge means, e.g. "class M or stronger". */
|
|
7
|
+
outlined?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* L10 Solar flares. Events overlaid on a 24-hour dial: wedge angle = time
|
|
11
|
+
* of day, angular width = duration, reach = size (linear in `size`, which is
|
|
12
|
+
* already on a log scale). Overlap is read by hatch pitch, open to dense;
|
|
13
|
+
* flagged wedges are crosshatched in ink.
|
|
14
|
+
*/
|
|
15
|
+
export declare const RadialPatchwork: (props: RadialPatchworkProps) => import("react").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A week of solar flares on the 24-hour dial: the hour each began (UTC), how
|
|
3
|
+
* long it lasted, how strong its peak was, and the three of class M.
|
|
4
|
+
*
|
|
5
|
+
* Source: NOAA Space Weather Prediction Center, GOES X-ray flare list for the
|
|
6
|
+
* last seven days (primary satellite):
|
|
7
|
+
* https://services.swpc.noaa.gov/json/goes/primary/xray-flares-7-day.json
|
|
8
|
+
* Fetched 2026-10-15 (saved to reference/raw/L10b/). Public domain (US
|
|
9
|
+
* government work). Replaces the RNLI Return of Service, which has no
|
|
10
|
+
* duration, people-aided or life-saved fields.
|
|
11
|
+
*
|
|
12
|
+
* Transform: the list holds 57 flares from 2026-10-08 22:33 to 2026-10-15
|
|
13
|
+
* 21:31 UTC. One has no peak time, class or flux yet (begun 2026-10-14 08:22)
|
|
14
|
+
* and is dropped, leaving 56. For the rest: `hour` is the begin time as hours
|
|
15
|
+
* since midnight UTC, to three decimals (about a minute); `minutes` is
|
|
16
|
+
* end_time minus begin_time; `size` is log10 of the peak flux (max_xrlong, in
|
|
17
|
+
* watts per square metre) plus 8, so a B1 flare is 1, a C1 is 2 and an M1 is
|
|
18
|
+
* 3; `label` is max_class as given; `flagged` is true for class M or X
|
|
19
|
+
* (three flares, all M). Script: reference/scripts/L10/emit.py.
|
|
20
|
+
*/
|
|
21
|
+
export interface PatchworkEvent {
|
|
22
|
+
id: string;
|
|
23
|
+
/** Start time as hours since midnight (0–24). */
|
|
24
|
+
hour: number;
|
|
25
|
+
/** Duration in minutes: sets the wedge's angular width. */
|
|
26
|
+
minutes: number;
|
|
27
|
+
/** Strength on a log scale: sets the wedge's reach. */
|
|
28
|
+
size: number;
|
|
29
|
+
/** Shown in the tooltip, e.g. the flare class "M6.4". */
|
|
30
|
+
label: string;
|
|
31
|
+
/** Crosshatched in the hero colour when true: class M or stronger. */
|
|
32
|
+
flagged?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/** One week of flares, 8 to 15 October 2026. */
|
|
35
|
+
export declare const radialPatchworkDemo: PatchworkEvent[];
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { NoteProps } from "../../schema/options.js";
|
|
2
|
+
import type { RidgeSeries } from "./ridgeline.data.js";
|
|
3
|
+
interface RidgelineProps extends NoteProps {
|
|
4
|
+
data?: RidgeSeries[];
|
|
5
|
+
/** Value range of the shared x axis. */
|
|
6
|
+
domain?: [number, number];
|
|
7
|
+
/** Kernel bandwidth in data units; defaults to 1/26 of the domain. */
|
|
8
|
+
bandwidth?: number;
|
|
9
|
+
/** Number of axis intervals (ticks = intervals + 1). */
|
|
10
|
+
ticks?: number;
|
|
11
|
+
height?: number;
|
|
12
|
+
format?: (v: number) => string;
|
|
13
|
+
/** Ridge drawn in the hero colour. Defaults to the first. */
|
|
14
|
+
highlight?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* L19 January by decade. Three to eight distributions stacked with overlap.
|
|
18
|
+
* Each crest is a density outline over paper and a 4px diagonal hatch, so
|
|
19
|
+
* the rows overlap like terrain; the hero is crosshatched. A dot marks each
|
|
20
|
+
* peak, and its value sits at the right-hand end of the ridge's baseline.
|
|
21
|
+
*/
|
|
22
|
+
export declare const Ridgeline: (props: RidgelineProps) => import("react").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L19 January by decade: every January day in six decades, daily mean CET.
|
|
3
|
+
* Source: Met Office Hadley Centre Central England Temperature (HadCET),
|
|
4
|
+
* v2.1.1.0 + provisional, https://www.metoffice.gov.uk/hadobs/hadcet/data/download.html
|
|
5
|
+
* Fetched 2026-10-15.
|
|
6
|
+
* File: meantemp_daily_totals.txt (date and value to 0.1 °C, -99.9 for a
|
|
7
|
+
* missing day; none are missing in the years used).
|
|
8
|
+
* Transform: for each decade (1770s is 1772 to 1779, because the series
|
|
9
|
+
* starts on 1 January 1772; the others are the ten years from 1820, 1870,
|
|
10
|
+
* 1920, 1970 and 2010), all 31 days of January, the values as they stand.
|
|
11
|
+
* That is 248 values for the 1770s and 310 for each of the others.
|
|
12
|
+
*/
|
|
13
|
+
/** One distribution: its name and the raw samples. */
|
|
14
|
+
export interface RidgeSeries {
|
|
15
|
+
label: string;
|
|
16
|
+
values: number[];
|
|
17
|
+
}
|
|
18
|
+
/** Daily mean Central England temperature (°C) on every January day, by decade. */
|
|
19
|
+
export declare const ridgelineDemo: RidgeSeries[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { NoteProps } from "../../schema/options.js";
|
|
2
|
+
import type { LineageDatum } from "./trend-lineage.data.js";
|
|
3
|
+
interface TrendLineageProps extends NoteProps {
|
|
4
|
+
data?: LineageDatum[];
|
|
5
|
+
/** First and last year on the axis; defaults to the data's span. */
|
|
6
|
+
years?: [number, number];
|
|
7
|
+
height?: number;
|
|
8
|
+
/** Area drawn in the hero colour. Defaults to the oldest still in use. */
|
|
9
|
+
highlight?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* L11 Sea areas. One column per sea area, time running down the page.
|
|
13
|
+
* Filled dot = added, hollow = renamed or redrawn, dotted = suspended years;
|
|
14
|
+
* the line runs on to the floor if the area is still in use today, and stops
|
|
15
|
+
* at a small dot where it was dropped. The oldest area in use is the hero.
|
|
16
|
+
*/
|
|
17
|
+
export declare const TrendLineage: (props: TrendLineageProps) => import("react").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** One sea area's life: when it was added, changed, suspended or dropped. */
|
|
2
|
+
export interface LineageDatum {
|
|
3
|
+
name: string;
|
|
4
|
+
/** Year it was first added (fractions allowed: 2017.5 = mid-2017). */
|
|
5
|
+
shipped: number;
|
|
6
|
+
/** Years it was renamed, split or otherwise redrawn. */
|
|
7
|
+
reworked?: number[];
|
|
8
|
+
/** Spans when it sat out of use, drawn dotted. */
|
|
9
|
+
dormant?: [number, number][];
|
|
10
|
+
/** Year it was dropped from the forecast. Omit if it is still in use. */
|
|
11
|
+
retired?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Ten shipping forecast sea areas, 1924 to today: when each was added,
|
|
15
|
+
* renamed or redrawn, and (Tay) dropped. One row per area under its current
|
|
16
|
+
* name; the years are those of the forecast chart, not of the name's first use
|
|
17
|
+
* in the broadcast.
|
|
18
|
+
*
|
|
19
|
+
* Sources (fetched 2026-10-15; every year below is read from these):
|
|
20
|
+
* [FS] Met Office, National Meteorological Library and Archive, "Factsheet 8
|
|
21
|
+
* The Shipping Forecast" (PDF, text and Figures 3 to 8):
|
|
22
|
+
* https://www.metoffice.gov.uk/api/assets/file/factsheet_8_shipping_forecast_2025pdf?prefix=assets
|
|
23
|
+
* (linked from https://www.metoffice.gov.uk/research/library-and-archive/publications/factsheets)
|
|
24
|
+
* [MO] Met Office, "Tragedy and warnings: the origins of the shipping forecast":
|
|
25
|
+
* https://www.metoffice.gov.uk/about-us/who-we-are/our-history/tragedy-and-warnings-the-origins-of-the-shipping-forecast
|
|
26
|
+
* [RMG] Royal Museums Greenwich, "History of the Shipping Forecast" (2002 rename):
|
|
27
|
+
* https://www.rmg.co.uk/stories/maritime-history/shipping-forecast
|
|
28
|
+
*
|
|
29
|
+
* Rows:
|
|
30
|
+
* Forties: added 1924 (FS Figure 3 map; MO lists it among seven areas "with us
|
|
31
|
+
* since the very first Shipping Forecast transmission"); divided in 1956, its northern half named Viking
|
|
32
|
+
* (FS "these changes were introduced in 1956"; MO).
|
|
33
|
+
* Dogger: added 1924 (FS Figure 3; MO); divided in 1956, its north-eastern half
|
|
34
|
+
* named Fisher (FS; MO).
|
|
35
|
+
* Tay: on the 1924 map (FS Figure 3) and the 1932 map (FS Figure 4), absent from
|
|
36
|
+
* the chart adopted in 1949 (FS Figure 5; FS text: the earlier divisions
|
|
37
|
+
* "were omitted and 18 new names added"). The Met Office gives no day for the
|
|
38
|
+
* drop, so 1949 is the first chart without it.
|
|
39
|
+
* German Bight: first on the 1949 chart as Heligoland (FS Figure 5); renamed
|
|
40
|
+
* German Bight in 1956 (FS; MO).
|
|
41
|
+
* FitzRoy: first on the 1949 chart as Finisterre (FS Figure 5); renamed FitzRoy
|
|
42
|
+
* in February 2002 (FS; MO; RMG).
|
|
43
|
+
* Rockall: added 1949 (MO "In 1949, many new areas ... were added, including
|
|
44
|
+
* Rockall, Bailey and Fast Net"; FS Figure 5).
|
|
45
|
+
* Fisher and Viking: new in 1956 (FS; MO).
|
|
46
|
+
* North Utsire and South Utsire: introduced August 1984 (FS; MO).
|
|
47
|
+
*
|
|
48
|
+
* Left out because no fetched source supports them: the Minches merging into
|
|
49
|
+
* Hebrides in 1983 (only Country Life and an uncited Wikipedia line say so, and
|
|
50
|
+
* the Met Office's 1949 and 1956 to 1984 charts, FS Figures 5 and 6, show no
|
|
51
|
+
* Minches area at all), and Viking being resized in 1984 (FS says only that
|
|
52
|
+
* common North Sea boundaries were introduced that August).
|
|
53
|
+
*
|
|
54
|
+
* Transform: none beyond reading each year off the sources above.
|
|
55
|
+
*/
|
|
56
|
+
export declare const trendLineageDemo: LineageDatum[];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { NoteProps } from "../../schema/options.js";
|
|
2
|
+
import type { OwnershipDatum } from "./type-colonnade.data.js";
|
|
3
|
+
interface TypeColonnadeProps extends NoteProps {
|
|
4
|
+
data?: OwnershipDatum[];
|
|
5
|
+
height?: number;
|
|
6
|
+
/** How many of the largest owners to draw in the hero colour. Default 1. */
|
|
7
|
+
strong?: number;
|
|
8
|
+
/** Noun for the tooltip count, e.g. "lights". */
|
|
9
|
+
unit?: string;
|
|
10
|
+
/** Owner to draw in the hero colour. */
|
|
11
|
+
highlight?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* L12 Lights by keeper. Many-to-one keeping: every light is a hollow dot, strung
|
|
15
|
+
* at one even pitch and grouped by owner, and each dot runs a straight
|
|
16
|
+
* hairline to its owner on the right, so every owner gathers a clean fan.
|
|
17
|
+
* Owner disc area = how many it owns, engraved; light names are on hover.
|
|
18
|
+
*/
|
|
19
|
+
export declare const TypeColonnade: (props: TypeColonnadeProps) => import("react").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L12 Lights by keeper: the working lighthouses of England, by who keeps them.
|
|
3
|
+
*
|
|
4
|
+
* Source: Wikipedia, "List of lighthouses in England", the table of lighthouses
|
|
5
|
+
* (name, county, year built, operator). The page's NGA numbers refer to the US
|
|
6
|
+
* National Geospatial-Intelligence Agency's List of Lights.
|
|
7
|
+
* Page: https://en.wikipedia.org/wiki/List_of_lighthouses_in_England
|
|
8
|
+
* Fetched 2026-10-15.
|
|
9
|
+
*
|
|
10
|
+
* Transform: all 84 rows of the first table. The operator is the one named in
|
|
11
|
+
* the Operator column; where a cell names a change of hands the operator
|
|
12
|
+
* "from" the later date is the current one (Guile Point East: Trinity House;
|
|
13
|
+
* Happisburgh: Happisburgh Lighthouse Trust; Maryport New: Maryport Harbour
|
|
14
|
+
* Authority; Plymouth Breakwater: Ministry of Defence). Flamborough Head lists
|
|
15
|
+
* Trinity House and East Riding of Yorkshire Council together with no dates,
|
|
16
|
+
* so it is left out, leaving 83. Operators are grouped into keepers: Trinity
|
|
17
|
+
* House (43), Harbours (34: harbour boards and commissions, port companies
|
|
18
|
+
* and authorities, Gloucester Harbour Trustees, Watchet Marina, Associated
|
|
19
|
+
* British Ports), Councils (4: North Yorkshire, Somerset), Trust (1:
|
|
20
|
+
* Happisburgh Lighthouse Trust) and Defence (1: the Ministry of Defence).
|
|
21
|
+
* Lights are listed alphabetically.
|
|
22
|
+
* Script: reference/scripts/L12/keepers.py (and parse.py).
|
|
23
|
+
*/
|
|
24
|
+
/** One owned thing and who owns it. */
|
|
25
|
+
export interface OwnershipDatum {
|
|
26
|
+
name: string;
|
|
27
|
+
owner: string;
|
|
28
|
+
}
|
|
29
|
+
/** 83 lights, listed alphabetically by name. */
|
|
30
|
+
export declare const typeColonnadeDemo: OwnershipDatum[];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Point on a circle. `deg` is a clock angle: 0 = up (12 o'clock), increasing
|
|
3
|
+
* clockwise, so 90 = right.
|
|
4
|
+
*/
|
|
5
|
+
export declare const clock: (cx: number, cy: number, r: number, deg: number) => [number, number];
|
|
6
|
+
/** Annular sector between two clock angles (degrees) and two radii. */
|
|
7
|
+
export declare const sectorPath: (cx: number, cy: number, r0: number, r1: number, a0: number, a1: number) => string;
|
|
8
|
+
/** Open arc between two clock angles. */
|
|
9
|
+
export declare const arcPath: (cx: number, cy: number, r: number, a0: number, a1: number) => string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Smooth vertical S-curve between two points (tangents vertical at both ends). */
|
|
2
|
+
export declare const vCurve: (x1: number, y1: number, x2: number, y2: number, bend?: number) => string;
|
|
3
|
+
/** One threshold step for `byStep`. */
|
|
4
|
+
export interface Step<T> {
|
|
5
|
+
min: number;
|
|
6
|
+
out: T;
|
|
7
|
+
}
|
|
8
|
+
/** Pick a value by threshold without nested ternaries: the first step whose `min` is met wins. */
|
|
9
|
+
export declare const byStep: <T>(value: number, steps: readonly Step<T>[], fallback: T) => T;
|
|
10
|
+
/** Index of the largest value (the first, on a tie); 0 when empty. */
|
|
11
|
+
export declare const argMax: (values: readonly number[]) => number;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { GeoProjection } from "d3-geo";
|
|
2
|
+
import type { FeatureCollection } from "geojson";
|
|
3
|
+
import type { ChoroplethDatum, Region } from "./geo.js";
|
|
4
|
+
export interface ChoroplethProps {
|
|
5
|
+
ariaLabel: string;
|
|
6
|
+
data: ChoroplethDatum[];
|
|
7
|
+
/** Legend and tooltip text for regions without a value; omit to leave them out of the legend. */
|
|
8
|
+
emptyLabel?: string;
|
|
9
|
+
format: (v: number) => string;
|
|
10
|
+
/** Keys printed on the map. The first is the hero: set in solid ink when it is in the top step. */
|
|
11
|
+
labels: string[];
|
|
12
|
+
/** Upper cap on the map height. */
|
|
13
|
+
maxHeight?: number;
|
|
14
|
+
/** Map height as a share of width. */
|
|
15
|
+
aspect: number;
|
|
16
|
+
note?: string;
|
|
17
|
+
/** Fits a projection into [width, height] for the given outlines. */
|
|
18
|
+
project: (size: [number, number], outlines: FeatureCollection) => GeoProjection;
|
|
19
|
+
regions: Region[];
|
|
20
|
+
/** Short form for legend and in-map labels, e.g. 96k. */
|
|
21
|
+
short: (v: number) => string;
|
|
22
|
+
/** Four ascending breaks → five steps on the halftone ladder. */
|
|
23
|
+
thresholds: [number, number, number, number];
|
|
24
|
+
/** Unit after the value in the tooltip, e.g. "sign-ups". */
|
|
25
|
+
unit?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Shared choropleth plot: real outlines, value in five quantized steps as
|
|
29
|
+
* an engraved dot screen (the hero alone in solid ink), no value as bare
|
|
30
|
+
* paper, 1px outlines, a hover tooltip and a key row whose keys isolate one
|
|
31
|
+
* step on hover.
|
|
32
|
+
*/
|
|
33
|
+
export declare const Choropleth: (props: ChoroplethProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { geoPath } from "d3-geo";
|
|
2
|
+
import type { Feature } from "geojson";
|
|
3
|
+
/** One outline on a map: a stable key (postal code, country name), a display name and its geometry. */
|
|
4
|
+
export interface Region {
|
|
5
|
+
feature: Feature;
|
|
6
|
+
key: string;
|
|
7
|
+
name: string;
|
|
8
|
+
}
|
|
9
|
+
/** The parts of an imported TopoJSON file this module reads: geometry ids and names. */
|
|
10
|
+
interface TopologyJson<K extends string> {
|
|
11
|
+
objects: Record<K, {
|
|
12
|
+
geometries: {
|
|
13
|
+
id?: string;
|
|
14
|
+
properties: {
|
|
15
|
+
name: string;
|
|
16
|
+
};
|
|
17
|
+
}[];
|
|
18
|
+
}>;
|
|
19
|
+
type: string;
|
|
20
|
+
}
|
|
21
|
+
/** Turn an imported TopoJSON file into keyed regions, checking it is a topology at the boundary. */
|
|
22
|
+
export declare const regionsFrom: <K extends string>(raw: TopologyJson<K>, object: K, keyOf: (id: string, name: string) => string) => Region[];
|
|
23
|
+
/** Centroid of the largest polygon, so Alaska or Hawaii don't drag a label off the mainland. */
|
|
24
|
+
export declare const mainCentroid: (f: Feature, path: ReturnType<typeof geoPath>) => [number, number];
|
|
25
|
+
/** A region's value. `label` overrides the text printed on the map; dx/dy move that label off the region with a leader. */
|
|
26
|
+
export interface ChoroplethDatum {
|
|
27
|
+
dx?: number;
|
|
28
|
+
dy?: number;
|
|
29
|
+
key: string;
|
|
30
|
+
label?: string;
|
|
31
|
+
value: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Drops a region's remote specks: a cluster of its parts (pieces within 5°
|
|
35
|
+
* of each other) holding under 1% of its largest part's area and lying over
|
|
36
|
+
* 15° from every other part. On a world map Hawaii is such a cluster: a
|
|
37
|
+
* lone dot in the Pacific that reads as a stray mark, while the mainland
|
|
38
|
+
* already carries the value. With countries-110m this removes Hawaii only.
|
|
39
|
+
*/
|
|
40
|
+
export declare const withoutRemoteIslets: (region: Region) => Region;
|
|
41
|
+
/**
|
|
42
|
+
* Drops a region's minor parts that straddle the antimeridian. A projection
|
|
43
|
+
* centred on Greenwich splits such a part and throws one half to the map's
|
|
44
|
+
* opposite edge (a sliver of Fiji alone at the far left), where it reads as
|
|
45
|
+
* a stray mark. The region's largest part is always kept.
|
|
46
|
+
*/
|
|
47
|
+
export declare const withoutWrappedParts: (region: Region) => Region;
|
|
48
|
+
export {};
|