@howells/hairline 0.0.0-stage → 0.2.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/CHANGELOG.md +7 -0
- 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 +36 -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 +160 -3
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useHover as e } from "../hooks.js";
|
|
3
|
+
import { Plot as t, Tooltip as n } from "../core.js";
|
|
4
|
+
import { noteOf as r, noteSpace as i, ranks as a, stagger as o } from "../util.js";
|
|
5
|
+
import { DimGroup as s, HitRect as c, TipText as l } from "../hover.js";
|
|
6
|
+
import "../marks.js";
|
|
7
|
+
import { FootNote as u } from "../plot-note.js";
|
|
8
|
+
import { HRule as d } from "../rules.js";
|
|
9
|
+
import { ChartSvg as f } from "../svg.js";
|
|
10
|
+
import { Label as p } from "../text.js";
|
|
11
|
+
import { paint as m, useTextureIds as h } from "../texture-ids.js";
|
|
12
|
+
import { Hatch as g } from "../texture.js";
|
|
13
|
+
import { labelRoom as _ } from "./util-a.js";
|
|
14
|
+
import { density as v, silverman as y } from "./util-b.js";
|
|
15
|
+
import { violinDemo as b } from "./violin.data.js";
|
|
16
|
+
import { useMemo as x } from "react";
|
|
17
|
+
import { scaleBand as S, scaleLinear as C } from "d3-scale";
|
|
18
|
+
import { extent as w, median as T, quantile as E } from "d3-array";
|
|
19
|
+
import { jsx as D, jsxs as O } from "react/jsx-runtime";
|
|
20
|
+
import { area as k, curveBasis as A } from "d3-shape";
|
|
21
|
+
//#region src/charts/glance/violin.tsx
|
|
22
|
+
var j = (e) => `${Math.round(e * 10) / 10}`, M = "cwt", N = (e) => {
|
|
23
|
+
let t = e.values.toSorted((e, t) => e - t), [n = 0, r = 0] = w(t), i = Array.from({ length: 48 }, (e, t) => n + (r - n) * t / 47);
|
|
24
|
+
return {
|
|
25
|
+
at: i,
|
|
26
|
+
dens: v(t, i, y(t) * 1.1),
|
|
27
|
+
hi: r,
|
|
28
|
+
lo: n,
|
|
29
|
+
med: T(t) ?? 0,
|
|
30
|
+
n: t.length,
|
|
31
|
+
p90: E(t, .9) ?? 0
|
|
32
|
+
};
|
|
33
|
+
}, P = (e, t) => {
|
|
34
|
+
let n = Math.round((e.med - e.lo) / (e.hi - e.lo || 1) * (e.at.length - 1));
|
|
35
|
+
return e.dens[n] / Math.max(...e.dens) * t;
|
|
36
|
+
}, F = (e, t, n) => S().domain(e).range([t, n]).paddingInner(.1).paddingOuter(.05), I = (e, t) => e * (t ? .26 : .36), L = (e, t) => e * (t ? .38 : .4), R = (e) => {
|
|
37
|
+
let t = _(e.ticks, "t-axis") + 8, n = (n) => {
|
|
38
|
+
let r = F(e.labels, t, e.width - n), i = r.bandwidth();
|
|
39
|
+
return Math.max(...e.labels.map((t, n) => (r(t) ?? 0) + L(i, e.narrow) + P(e.stats[n], I(i, e.narrow)) + 9 + _([e.format(e.stats[n].med)], "t-value") - e.width));
|
|
40
|
+
};
|
|
41
|
+
if (n(0) <= 0) return {
|
|
42
|
+
left: t,
|
|
43
|
+
right: 0
|
|
44
|
+
};
|
|
45
|
+
let [r, i] = [0, e.width / 2];
|
|
46
|
+
for (let e = 0; e < 20; e += 1) {
|
|
47
|
+
let e = (r + i) / 2;
|
|
48
|
+
n(e) > 0 ? r = e : i = e;
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
left: t,
|
|
52
|
+
right: i
|
|
53
|
+
};
|
|
54
|
+
}, z = (e) => {
|
|
55
|
+
let t = e.stats, n = Math.max(...t.dens), r = (t) => t / n * e.half, i = k().curve(A).y((n, r) => e.y(t.at[r])).x0((n, i) => e.cx - r(t.dens[i])).x1((n, i) => e.cx + r(t.dens[i])), a = P(t, e.half);
|
|
56
|
+
return /* @__PURE__ */ O(s, {
|
|
57
|
+
dim: e.dimmed,
|
|
58
|
+
onPointerEnter: () => {
|
|
59
|
+
e.onEnter(e.cx, e.y(t.hi) - 8);
|
|
60
|
+
},
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ D(c, {
|
|
63
|
+
x: e.left,
|
|
64
|
+
y: e.top,
|
|
65
|
+
width: e.bw,
|
|
66
|
+
height: e.floor - e.top
|
|
67
|
+
}),
|
|
68
|
+
/* @__PURE__ */ O("g", {
|
|
69
|
+
className: "grow-y",
|
|
70
|
+
style: o(e.i, "series"),
|
|
71
|
+
children: [/* @__PURE__ */ D("path", {
|
|
72
|
+
d: i(t.at) ?? "",
|
|
73
|
+
className: e.fill,
|
|
74
|
+
fill: e.pattern,
|
|
75
|
+
strokeWidth: e.pattern === void 0 ? void 0 : 1
|
|
76
|
+
}), /* @__PURE__ */ D("line", {
|
|
77
|
+
className: "stroke-paper",
|
|
78
|
+
x1: e.cx - a - 2,
|
|
79
|
+
x2: e.cx + a + 2,
|
|
80
|
+
y1: Math.round(e.y(t.med)),
|
|
81
|
+
y2: Math.round(e.y(t.med)),
|
|
82
|
+
strokeWidth: 2
|
|
83
|
+
})]
|
|
84
|
+
}),
|
|
85
|
+
/* @__PURE__ */ D(p, {
|
|
86
|
+
dy: "0.36em",
|
|
87
|
+
muted: !e.hero,
|
|
88
|
+
order: e.i + 4,
|
|
89
|
+
voice: "value",
|
|
90
|
+
x: e.cx + a + 9,
|
|
91
|
+
y: e.y(t.med),
|
|
92
|
+
children: e.valueText
|
|
93
|
+
}),
|
|
94
|
+
/* @__PURE__ */ D(p, {
|
|
95
|
+
anchor: "middle",
|
|
96
|
+
muted: !e.hero,
|
|
97
|
+
voice: "label",
|
|
98
|
+
x: e.cx,
|
|
99
|
+
y: e.floor + 20,
|
|
100
|
+
children: e.group.label
|
|
101
|
+
})
|
|
102
|
+
]
|
|
103
|
+
});
|
|
104
|
+
}, B = (o) => {
|
|
105
|
+
let s = o.data ?? b, c = o.height ?? 420, _ = o.format ?? j, v = o.unit ?? "towers", y = e(), S = x(() => s.map((e) => N(e)), [s]), w = a(S.map((e) => e.med), o.lowIsBest ?? !0), T = Math.max(...S.map((e) => e.hi)), E = o.highlight ?? w.indexOf(0), k = h("violin"), A = `Violins: ${s.map((e, t) => `${e.label} median ${_(S[t].med)} ${M}`).join(", ")}`;
|
|
106
|
+
return /* @__PURE__ */ D(t, {
|
|
107
|
+
overlay: y.at === null ? null : /* @__PURE__ */ D(n, {
|
|
108
|
+
x: y.at.x,
|
|
109
|
+
y: y.at.y,
|
|
110
|
+
children: /* @__PURE__ */ D(l, {
|
|
111
|
+
facts: [
|
|
112
|
+
`median ${_(S[y.at.key].med)} ${M}`,
|
|
113
|
+
`90% under ${_(S[y.at.key].p90)} ${M}`,
|
|
114
|
+
`${S[y.at.key].n} ${v}`
|
|
115
|
+
],
|
|
116
|
+
lead: s[y.at.key].label
|
|
117
|
+
})
|
|
118
|
+
}),
|
|
119
|
+
children: (e) => {
|
|
120
|
+
let t = e < 480, n = 32 + i(r(o), e - 16, 20), a = C().domain([0, T]).nice().range([c - n, 12]), { left: l, right: h } = R({
|
|
121
|
+
format: _,
|
|
122
|
+
labels: s.map((e) => e.label),
|
|
123
|
+
narrow: t,
|
|
124
|
+
stats: S,
|
|
125
|
+
ticks: a.ticks(4).map((e, t, n) => t === n.length - 1 ? `${_(e)} ${M}` : _(e)),
|
|
126
|
+
width: e
|
|
127
|
+
}), v = {
|
|
128
|
+
bottom: n,
|
|
129
|
+
left: l,
|
|
130
|
+
right: h,
|
|
131
|
+
top: 12
|
|
132
|
+
}, b = F(s.map((e) => e.label), l, e - h), x = b.bandwidth(), w = c - v.bottom;
|
|
133
|
+
return /* @__PURE__ */ O(f, {
|
|
134
|
+
height: c,
|
|
135
|
+
label: A,
|
|
136
|
+
leave: y.clear,
|
|
137
|
+
width: e,
|
|
138
|
+
children: [
|
|
139
|
+
/* @__PURE__ */ D("defs", { children: /* @__PURE__ */ D(g, {
|
|
140
|
+
id: k("hatch"),
|
|
141
|
+
tone: "fill-l4"
|
|
142
|
+
}) }),
|
|
143
|
+
a.ticks(4).map((t) => /* @__PURE__ */ O("g", { children: [/* @__PURE__ */ D(d, {
|
|
144
|
+
kind: t === 0 ? "hairline" : "grid",
|
|
145
|
+
x0: v.left,
|
|
146
|
+
x1: e - v.right,
|
|
147
|
+
y: a(t)
|
|
148
|
+
}), /* @__PURE__ */ D(p, {
|
|
149
|
+
anchor: "end",
|
|
150
|
+
middle: !0,
|
|
151
|
+
voice: "axis",
|
|
152
|
+
x: v.left - 8,
|
|
153
|
+
y: a(t),
|
|
154
|
+
children: t === a.ticks(4).at(-1) ? `${_(t)} ${M}` : _(t)
|
|
155
|
+
})] }, t)),
|
|
156
|
+
s.map((e, n) => /* @__PURE__ */ D(z, {
|
|
157
|
+
bw: x,
|
|
158
|
+
cx: (b(e.label) ?? 0) + L(x, t),
|
|
159
|
+
dimmed: y.dim(n),
|
|
160
|
+
fill: E === n ? "fill-hero" : "stroke-l5",
|
|
161
|
+
pattern: E === n ? void 0 : m(k("hatch")),
|
|
162
|
+
floor: w,
|
|
163
|
+
group: e,
|
|
164
|
+
hero: E === n,
|
|
165
|
+
i: n,
|
|
166
|
+
left: b(e.label) ?? 0,
|
|
167
|
+
onEnter: y.showAt(n),
|
|
168
|
+
stats: S[n],
|
|
169
|
+
top: v.top,
|
|
170
|
+
valueText: _(S[n].med),
|
|
171
|
+
half: I(x, t),
|
|
172
|
+
y: a
|
|
173
|
+
}, e.label)),
|
|
174
|
+
/* @__PURE__ */ D(u, {
|
|
175
|
+
height: c,
|
|
176
|
+
text: r(o),
|
|
177
|
+
width: e
|
|
178
|
+
})
|
|
179
|
+
]
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
};
|
|
184
|
+
//#endregion
|
|
185
|
+
export { B as Violin };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
//#region src/charts/glance/violin.tenors.json
|
|
3
|
+
var e = /*#__PURE__*/ JSON.parse("[{\"label\":\"6 bells\",\"lb\":[149,178.5,182,190,212,235,254,266,286,288,291,298,300,301,302,304,307,308,310,317,317,318,320,321,328,330,341,342,343,352,368,379,381,384,387,387,388,392,396,398,402,412,416,416,418,421,422,423,426,427,429,429,430,431,436,440,440,445,448,461,462,468,469,473,474,474,478,479,481,482,485,490,490,493,493,497,507,507,510,512,515,515,516,516,518,519,520,522,524,525,527,527,529,529,529,532,539,540,542,548,549,549,551,554,556,560,560,560,562,569,569,570,571,572,575,575,576,578,578,580,580,582,582,586,587,588,588,589,590,593,595,599,600,601,602,604,605,606,611,611,611,612,612,614,614,614,616,616,617,617,618,618,619,619,623,625,626,629,629,632,632,632,633,634,635,635,636,637,638,638,638,640,641,642,643,643,644,644,644,647,647,648,648,649,650,653,654,655,656,657,659,659,660,660,661,662,663,664,664,664,665,665,665,665,666,666,666,669,671,672,672,672,672,672,672,672,673,673,673,673,674,675,675,676,676,677,678,678,680,680,682,682,683,683,683,684,685,685,686,687,688,688,689,690,690,690,691,691,692,693,693,694,694,694,696,698,699,699,699,700,700,700,700,700,701,702,702,704,705,705,707,708,709,710,711,712,712,713,714,715,715,715,715,716,716,716,717,718,718,720,721,721,722,724,724,725,725,726,726,726,726,726,726,726,728,728,728,728,728,728,728,729,732,732,732,733,733,733,734,734,734,735,736,736,737,738,738,739,740,740,740,741,743,743,744,745,745,745,746,746,746,747,747,747,747,747,747,748,748,749,749,749,750,750,750,750,751,751,751,751,751,752,753,754,754,754,755,756,756,756,757,757,758,758,759,760,760,760,761,761,761,762,762,763,764,764,765,765,765,765,765,765,765,766,766,767,769,769,770,770,770,770,772,772,772,773,774,775,775,776,776,776,776,777,777,778,778,779,779,779,780,780,780,780,780,781,782,782,783,784,784,784,784,784,784,784,784,784,784,784,784,784,784,784,784,784,784,784,784,784,785,787,787,787,788,789,789,790,790,791,791,791,791,792,792,792,793,794,794,794,796,796,796,796,796,797,797,798,798,798,799,799,799,800,801,802,802,803,803,804,804,804,806,806,806,807,807,808,808,809,809,809,810,810,810,812,812,812,812,812,814,814,815,815,815,816,816,816,816,816,816,817,817,817,818,818,818,819,819,819,819,819,820,820,820,820,820,820,822,822,823,824,824,825,825,825,825,825,826,826,826,826,828,828,829,830,830,830,831,831,831,832,832,833,834,836,837,837,837,837,837,838,838,839,839,840,840,840,840,840,840,840,840,840,840,840,840,840,840,840,841,842,842,842,843,843,843,843,843,843,844,844,845,845,846,847,847,847,848,848,849,849,849,850,850,850,850,850,850,851,851,851,851,851,852,852,853,853,853,853,854,854,854,855,855,855,855,856,856,856,856,856,856,857,857,858,858,858,859,860,860,861,861,862,862,862,863,863,863,863,864,864,865,865,866,867,867,867,868,868,868,868,868,868,868,870,870,871,871,871,872,872,872,873,873,873,873,874,874,874,874,875,875,876,877,877,877,877,877,877,878,878,879,879,879,880,880,880,880,880,880,881,882,882,883,884,884,885,885,886,886,887,888,888,888,888,888,889,889,890,890,890,890,892,892,893,893,894,894,895,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,896,897,897,897,897,897,898,898,898,898,899,899,899,900,900,900,900,901,901,902,902,903,903,903,903,904,905,905,906,906,906,906,907,907,908,908,908,908,909,909,910,910,910,911,911,911,912,912,912,914,914,915,915,915,915,916,916,916,917,917,917,917,918,918,919,919,919,919,920,920,921,922,922,922,922,922,923,923,923,924,924,924,924,924,924,924,924,924,926,926,926,926,927,927,928,928,928,928,928,928,930,930,930,930,931,931,932,932,933,934,934,934,934,935,935,936,936,937,937,937,938,938,938,938,939,939,939,940,940,940,940,941,941,941,942,942,942,942,942,942,943,943,944,944,944,944,944,944,945,945,945,945,946,946,946,947,947,948,948,948,948,949,949,950,950,950,950,950,951,951,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,953,954,954,954,954,954,954,955,955,955,956,956,958,958,958,959,959,959,959,960,960,960,961,962,962,963,963,964,964,964,964,966,966,966,966,966,967,967,968,968,968,968,969,969,970,970,971,971,971,971,971,972,972,972,973,974,974,974,974,974,974,975,975,975,975,976,976,976,976,976,976,977,977,978,980,980,980,980,980,980,980,980,981,981,981,982,982,983,983,983,983,983,983,985,985,985,985,985,985,985,985,986,986,986,987,987,987,987,989,990,990,991,992,992,992,993,993,995,995,997,997,998,998,998,999,999,999,1001,1002,1002,1002,1002,1003,1003,1003,1003,1004,1004,1004,1004,1005,1005,1006,1006,1006,1006,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1009,1009,1010,1010,1010,1010,1010,1011,1012,1012,1012,1013,1014,1014,1014,1014,1014,1015,1016,1016,1016,1016,1017,1018,1018,1018,1018,1019,1020,1020,1021,1021,1021,1022,1022,1023,1023,1023,1023,1024,1024,1026,1026,1026,1027,1028,1028,1028,1029,1030,1030,1031,1031,1032,1033,1033,1033,1033,1033,1033,1034,1035,1035,1035,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1037,1037,1038,1038,1038,1038,1039,1039,1040,1040,1040,1040,1041,1042,1042,1043,1043,1044,1044,1044,1045,1045,1045,1046,1046,1046,1046,1046,1047,1047,1047,1048,1048,1049,1050,1050,1050,1050,1051,1051,1051,1051,1052,1052,1053,1053,1054,1054,1055,1055,1055,1056,1056,1056,1056,1057,1057,1057,1058,1059,1059,1060,1060,1062,1062,1062,1062,1063,1063,1063,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1065,1065,1065,1065,1065,1066,1066,1067,1068,1069,1069,1070,1070,1070,1071,1071,1071,1071,1071,1071,1072,1072,1072,1072,1073,1073,1073,1073,1074,1074,1074,1075,1076,1076,1076,1076,1077,1077,1078,1078,1078,1078,1079,1080,1081,1081,1081,1081,1083,1084,1084,1084,1084,1084,1084,1084,1085,1085,1086,1086,1086,1087,1087,1088,1088,1088,1089,1089,1089,1092,1092,1092,1092,1092,1092,1092,1093,1093,1093,1094,1094,1096,1096,1096,1096,1097,1097,1098,1098,1098,1099,1099,1099,1100,1100,1101,1101,1101,1101,1102,1102,1102,1102,1103,1103,1104,1104,1104,1104,1104,1104,1105,1105,1105,1106,1106,1107,1107,1108,1108,1108,1109,1109,1109,1110,1110,1110,1110,1110,1111,1111,1111,1111,1111,1112,1112,1112,1113,1113,1114,1114,1114,1115,1115,1115,1115,1115,1115,1115,1115,1116,1116,1116,1116,1116,1118,1118,1118,1118,1118,1118,1119,1119,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1121,1121,1122,1122,1122,1122,1123,1123,1123,1124,1124,1124,1124,1124,1126,1127,1127,1127,1128,1128,1128,1129,1129,1130,1130,1131,1131,1131,1131,1131,1131,1131,1132,1132,1132,1132,1133,1134,1134,1134,1135,1135,1135,1135,1136,1137,1137,1138,1139,1140,1140,1140,1140,1141,1141,1141,1141,1141,1141,1141,1142,1142,1142,1142,1143,1143,1143,1143,1144,1144,1144,1144,1145,1145,1145,1146,1146,1147,1147,1148,1148,1148,1150,1150,1150,1151,1151,1152,1152,1152,1152,1152,1153,1153,1154,1155,1156,1157,1157,1157,1157,1158,1158,1158,1158,1158,1158,1159,1159,1160,1160,1161,1161,1162,1163,1163,1163,1164,1164,1164,1165,1165,1165,1166,1166,1167,1167,1167,1168,1168,1169,1169,1169,1169,1170,1171,1172,1172,1172,1172,1172,1173,1173,1173,1174,1175,1175,1176,1176,1176,1176,1176,1176,1176,1176,1176,1176,1176,1176,1176,1176,1176,1177,1177,1178,1178,1178,1178,1178,1180,1180,1180,1180,1181,1182,1182,1182,1182,1183,1184,1184,1184,1185,1185,1185,1186,1187,1188,1188,1188,1189,1189,1189,1189,1190,1190,1190,1190,1190,1190,1190,1191,1191,1193,1193,1194,1194,1194,1194,1195,1197,1197,1197,1197,1198,1198,1198,1199,1199,1200,1200,1200,1200,1201,1201,1202,1202,1202,1203,1203,1204,1204,1204,1204,1205,1205,1206,1206,1206,1206,1206,1206,1206,1207,1207,1207,1208,1208,1209,1210,1210,1211,1211,1211,1212,1213,1213,1214,1214,1214,1214,1215,1215,1215,1216,1216,1216,1217,1217,1217,1219,1219,1219,1220,1220,1220,1221,1222,1222,1222,1223,1224,1224,1224,1225,1225,1225,1225,1226,1226,1226,1226,1227,1227,1227,1227,1227,1228,1228,1230,1230,1230,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1232,1234,1234,1235,1235,1235,1236,1236,1236,1237,1237,1237,1239,1239,1239,1239,1240,1240,1240,1241,1241,1242,1242,1242,1242,1243,1244,1244,1245,1245,1246,1246,1247,1247,1248,1248,1248,1248,1249,1249,1249,1249,1250,1250,1250,1250,1251,1253,1253,1253,1253,1253,1254,1254,1255,1255,1256,1256,1256,1256,1256,1256,1257,1257,1257,1257,1258,1258,1259,1259,1259,1259,1259,1259,1260,1260,1260,1260,1260,1260,1260,1262,1262,1263,1263,1263,1263,1263,1264,1265,1266,1266,1266,1267,1267,1267,1267,1267,1268,1268,1268,1268,1268,1268,1269,1269,1270,1270,1271,1271,1271,1272,1274,1274,1276,1277,1278,1278,1280,1280,1281,1281,1282,1283,1284,1284,1284,1284,1285,1285,1286,1287,1287,1287,1288,1288,1288,1288,1288,1288,1288,1288,1288,1288,1288,1288,1290,1290,1291,1291,1291,1292,1292,1292,1293,1293,1293,1294,1295,1295,1295,1296,1297,1297,1298,1298,1299,1299,1299,1299,1299,1299,1300,1300,1300,1301,1301,1302,1302,1302,1303,1304,1304,1305,1305,1306,1306,1306,1306,1306,1307,1307,1307,1308,1308,1308,1308,1309,1309,1309,1310,1310,1311,1311,1312,1312,1312,1314,1315,1315,1316,1316,1316,1317,1317,1317,1317,1317,1318,1318,1318,1318,1319,1319,1320,1320,1320,1320,1320,1322,1323,1325,1326,1326,1326,1328,1328,1329,1329,1329,1330,1331,1331,1331,1332,1333,1333,1333,1333,1334,1334,1335,1335,1336,1336,1337,1338,1338,1338,1338,1341,1342,1342,1342,1342,1342,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1344,1346,1346,1347,1348,1348,1348,1349,1350,1351,1352,1352,1352,1352,1352,1353,1353,1353,1353,1354,1354,1356,1356,1357,1357,1358,1358,1358,1358,1358,1358,1359,1359,1360,1360,1360,1361,1361,1362,1362,1362,1362,1362,1362,1363,1364,1364,1364,1364,1365,1365,1365,1366,1366,1366,1367,1368,1368,1368,1369,1369,1370,1371,1371,1371,1372,1372,1373,1373,1373,1374,1375,1376,1377,1377,1378,1378,1378,1379,1380,1381,1382,1382,1382,1382,1383,1383,1384,1386,1386,1386,1386,1386,1386,1387,1387,1389,1389,1389,1390,1390,1391,1392,1393,1394,1395,1396,1396,1396,1396,1397,1398,1398,1399,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1403,1404,1404,1405,1406,1407,1407,1407,1408,1408,1409,1409,1410,1410,1410,1410,1410,1410,1410,1411,1411,1412,1412,1412,1412,1412,1412,1412,1413,1413,1414,1414,1414,1414,1415,1415,1415,1416,1417,1417,1417,1418,1420,1420,1422,1422,1422,1422,1422,1423,1423,1425,1425,1425,1425,1425,1426,1426,1427,1427,1427,1427,1428,1428,1428,1430,1434,1434,1435,1435,1436,1436,1436,1436,1438,1438,1438,1440,1441,1442,1442,1444,1445,1445,1445,1446,1446,1447,1448,1448,1450,1450,1452,1452,1453,1454,1454,1455,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1456,1457,1458,1458,1459,1459,1460,1462,1462,1463,1464,1464,1464,1465,1466,1467,1468,1468,1468,1468,1469,1469,1470,1470,1470,1471,1471,1472,1473,1473,1473,1474,1474,1476,1476,1477,1478,1480,1480,1481,1481,1483,1483,1484,1484,1484,1484,1485,1487,1487,1492,1492,1493,1494,1494,1494,1497,1498,1498,1498,1499,1500,1500,1501,1502,1503,1505,1505,1505,1506,1506,1506,1506,1507,1508,1508,1508,1509,1509,1509,1510,1512,1512,1512,1512,1512,1512,1514,1516,1516,1518,1519,1519,1519,1521,1523,1523,1524,1524,1525,1527,1529,1530,1533,1533,1534,1537,1538,1538,1539,1539,1540,1540,1540,1540,1540,1540,1541,1542,1542,1542,1543,1543,1543,1543,1543,1545,1547,1548,1551,1553,1555,1557,1559,1561,1562,1563,1563,1564,1564,1564,1565,1565,1566,1566,1566,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1568,1569,1571,1571,1572,1573,1576,1577,1578,1579,1581,1582,1582,1584,1586,1586,1588,1588,1590,1590,1591,1593,1595,1596,1596,1600,1600,1602,1606,1607,1608,1608,1609,1610,1611,1613,1617,1618,1618,1618,1620,1624,1624,1624,1624,1624,1626,1629,1629,1630,1631,1632,1636,1636,1638,1638,1640,1640,1640,1641,1642,1642,1645,1646,1646,1646,1647,1647,1648,1652,1652,1657,1658,1659,1668,1670,1671,1672,1672,1672,1674,1678,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1681,1684,1685,1688,1690,1692,1695,1700,1701,1701,1702,1702,1702,1703,1703,1711,1711,1712,1712,1714,1714,1714,1720,1724,1726,1729,1731,1731,1734,1736,1736,1736,1736,1736,1736,1736,1736,1742,1742,1745,1745,1746,1747,1748,1749,1750,1750,1752,1754,1756,1764,1764,1766,1773,1773,1779,1781,1782,1783,1786,1787,1790,1792,1792,1792,1792,1792,1792,1792,1792,1792,1792,1792,1792,1801,1802,1802,1802,1804,1805,1806,1808,1810,1816,1817,1820,1822,1826,1834,1834,1834,1836,1838,1840,1842,1848,1848,1848,1850,1850,1851,1852,1852,1853,1854,1855,1855,1860,1862,1863,1865,1867,1875,1876,1881,1882,1887,1891,1891,1892,1898,1904,1904,1904,1904,1904,1909,1909,1911,1912,1915,1918,1918,1919,1919,1925,1934,1935,1936,1941,1945,1946,1946,1960,1960,1960,1960,1962,1962,1963,1963,1965,1967,1968,1974,1977,1980,1982,1988,1995,1995,1998,2000,2001,2006,2016,2024,2039,2044,2046,2047,2053,2057,2059,2060,2060,2065,2069,2072,2072,2072,2073,2074,2088,2100,2110,2114,2116,2118,2128,2128,2128,2128,2132,2139,2151,2159,2174,2175,2179,2179,2184,2184,2184,2184,2184,2190,2190,2192,2194,2198,2226,2226,2231,2236,2240,2240,2240,2247,2248,2249,2254,2256,2265,2285,2297,2297,2324,2342,2349,2352,2352,2366,2368,2379,2386,2419,2464,2484,2511,2520,2535,2572,2632,2634,2638,2688,2693,2809,2885,2924,2977,3136,3136,3181,3267,4123,4209]},{\"label\":\"8 bells\",\"lb\":[113,175,220,233,284,288,314,325,337,355,357,361,363,377,382,382,389,417,418,429,440,447,447,455,457,470,478,485,488,488,493,497,500,503,508,512,516,516,517,520,520,524,525,549,551,571,577,593,603,611,624,635,638,643,668,670,671,671,673,675,678,681,682,684,689,695,697,698,700,701,702,711,718,724,726,733,734,736,738,757,760,769,770,770,771,772,772,772,777,782,782,785,787,787,788,789,790,790,791,791,792,792,794,800,801,801,802,805,805,806,810,811,812,813,817,819,822,822,826,827,828,832,839,840,840,842,842,844,845,847,847,851,851,859,860,862,866,868,868,868,868,869,869,869,871,871,871,875,876,878,878,879,880,881,883,883,883,884,889,892,892,894,895,896,898,898,899,899,900,904,905,906,906,907,908,911,916,917,917,919,921,922,923,923,924,926,928,928,930,931,932,933,934,936,937,937,938,938,939,939,941,942,942,944,944,945,946,948,949,950,950,950,952,952,952,954,956,958,960,961,963,964,964,967,967,968,969,971,972,974,974,976,980,980,980,980,980,981,983,984,985,987,987,987,988,991,996,997,998,998,998,999,1002,1002,1006,1008,1008,1009,1009,1010,1013,1014,1015,1018,1018,1021,1023,1024,1026,1026,1030,1032,1034,1035,1036,1036,1040,1042,1042,1046,1050,1050,1051,1052,1052,1052,1052,1056,1058,1060,1060,1061,1061,1061,1061,1063,1063,1064,1064,1064,1065,1066,1066,1067,1067,1067,1068,1069,1070,1070,1070,1072,1074,1074,1076,1076,1077,1077,1077,1078,1078,1079,1082,1082,1082,1082,1082,1085,1088,1089,1090,1091,1092,1093,1093,1093,1095,1095,1096,1096,1097,1097,1098,1098,1099,1099,1100,1101,1101,1102,1103,1104,1104,1107,1108,1109,1110,1110,1111,1112,1112,1112,1118,1118,1118,1118,1119,1119,1120,1120,1120,1120,1120,1120,1124,1125,1125,1125,1126,1126,1127,1127,1127,1127,1129,1129,1129,1129,1130,1130,1131,1131,1132,1132,1132,1133,1134,1134,1134,1136,1136,1137,1139,1140,1141,1141,1141,1142,1143,1144,1144,1145,1146,1147,1148,1148,1150,1150,1152,1154,1154,1155,1156,1156,1156,1157,1159,1159,1160,1160,1161,1161,1162,1164,1165,1169,1169,1169,1169,1169,1170,1170,1171,1171,1171,1172,1173,1173,1174,1175,1176,1176,1176,1176,1176,1177,1178,1179,1179,1180,1181,1181,1183,1184,1184,1185,1188,1188,1188,1190,1190,1191,1195,1195,1195,1196,1196,1196,1197,1197,1197,1197,1197,1198,1200,1200,1203,1203,1204,1204,1204,1205,1206,1206,1207,1207,1207,1207,1209,1210,1213,1213,1214,1214,1215,1215,1215,1215,1216,1216,1218,1218,1218,1220,1220,1221,1222,1222,1225,1227,1228,1230,1231,1232,1232,1232,1232,1234,1234,1234,1235,1235,1235,1236,1236,1237,1237,1238,1238,1238,1239,1239,1239,1240,1240,1240,1240,1240,1242,1246,1249,1250,1250,1251,1251,1253,1253,1253,1255,1256,1256,1257,1257,1257,1257,1258,1259,1259,1260,1260,1262,1265,1265,1265,1267,1267,1268,1269,1269,1269,1271,1271,1272,1272,1272,1273,1274,1275,1276,1277,1278,1279,1280,1280,1280,1280,1282,1283,1287,1288,1288,1288,1289,1290,1290,1290,1291,1292,1293,1293,1293,1295,1295,1296,1296,1299,1299,1299,1301,1302,1303,1303,1303,1303,1303,1303,1304,1305,1306,1308,1308,1308,1309,1309,1310,1310,1311,1311,1311,1311,1312,1312,1313,1313,1313,1315,1315,1318,1318,1320,1320,1322,1324,1326,1326,1328,1329,1329,1330,1336,1339,1339,1339,1340,1340,1340,1340,1341,1341,1342,1343,1343,1344,1344,1344,1344,1344,1344,1344,1345,1346,1347,1348,1348,1348,1348,1349,1349,1350,1350,1351,1351,1353,1353,1354,1354,1356,1356,1356,1356,1356,1357,1358,1358,1358,1358,1359,1359,1359,1359,1360,1361,1363,1364,1364,1364,1365,1366,1366,1366,1366,1366,1367,1367,1368,1368,1368,1369,1370,1370,1372,1374,1375,1375,1375,1376,1377,1377,1378,1378,1379,1379,1380,1380,1380,1381,1381,1381,1382,1382,1383,1383,1383,1383,1385,1386,1386,1386,1387,1387,1388,1388,1388,1388,1388,1389,1389,1389,1390,1390,1391,1391,1392,1392,1392,1392,1393,1393,1394,1394,1394,1394,1394,1394,1397,1397,1398,1398,1400,1400,1402,1402,1402,1403,1403,1404,1404,1404,1404,1405,1409,1409,1409,1409,1411,1411,1412,1413,1414,1414,1414,1415,1416,1416,1416,1417,1417,1418,1419,1421,1423,1423,1424,1424,1424,1426,1426,1427,1427,1427,1428,1428,1428,1428,1428,1428,1430,1430,1431,1434,1434,1434,1434,1434,1434,1435,1436,1436,1436,1438,1439,1440,1441,1441,1441,1442,1443,1444,1444,1446,1446,1447,1448,1448,1448,1448,1448,1449,1450,1450,1451,1451,1452,1452,1453,1454,1454,1454,1454,1456,1456,1456,1456,1456,1457,1459,1460,1462,1462,1463,1463,1463,1463,1464,1464,1466,1467,1467,1468,1470,1471,1472,1474,1475,1476,1480,1482,1483,1484,1484,1485,1486,1488,1488,1489,1489,1489,1490,1491,1491,1491,1492,1493,1493,1494,1495,1495,1495,1496,1497,1497,1498,1498,1498,1499,1502,1503,1504,1505,1505,1505,1506,1508,1508,1508,1509,1512,1512,1512,1512,1512,1512,1512,1513,1514,1515,1516,1516,1517,1518,1518,1519,1519,1520,1520,1521,1521,1521,1522,1522,1522,1523,1523,1524,1525,1526,1526,1526,1527,1527,1528,1528,1528,1528,1529,1530,1531,1532,1532,1532,1533,1533,1534,1534,1535,1535,1536,1536,1537,1537,1538,1539,1540,1540,1541,1544,1544,1544,1545,1546,1546,1547,1547,1547,1548,1550,1551,1552,1553,1554,1555,1558,1558,1559,1561,1562,1563,1563,1564,1565,1566,1566,1567,1568,1568,1568,1568,1568,1568,1568,1569,1570,1570,1571,1571,1573,1573,1574,1575,1575,1575,1575,1576,1576,1578,1578,1578,1579,1579,1580,1580,1582,1582,1583,1584,1584,1584,1584,1584,1586,1586,1586,1587,1589,1590,1591,1591,1591,1592,1592,1594,1594,1596,1596,1596,1598,1599,1600,1600,1601,1601,1601,1601,1601,1602,1602,1602,1603,1603,1603,1605,1605,1606,1608,1609,1609,1609,1609,1610,1610,1611,1612,1612,1613,1614,1615,1616,1616,1617,1618,1618,1618,1618,1618,1619,1619,1620,1620,1621,1621,1622,1622,1624,1624,1624,1624,1624,1624,1624,1625,1626,1626,1627,1628,1628,1629,1629,1630,1631,1631,1631,1631,1631,1632,1635,1635,1636,1636,1636,1638,1638,1640,1642,1642,1644,1644,1647,1647,1648,1648,1648,1648,1650,1650,1652,1652,1652,1652,1652,1653,1654,1654,1655,1656,1659,1660,1660,1661,1662,1662,1664,1668,1671,1671,1672,1676,1676,1677,1679,1679,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1680,1682,1682,1682,1682,1682,1684,1686,1687,1687,1687,1687,1688,1688,1688,1689,1690,1690,1691,1691,1692,1693,1693,1693,1694,1694,1696,1698,1698,1698,1700,1701,1701,1701,1701,1704,1705,1706,1708,1708,1709,1712,1714,1715,1716,1720,1721,1723,1723,1724,1724,1726,1726,1726,1726,1726,1728,1728,1729,1730,1730,1732,1733,1733,1733,1733,1735,1736,1736,1736,1736,1736,1736,1738,1739,1740,1740,1742,1742,1742,1743,1743,1743,1744,1744,1745,1745,1747,1747,1748,1750,1750,1752,1755,1756,1757,1758,1758,1758,1758,1758,1759,1759,1759,1760,1763,1765,1767,1768,1769,1770,1770,1770,1771,1773,1774,1774,1776,1777,1779,1780,1780,1780,1780,1782,1782,1783,1783,1784,1785,1787,1789,1790,1790,1790,1791,1792,1794,1794,1795,1795,1796,1797,1800,1800,1802,1803,1803,1803,1806,1806,1806,1807,1808,1809,1810,1811,1812,1813,1814,1817,1817,1820,1821,1822,1822,1824,1824,1825,1826,1828,1828,1831,1834,1834,1836,1838,1839,1840,1841,1841,1842,1843,1845,1846,1848,1848,1848,1850,1851,1855,1855,1856,1856,1856,1858,1858,1859,1861,1862,1863,1866,1866,1868,1868,1869,1870,1871,1873,1876,1877,1877,1879,1883,1887,1887,1887,1888,1888,1892,1892,1896,1896,1896,1897,1897,1898,1899,1900,1902,1903,1904,1904,1904,1904,1905,1907,1907,1910,1911,1913,1915,1917,1917,1917,1919,1922,1922,1923,1924,1925,1927,1927,1928,1929,1932,1932,1932,1932,1934,1937,1938,1938,1939,1940,1940,1941,1942,1943,1944,1946,1947,1947,1947,1951,1958,1958,1960,1960,1960,1961,1963,1964,1970,1970,1971,1972,1973,1974,1974,1974,1974,1975,1976,1977,1979,1980,1982,1988,1988,1998,1999,2000,2001,2004,2006,2006,2008,2009,2010,2012,2013,2016,2016,2016,2016,2016,2016,2017,2018,2018,2018,2021,2022,2023,2024,2025,2025,2025,2026,2027,2027,2030,2030,2030,2030,2033,2034,2034,2034,2036,2036,2037,2037,2038,2041,2044,2044,2047,2049,2049,2050,2050,2052,2053,2056,2057,2058,2059,2059,2064,2065,2070,2072,2072,2072,2072,2072,2072,2073,2073,2073,2076,2077,2077,2083,2084,2085,2086,2086,2090,2091,2091,2091,2093,2093,2093,2095,2096,2106,2108,2109,2111,2112,2112,2112,2115,2122,2123,2123,2128,2128,2128,2128,2128,2128,2130,2130,2134,2139,2139,2140,2141,2141,2148,2149,2155,2156,2156,2156,2156,2157,2160,2161,2162,2163,2165,2166,2173,2176,2180,2184,2184,2184,2184,2193,2194,2203,2203,2205,2205,2206,2210,2212,2212,2214,2217,2217,2218,2220,2224,2225,2226,2228,2240,2240,2240,2240,2241,2250,2251,2254,2255,2255,2260,2264,2265,2268,2271,2272,2272,2274,2274,2280,2292,2292,2296,2298,2300,2302,2303,2308,2309,2309,2310,2314,2316,2324,2325,2329,2338,2349,2352,2352,2352,2352,2352,2353,2356,2357,2359,2366,2368,2370,2372,2379,2386,2386,2392,2394,2400,2403,2406,2407,2408,2408,2408,2411,2412,2415,2418,2420,2420,2423,2423,2424,2425,2431,2441,2442,2444,2445,2452,2452,2455,2464,2464,2464,2464,2468,2470,2471,2471,2472,2474,2474,2476,2477,2479,2481,2482,2486,2488,2490,2490,2492,2495,2495,2496,2500,2507,2509,2510,2515,2520,2526,2537,2538,2539,2540,2548,2549,2557,2563,2566,2569,2571,2576,2576,2579,2580,2592,2593,2595,2597,2599,2604,2609,2622,2623,2632,2637,2638,2647,2651,2655,2666,2668,2683,2689,2691,2692,2692,2693,2700,2702,2717,2718,2728,2732,2741,2751,2753,2756,2765,2768,2772,2774,2788,2791,2797,2799,2799,2807,2818,2818,2822,2826,2829,2833,2838,2839,2839,2856,2862,2870,2874,2877,2878,2882,2886,2903,2912,2968,2970,2990,2991,2999,3003,3006,3022,3024,3054,3071,3088,3104,3131,3133,3136,3136,3157,3181,3183,3321,3330,3340,3365,3446,3467,3479,3500,3533,3556,3584,3642,3812,3934,4620,5157]},{\"label\":\"10 bells\",\"lb\":[366,425,575,745,802,824,942,960,1062,1062,1069,1072,1077,1123,1129,1136,1141,1153,1164,1203,1204,1212,1212,1221,1222,1223,1227,1238,1260,1261,1267,1281,1294,1315,1325,1343,1345,1383,1391,1402,1407,1413,1431,1453,1458,1462,1466,1479,1486,1487,1498,1505,1508,1513,1519,1539,1553,1558,1561,1566,1567,1570,1570,1578,1592,1607,1609,1615,1618,1635,1660,1684,1687,1703,1716,1736,1767,1779,1788,1789,1794,1795,1797,1815,1816,1821,1823,1825,1826,1835,1838,1842,1844,1851,1862,1864,1874,1875,1882,1888,1899,1902,1908,1908,1910,1913,1933,1935,1938,1939,1946,1949,1952,1952,1956,1960,1964,1971,1975,1975,1978,1983,1997,2005,2016,2023,2024,2025,2025,2026,2028,2034,2035,2036,2036,2041,2042,2049,2062,2064,2065,2065,2072,2084,2084,2094,2095,2105,2110,2111,2116,2120,2126,2127,2129,2130,2132,2135,2139,2140,2149,2156,2164,2188,2191,2192,2196,2203,2215,2218,2219,2227,2240,2240,2240,2268,2278,2284,2284,2288,2288,2304,2311,2338,2352,2352,2355,2355,2362,2362,2377,2383,2390,2391,2396,2397,2402,2403,2409,2416,2416,2417,2420,2430,2431,2432,2433,2436,2445,2476,2487,2487,2491,2492,2492,2519,2522,2536,2544,2545,2546,2548,2548,2550,2580,2583,2594,2606,2619,2624,2635,2646,2651,2663,2666,2676,2688,2688,2688,2691,2693,2695,2697,2706,2712,2722,2723,2739,2749,2764,2775,2792,2797,2800,2800,2818,2823,2825,2833,2842,2848,2853,2856,2880,2938,2944,2953,2963,2970,2975,3012,3052,3114,3132,3142,3168,3201,3220,3276,3284,3295,3317,3374,3403,3416,3418,3450,3476,3500,3511,3537,3540,3588,3590,3604,3618,3721,3801,4107,4299,4640,4656,6314]},{\"label\":\"12 bells\",\"lb\":[741,844,937,1088,1220,1274,1274,1353,1374,1484,1566,1597,1641,1652,1697,1732,1793,1828,1837,1843,1858,1942,1942,2040,2045,2080,2086,2127,2134,2162,2173,2194,2207,2269,2358,2363,2371,2382,2391,2395,2400,2409,2418,2428,2439,2525,2544,2563,2596,2600,2620,2656,2673,2674,2677,2717,2731,2762,2762,2772,2820,2824,2829,2831,2839,2856,2856,2859,2874,2874,2875,2876,2877,2881,2933,2991,3005,3011,3024,3029,3044,3068,3076,3085,3098,3142,3150,3193,3208,3226,3252,3277,3288,3324,3380,3398,3420,3493,3495,3618,3623,3682,3717,3786,3790,3814,3815,3839,3874,3886,3892,3896,3898,3904,3924,3948,3962,3996,3999,4134,4179,4217,4243,4431,4503,4535,4623,4635,4691,4697,4785,5086,5378,5461,5677,6659,6890,8122,9195]}]");
|
|
4
|
+
//#endregion
|
|
5
|
+
export { e as default };
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createContext as e, createElement as t, useContext as n, useEffect as r, useId as i, useLayoutEffect as a, useRef as o, useState as s, useSyncExternalStore as c } from "react";
|
|
3
|
+
import { bisectCenter as l } from "d3-array";
|
|
4
|
+
//#region src/charts/hooks.ts
|
|
5
|
+
var u = (e) => Number(e.slice(0, -2)), d = (e) => {
|
|
6
|
+
let t = getComputedStyle(e);
|
|
7
|
+
return Math.floor(e.clientWidth - u(t.paddingLeft) - u(t.paddingRight));
|
|
8
|
+
}, f = (e = 0, t = !0) => {
|
|
9
|
+
let n = o(null), [r, i] = s(e);
|
|
10
|
+
return a(() => {
|
|
11
|
+
let e = t ? new ResizeObserver(([e]) => {
|
|
12
|
+
i(Math.floor(e.contentRect.width));
|
|
13
|
+
}) : null;
|
|
14
|
+
return e !== null && n.current !== null && (i(d(n.current)), e.observe(n.current)), () => {
|
|
15
|
+
e?.disconnect();
|
|
16
|
+
};
|
|
17
|
+
}, [t]), [n, r];
|
|
18
|
+
}, p = (e) => {
|
|
19
|
+
let [t, n] = s(!1);
|
|
20
|
+
return r(() => {
|
|
21
|
+
let t = new IntersectionObserver(([e]) => {
|
|
22
|
+
e.isIntersecting && (n(!0), t.disconnect());
|
|
23
|
+
}, { threshold: .2 });
|
|
24
|
+
return e.current !== null && t.observe(e.current), () => {
|
|
25
|
+
t.disconnect();
|
|
26
|
+
};
|
|
27
|
+
}, [e]), t;
|
|
28
|
+
}, m = "(prefers-reduced-motion: reduce)", h = (e) => {
|
|
29
|
+
let t = window.matchMedia(m);
|
|
30
|
+
return t.addEventListener("change", e), () => {
|
|
31
|
+
t.removeEventListener("change", e);
|
|
32
|
+
};
|
|
33
|
+
}, g = () => c(h, () => window.matchMedia(m).matches, () => null), _ = () => g() ?? !0, v = e(""), y = (e) => t(v.Provider, { value: e.prefix }, e.children), b = (e) => {
|
|
34
|
+
let t = n(v), r = `${e}-${i().replaceAll(/[^\w-]/gu, "")}`;
|
|
35
|
+
return t === "" ? r : `${t}-${r}`;
|
|
36
|
+
}, x = async (e) => {
|
|
37
|
+
let t = (e.getAnimations?.({ subtree: !0 }) ?? []).filter((e) => "animationName" in e);
|
|
38
|
+
await Promise.all(t.map(async (e) => {
|
|
39
|
+
try {
|
|
40
|
+
await e.finished;
|
|
41
|
+
} catch {}
|
|
42
|
+
}));
|
|
43
|
+
}, S = () => {}, C = (e, t) => e ? "still" : t ? "shown" : "hidden", w = (e, t) => {
|
|
44
|
+
let n = t.animate ?? "scroll", i = g() === !0, c = n === "off" || i, [l, u] = s(0), [d, f] = s(t.replayKey), [p, m] = s(-1), [h, _] = s(-1);
|
|
45
|
+
d !== t.replayKey && (f(t.replayKey), u(l + 1));
|
|
46
|
+
let v = p === l, y = c || h === l;
|
|
47
|
+
r(() => {
|
|
48
|
+
if (c) return S;
|
|
49
|
+
if (n === "mount") {
|
|
50
|
+
let t = requestAnimationFrame(() => {
|
|
51
|
+
e.current?.getBoundingClientRect(), m(l);
|
|
52
|
+
});
|
|
53
|
+
return () => {
|
|
54
|
+
cancelAnimationFrame(t);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
let t = new IntersectionObserver(([e]) => {
|
|
58
|
+
e.isIntersecting && (m(l), t.disconnect());
|
|
59
|
+
}, { threshold: .2 });
|
|
60
|
+
return e.current !== null && t.observe(e.current), () => {
|
|
61
|
+
t.disconnect();
|
|
62
|
+
};
|
|
63
|
+
}, [
|
|
64
|
+
n,
|
|
65
|
+
l,
|
|
66
|
+
e,
|
|
67
|
+
c
|
|
68
|
+
]), r(() => {
|
|
69
|
+
if (!v || c) return S;
|
|
70
|
+
let t = !0, n = async () => {
|
|
71
|
+
e.current !== null && await x(e.current), t && _(l);
|
|
72
|
+
}, r = requestAnimationFrame(() => {
|
|
73
|
+
n();
|
|
74
|
+
});
|
|
75
|
+
return () => {
|
|
76
|
+
t = !1, cancelAnimationFrame(r);
|
|
77
|
+
};
|
|
78
|
+
}, [
|
|
79
|
+
l,
|
|
80
|
+
e,
|
|
81
|
+
v,
|
|
82
|
+
c
|
|
83
|
+
]);
|
|
84
|
+
let b = o(t.onReady);
|
|
85
|
+
return a(() => {
|
|
86
|
+
b.current = t.onReady;
|
|
87
|
+
}), r(() => {
|
|
88
|
+
y && b.current?.();
|
|
89
|
+
}, [y]), {
|
|
90
|
+
phase: C(c, v),
|
|
91
|
+
ready: y
|
|
92
|
+
};
|
|
93
|
+
}, T = /* @__PURE__ */ new Set([
|
|
94
|
+
"ArrowLeft",
|
|
95
|
+
"ArrowRight",
|
|
96
|
+
"End",
|
|
97
|
+
"Home"
|
|
98
|
+
]), E = (e, t, n) => {
|
|
99
|
+
let [r, i] = s(null), a = t.map((e) => e.getTime()), o = n?.time ?? null, c = o === null ? null : l(a, o), u = n === void 0 ? r : c, d = (e) => {
|
|
100
|
+
n === void 0 ? i(e) : n.setTime(e === null ? null : a[e]);
|
|
101
|
+
}, f = u ?? e;
|
|
102
|
+
return {
|
|
103
|
+
bind: (e) => {
|
|
104
|
+
let t = e.length - 1, n = (e) => e === "Home" ? 0 : e === "End" ? t : e === "ArrowLeft" ? f - 1 : f + 1;
|
|
105
|
+
return {
|
|
106
|
+
onBlur: () => {
|
|
107
|
+
d(null);
|
|
108
|
+
},
|
|
109
|
+
onKeyDown: (e) => {
|
|
110
|
+
T.has(e.key) && (e.preventDefault(), d(Math.max(0, Math.min(t, n(e.key)))));
|
|
111
|
+
},
|
|
112
|
+
onPointerLeave: () => {
|
|
113
|
+
d(null);
|
|
114
|
+
},
|
|
115
|
+
onPointerMove: (t) => {
|
|
116
|
+
let n = t.clientX - t.currentTarget.getBoundingClientRect().left;
|
|
117
|
+
d(l(e, n));
|
|
118
|
+
},
|
|
119
|
+
style: { touchAction: "pan-y" },
|
|
120
|
+
tabIndex: 0
|
|
121
|
+
};
|
|
122
|
+
},
|
|
123
|
+
index: f,
|
|
124
|
+
isHovering: u !== null
|
|
125
|
+
};
|
|
126
|
+
}, D = () => {
|
|
127
|
+
let [e, t] = s(null), n = (e, n = 0, r = 0) => {
|
|
128
|
+
t((t) => t !== null && t.key === e && t.x === n && t.y === r ? t : {
|
|
129
|
+
key: e,
|
|
130
|
+
x: n,
|
|
131
|
+
y: r
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
return {
|
|
135
|
+
at: e,
|
|
136
|
+
clear: () => {
|
|
137
|
+
t(null);
|
|
138
|
+
},
|
|
139
|
+
dim: (t) => e !== null && e.key !== t,
|
|
140
|
+
enter: (e, t = 0, r = 0) => () => {
|
|
141
|
+
n(e, t, r);
|
|
142
|
+
},
|
|
143
|
+
key: e === null ? null : e.key,
|
|
144
|
+
set: (e, r = 0, i = 0) => {
|
|
145
|
+
e === null ? t(null) : n(e, r, i);
|
|
146
|
+
},
|
|
147
|
+
show: n,
|
|
148
|
+
showAt: (e) => (t, r) => {
|
|
149
|
+
n(e, t, r);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
//#endregion
|
|
154
|
+
export { y as IdScope, w as useEntry, D as useHover, f as useMeasure, g as useMotionPreference, _ as useReducedMotion, p as useReveal, E as useScrub, b as useSvgId };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cx as e, dimClass as t } from "./util.js";
|
|
3
|
+
import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
|
+
//#region src/charts/hover.tsx
|
|
5
|
+
var a = ({ className: n, dim: i, ...a }) => /* @__PURE__ */ r("g", {
|
|
6
|
+
className: e(t(i), n),
|
|
7
|
+
...a
|
|
8
|
+
}), o = ({ className: t, ...n }) => /* @__PURE__ */ r("rect", {
|
|
9
|
+
className: e("fill-transparent", t),
|
|
10
|
+
...n
|
|
11
|
+
}), s = ({ className: t, ...n }) => /* @__PURE__ */ r("circle", {
|
|
12
|
+
className: e("fill-transparent", t),
|
|
13
|
+
...n
|
|
14
|
+
}), c = ({ className: t, ...n }) => /* @__PURE__ */ r("path", {
|
|
15
|
+
className: e("fill-transparent", t),
|
|
16
|
+
...n
|
|
17
|
+
}), l = (e) => /* @__PURE__ */ i(n, { children: [/* @__PURE__ */ r("b", { children: e.lead }), e.facts === void 0 || e.facts.length === 0 ? null : ` · ${e.facts.join(" · ")}`] });
|
|
18
|
+
//#endregion
|
|
19
|
+
export { a as DimGroup, s as HitCircle, c as HitPath, o as HitRect, l as TipText };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var e = {
|
|
3
|
+
cols: [
|
|
4
|
+
"2014/15",
|
|
5
|
+
"2015/16",
|
|
6
|
+
"2016/17",
|
|
7
|
+
"2017/18",
|
|
8
|
+
"2018/19",
|
|
9
|
+
"2019/20",
|
|
10
|
+
"2020/21",
|
|
11
|
+
"2021/22",
|
|
12
|
+
"2022/23",
|
|
13
|
+
"2023/24",
|
|
14
|
+
"2024/25",
|
|
15
|
+
"2025/26"
|
|
16
|
+
],
|
|
17
|
+
rows: [
|
|
18
|
+
"Scotland",
|
|
19
|
+
"England",
|
|
20
|
+
"Wales",
|
|
21
|
+
"Northern Ireland"
|
|
22
|
+
],
|
|
23
|
+
values: [
|
|
24
|
+
[
|
|
25
|
+
7560,
|
|
26
|
+
4630,
|
|
27
|
+
4760,
|
|
28
|
+
7140,
|
|
29
|
+
11210,
|
|
30
|
+
11050,
|
|
31
|
+
10660,
|
|
32
|
+
10480,
|
|
33
|
+
8190,
|
|
34
|
+
15040,
|
|
35
|
+
8470,
|
|
36
|
+
7220
|
|
37
|
+
],
|
|
38
|
+
[
|
|
39
|
+
2430,
|
|
40
|
+
820,
|
|
41
|
+
1680,
|
|
42
|
+
1500,
|
|
43
|
+
1410,
|
|
44
|
+
2340,
|
|
45
|
+
2050,
|
|
46
|
+
2260,
|
|
47
|
+
3130,
|
|
48
|
+
4590,
|
|
49
|
+
5770,
|
|
50
|
+
5250
|
|
51
|
+
],
|
|
52
|
+
[
|
|
53
|
+
100,
|
|
54
|
+
110,
|
|
55
|
+
410,
|
|
56
|
+
200,
|
|
57
|
+
670,
|
|
58
|
+
80,
|
|
59
|
+
290,
|
|
60
|
+
620,
|
|
61
|
+
1190,
|
|
62
|
+
640,
|
|
63
|
+
840,
|
|
64
|
+
680
|
|
65
|
+
],
|
|
66
|
+
[
|
|
67
|
+
210,
|
|
68
|
+
50,
|
|
69
|
+
210,
|
|
70
|
+
210,
|
|
71
|
+
240,
|
|
72
|
+
200,
|
|
73
|
+
280,
|
|
74
|
+
540,
|
|
75
|
+
450,
|
|
76
|
+
430,
|
|
77
|
+
500,
|
|
78
|
+
330
|
|
79
|
+
]
|
|
80
|
+
]
|
|
81
|
+
};
|
|
82
|
+
//#endregion
|
|
83
|
+
export { e as arcMatrixDemo };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { fmtInt as e } from "../../lib/format.js";
|
|
3
|
+
import { Plot as t, Tooltip as n } from "../core.js";
|
|
4
|
+
import { clamp as r, noteOf as i, noteSpace as a, sansWidth as o, stagger as s } from "../util.js";
|
|
5
|
+
import { HitCircle as c, TipText as l } from "../hover.js";
|
|
6
|
+
import { FootNote as u } from "../plot-note.js";
|
|
7
|
+
import { ChartSvg as d } from "../svg.js";
|
|
8
|
+
import { Label as f } from "../text.js";
|
|
9
|
+
import { arcMatrixDemo as p } from "./arc-matrix.data.js";
|
|
10
|
+
import { useState as m } from "react";
|
|
11
|
+
import { scaleSqrt as h } from "d3-scale";
|
|
12
|
+
import { jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
13
|
+
//#region src/charts/lupi/arc-matrix.tsx
|
|
14
|
+
var v = (e, t, n, i, a) => {
|
|
15
|
+
let s = n.cols.length, c = Math.max(0, ...n.rows.map((e) => o(e, 11))), l = n.rows.length, u = (e) => r((t - e - 8 - a) / (l + .2), 22, 40), d = n.cols.map((e) => o(e, 11)), f = Math.max(0, ...d), p = (e) => {
|
|
16
|
+
let t = e < 30 ? -64 : -50, n = Math.sin(-t * Math.PI / 180), r = Math.cos(-t * Math.PI / 180), i = Math.max(70, f * n + u(70) * .85 + 6), a = u(i), o = Math.min(e, a) * .4;
|
|
17
|
+
return {
|
|
18
|
+
head: i,
|
|
19
|
+
left: c + 8 + o,
|
|
20
|
+
right: Math.max(e * (s - 1) + o, ...d.map((t, i) => i * e + 8 + t * r + 3 * n)),
|
|
21
|
+
rows: a,
|
|
22
|
+
tilt: t
|
|
23
|
+
};
|
|
24
|
+
}, m = 44, g = p(m);
|
|
25
|
+
for (; m > 14 && g.left + g.right > e;) m -= .25, g = p(m);
|
|
26
|
+
let { head: _, left: v, right: y, rows: b, tilt: x } = g, S = m * (s - 1), C = v + Math.max(0, (e - v - y) / 2), w = C + S / 2, T = b * .5, E = (e, t) => {
|
|
27
|
+
let n = (t - w) / (S / 2 || 1);
|
|
28
|
+
return _ + T + e * b + b * .3 - T * (1 - n * n);
|
|
29
|
+
}, D = h().domain([0, i]).range([0, Math.min(m, b) * .4]), O = Array.from({ length: 41 }, (e, t) => C + S * t / 40);
|
|
30
|
+
return {
|
|
31
|
+
arcY: E,
|
|
32
|
+
bottom: _ + (l + .2) * b + 8 + a,
|
|
33
|
+
colPitch: m,
|
|
34
|
+
colTilt: x,
|
|
35
|
+
colX: (e) => C + e * m,
|
|
36
|
+
curve: (e) => O.map((t, n) => `${n === 0 ? "M" : "L"}${t.toFixed(1)},${E(e, t).toFixed(1)}`).join(""),
|
|
37
|
+
radius: (e) => Math.max(2, D(e)),
|
|
38
|
+
rowLabelX: C - Math.min(m, b) * .4 - 8,
|
|
39
|
+
rowPitch: b,
|
|
40
|
+
x0: C
|
|
41
|
+
};
|
|
42
|
+
}, y = (e) => {
|
|
43
|
+
let { arcY: t, colTilt: n, colX: r, curve: i, rowLabelX: a, rowPitch: o, x0: c } = e.layout, { hover: l } = e;
|
|
44
|
+
return /* @__PURE__ */ _("g", { children: [e.data.cols.map((e, i) => /* @__PURE__ */ g(f, {
|
|
45
|
+
className: l !== null && l.c === i ? "fill-text" : "fill-muted",
|
|
46
|
+
order: i,
|
|
47
|
+
tier: "mark",
|
|
48
|
+
transform: `translate(${r(i) + 2},${t(0, r(i)) - o * 1.15}) rotate(${n})`,
|
|
49
|
+
voice: "label",
|
|
50
|
+
children: e
|
|
51
|
+
}, e)), e.data.rows.map((e, n) => /* @__PURE__ */ _("g", { children: [/* @__PURE__ */ g("path", {
|
|
52
|
+
className: "draw stroke-rule",
|
|
53
|
+
d: i(n),
|
|
54
|
+
fill: "none",
|
|
55
|
+
pathLength: 1,
|
|
56
|
+
strokeWidth: 1,
|
|
57
|
+
style: s(n, "series")
|
|
58
|
+
}), /* @__PURE__ */ g(f, {
|
|
59
|
+
anchor: "end",
|
|
60
|
+
className: l !== null && l.r === n ? "fill-text" : "fill-muted",
|
|
61
|
+
middle: !0,
|
|
62
|
+
voice: "label",
|
|
63
|
+
x: a,
|
|
64
|
+
y: t(n, c),
|
|
65
|
+
children: e
|
|
66
|
+
})] }, e))] });
|
|
67
|
+
}, b = (r) => {
|
|
68
|
+
let o = r.data ?? p, h = r.height ?? 440, b = r.format ?? ((t) => `${e(t)} ha`), x = r.noun ?? "of new woodland", [S, C] = m(null), w = o.values.flatMap((e, t) => e.map((e, n) => ({
|
|
69
|
+
c: n,
|
|
70
|
+
id: `${o.rows[t]}-${o.cols[n]}`,
|
|
71
|
+
r: t,
|
|
72
|
+
v: e
|
|
73
|
+
}))), T = Math.max(1, ...w.map((e) => e.v)), E = w.toSorted((e, t) => t.v - e.v).slice(0, r.top ?? 3), D = new Set(E.map((e) => e.id)), O = E.at(0)?.id, k = (e) => S === null || S.r === e.r || S.c === e.c;
|
|
74
|
+
return /* @__PURE__ */ g(t, {
|
|
75
|
+
overlay: S === null ? null : /* @__PURE__ */ g(n, {
|
|
76
|
+
x: S.x,
|
|
77
|
+
y: S.y,
|
|
78
|
+
children: /* @__PURE__ */ g(l, {
|
|
79
|
+
facts: [o.cols[S.c], `${b(o.values[S.r][S.c])} ${x}`],
|
|
80
|
+
lead: o.rows[S.r]
|
|
81
|
+
})
|
|
82
|
+
}),
|
|
83
|
+
children: (e) => {
|
|
84
|
+
let t = a(i(r), e - 16, 20), n = v(e, h, o, T, t), l = Math.min(h, Math.round(n.bottom));
|
|
85
|
+
return /* @__PURE__ */ _(d, {
|
|
86
|
+
height: l,
|
|
87
|
+
label: `Matrix of ${o.rows.length} by ${o.cols.length}. Largest: ${E.map((e) => `${o.rows[e.r]} in ${o.cols[e.c]} ${b(e.v)}`).join(", ")}`,
|
|
88
|
+
leave: () => {
|
|
89
|
+
C(null);
|
|
90
|
+
},
|
|
91
|
+
title: "Bubble matrix with bowed rows",
|
|
92
|
+
width: e,
|
|
93
|
+
children: [
|
|
94
|
+
/* @__PURE__ */ g(y, {
|
|
95
|
+
data: o,
|
|
96
|
+
hover: S,
|
|
97
|
+
layout: n
|
|
98
|
+
}),
|
|
99
|
+
w.map((e) => {
|
|
100
|
+
let t = n.colX(e.c), r = n.arcY(e.r, t), i = n.radius(e.v), a = D.has(e.id);
|
|
101
|
+
return /* @__PURE__ */ _("g", {
|
|
102
|
+
className: `transition-opacity ${k(e) ? "" : "opacity-30"}`,
|
|
103
|
+
onPointerEnter: () => {
|
|
104
|
+
C({
|
|
105
|
+
c: e.c,
|
|
106
|
+
r: e.r,
|
|
107
|
+
x: t,
|
|
108
|
+
y: r - i - 4
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
children: [
|
|
112
|
+
/* @__PURE__ */ g(c, {
|
|
113
|
+
cx: t,
|
|
114
|
+
cy: r,
|
|
115
|
+
r: Math.max(i, n.colPitch / 2.2)
|
|
116
|
+
}),
|
|
117
|
+
/* @__PURE__ */ g("circle", {
|
|
118
|
+
className: `pop ${e.id === O ? "fill-hero" : "fill-l4"}`,
|
|
119
|
+
cx: t,
|
|
120
|
+
cy: r,
|
|
121
|
+
r: i,
|
|
122
|
+
style: s(e.r * 3 + e.c, "dense")
|
|
123
|
+
}),
|
|
124
|
+
a ? /* @__PURE__ */ g(f, {
|
|
125
|
+
anchor: "middle",
|
|
126
|
+
className: "fade",
|
|
127
|
+
voice: e.id === O ? "value" : "axis",
|
|
128
|
+
x: t,
|
|
129
|
+
y: r - i - 6,
|
|
130
|
+
children: b(e.v)
|
|
131
|
+
}) : null
|
|
132
|
+
]
|
|
133
|
+
}, e.id);
|
|
134
|
+
}),
|
|
135
|
+
/* @__PURE__ */ g(u, {
|
|
136
|
+
height: l,
|
|
137
|
+
text: i(r),
|
|
138
|
+
width: e
|
|
139
|
+
})
|
|
140
|
+
]
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
//#endregion
|
|
146
|
+
export { b as ArcMatrix };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
//#region src/charts/lupi/ballot-tally.data.ts
|
|
3
|
+
var e = [
|
|
4
|
+
{
|
|
5
|
+
label: "Cinema",
|
|
6
|
+
value: 44
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
label: "Live performances",
|
|
10
|
+
value: 41
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
label: "Cultural sites",
|
|
14
|
+
value: 41
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
label: "Sports events",
|
|
18
|
+
value: 30
|
|
19
|
+
}
|
|
20
|
+
];
|
|
21
|
+
//#endregion
|
|
22
|
+
export { e as ballotTallyDemo };
|