@m0saic/templates 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/LICENSE +13 -0
- package/README.md +7 -0
- package/dist/freeze.d.ts +406 -0
- package/dist/freeze.js +855 -0
- package/dist/gen-geometry-matrix.d.ts +1 -0
- package/dist/gen-geometry-matrix.js +177 -0
- package/dist/gen-geometry-proof.d.ts +1 -0
- package/dist/gen-geometry-proof.js +259 -0
- package/dist/gen-layout-envelope.d.ts +1 -0
- package/dist/gen-layout-envelope.js +120 -0
- package/dist/gen-precision-sweep.d.ts +1 -0
- package/dist/gen-precision-sweep.js +219 -0
- package/dist/gen-props-shape.d.ts +1 -0
- package/dist/gen-props-shape.js +269 -0
- package/dist/gen-template-audit.d.ts +1 -0
- package/dist/gen-template-audit.js +379 -0
- package/dist/gen-template-manifest.d.ts +1 -0
- package/dist/gen-template-manifest.js +162 -0
- package/dist/gen-web-template-ids.d.ts +1 -0
- package/dist/gen-web-template-ids.js +65 -0
- package/dist/geometry-audit.d.ts +149 -0
- package/dist/geometry-audit.js +368 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +29 -0
- package/dist/m0saic/_shared/onboarding-cover.d.ts +95 -0
- package/dist/m0saic/_shared/onboarding-cover.js +247 -0
- package/dist/m0saic/_shared/raster.d.ts +28 -0
- package/dist/m0saic/_shared/raster.js +146 -0
- package/dist/m0saic/_shared/svgRaster.d.ts +40 -0
- package/dist/m0saic/_shared/svgRaster.js +142 -0
- package/dist/m0saic/agents/commit-feed/index.d.ts +1 -0
- package/dist/m0saic/agents/commit-feed/index.js +17 -0
- package/dist/m0saic/agents/commit-feed/v1/commit-feed.d.ts +68 -0
- package/dist/m0saic/agents/commit-feed/v1/commit-feed.js +293 -0
- package/dist/m0saic/agents/commit-feed/v1/index.d.ts +2 -0
- package/dist/m0saic/agents/commit-feed/v1/index.js +11 -0
- package/dist/m0saic/agents/index.d.ts +7 -0
- package/dist/m0saic/agents/index.js +25 -0
- package/dist/m0saic/agents/trace-timeline/index.d.ts +1 -0
- package/dist/m0saic/agents/trace-timeline/index.js +17 -0
- package/dist/m0saic/agents/trace-timeline/v1/index.d.ts +2 -0
- package/dist/m0saic/agents/trace-timeline/v1/index.js +15 -0
- package/dist/m0saic/agents/trace-timeline/v1/trace-timeline.d.ts +73 -0
- package/dist/m0saic/agents/trace-timeline/v1/trace-timeline.js +356 -0
- package/dist/m0saic/alpine/_shared/alpine-anim.d.ts +65 -0
- package/dist/m0saic/alpine/_shared/alpine-anim.js +142 -0
- package/dist/m0saic/alpine/_shared/alpine-card.d.ts +114 -0
- package/dist/m0saic/alpine/_shared/alpine-card.js +193 -0
- package/dist/m0saic/alpine/_shared/alpine-glyphs.d.ts +23 -0
- package/dist/m0saic/alpine/_shared/alpine-glyphs.js +46 -0
- package/dist/m0saic/alpine/_shared/alpine-theme.d.ts +84 -0
- package/dist/m0saic/alpine/_shared/alpine-theme.js +155 -0
- package/dist/m0saic/alpine/bar-graph/v1/bar-graph.d.ts +85 -0
- package/dist/m0saic/alpine/bar-graph/v1/bar-graph.js +558 -0
- package/dist/m0saic/alpine/bar-graph/v1/index.d.ts +5 -0
- package/dist/m0saic/alpine/bar-graph/v1/index.js +9 -0
- package/dist/m0saic/alpine/commit-feed/v1/commit-feed.d.ts +64 -0
- package/dist/m0saic/alpine/commit-feed/v1/commit-feed.js +261 -0
- package/dist/m0saic/alpine/commit-feed/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/commit-feed/v1/index.js +5 -0
- package/dist/m0saic/alpine/commit-feed/v2/commit-feed.d.ts +78 -0
- package/dist/m0saic/alpine/commit-feed/v2/commit-feed.js +509 -0
- package/dist/m0saic/alpine/commit-feed/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/commit-feed/v2/index.js +5 -0
- package/dist/m0saic/alpine/contributor-table/v1/assets/README.md +13 -0
- package/dist/m0saic/alpine/contributor-table/v1/assets/layout-lite.m0 +9 -0
- package/dist/m0saic/alpine/contributor-table/v1/assets/layout-standard.m0 +9 -0
- package/dist/m0saic/alpine/contributor-table/v1/contributor-table.d.ts +76 -0
- package/dist/m0saic/alpine/contributor-table/v1/contributor-table.js +651 -0
- package/dist/m0saic/alpine/contributor-table/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/contributor-table/v1/index.js +5 -0
- package/dist/m0saic/alpine/donut/v1/donut.d.ts +55 -0
- package/dist/m0saic/alpine/donut/v1/donut.js +322 -0
- package/dist/m0saic/alpine/donut/v1/index.d.ts +5 -0
- package/dist/m0saic/alpine/donut/v1/index.js +9 -0
- package/dist/m0saic/alpine/donut/v2/donut.d.ts +58 -0
- package/dist/m0saic/alpine/donut/v2/donut.js +268 -0
- package/dist/m0saic/alpine/donut/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/donut/v2/index.js +5 -0
- package/dist/m0saic/alpine/donut/v3/donut.d.ts +65 -0
- package/dist/m0saic/alpine/donut/v3/donut.js +428 -0
- package/dist/m0saic/alpine/donut/v3/index.d.ts +1 -0
- package/dist/m0saic/alpine/donut/v3/index.js +5 -0
- package/dist/m0saic/alpine/heatmap/v1/heatmap.d.ts +68 -0
- package/dist/m0saic/alpine/heatmap/v1/heatmap.js +370 -0
- package/dist/m0saic/alpine/heatmap/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/heatmap/v1/index.js +5 -0
- package/dist/m0saic/alpine/heatmap/v2/heatmap.d.ts +73 -0
- package/dist/m0saic/alpine/heatmap/v2/heatmap.js +582 -0
- package/dist/m0saic/alpine/heatmap/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/heatmap/v2/index.js +5 -0
- package/dist/m0saic/alpine/index.d.ts +20 -0
- package/dist/m0saic/alpine/index.js +37 -0
- package/dist/m0saic/alpine/kpi-card/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/kpi-card/v1/index.js +5 -0
- package/dist/m0saic/alpine/kpi-card/v1/kpi-card.d.ts +54 -0
- package/dist/m0saic/alpine/kpi-card/v1/kpi-card.js +311 -0
- package/dist/m0saic/alpine/kpi-card/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/kpi-card/v2/index.js +5 -0
- package/dist/m0saic/alpine/kpi-card/v2/kpi-card.d.ts +60 -0
- package/dist/m0saic/alpine/kpi-card/v2/kpi-card.js +362 -0
- package/dist/m0saic/alpine/leaderboard/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/leaderboard/v1/index.js +5 -0
- package/dist/m0saic/alpine/leaderboard/v1/leaderboard.d.ts +58 -0
- package/dist/m0saic/alpine/leaderboard/v1/leaderboard.js +313 -0
- package/dist/m0saic/alpine/line-chart/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/line-chart/v1/index.js +5 -0
- package/dist/m0saic/alpine/line-chart/v1/line-chart.d.ts +70 -0
- package/dist/m0saic/alpine/line-chart/v1/line-chart.js +408 -0
- package/dist/m0saic/alpine/line-chart/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/line-chart/v2/index.js +5 -0
- package/dist/m0saic/alpine/line-chart/v2/line-chart.d.ts +72 -0
- package/dist/m0saic/alpine/line-chart/v2/line-chart.js +434 -0
- package/dist/m0saic/alpine/progress-card/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/progress-card/v1/index.js +5 -0
- package/dist/m0saic/alpine/progress-card/v1/progress-card.d.ts +53 -0
- package/dist/m0saic/alpine/progress-card/v1/progress-card.js +333 -0
- package/dist/m0saic/alpine/stat-card/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/stat-card/v1/index.js +5 -0
- package/dist/m0saic/alpine/stat-card/v1/stat-card.d.ts +76 -0
- package/dist/m0saic/alpine/stat-card/v1/stat-card.js +295 -0
- package/dist/m0saic/alpine/timeline/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/timeline/v1/index.js +5 -0
- package/dist/m0saic/alpine/timeline/v1/timeline.d.ts +55 -0
- package/dist/m0saic/alpine/timeline/v1/timeline.js +266 -0
- package/dist/m0saic/alpine/timeline/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/timeline/v2/index.js +5 -0
- package/dist/m0saic/alpine/timeline/v2/timeline.d.ts +61 -0
- package/dist/m0saic/alpine/timeline/v2/timeline.js +371 -0
- package/dist/m0saic/alpine/treemap/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/treemap/v1/index.js +5 -0
- package/dist/m0saic/alpine/treemap/v1/treemap.d.ts +56 -0
- package/dist/m0saic/alpine/treemap/v1/treemap.js +326 -0
- package/dist/m0saic/alpine/treemap/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/treemap/v2/index.js +5 -0
- package/dist/m0saic/alpine/treemap/v2/treemap.d.ts +59 -0
- package/dist/m0saic/alpine/treemap/v2/treemap.js +323 -0
- package/dist/m0saic/benchmark/battery/assets/media/README.md +16 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-av.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-01.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-02.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-03.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-04.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/duration-long.mosaic +80 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/encoders-base.mosaic +32 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/geometry-grid.mosaic +592 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/lifetime-window-fade.mosaic +28 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/real-bar-graph.mosaic +1980 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/real-donut.mosaic +797 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/real-screencap-grid.mosaic +4591 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/real-stat-card.mosaic +187 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-audio.mosaic +31 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-lavfi.mosaic +32 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-media.mosaic +73 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-nested.mosaic +48 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-ref.mosaic +24 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-text.mosaic +120 -0
- package/dist/m0saic/benchmark/battery/manifest.d.ts +65 -0
- package/dist/m0saic/benchmark/battery/manifest.js +97 -0
- package/dist/m0saic/benchmark/index.d.ts +2 -0
- package/dist/m0saic/benchmark/index.js +22 -0
- package/dist/m0saic/benchmark/report/v1/assets/m-logo.png +0 -0
- package/dist/m0saic/benchmark/report/v1/assets/sample-session/benchmark.json +41 -0
- package/dist/m0saic/benchmark/report/v1/index.d.ts +1 -0
- package/dist/m0saic/benchmark/report/v1/index.js +17 -0
- package/dist/m0saic/benchmark/report/v1/report.d.ts +23 -0
- package/dist/m0saic/benchmark/report/v1/report.js +242 -0
- package/dist/m0saic/benchmark/run/v1/benchmarkRun.d.ts +57 -0
- package/dist/m0saic/benchmark/run/v1/benchmarkRun.js +151 -0
- package/dist/m0saic/benchmark/run/v1/confirmation.d.ts +11 -0
- package/dist/m0saic/benchmark/run/v1/confirmation.js +48 -0
- package/dist/m0saic/benchmark/run/v1/index.d.ts +1 -0
- package/dist/m0saic/benchmark/run/v1/index.js +17 -0
- package/dist/m0saic/benchmark/run/v1/renderScenario.d.ts +12 -0
- package/dist/m0saic/benchmark/run/v1/renderScenario.js +122 -0
- package/dist/m0saic/benchmark/run/v1/runner.d.ts +10 -0
- package/dist/m0saic/benchmark/run/v1/runner.js +208 -0
- package/dist/m0saic/brand/business-card/v1/back-catalog.d.ts +68 -0
- package/dist/m0saic/brand/business-card/v1/back-catalog.js +121 -0
- package/dist/m0saic/brand/business-card/v1/business-card.d.ts +82 -0
- package/dist/m0saic/brand/business-card/v1/business-card.js +517 -0
- package/dist/m0saic/brand/business-card/v1/index.d.ts +4 -0
- package/dist/m0saic/brand/business-card/v1/index.js +16 -0
- package/dist/m0saic/brand/business-card/v1/layout.d.ts +163 -0
- package/dist/m0saic/brand/business-card/v1/layout.js +369 -0
- package/dist/m0saic/brand/community-m/v1/camera.d.ts +45 -0
- package/dist/m0saic/brand/community-m/v1/camera.js +44 -0
- package/dist/m0saic/brand/community-m/v1/caption.d.ts +5 -0
- package/dist/m0saic/brand/community-m/v1/caption.js +18 -0
- package/dist/m0saic/brand/community-m/v1/community-m.d.ts +25 -0
- package/dist/m0saic/brand/community-m/v1/community-m.js +117 -0
- package/dist/m0saic/brand/community-m/v1/community-m.web.d.ts +3 -0
- package/dist/m0saic/brand/community-m/v1/community-m.web.js +172 -0
- package/dist/m0saic/brand/community-m/v1/gen-seed-piece.d.ts +1 -0
- package/dist/m0saic/brand/community-m/v1/gen-seed-piece.js +59 -0
- package/dist/m0saic/brand/community-m/v1/geometry.d.ts +44 -0
- package/dist/m0saic/brand/community-m/v1/geometry.js +68 -0
- package/dist/m0saic/brand/community-m/v1/imageSize.node.d.ts +3 -0
- package/dist/m0saic/brand/community-m/v1/imageSize.node.js +60 -0
- package/dist/m0saic/brand/community-m/v1/index.d.ts +1 -0
- package/dist/m0saic/brand/community-m/v1/index.js +5 -0
- package/dist/m0saic/brand/community-m/v1/loadPiece.node.d.ts +14 -0
- package/dist/m0saic/brand/community-m/v1/loadPiece.node.js +69 -0
- package/dist/m0saic/brand/community-m/v1/manifest.d.ts +22 -0
- package/dist/m0saic/brand/community-m/v1/manifest.js +81 -0
- package/dist/m0saic/brand/community-m/v1/mark.d.ts +76 -0
- package/dist/m0saic/brand/community-m/v1/mark.js +136 -0
- package/dist/m0saic/brand/community-m/v1/paths.d.ts +14 -0
- package/dist/m0saic/brand/community-m/v1/paths.js +61 -0
- package/dist/m0saic/brand/community-m/v1/piece.d.ts +28 -0
- package/dist/m0saic/brand/community-m/v1/piece.js +35 -0
- package/dist/m0saic/brand/community-m/v1/pipeline.d.ts +122 -0
- package/dist/m0saic/brand/community-m/v1/pipeline.js +461 -0
- package/dist/m0saic/brand/community-m/v1/preview.d.ts +75 -0
- package/dist/m0saic/brand/community-m/v1/preview.js +214 -0
- package/dist/m0saic/brand/community-m/v1/props.d.ts +101 -0
- package/dist/m0saic/brand/community-m/v1/props.js +178 -0
- package/dist/m0saic/brand/community-m/v1/reveal.d.ts +129 -0
- package/dist/m0saic/brand/community-m/v1/reveal.js +155 -0
- package/dist/m0saic/brand/community-m/v1/seedPiece.d.ts +57 -0
- package/dist/m0saic/brand/community-m/v1/seedPiece.js +153 -0
- package/dist/m0saic/brand/community-m/v1/target.d.ts +88 -0
- package/dist/m0saic/brand/community-m/v1/target.js +132 -0
- package/dist/m0saic/brand/community-m/v1/timing.d.ts +32 -0
- package/dist/m0saic/brand/community-m/v1/timing.js +57 -0
- package/dist/m0saic/brand/community-m/v1/webPiece.d.ts +23 -0
- package/dist/m0saic/brand/community-m/v1/webPiece.js +42 -0
- package/dist/m0saic/brand/community-m/v1/wordmark.d.ts +34 -0
- package/dist/m0saic/brand/community-m/v1/wordmark.js +62 -0
- package/dist/m0saic/brand/index.d.ts +7 -0
- package/dist/m0saic/brand/index.js +17 -0
- package/dist/m0saic/brand/logo/v1/index.d.ts +1 -0
- package/dist/m0saic/brand/logo/v1/index.js +5 -0
- package/dist/m0saic/brand/logo/v1/logo.d.ts +30 -0
- package/dist/m0saic/brand/logo/v1/logo.js +471 -0
- package/dist/m0saic/brand/logo/v2/index.d.ts +1 -0
- package/dist/m0saic/brand/logo/v2/index.js +5 -0
- package/dist/m0saic/brand/logo/v2/logo.d.ts +30 -0
- package/dist/m0saic/brand/logo/v2/logo.js +615 -0
- package/dist/m0saic/brand/logo/v3/index.d.ts +1 -0
- package/dist/m0saic/brand/logo/v3/index.js +5 -0
- package/dist/m0saic/brand/logo/v3/logo.d.ts +36 -0
- package/dist/m0saic/brand/logo/v3/logo.js +666 -0
- package/dist/m0saic/brand/logo/v3/logo_runner.d.ts +36 -0
- package/dist/m0saic/brand/logo/v3/logo_runner.js +216 -0
- package/dist/m0saic/brand/qr-stamp/assets/brand-qr-with-logo.svg +8 -0
- package/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.mp4 +0 -0
- package/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.static.png +0 -0
- package/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.mp4 +0 -0
- package/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.static.png +0 -0
- package/dist/m0saic/brand/qr-stamp/still/v1/index.d.ts +2 -0
- package/dist/m0saic/brand/qr-stamp/still/v1/index.js +10 -0
- package/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.d.ts +45 -0
- package/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.js +347 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/index.d.ts +2 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/index.js +9 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.d.ts +43 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.js +447 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/windows.d.ts +19 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/windows.js +24 -0
- package/dist/m0saic/charts/_shared/index.d.ts +8 -0
- package/dist/m0saic/charts/_shared/index.js +24 -0
- package/dist/m0saic/charts/_shared/line.d.ts +100 -0
- package/dist/m0saic/charts/_shared/line.js +134 -0
- package/dist/m0saic/charts/_shared/scale.d.ts +9 -0
- package/dist/m0saic/charts/_shared/scale.js +17 -0
- package/dist/m0saic/charts/bar-graph/v1/anim.d.ts +83 -0
- package/dist/m0saic/charts/bar-graph/v1/anim.js +104 -0
- package/dist/m0saic/charts/bar-graph/v1/axis.d.ts +51 -0
- package/dist/m0saic/charts/bar-graph/v1/axis.js +73 -0
- package/dist/m0saic/charts/bar-graph/v1/bar-graph.d.ts +44 -0
- package/dist/m0saic/charts/bar-graph/v1/bar-graph.js +316 -0
- package/dist/m0saic/charts/bar-graph/v1/defaults.d.ts +88 -0
- package/dist/m0saic/charts/bar-graph/v1/defaults.js +157 -0
- package/dist/m0saic/charts/bar-graph/v1/format.d.ts +46 -0
- package/dist/m0saic/charts/bar-graph/v1/format.js +95 -0
- package/dist/m0saic/charts/bar-graph/v1/index.d.ts +31 -0
- package/dist/m0saic/charts/bar-graph/v1/index.js +36 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.d.ts +53 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.js +198 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.d.ts +4 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.js +154 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.d.ts +41 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.js +208 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.d.ts +32 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.js +124 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/labels.d.ts +52 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/labels.js +504 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/plot-area.d.ts +24 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/plot-area.js +180 -0
- package/dist/m0saic/charts/bar-graph/v1/types.d.ts +326 -0
- package/dist/m0saic/charts/bar-graph/v1/types.js +36 -0
- package/dist/m0saic/charts/bar-graph/v2/bar-graph.d.ts +131 -0
- package/dist/m0saic/charts/bar-graph/v2/bar-graph.js +768 -0
- package/dist/m0saic/charts/bar-graph/v2/index.d.ts +10 -0
- package/dist/m0saic/charts/bar-graph/v2/index.js +14 -0
- package/dist/m0saic/charts/donut/v1/anim.d.ts +54 -0
- package/dist/m0saic/charts/donut/v1/anim.js +84 -0
- package/dist/m0saic/charts/donut/v1/donut.d.ts +87 -0
- package/dist/m0saic/charts/donut/v1/donut.js +400 -0
- package/dist/m0saic/charts/donut/v1/geometry.d.ts +55 -0
- package/dist/m0saic/charts/donut/v1/geometry.js +115 -0
- package/dist/m0saic/charts/donut/v1/index.d.ts +11 -0
- package/dist/m0saic/charts/donut/v1/index.js +17 -0
- package/dist/m0saic/charts/donut/v2/donut.d.ts +67 -0
- package/dist/m0saic/charts/donut/v2/donut.js +307 -0
- package/dist/m0saic/charts/donut/v2/index.d.ts +10 -0
- package/dist/m0saic/charts/donut/v2/index.js +14 -0
- package/dist/m0saic/charts/donut/v3/anim.d.ts +47 -0
- package/dist/m0saic/charts/donut/v3/anim.js +77 -0
- package/dist/m0saic/charts/donut/v3/donut.d.ts +54 -0
- package/dist/m0saic/charts/donut/v3/donut.js +531 -0
- package/dist/m0saic/charts/donut/v3/geometry.d.ts +74 -0
- package/dist/m0saic/charts/donut/v3/geometry.js +152 -0
- package/dist/m0saic/charts/donut/v3/index.d.ts +10 -0
- package/dist/m0saic/charts/donut/v3/index.js +14 -0
- package/dist/m0saic/charts/donut/v4/donut.d.ts +63 -0
- package/dist/m0saic/charts/donut/v4/donut.js +546 -0
- package/dist/m0saic/charts/donut/v4/index.d.ts +10 -0
- package/dist/m0saic/charts/donut/v4/index.js +14 -0
- package/dist/m0saic/charts/index.d.ts +8 -0
- package/dist/m0saic/charts/index.js +25 -0
- package/dist/m0saic/charts/line-chart/v1/anim.d.ts +78 -0
- package/dist/m0saic/charts/line-chart/v1/anim.js +119 -0
- package/dist/m0saic/charts/line-chart/v1/axis.d.ts +48 -0
- package/dist/m0saic/charts/line-chart/v1/axis.js +55 -0
- package/dist/m0saic/charts/line-chart/v1/card.d.ts +27 -0
- package/dist/m0saic/charts/line-chart/v1/card.js +44 -0
- package/dist/m0saic/charts/line-chart/v1/chrome-spec.d.ts +110 -0
- package/dist/m0saic/charts/line-chart/v1/chrome-spec.js +208 -0
- package/dist/m0saic/charts/line-chart/v1/chrome.d.ts +30 -0
- package/dist/m0saic/charts/line-chart/v1/chrome.js +335 -0
- package/dist/m0saic/charts/line-chart/v1/defaults.d.ts +65 -0
- package/dist/m0saic/charts/line-chart/v1/defaults.js +151 -0
- package/dist/m0saic/charts/line-chart/v1/format.d.ts +26 -0
- package/dist/m0saic/charts/line-chart/v1/format.js +76 -0
- package/dist/m0saic/charts/line-chart/v1/frame.d.ts +50 -0
- package/dist/m0saic/charts/line-chart/v1/frame.js +62 -0
- package/dist/m0saic/charts/line-chart/v1/geometry.d.ts +15 -0
- package/dist/m0saic/charts/line-chart/v1/geometry.js +34 -0
- package/dist/m0saic/charts/line-chart/v1/index.d.ts +16 -0
- package/dist/m0saic/charts/line-chart/v1/index.js +21 -0
- package/dist/m0saic/charts/line-chart/v1/line-chart.d.ts +26 -0
- package/dist/m0saic/charts/line-chart/v1/line-chart.js +634 -0
- package/dist/m0saic/charts/line-chart/v1/line-series.d.ts +69 -0
- package/dist/m0saic/charts/line-chart/v1/line-series.js +259 -0
- package/dist/m0saic/charts/line-chart/v1/types.d.ts +328 -0
- package/dist/m0saic/charts/line-chart/v1/types.js +24 -0
- package/dist/m0saic/charts/stat-card/v1/index.d.ts +10 -0
- package/dist/m0saic/charts/stat-card/v1/index.js +15 -0
- package/dist/m0saic/charts/stat-card/v1/stat-card.d.ts +78 -0
- package/dist/m0saic/charts/stat-card/v1/stat-card.js +475 -0
- package/dist/m0saic/code/_shared/code-diff.d.ts +73 -0
- package/dist/m0saic/code/_shared/code-diff.js +220 -0
- package/dist/m0saic/code/_shared/code-lexer.d.ts +28 -0
- package/dist/m0saic/code/_shared/code-lexer.js +226 -0
- package/dist/m0saic/code/_shared/code-metrics.d.ts +58 -0
- package/dist/m0saic/code/_shared/code-metrics.js +140 -0
- package/dist/m0saic/code/_shared/code-theme.d.ts +30 -0
- package/dist/m0saic/code/_shared/code-theme.js +141 -0
- package/dist/m0saic/code/index.d.ts +1 -0
- package/dist/m0saic/code/index.js +17 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/chrome.d.ts +60 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/chrome.js +252 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/plan.d.ts +90 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/plan.js +226 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/steps.d.ts +103 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/steps.js +313 -0
- package/dist/m0saic/code/snippet-morph/v1/snippet-morph.d.ts +61 -0
- package/dist/m0saic/code/snippet-morph/v1/snippet-morph.js +462 -0
- package/dist/m0saic/collage/image-collage/v1/demo-fixture.d.ts +18 -0
- package/dist/m0saic/collage/image-collage/v1/demo-fixture.js +30 -0
- package/dist/m0saic/collage/image-collage/v1/emit.d.ts +81 -0
- package/dist/m0saic/collage/image-collage/v1/emit.js +163 -0
- package/dist/m0saic/collage/image-collage/v1/image-collage.d.ts +63 -0
- package/dist/m0saic/collage/image-collage/v1/image-collage.js +386 -0
- package/dist/m0saic/collage/image-collage/v1/index.d.ts +2 -0
- package/dist/m0saic/collage/image-collage/v1/index.js +5 -0
- package/dist/m0saic/collage/image-collage/v1/packer/candidates.d.ts +71 -0
- package/dist/m0saic/collage/image-collage/v1/packer/candidates.js +211 -0
- package/dist/m0saic/collage/image-collage/v1/packer/classify.d.ts +26 -0
- package/dist/m0saic/collage/image-collage/v1/packer/classify.js +70 -0
- package/dist/m0saic/collage/image-collage/v1/packer/index.d.ts +7 -0
- package/dist/m0saic/collage/image-collage/v1/packer/index.js +23 -0
- package/dist/m0saic/collage/image-collage/v1/packer/paging.d.ts +39 -0
- package/dist/m0saic/collage/image-collage/v1/packer/paging.js +139 -0
- package/dist/m0saic/collage/image-collage/v1/packer/score.d.ts +25 -0
- package/dist/m0saic/collage/image-collage/v1/packer/score.js +69 -0
- package/dist/m0saic/collage/image-collage/v1/packer/solve.d.ts +27 -0
- package/dist/m0saic/collage/image-collage/v1/packer/solve.js +84 -0
- package/dist/m0saic/collage/image-collage/v1/packer/tiler.d.ts +65 -0
- package/dist/m0saic/collage/image-collage/v1/packer/tiler.js +607 -0
- package/dist/m0saic/collage/image-collage/v1/packer/types.d.ts +99 -0
- package/dist/m0saic/collage/image-collage/v1/packer/types.js +10 -0
- package/dist/m0saic/collage/image-collage/v1/tutorial.d.ts +17 -0
- package/dist/m0saic/collage/image-collage/v1/tutorial.js +269 -0
- package/dist/m0saic/collage/index.d.ts +2 -0
- package/dist/m0saic/collage/index.js +18 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.d.ts +7 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.js +11 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/index.d.ts +1 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/index.js +5 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.d.ts +29 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.js +78 -0
- package/dist/m0saic/dsl-tutorial/index.d.ts +1 -0
- package/dist/m0saic/dsl-tutorial/index.js +18 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.d.ts +24 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.js +17 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.d.ts +6 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.js +9 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.d.ts +57 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.js +156 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.d.ts +76 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.js +127 -0
- package/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.d.ts +124 -0
- package/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.js +675 -0
- package/dist/m0saic/dsl-tutorial/v1/index.d.ts +24 -0
- package/dist/m0saic/dsl-tutorial/v1/index.js +35 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.d.ts +113 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.js +573 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.d.ts +83 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.js +373 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.d.ts +48 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.js +366 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.d.ts +54 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.js +304 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.d.ts +110 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.js +443 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/camera.d.ts +64 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/camera.js +177 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.d.ts +47 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.js +64 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.d.ts +61 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.js +135 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.d.ts +62 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.js +197 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/timing.d.ts +117 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/timing.js +180 -0
- package/dist/m0saic/dsl-tutorial/v1/theme/tokens.d.ts +87 -0
- package/dist/m0saic/dsl-tutorial/v1/theme/tokens.js +96 -0
- package/dist/m0saic/forensic/index.d.ts +1 -0
- package/dist/m0saic/forensic/index.js +17 -0
- package/dist/m0saic/forensic/watermark/_shared/cellLuminance.d.ts +37 -0
- package/dist/m0saic/forensic/watermark/_shared/cellLuminance.js +62 -0
- package/dist/m0saic/forensic/watermark/index.d.ts +2 -0
- package/dist/m0saic/forensic/watermark/index.js +18 -0
- package/dist/m0saic/forensic/watermark/verify/index.d.ts +1 -0
- package/dist/m0saic/forensic/watermark/verify/index.js +17 -0
- package/dist/m0saic/forensic/watermark/verify/v1/decode.d.ts +83 -0
- package/dist/m0saic/forensic/watermark/verify/v1/decode.js +270 -0
- package/dist/m0saic/forensic/watermark/verify/v1/index.d.ts +2 -0
- package/dist/m0saic/forensic/watermark/verify/v1/index.js +23 -0
- package/dist/m0saic/forensic/watermark/verify/v1/report.d.ts +71 -0
- package/dist/m0saic/forensic/watermark/verify/v1/report.js +428 -0
- package/dist/m0saic/forensic/watermark/verify/v1/verify.d.ts +55 -0
- package/dist/m0saic/forensic/watermark/verify/v1/verify.js +286 -0
- package/dist/m0saic/forensic/watermark/video/index.d.ts +1 -0
- package/dist/m0saic/forensic/watermark/video/index.js +17 -0
- package/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.d.ts +119 -0
- package/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.js +629 -0
- package/dist/m0saic/forensic/watermark/video/v1/index.d.ts +2 -0
- package/dist/m0saic/forensic/watermark/video/v1/index.js +9 -0
- package/dist/m0saic/forensic/watermark/video/v1/maskAsset.d.ts +67 -0
- package/dist/m0saic/forensic/watermark/video/v1/maskAsset.js +125 -0
- package/dist/m0saic/forensic/watermark/video/v1/probeHost.d.ts +69 -0
- package/dist/m0saic/forensic/watermark/video/v1/probeHost.js +83 -0
- package/dist/m0saic/github/client.d.ts +200 -0
- package/dist/m0saic/github/client.js +161 -0
- package/dist/m0saic/github/connection.d.ts +24 -0
- package/dist/m0saic/github/connection.js +91 -0
- package/dist/m0saic/github/index.d.ts +20 -0
- package/dist/m0saic/github/index.js +42 -0
- package/dist/m0saic/github/repo-facts-fetcher/index.d.ts +4 -0
- package/dist/m0saic/github/repo-facts-fetcher/index.js +20 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.d.ts +54 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.js +238 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/facts.d.ts +112 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/facts.js +12 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.d.ts +67 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.js +210 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.d.ts +16 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.js +175 -0
- package/dist/m0saic/github/week-math.d.ts +50 -0
- package/dist/m0saic/github/week-math.js +96 -0
- package/dist/m0saic/github/weekly-pulse/index.d.ts +1 -0
- package/dist/m0saic/github/weekly-pulse/index.js +17 -0
- package/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.d.ts +51 -0
- package/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.js +153 -0
- package/dist/m0saic/github/weekly-pulse-adapter/index.d.ts +2 -0
- package/dist/m0saic/github/weekly-pulse-adapter/index.js +18 -0
- package/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.d.ts +24 -0
- package/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.js +257 -0
- package/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.d.ts +35 -0
- package/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.js +131 -0
- package/dist/m0saic/github/year-card/index.d.ts +1 -0
- package/dist/m0saic/github/year-card/index.js +17 -0
- package/dist/m0saic/github/year-card/v1/index.d.ts +2 -0
- package/dist/m0saic/github/year-card/v1/index.js +16 -0
- package/dist/m0saic/github/year-card/v1/year-card.d.ts +90 -0
- package/dist/m0saic/github/year-card/v1/year-card.js +476 -0
- package/dist/m0saic/hello-world/index.d.ts +1 -0
- package/dist/m0saic/hello-world/index.js +18 -0
- package/dist/m0saic/hello-world/v1/hello-world.d.ts +4 -0
- package/dist/m0saic/hello-world/v1/hello-world.js +36 -0
- package/dist/m0saic/hello-world/v1/index.d.ts +5 -0
- package/dist/m0saic/hello-world/v1/index.js +9 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/bake-fin-qr.sh +11 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg-logo.png +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg_logo_480x480.svg +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/m-hero.png +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/qr-fin.mp4 +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-desktop.mp4 +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-layout.m0p +5146 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-mobile.mp4 +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-square.mp4 +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/title-layout.m0p +130 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.d.ts +151 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.js +305 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.d.ts +178 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.js +238 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.js +12 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.d.ts +67 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.js +59 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.d.ts +54 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.js +173 -0
- package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.d.ts +37 -0
- package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.js +178 -0
- package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.d.ts +37 -0
- package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.js +164 -0
- package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.d.ts +37 -0
- package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.js +159 -0
- package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.d.ts +31 -0
- package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.js +154 -0
- package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/index.d.ts +10 -0
- package/dist/m0saic/hero/ffmpeg-pulse/index.js +24 -0
- package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.d.ts +38 -0
- package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.js +161 -0
- package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.d.ts +36 -0
- package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.js +151 -0
- package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.d.ts +54 -0
- package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.js +128 -0
- package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.d.ts +29 -0
- package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.js +47 -0
- package/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.d.ts +20 -0
- package/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.js +365 -0
- package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.d.ts +38 -0
- package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.js +174 -0
- package/dist/m0saic/hero/index.d.ts +1 -0
- package/dist/m0saic/hero/index.js +18 -0
- package/dist/m0saic/index.d.ts +20 -0
- package/dist/m0saic/index.js +56 -0
- package/dist/m0saic/media/barcode/v1/barcode.d.ts +22 -0
- package/dist/m0saic/media/barcode/v1/barcode.js +218 -0
- package/dist/m0saic/media/barcode/v1/index.d.ts +1 -0
- package/dist/m0saic/media/barcode/v1/index.js +9 -0
- package/dist/m0saic/media/blur-regions/index.d.ts +1 -0
- package/dist/m0saic/media/blur-regions/index.js +17 -0
- package/dist/m0saic/media/blur-regions/v1/blur-regions.d.ts +58 -0
- package/dist/m0saic/media/blur-regions/v1/blur-regions.js +303 -0
- package/dist/m0saic/media/blur-regions/v1/index.d.ts +2 -0
- package/dist/m0saic/media/blur-regions/v1/index.js +20 -0
- package/dist/m0saic/media/blur-regions/v1/plan.d.ts +125 -0
- package/dist/m0saic/media/blur-regions/v1/plan.js +204 -0
- package/dist/m0saic/media/blur-regions/v1/tutorial.d.ts +18 -0
- package/dist/m0saic/media/blur-regions/v1/tutorial.js +428 -0
- package/dist/m0saic/media/highlights/index.d.ts +1 -0
- package/dist/m0saic/media/highlights/index.js +17 -0
- package/dist/m0saic/media/highlights/v1/assets/cover-ranges.jpg +0 -0
- package/dist/m0saic/media/highlights/v1/highlights.d.ts +49 -0
- package/dist/m0saic/media/highlights/v1/highlights.js +222 -0
- package/dist/m0saic/media/highlights/v1/index.d.ts +3 -0
- package/dist/m0saic/media/highlights/v1/index.js +19 -0
- package/dist/m0saic/media/highlights/v1/pipeline.d.ts +35 -0
- package/dist/m0saic/media/highlights/v1/pipeline.js +91 -0
- package/dist/m0saic/media/highlights/v1/plan.d.ts +46 -0
- package/dist/m0saic/media/highlights/v1/plan.js +68 -0
- package/dist/m0saic/media/index.d.ts +13 -0
- package/dist/m0saic/media/index.js +31 -0
- package/dist/m0saic/media/logo-animate/index.d.ts +1 -0
- package/dist/m0saic/media/logo-animate/index.js +17 -0
- package/dist/m0saic/media/logo-animate/v1/default-logo.d.ts +12 -0
- package/dist/m0saic/media/logo-animate/v1/default-logo.js +49 -0
- package/dist/m0saic/media/logo-animate/v1/expressions.d.ts +66 -0
- package/dist/m0saic/media/logo-animate/v1/expressions.js +107 -0
- package/dist/m0saic/media/logo-animate/v1/index.d.ts +2 -0
- package/dist/m0saic/media/logo-animate/v1/index.js +5 -0
- package/dist/m0saic/media/logo-animate/v1/layout.d.ts +29 -0
- package/dist/m0saic/media/logo-animate/v1/layout.js +43 -0
- package/dist/m0saic/media/logo-animate/v1/logo-animate.d.ts +106 -0
- package/dist/m0saic/media/logo-animate/v1/logo-animate.js +732 -0
- package/dist/m0saic/media/logo-animate/v1/svg-source.d.ts +63 -0
- package/dist/m0saic/media/logo-animate/v1/svg-source.js +127 -0
- package/dist/m0saic/media/logo-animate/v1/tutorial.d.ts +16 -0
- package/dist/m0saic/media/logo-animate/v1/tutorial.js +378 -0
- package/dist/m0saic/media/metadata-stamp/index.d.ts +1 -0
- package/dist/m0saic/media/metadata-stamp/index.js +17 -0
- package/dist/m0saic/media/metadata-stamp/v1/assets/cover-frame.jpg +0 -0
- package/dist/m0saic/media/metadata-stamp/v1/format-date.d.ts +52 -0
- package/dist/m0saic/media/metadata-stamp/v1/format-date.js +128 -0
- package/dist/m0saic/media/metadata-stamp/v1/index.d.ts +4 -0
- package/dist/m0saic/media/metadata-stamp/v1/index.js +10 -0
- package/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.d.ts +58 -0
- package/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.js +534 -0
- package/dist/m0saic/media/qr/_shared/brandMCenter.d.ts +28 -0
- package/dist/m0saic/media/qr/_shared/brandMCenter.js +52 -0
- package/dist/m0saic/media/qr/animate/v1/expressions.d.ts +164 -0
- package/dist/m0saic/media/qr/animate/v1/expressions.js +251 -0
- package/dist/m0saic/media/qr/animate/v1/index.d.ts +2 -0
- package/dist/m0saic/media/qr/animate/v1/index.js +9 -0
- package/dist/m0saic/media/qr/animate/v1/qr-animate.d.ts +171 -0
- package/dist/m0saic/media/qr/animate/v1/qr-animate.js +775 -0
- package/dist/m0saic/media/qr/animate/v2/index.d.ts +2 -0
- package/dist/m0saic/media/qr/animate/v2/index.js +9 -0
- package/dist/m0saic/media/qr/animate/v2/qr-animate.d.ts +64 -0
- package/dist/m0saic/media/qr/animate/v2/qr-animate.js +341 -0
- package/dist/m0saic/media/qr/basic/v1/index.d.ts +1 -0
- package/dist/m0saic/media/qr/basic/v1/index.js +10 -0
- package/dist/m0saic/media/qr/basic/v1/qr.d.ts +24 -0
- package/dist/m0saic/media/qr/basic/v1/qr.js +132 -0
- package/dist/m0saic/media/qr/code/v1/index.d.ts +2 -0
- package/dist/m0saic/media/qr/code/v1/index.js +9 -0
- package/dist/m0saic/media/qr/code/v1/qr-code.d.ts +135 -0
- package/dist/m0saic/media/qr/code/v1/qr-code.js +611 -0
- package/dist/m0saic/media/qr/index.d.ts +7 -0
- package/dist/m0saic/media/qr/index.js +19 -0
- package/dist/m0saic/media/qr/rounded/v1/index.d.ts +1 -0
- package/dist/m0saic/media/qr/rounded/v1/index.js +9 -0
- package/dist/m0saic/media/qr/rounded/v1/qr-rounded.d.ts +68 -0
- package/dist/m0saic/media/qr/rounded/v1/qr-rounded.js +338 -0
- package/dist/m0saic/media/qr/stamp/v1/assets/cover-frame.jpg +0 -0
- package/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.d.ts +44 -0
- package/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.js +389 -0
- package/dist/m0saic/media/qr/stamp-video/v1/expressions.d.ts +10 -0
- package/dist/m0saic/media/qr/stamp-video/v1/expressions.js +18 -0
- package/dist/m0saic/media/qr/stamp-video/v1/gleamBand.d.ts +115 -0
- package/dist/m0saic/media/qr/stamp-video/v1/gleamBand.js +206 -0
- package/dist/m0saic/media/qr/stamp-video/v1/index.d.ts +2 -0
- package/dist/m0saic/media/qr/stamp-video/v1/index.js +9 -0
- package/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.d.ts +82 -0
- package/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.js +424 -0
- package/dist/m0saic/media/screencap_grid/index.d.ts +3 -0
- package/dist/m0saic/media/screencap_grid/index.js +9 -0
- package/dist/m0saic/media/screencap_grid/internal/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid/internal/index.js +5 -0
- package/dist/m0saic/media/screencap_grid/internal/info_pane.d.ts +13 -0
- package/dist/m0saic/media/screencap_grid/internal/info_pane.js +130 -0
- package/dist/m0saic/media/screencap_grid/v1/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid/v1/index.js +5 -0
- package/dist/m0saic/media/screencap_grid/v1/screencap-grid.d.ts +162 -0
- package/dist/m0saic/media/screencap_grid/v1/screencap-grid.js +690 -0
- package/dist/m0saic/media/screencap_grid/v2/assets/tutorial-sheet.jpg +0 -0
- package/dist/m0saic/media/screencap_grid/v2/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid/v2/index.js +5 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.d.ts +9 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.js +12 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.d.ts +97 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.js +367 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.d.ts +38 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.js +530 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid.d.ts +194 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid.js +615 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/index.js +5 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/assets/pair-sheet.jpg +0 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.js +5 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.d.ts +18 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.js +191 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.d.ts +13 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.js +355 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.d.ts +179 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.js +544 -0
- package/dist/m0saic/media/scroll_wall/index.d.ts +1 -0
- package/dist/m0saic/media/scroll_wall/index.js +5 -0
- package/dist/m0saic/media/scroll_wall/v1/geometry.d.ts +131 -0
- package/dist/m0saic/media/scroll_wall/v1/geometry.js +172 -0
- package/dist/m0saic/media/scroll_wall/v1/index.d.ts +1 -0
- package/dist/m0saic/media/scroll_wall/v1/index.js +5 -0
- package/dist/m0saic/media/scroll_wall/v1/motion.d.ts +114 -0
- package/dist/m0saic/media/scroll_wall/v1/motion.js +141 -0
- package/dist/m0saic/media/scroll_wall/v1/scroll-wall.d.ts +182 -0
- package/dist/m0saic/media/scroll_wall/v1/scroll-wall.js +432 -0
- package/dist/m0saic/media/subtitle-burn/index.d.ts +1 -0
- package/dist/m0saic/media/subtitle-burn/index.js +17 -0
- package/dist/m0saic/media/subtitle-burn/v1/assets/cover-frame.jpg +0 -0
- package/dist/m0saic/media/subtitle-burn/v1/index.d.ts +1 -0
- package/dist/m0saic/media/subtitle-burn/v1/index.js +6 -0
- package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.d.ts +13 -0
- package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.js +196 -0
- package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.d.ts +137 -0
- package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.js +603 -0
- package/dist/m0saic/media/trickplay/index.d.ts +1 -0
- package/dist/m0saic/media/trickplay/index.js +17 -0
- package/dist/m0saic/media/trickplay/v1/index.d.ts +4 -0
- package/dist/m0saic/media/trickplay/v1/index.js +18 -0
- package/dist/m0saic/media/trickplay/v1/pipeline.d.ts +51 -0
- package/dist/m0saic/media/trickplay/v1/pipeline.js +180 -0
- package/dist/m0saic/media/trickplay/v1/plan.d.ts +65 -0
- package/dist/m0saic/media/trickplay/v1/plan.js +76 -0
- package/dist/m0saic/media/trickplay/v1/sidecars.d.ts +79 -0
- package/dist/m0saic/media/trickplay/v1/sidecars.js +89 -0
- package/dist/m0saic/media/trickplay/v1/trickplay.d.ts +40 -0
- package/dist/m0saic/media/trickplay/v1/trickplay.js +123 -0
- package/dist/m0saic/media/video_to_png_sequence/index.d.ts +1 -0
- package/dist/m0saic/media/video_to_png_sequence/index.js +5 -0
- package/dist/m0saic/media/video_to_png_sequence/v1/index.d.ts +1 -0
- package/dist/m0saic/media/video_to_png_sequence/v1/index.js +5 -0
- package/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.d.ts +37 -0
- package/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.js +234 -0
- package/dist/m0saic/media/watermark/index.d.ts +1 -0
- package/dist/m0saic/media/watermark/index.js +17 -0
- package/dist/m0saic/media/watermark/v1/adaptive.d.ts +85 -0
- package/dist/m0saic/media/watermark/v1/adaptive.js +162 -0
- package/dist/m0saic/media/watermark/v1/content.d.ts +56 -0
- package/dist/m0saic/media/watermark/v1/content.js +160 -0
- package/dist/m0saic/media/watermark/v1/geometry.d.ts +138 -0
- package/dist/m0saic/media/watermark/v1/geometry.js +247 -0
- package/dist/m0saic/media/watermark/v1/index.d.ts +3 -0
- package/dist/m0saic/media/watermark/v1/index.js +5 -0
- package/dist/m0saic/media/watermark/v1/pageGrid.d.ts +105 -0
- package/dist/m0saic/media/watermark/v1/pageGrid.js +203 -0
- package/dist/m0saic/media/watermark/v1/pipeline.d.ts +68 -0
- package/dist/m0saic/media/watermark/v1/pipeline.js +324 -0
- package/dist/m0saic/media/watermark/v1/watermark.d.ts +88 -0
- package/dist/m0saic/media/watermark/v1/watermark.js +452 -0
- package/dist/m0saic/meta/camera-debug/index.d.ts +1 -0
- package/dist/m0saic/meta/camera-debug/index.js +17 -0
- package/dist/m0saic/meta/camera-debug/v1/camera-debug.d.ts +98 -0
- package/dist/m0saic/meta/camera-debug/v1/camera-debug.js +490 -0
- package/dist/m0saic/meta/fixture-fetcher/index.d.ts +1 -0
- package/dist/m0saic/meta/fixture-fetcher/index.js +17 -0
- package/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.d.ts +76 -0
- package/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.js +159 -0
- package/dist/m0saic/meta/hot-reload-smoke/index.d.ts +1 -0
- package/dist/m0saic/meta/hot-reload-smoke/index.js +17 -0
- package/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.d.ts +50 -0
- package/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.js +131 -0
- package/dist/m0saic/meta/index.d.ts +13 -0
- package/dist/m0saic/meta/index.js +29 -0
- package/dist/m0saic/meta/post-mortem/index.d.ts +1 -0
- package/dist/m0saic/meta/post-mortem/index.js +17 -0
- package/dist/m0saic/meta/post-mortem/v1/assets/human.png +0 -0
- package/dist/m0saic/meta/post-mortem/v1/assets/robot.png +0 -0
- package/dist/m0saic/meta/post-mortem/v1/post-mortem.d.ts +47 -0
- package/dist/m0saic/meta/post-mortem/v1/post-mortem.js +634 -0
- package/dist/m0saic/meta/upstream-echo/index.d.ts +1 -0
- package/dist/m0saic/meta/upstream-echo/index.js +17 -0
- package/dist/m0saic/meta/upstream-echo/v1/upstream-echo.d.ts +52 -0
- package/dist/m0saic/meta/upstream-echo/v1/upstream-echo.js +138 -0
- package/dist/m0saic/primitives/grid/index.d.ts +2 -0
- package/dist/m0saic/primitives/grid/index.js +7 -0
- package/dist/m0saic/primitives/grid/v1/grid.d.ts +85 -0
- package/dist/m0saic/primitives/grid/v1/grid.js +217 -0
- package/dist/m0saic/primitives/grid/v2/grid.d.ts +80 -0
- package/dist/m0saic/primitives/grid/v2/grid.js +150 -0
- package/dist/m0saic/primitives/index.d.ts +1 -0
- package/dist/m0saic/primitives/index.js +17 -0
- package/dist/m0saic/social/index.d.ts +1 -0
- package/dist/m0saic/social/index.js +17 -0
- package/dist/m0saic/social/quote-card/index.d.ts +1 -0
- package/dist/m0saic/social/quote-card/index.js +17 -0
- package/dist/m0saic/social/quote-card/v1/index.d.ts +2 -0
- package/dist/m0saic/social/quote-card/v1/index.js +5 -0
- package/dist/m0saic/social/quote-card/v1/layout.d.ts +119 -0
- package/dist/m0saic/social/quote-card/v1/layout.js +323 -0
- package/dist/m0saic/social/quote-card/v1/quote-card.d.ts +51 -0
- package/dist/m0saic/social/quote-card/v1/quote-card.js +310 -0
- package/dist/m0saic/story/index.d.ts +2 -0
- package/dist/m0saic/story/index.js +20 -0
- package/dist/m0saic/story/narrated-chapters/index.d.ts +1 -0
- package/dist/m0saic/story/narrated-chapters/index.js +17 -0
- package/dist/m0saic/story/narrated-chapters/v1/captions.d.ts +42 -0
- package/dist/m0saic/story/narrated-chapters/v1/captions.js +200 -0
- package/dist/m0saic/story/narrated-chapters/v1/demo-fixture.d.ts +13 -0
- package/dist/m0saic/story/narrated-chapters/v1/demo-fixture.js +52 -0
- package/dist/m0saic/story/narrated-chapters/v1/index.d.ts +2 -0
- package/dist/m0saic/story/narrated-chapters/v1/index.js +5 -0
- package/dist/m0saic/story/narrated-chapters/v1/kenburns.d.ts +50 -0
- package/dist/m0saic/story/narrated-chapters/v1/kenburns.js +0 -0
- package/dist/m0saic/story/narrated-chapters/v1/layout.d.ts +103 -0
- package/dist/m0saic/story/narrated-chapters/v1/layout.js +162 -0
- package/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.d.ts +22 -0
- package/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.js +160 -0
- package/dist/m0saic/story/narrated-chapters/v1/pipeline.d.ts +43 -0
- package/dist/m0saic/story/narrated-chapters/v1/pipeline.js +94 -0
- package/dist/m0saic/story/narrated-chapters/v1/plan.d.ts +144 -0
- package/dist/m0saic/story/narrated-chapters/v1/plan.js +372 -0
- package/dist/m0saic/story/narrated-chapters/v1/props.d.ts +147 -0
- package/dist/m0saic/story/narrated-chapters/v1/props.js +205 -0
- package/dist/m0saic/story/narrated-chapters/v1/scenes/body.d.ts +64 -0
- package/dist/m0saic/story/narrated-chapters/v1/scenes/body.js +253 -0
- package/dist/m0saic/story/narrated-chapters/v1/scenes/card.d.ts +40 -0
- package/dist/m0saic/story/narrated-chapters/v1/scenes/card.js +201 -0
- package/dist/m0saic/story/narrated-chapters/v1/theme.d.ts +25 -0
- package/dist/m0saic/story/narrated-chapters/v1/theme.js +38 -0
- package/dist/m0saic/story/scrapbook/v1/document.d.ts +41 -0
- package/dist/m0saic/story/scrapbook/v1/document.js +124 -0
- package/dist/m0saic/story/scrapbook/v1/index.d.ts +1 -0
- package/dist/m0saic/story/scrapbook/v1/index.js +9 -0
- package/dist/m0saic/story/scrapbook/v1/page.d.ts +34 -0
- package/dist/m0saic/story/scrapbook/v1/page.js +121 -0
- package/dist/m0saic/story/scrapbook/v1/pages.d.ts +29 -0
- package/dist/m0saic/story/scrapbook/v1/pages.js +37 -0
- package/dist/m0saic/story/scrapbook/v1/pipeline.d.ts +44 -0
- package/dist/m0saic/story/scrapbook/v1/pipeline.js +130 -0
- package/dist/m0saic/story/scrapbook/v1/placeholder.d.ts +22 -0
- package/dist/m0saic/story/scrapbook/v1/placeholder.js +51 -0
- package/dist/m0saic/story/scrapbook/v1/props.d.ts +66 -0
- package/dist/m0saic/story/scrapbook/v1/props.js +80 -0
- package/dist/m0saic/story/scrapbook/v1/scrapbook.d.ts +23 -0
- package/dist/m0saic/story/scrapbook/v1/scrapbook.js +77 -0
- package/dist/m0saic/theming/index.d.ts +1 -0
- package/dist/m0saic/theming/index.js +17 -0
- package/dist/m0saic/theming/v1/brand-m-glyph.d.ts +14 -0
- package/dist/m0saic/theming/v1/brand-m-glyph.js +12 -0
- package/dist/m0saic/theming/v1/index.d.ts +2 -0
- package/dist/m0saic/theming/v1/index.js +16 -0
- package/dist/m0saic/theming/v1/theme-tokens.d.ts +71 -0
- package/dist/m0saic/theming/v1/theme-tokens.js +111 -0
- package/dist/m0saic/theming/v1/theming.d.ts +18 -0
- package/dist/m0saic/theming/v1/theming.js +94 -0
- package/dist/m0saic/theming/v1/token-sheet.d.ts +23 -0
- package/dist/m0saic/theming/v1/token-sheet.js +191 -0
- package/dist/m0saic/web/index.d.ts +1 -0
- package/dist/m0saic/web/index.js +17 -0
- package/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.d.ts +1 -0
- package/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.js +528 -0
- package/dist/m0saic/web/page-skeleton/v1/index.d.ts +1 -0
- package/dist/m0saic/web/page-skeleton/v1/index.js +5 -0
- package/dist/m0saic/web/page-skeleton/v1/layout.d.ts +107 -0
- package/dist/m0saic/web/page-skeleton/v1/layout.js +246 -0
- package/dist/m0saic/web/page-skeleton/v1/page-skeleton.d.ts +148 -0
- package/dist/m0saic/web/page-skeleton/v1/page-skeleton.js +787 -0
- package/dist/m0saic/web/page-skeleton/v1/sample-capture.d.ts +7 -0
- package/dist/m0saic/web/page-skeleton/v1/sample-capture.js +50 -0
- package/dist/m0saic/web/page-skeleton/v1/schema.d.ts +35 -0
- package/dist/m0saic/web/page-skeleton/v1/schema.js +132 -0
- package/dist/m0saic/wireframe/animated/v1/animated-wireframe.d.ts +93 -0
- package/dist/m0saic/wireframe/animated/v1/animated-wireframe.js +580 -0
- package/dist/m0saic/wireframe/animated/v1/index.d.ts +1 -0
- package/dist/m0saic/wireframe/animated/v1/index.js +5 -0
- package/dist/m0saic/wireframe/base/v1/index.d.ts +1 -0
- package/dist/m0saic/wireframe/base/v1/index.js +5 -0
- package/dist/m0saic/wireframe/base/v1/wireframe.d.ts +68 -0
- package/dist/m0saic/wireframe/base/v1/wireframe.js +372 -0
- package/dist/m0saic/wireframe/base/v2/index.d.ts +2 -0
- package/dist/m0saic/wireframe/base/v2/index.js +9 -0
- package/dist/m0saic/wireframe/base/v2/wireframe.d.ts +166 -0
- package/dist/m0saic/wireframe/base/v2/wireframe.js +1181 -0
- package/dist/m0saic/wireframe/index.d.ts +4 -0
- package/dist/m0saic/wireframe/index.js +16 -0
- package/dist/m0saic/wireframe/utils/paperGrid.d.ts +53 -0
- package/dist/m0saic/wireframe/utils/paperGrid.js +91 -0
- package/dist/m0saic/wireframe/utils/wireframeCell.d.ts +35 -0
- package/dist/m0saic/wireframe/utils/wireframeCell.js +278 -0
- package/dist/registry.d.ts +4 -0
- package/dist/registry.js +7 -0
- package/dist/repo.d.ts +11 -0
- package/dist/repo.js +39 -0
- package/dist/template-registry.d.ts +18 -0
- package/dist/template-registry.js +888 -0
- package/dist/web.d.ts +35 -0
- package/dist/web.js +88 -0
- package/dist/webTemplateIds.d.ts +6 -0
- package/dist/webTemplateIds.js +80 -0
- package/package.json +52 -0
- package/template-manifest.json +1635 -0
- package/web-template-ids.json +84 -0
|
@@ -0,0 +1,546 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ============================================================================
|
|
4
|
+
* @m0saic/charts/donut/v4 — Canonical Donut Chart (RATIO, self-framed quantize)
|
|
5
|
+
* ============================================================================
|
|
6
|
+
*
|
|
7
|
+
* SAME picture as v3, but the `premium` smooth-sliver sweep is now RATIO instead
|
|
8
|
+
* of absolute. v3 packed each sliver's tight bbox via `placeRects` on the full
|
|
9
|
+
* canvas — the right raster cost (tight intermediates) and under the ~25-mask
|
|
10
|
+
* overlay cliff (layer-packing), but its precision tracked the canvas because
|
|
11
|
+
* the sliver edges (radius·cos θ) are coprime pixels (audit: ABSOLUTE, slope
|
|
12
|
+
* 1.04).
|
|
13
|
+
*
|
|
14
|
+
* v4 keeps the exact same sweep + tight rasters + layer-packing, and adds ONE
|
|
15
|
+
* move — the "self-framed coarse-quantize":
|
|
16
|
+
* 1. Build the ring in its OWN square frame `S×S`, where `S` is snapped to a
|
|
17
|
+
* multiple of a canvas-proportional coarse pitch `P = round(min(W,H)/K)`.
|
|
18
|
+
* 2. Snap each sliver/label/text bbox OUTWARD to `P`. Because the sector masks
|
|
19
|
+
* are authored relative to their own cell origin, snapping the bbox leaves
|
|
20
|
+
* the arc PIXEL-PERFECT — only the invisible bbox moves.
|
|
21
|
+
* 3. `placeRects` on the `S×S` frame. Since `S` is `P`-divisible, EVERY band —
|
|
22
|
+
* including the trailing margins — is a multiple of `P`, so the split basis
|
|
23
|
+
* GCD-collapses to `S/P = K` (constant across every canvas, even coprime
|
|
24
|
+
* dims). Bounded precision → RATIO.
|
|
25
|
+
* 4. Letterbox the `S×S` frame into `W×H` with basis-capped ratio splits.
|
|
26
|
+
*
|
|
27
|
+
* (The whole-canvas version of this fails — when `P` doesn't divide `W`/`H` the
|
|
28
|
+
* trailing margin breaks the gcd; a self-contained `P`-divisible frame is what
|
|
29
|
+
* makes it hold on any canvas.) `renderMode:"light"` is unchanged (already the
|
|
30
|
+
* composable per-segment ratio path).
|
|
31
|
+
* ============================================================================
|
|
32
|
+
*/
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.DonutV4 = void 0;
|
|
35
|
+
const types_1 = require("@m0saic/types");
|
|
36
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
37
|
+
const dsl_stdlib_1 = require("@m0saic/dsl-stdlib");
|
|
38
|
+
const geometry_1 = require("../v3/geometry");
|
|
39
|
+
const anim_1 = require("../v3/anim");
|
|
40
|
+
const onboarding_cover_1 = require("../../../_shared/onboarding-cover");
|
|
41
|
+
const fBool = (label, description = "") => ({ type: "boolean", required: false, description, meta: { ui: { label } } });
|
|
42
|
+
const fStr = (label, description = "", placeholder) => ({ type: "string", required: false, description, meta: { ui: { label }, ...(placeholder ? { control: { placeholder } } : {}) } });
|
|
43
|
+
const propsSchema = (0, template_utils_1.definePropsSchema)({
|
|
44
|
+
segments: {
|
|
45
|
+
type: "array",
|
|
46
|
+
required: true,
|
|
47
|
+
description: "Ring segments in clockwise order from 12 o'clock. Raw weights — normalized internally.",
|
|
48
|
+
meta: {
|
|
49
|
+
control: {
|
|
50
|
+
flavor: "objectRows",
|
|
51
|
+
columns: [
|
|
52
|
+
{ label: "Label", key: "label", kind: "text", placeholder: "Segment" },
|
|
53
|
+
{ label: "Value", key: "value", kind: "number" },
|
|
54
|
+
{ label: "Color", key: "color", kind: "color" },
|
|
55
|
+
],
|
|
56
|
+
palette: ["#f97316", "#fdba74", "#fb923c", "#c2410c", "#fed7aa", "#57534e"],
|
|
57
|
+
},
|
|
58
|
+
ui: { label: "Segments", order: 1 },
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
centerValue: { type: "string", required: false, description: "Pre-formatted hole value (e.g. \"247\"). Omit to derive the segments' sum.", meta: { control: { placeholder: "e.g. 247" }, ui: { label: "Center value", order: 2 } } },
|
|
62
|
+
centerLabel: { type: "string", required: false, description: "Small muted caption under the value (e.g. \"Total Commits\").", meta: { control: { placeholder: "e.g. Total Commits" }, ui: { label: "Center label", order: 3 } } },
|
|
63
|
+
ringThicknessFrac: { type: "number", required: false, description: "Annulus thickness as a fraction of the outer radius (0.05–0.9).", meta: { constraints: { min: 0.05, max: 0.9 }, control: { flavor: "slider", step: 0.01 }, ui: { label: "Ring thickness", order: 9 } } },
|
|
64
|
+
segmentLabels: { type: "string", required: false, description: "Per-segment labels on the slices. \"percent\" shows each segment's derived share; thin slices are skipped.", meta: { constraints: { oneOf: ["none", "percent"] }, ui: { label: "Segment labels", order: 4 } } },
|
|
65
|
+
backgroundColor: { type: "string", required: false, description: "Card surface color. Pass \"none\" to render transparent when composed under a card-chrome primitive.", meta: { constraints: { isColor: true }, control: { placeholder: "theme surface", colorPicker: true }, ui: { label: "Card Color", order: 10 } } },
|
|
66
|
+
renderMode: {
|
|
67
|
+
type: "string", required: false,
|
|
68
|
+
description: 'Render strategy. "premium" (default): smooth clockwise sliver sweep — now RATIO via a self-framed coarse-quantize (composes at any canvas). "light": per-segment overlay-stack revealed by enable-gated pops — composable, cheaper, W3-safe.',
|
|
69
|
+
meta: { constraints: { oneOf: ["premium", "light"] }, ui: { label: "Render mode", order: 11 } },
|
|
70
|
+
},
|
|
71
|
+
debugLayout: { type: "boolean", required: false, description: "Dev-only: draw the layout contract (center value/caption + segment labels fit their cells) instead of the chart.", meta: { ui: { label: "Debug layout", order: 12 } } },
|
|
72
|
+
theme: {
|
|
73
|
+
type: "group", required: false,
|
|
74
|
+
description: "Opt into a theme source. Uses the local palette by default; set a producer slug + namespace to pull shared design tokens (self-seeds when nothing is upstream).",
|
|
75
|
+
meta: { ui: { label: "Theme", order: 15, collapsedByDefault: true } },
|
|
76
|
+
fields: {
|
|
77
|
+
slug: fStr("Producer slug", "Producer template to seed tokens from when the namespace isn't already on ctx (e.g. \"@m0saic/theming/v1\").", "preset palette (no producer)"),
|
|
78
|
+
preset: fStr("Preset", "Producer preset/variant to request (e.g. light | dark | high-contrast for @m0saic/theming/v1; producer-defined).", "producer default"),
|
|
79
|
+
namespace: fStr("Namespace", "Upstream alias to read tokens from. Default \"theme\".", "theme"),
|
|
80
|
+
forceFetch: fBool("Force fetch", "Re-seed via the slug even if the namespace is already populated."),
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
anim: {
|
|
84
|
+
type: "group", required: false,
|
|
85
|
+
description: "Intro animation: clockwise sweep (or per-segment fade), count-up total, easing, duration, reduceMotion.",
|
|
86
|
+
meta: { ui: { label: "Animation", collapsedByDefault: true } },
|
|
87
|
+
fields: {
|
|
88
|
+
mode: { type: "string", required: false, description: "Quantized clockwise sweep, or staggered per-segment fade.", meta: { constraints: { oneOf: ["sweep", "fade"] }, ui: { label: "Mode" } } },
|
|
89
|
+
countUp: { type: "boolean", required: false, description: "Count the hole value up on intro.", meta: { ui: { label: "Count up" } } },
|
|
90
|
+
introFrac: { type: "number", required: false, description: "Fraction of the output duration the intro fills (the rest holds).", meta: { constraints: { min: 0.1, max: 1 }, control: { flavor: "slider", step: 0.05 }, ui: { label: "Intro length (× duration)" } } },
|
|
91
|
+
introMs: { type: "number", required: false, description: "Absolute intro duration (ms). Overrides Intro length when set.", meta: { control: { placeholder: "from Intro fraction" }, constraints: { min: 0, max: 20000 }, ui: { label: "Intro (ms, override)" } } },
|
|
92
|
+
easing: { type: "string", required: false, description: "Sweep + count-up easing.", meta: { constraints: { oneOf: ["easeOut", "smoothstep", "easeInOut", "linear"] }, ui: { label: "Easing" } } },
|
|
93
|
+
reduceMotion: { type: "boolean", required: false, description: "Disable all motion — render the static final ring.", meta: { ui: { label: "Reduce motion" } } },
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
// ---------------------------------------------------------------------------
|
|
98
|
+
// Theme (matches v3)
|
|
99
|
+
// ---------------------------------------------------------------------------
|
|
100
|
+
const CARD_BG = "#161b22";
|
|
101
|
+
const VALUE_COLOR = "#f5f5f4";
|
|
102
|
+
const CAPTION_COLOR = "#a8a29e";
|
|
103
|
+
const PALETTE = ["#f97316", "#fdba74", "#fb923c", "#c2410c", "#fed7aa", "#57534e"];
|
|
104
|
+
const LOCAL_THEME = {
|
|
105
|
+
surfaceApp: CARD_BG, surface: CARD_BG, surfaceRaised: CARD_BG, surfaceInset: CARD_BG,
|
|
106
|
+
border: "#30363d", borderStrong: "#30363d", textPrimary: VALUE_COLOR, textSecondary: CAPTION_COLOR,
|
|
107
|
+
textMuted: CAPTION_COLOR, eyebrow: CAPTION_COLOR, accent: PALETTE[0], accentSoft: PALETTE[0], accentGlow: PALETTE[0],
|
|
108
|
+
positive: "#16a34a", negative: "#dc2626", grid: "#30363d", gridAlpha: 1, axis: "#30363d", axisAlpha: 1, radius: 0, dataPalette: PALETTE,
|
|
109
|
+
};
|
|
110
|
+
const RADIUS_SCALE = 0.92;
|
|
111
|
+
const DEFAULT_THICKNESS_FRAC = 0.36;
|
|
112
|
+
const GAP_DEG = 0;
|
|
113
|
+
const VALUE_FONT_FRAC = 0.3;
|
|
114
|
+
const CAPTION_FONT_FRAC = 0.095;
|
|
115
|
+
const SEG_LABEL_FONT_FRAC = 0.42;
|
|
116
|
+
const SEG_LABEL_MIN_SWEEP_DEG = 14;
|
|
117
|
+
const SEG_LABEL_LIGHT = "#f0f6f1";
|
|
118
|
+
const SEG_LABEL_DARK = "#10141a";
|
|
119
|
+
const EDGE_PAD = 1.5;
|
|
120
|
+
const SLIVER_OVERLAP_DEG = 2.5;
|
|
121
|
+
const SLIVER_CROSS_DEG = 0.75;
|
|
122
|
+
/** Coarse-grid divisions of the ring frame → bounded precision ~this (constant
|
|
123
|
+
* across every canvas → RATIO). Pitch `P = round(min(W,H)/K)`. The catch: `P`
|
|
124
|
+
* is ALSO the per-sliver bbox snap, so too-coarse a `P` steps the abutting
|
|
125
|
+
* slivers' outer arcs into hairline seams (K=48 → ~13px @600 → visible notches).
|
|
126
|
+
* The overlap-to-`P` coverage ratio is canvas-independent (both scale with the
|
|
127
|
+
* radius), so `K` alone sets seam-freeness: 96 keeps `P` fine (~6px @600 — like
|
|
128
|
+
* v3's 4px) → seamless, while precision stays bounded ~100 (still ratio). */
|
|
129
|
+
const SWEEP_DIVISIONS = 96;
|
|
130
|
+
const clampInt = (v, lo, hi) => Math.max(lo, Math.min(hi, Math.round(v)));
|
|
131
|
+
/** Snap a bbox OUTWARD to the `snap` px grid (clamped to the frame) and build a
|
|
132
|
+
* source sized to that cell. `makeSource(cellW, cellH, ox, oy)` authors masks/text
|
|
133
|
+
* in cell-local coords, so snapping the cell never moves the drawn shape. */
|
|
134
|
+
function placePiece(frameW, frameH, snap, bbox, makeSource) {
|
|
135
|
+
const snapDown = (v) => Math.floor((v - EDGE_PAD) / snap) * snap;
|
|
136
|
+
const snapUp = (v) => Math.ceil((v + EDGE_PAD) / snap) * snap;
|
|
137
|
+
const x = clampInt(snapDown(bbox.minX), 0, frameW - 1);
|
|
138
|
+
const y = clampInt(snapDown(bbox.minY), 0, frameH - 1);
|
|
139
|
+
const x2 = clampInt(snapUp(bbox.maxX), x + snap, frameW);
|
|
140
|
+
const y2 = clampInt(snapUp(bbox.maxY), y + snap, frameH);
|
|
141
|
+
return { rect: { x, y, w: x2 - x, h: y2 - y, claimant: "F" }, source: makeSource(x2 - x, y2 - y, x, y) };
|
|
142
|
+
}
|
|
143
|
+
/** Center an `S×S` frame's m0 in `W×H` with basis-capped ratio splits (so the
|
|
144
|
+
* letterbox itself never pins precision). The cap is applied by
|
|
145
|
+
* `latticeWeights` — Hamilton to EXACTLY 100 (2²·5², on the 5-smooth lattice),
|
|
146
|
+
* symmetric margins kept; rounding each margin on its own summed to 101. */
|
|
147
|
+
function letterbox(innerM0, S, W, H) {
|
|
148
|
+
const cap = (weights) => (0, template_utils_1.latticeWeights)(weights, { cap: 100 });
|
|
149
|
+
const mX = Math.max(0, (W - S) / 2);
|
|
150
|
+
const mY = Math.max(0, (H - S) / 2);
|
|
151
|
+
let m0 = innerM0;
|
|
152
|
+
if (mX >= 1)
|
|
153
|
+
m0 = String((0, dsl_stdlib_1.weightedSplit)(cap([mX, S, mX]), "col", { claimants: ["-", m0, "-"] }));
|
|
154
|
+
if (mY >= 1)
|
|
155
|
+
m0 = String((0, dsl_stdlib_1.weightedSplit)(cap([mY, S, mY]), "row", { claimants: ["-", m0, "-"] }));
|
|
156
|
+
return m0;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* The self-frame's pitch and side. `P` is a DIVISOR of the region side nearest
|
|
160
|
+
* `side / K` (so the frame IS the region and its `S / P` divisions are a divisor
|
|
161
|
+
* of the side — 5-smooth on every 5-smooth canvas: 1080 → P = 12, 90 divisions);
|
|
162
|
+
* `round(side / K)` then `ceil` landed 1080 on P = 11, 99 divisions (3²·11) and
|
|
163
|
+
* a frame 9 px taller than its region. On a rough side with no usable divisor
|
|
164
|
+
* the divisions are rounded UP to the next 5-smooth count instead (the frame
|
|
165
|
+
* then overshoots the region by < one pitch, as before).
|
|
166
|
+
*/
|
|
167
|
+
function selfFrame(regionSide) {
|
|
168
|
+
const ideal = regionSide / SWEEP_DIVISIONS;
|
|
169
|
+
let best = null;
|
|
170
|
+
for (const d of (0, template_utils_1.divisors)(regionSide)) {
|
|
171
|
+
const divisions = regionSide / d;
|
|
172
|
+
if (d < 4 || divisions > 200 || !(0, template_utils_1.isSmooth)(divisions))
|
|
173
|
+
continue;
|
|
174
|
+
const err = Math.abs(Math.log(d / ideal));
|
|
175
|
+
if (!best || err < best.err)
|
|
176
|
+
best = { P: d, err };
|
|
177
|
+
}
|
|
178
|
+
if (best && best.err <= Math.log(1.5))
|
|
179
|
+
return { P: best.P, S: regionSide };
|
|
180
|
+
const P = Math.max(4, Math.round(ideal));
|
|
181
|
+
return { P, S: (0, template_utils_1.ceilToSmooth)(Math.ceil(regionSide / P)) * P };
|
|
182
|
+
}
|
|
183
|
+
// ---------------------------------------------------------------------------
|
|
184
|
+
// Text helpers — centered within their cell
|
|
185
|
+
// ---------------------------------------------------------------------------
|
|
186
|
+
function cellText(text, fontSize, color) {
|
|
187
|
+
return { type: "text", visual: { backgroundColor: "black@0" }, layers: [{ content: { kind: "literal", text: text || " " }, style: { fontSize, fontColor: color }, placement: { hAlign: "center", vAlign: "middle" } }] };
|
|
188
|
+
}
|
|
189
|
+
function cellExprText(expr, fontSize, color) {
|
|
190
|
+
return { type: "text", renderMode: { kind: "video" }, visual: { backgroundColor: "black@0" }, layers: [{ content: { kind: "expr", expr, eval: "frame" }, style: { fontSize, fontColor: color }, placement: { hAlign: "center", vAlign: "middle" } }] };
|
|
191
|
+
}
|
|
192
|
+
function fadeIn(src, startSec, durSec, on) {
|
|
193
|
+
var _a;
|
|
194
|
+
if (!on)
|
|
195
|
+
return src;
|
|
196
|
+
const prev = (_a = src.overlay) !== null && _a !== void 0 ? _a : {};
|
|
197
|
+
return { ...src, overlay: { ...prev, alpha: (0, template_utils_1.fadeInExpr)(startSec, durSec) } };
|
|
198
|
+
}
|
|
199
|
+
function textBBox(cxp, cyp, text, font) {
|
|
200
|
+
// Script-aware (textEmUnits): flat .length under-measured Cyrillic/CJK
|
|
201
|
+
// center strings ~1.5× (ASCII → identical boxes).
|
|
202
|
+
const w = Math.max(font, (0, template_utils_1.textEmUnits)(text) * font * 0.85 + font);
|
|
203
|
+
const h = font * 1.6;
|
|
204
|
+
return { minX: cxp - w / 2, minY: cyp - h / 2, maxX: cxp + w / 2, maxY: cyp + h / 2 };
|
|
205
|
+
}
|
|
206
|
+
/** Center value/caption font, WIDTH-CAPPED to the hole (the alpine/donut/v3
|
|
207
|
+
* cap, backported — v4 predated it: a 10-char centerValue at holeDia·0.3
|
|
208
|
+
* overflowed the ring ~2×). Script-aware. */
|
|
209
|
+
function holeCappedFont(base, min, text, holeDia, widthFrac) {
|
|
210
|
+
return Math.max(min, Math.round(Math.min(base, (holeDia * widthFrac) / (Math.max(1, (0, template_utils_1.textEmUnits)(text)) * 0.62))));
|
|
211
|
+
}
|
|
212
|
+
/** Fit-first last resort: when the min-font floor binds, the string is still
|
|
213
|
+
* wider than the hole — ellipsize to the units that fit (never clip/spill). */
|
|
214
|
+
function fitToHole(text, font, holeDia, widthFrac) {
|
|
215
|
+
const maxUnits = (holeDia * widthFrac) / (0.62 * font);
|
|
216
|
+
// Half-unit tolerance: font round-up vs unit floor-down otherwise shaves the
|
|
217
|
+
// last char of a string the cap sized to fit EXACTLY.
|
|
218
|
+
if ((0, template_utils_1.textEmUnits)(text) <= maxUnits + 0.5)
|
|
219
|
+
return text;
|
|
220
|
+
return (0, template_utils_1.fitEmUnits)(text, Math.max(1, Math.floor(maxUnits)));
|
|
221
|
+
}
|
|
222
|
+
function labelColorFor(hex) {
|
|
223
|
+
const m = /^#?([0-9a-f]{6})/i.exec(String(hex));
|
|
224
|
+
if (!m)
|
|
225
|
+
return SEG_LABEL_LIGHT;
|
|
226
|
+
const v = parseInt(m[1], 16);
|
|
227
|
+
const lum = (0.2126 * ((v >> 16) & 0xff) + 0.7152 * ((v >> 8) & 0xff) + 0.0722 * (v & 0xff)) / 255;
|
|
228
|
+
return lum > 0.6 ? SEG_LABEL_DARK : SEG_LABEL_LIGHT;
|
|
229
|
+
}
|
|
230
|
+
// ---------------------------------------------------------------------------
|
|
231
|
+
// Template
|
|
232
|
+
// ---------------------------------------------------------------------------
|
|
233
|
+
exports.DonutV4 = {
|
|
234
|
+
id: (0, types_1.asTemplateId)("@m0saic/charts/donut/v4"),
|
|
235
|
+
label: "Donut Chart",
|
|
236
|
+
version: 4,
|
|
237
|
+
description: "Canonical donut chart: proportional ring + center total. v4 makes the premium sliver sweep RATIO via a self-framed coarse-quantize (a P-divisible S×S frame lets placeRects GCD-collapse on any canvas), so it composes at any size while keeping the smooth sweep + tight rasters. Building block of the repo-tracker hero.",
|
|
238
|
+
capabilities: { tier: "core" },
|
|
239
|
+
primitive: true,
|
|
240
|
+
tags: ["data-viz", "donut", "distribution", "animated", "analysts", "marketers", "share"],
|
|
241
|
+
aspectRatio: { ideal: 1.0, min: 0.6, max: 1.8, mode: "warn" },
|
|
242
|
+
outputHints: { format: { kind: "video", container: "mp4" }, width: 360, height: 360, fps: 30, durationMs: 2000, note: "Square ring tile; the hero places it inside the panel's donut region" },
|
|
243
|
+
propsSchema,
|
|
244
|
+
defaultProps: {
|
|
245
|
+
renderMode: "premium",
|
|
246
|
+
debugLayout: false,
|
|
247
|
+
theme: { forceFetch: false },
|
|
248
|
+
segments: [
|
|
249
|
+
{ label: "Cache hits", value: 44, color: "#f97316" },
|
|
250
|
+
{ label: "Re-rendered", value: 28, color: "#fdba74" },
|
|
251
|
+
{ label: "Failed", value: 28, color: "#57534e" },
|
|
252
|
+
],
|
|
253
|
+
centerValue: "1284",
|
|
254
|
+
centerLabel: "m0saic renders",
|
|
255
|
+
segmentLabels: "percent",
|
|
256
|
+
ringThicknessFrac: DEFAULT_THICKNESS_FRAC,
|
|
257
|
+
anim: { mode: "sweep", countUp: true, introFrac: 0.7, easing: "easeOut", reduceMotion: false },
|
|
258
|
+
},
|
|
259
|
+
async render(props, ctx) {
|
|
260
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
261
|
+
const W = ctx.output.width;
|
|
262
|
+
const H = ctx.output.height;
|
|
263
|
+
if (!Array.isArray(props.segments) || props.segments.length === 0) {
|
|
264
|
+
throw new Error("@m0saic/charts/donut/v4: segments must be a non-empty array");
|
|
265
|
+
}
|
|
266
|
+
if (props.segments.length > geometry_1.MAX_SEGMENTS) {
|
|
267
|
+
throw new Error(`@m0saic/charts/donut/v4: at most ${geometry_1.MAX_SEGMENTS} segments`);
|
|
268
|
+
}
|
|
269
|
+
const thickness = (_a = props.ringThicknessFrac) !== null && _a !== void 0 ? _a : DEFAULT_THICKNESS_FRAC;
|
|
270
|
+
if (!Number.isFinite(thickness) || thickness < 0.05 || thickness > 0.9) {
|
|
271
|
+
throw new Error(`@m0saic/charts/donut/v4: ringThicknessFrac must be in [0.05, 0.9], got ${thickness}`);
|
|
272
|
+
}
|
|
273
|
+
const theme = await (0, template_utils_1.resolveThemeTokens)(LOCAL_THEME, ctx, props.theme);
|
|
274
|
+
const anim = (_b = props.anim) !== null && _b !== void 0 ? _b : {};
|
|
275
|
+
const reduceMotion = (_c = anim.reduceMotion) !== null && _c !== void 0 ? _c : false;
|
|
276
|
+
const mode = (_d = anim.mode) !== null && _d !== void 0 ? _d : "sweep";
|
|
277
|
+
const ease = (_e = anim.easing) !== null && _e !== void 0 ? _e : "easeOut";
|
|
278
|
+
const totalSec = ctx.target.durationMs / 1000;
|
|
279
|
+
const introSec = anim.introMs != null ? anim.introMs / 1000 : totalSec * ((_f = anim.introFrac) !== null && _f !== void 0 ? _f : 0.7);
|
|
280
|
+
const animateRing = !reduceMotion && introSec > 0;
|
|
281
|
+
const angles = (0, geometry_1.segmentsToAngles)(props.segments.map((s) => s.value), { gapDeg: GAP_DEG });
|
|
282
|
+
const segColor = (i) => { var _a; return (_a = props.segments[i].color) !== null && _a !== void 0 ? _a : theme.dataPalette[i % theme.dataPalette.length]; };
|
|
283
|
+
// The canvas color is ALSO painted as a real base tile: the resolver child
|
|
284
|
+
// path (.mosaicx template_invocation) drops the child doc's backgroundColor
|
|
285
|
+
// (candidate 2026-08-24-resolver-drops-child-doc-background), so relying on
|
|
286
|
+
// doc.backgroundColor alone renders BLACK through the CLI/jobs path. "none"
|
|
287
|
+
// stays paint-free for card-chrome composition. Revisit when the engine
|
|
288
|
+
// candidate lands.
|
|
289
|
+
const bgRaw = ((_g = props.backgroundColor) !== null && _g !== void 0 ? _g : "").trim();
|
|
290
|
+
const bgColor = bgRaw.toLowerCase() === "none" ? undefined : (bgRaw || theme.surface);
|
|
291
|
+
// Same emission predicate both modes: labels exist only when "percent" AND at
|
|
292
|
+
// least one segment sweeps wide enough (an unmatched contract label = violation).
|
|
293
|
+
const anySegLabel = ((_h = props.segmentLabels) !== null && _h !== void 0 ? _h : "none") === "percent" && angles.some((a) => a.endDeg - a.startDeg >= SEG_LABEL_MIN_SWEEP_DEG);
|
|
294
|
+
// ── LIGHT mode: composable per-segment overlay stack (unchanged from v3; already ratio) ──
|
|
295
|
+
if (((_j = props.renderMode) !== null && _j !== void 0 ? _j : "premium") === "light") {
|
|
296
|
+
const cx = W / 2, cy = H / 2;
|
|
297
|
+
const rOuter = (Math.min(W, H) / 2) * RADIUS_SCALE;
|
|
298
|
+
const rInner = rOuter * (1 - thickness);
|
|
299
|
+
const holeDia = 2 * rInner;
|
|
300
|
+
const fadeDur = animateRing ? Math.max(0.1, introSec * 0.32) : 0;
|
|
301
|
+
const fadeAt = (startSec, durSec) => (animateRing ? { alpha: (0, template_utils_1.fadeInExpr)(startSec, durSec) } : {});
|
|
302
|
+
const withOverlay = (src, overlay) => overlay && Object.keys(overlay).length ? { ...src, overlay: { ...src.overlay, ...overlay } } : src;
|
|
303
|
+
const centerAt = (fracX, fracY) => ({ xExpr: `(W*${fracX.toFixed(5)})-(W/2)`, yExpr: `(H*${fracY.toFixed(5)})-(H/2)` });
|
|
304
|
+
const layers = [];
|
|
305
|
+
// Make inline edit: the canvas tile's FILL is `backgroundColor` (kind
|
|
306
|
+
// color via the schema's isColor → a picker). Bound on the theme
|
|
307
|
+
// fallback too — the handle to ADD a color. "none" → no tile → no binding.
|
|
308
|
+
if (bgColor)
|
|
309
|
+
layers.push((0, template_utils_1.bindProp)((0, template_utils_1.makeColorTile)(bgColor), "backgroundColor"));
|
|
310
|
+
for (let i = 0; i < angles.length; i++) {
|
|
311
|
+
const a = angles[i];
|
|
312
|
+
if (a.endDeg - a.startDeg <= 0.0001)
|
|
313
|
+
continue;
|
|
314
|
+
const path = (0, geometry_1.annularSectorPath)({ cx, cy, rOuter, rInner, startDeg: a.startDeg, endDeg: a.endDeg });
|
|
315
|
+
// ONE masked tile per segment: its fill IS `segments[i].color` → the
|
|
316
|
+
// slice binds the color leaf (bound on the palette fallback too — ADD).
|
|
317
|
+
const seg = (0, template_utils_1.bindPropPath)((0, template_utils_1.makeColorTile)(segColor(i), { mask: { kind: "inline-mask", localPath: path, bounds: { x: 0, y: 0, width: W, height: H } } }), "segments", [i, "color"], "color");
|
|
318
|
+
const startAtSec = animateRing ? Math.max(0, (introSec - fadeDur) * (0, anim_1.sweepInverseEase)(ease, a.startDeg / 360)) : 0;
|
|
319
|
+
layers.push(withOverlay(seg, animateRing ? { startAtSec, ...fadeAt(startAtSec, fadeDur) } : undefined));
|
|
320
|
+
}
|
|
321
|
+
if (((_k = props.segmentLabels) !== null && _k !== void 0 ? _k : "none") === "percent") {
|
|
322
|
+
const ringPx = rOuter - rInner;
|
|
323
|
+
const segFont = Math.max(9, Math.round(ringPx * SEG_LABEL_FONT_FRAC));
|
|
324
|
+
for (let i = 0; i < angles.length; i++) {
|
|
325
|
+
const a = angles[i];
|
|
326
|
+
if (a.endDeg - a.startDeg < SEG_LABEL_MIN_SWEEP_DEG)
|
|
327
|
+
continue;
|
|
328
|
+
const { x, y } = (0, geometry_1.sectorCentroid)({ cx, cy, rOuter, rInner, startDeg: a.startDeg, endDeg: a.endDeg });
|
|
329
|
+
const pct = `${Math.round(a.frac * 100)}%`;
|
|
330
|
+
const overlay = { ...centerAt(x / W, y / H), ...fadeAt(introSec * 0.6, Math.max(0.1, introSec * 0.3)) };
|
|
331
|
+
// The % shows THIS segment's value → the rect edits `segments[i].value`.
|
|
332
|
+
layers.push(withOverlay((0, template_utils_1.bindPropPath)((0, template_utils_1.tag)(cellText(pct, segFont, labelColorFor(segColor(i))), "seg-label"), "segments", [i, "value"], "number"), overlay));
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
// Blank/whitespace = unset: defaults keep this field populated in Make, so
|
|
336
|
+
// CLEARING it is the only reachable path to the documented derive-the-sum
|
|
337
|
+
// behavior (a bare ?? kept "" and rendered an empty hole).
|
|
338
|
+
const valueRawL = ((_l = props.centerValue) !== null && _l !== void 0 ? _l : "").trim() || String(Math.round(props.segments.reduce((s, x) => s + x.value, 0)));
|
|
339
|
+
const valueFontL = holeCappedFont(holeDia * VALUE_FONT_FRAC, 12, valueRawL, holeDia, 0.86);
|
|
340
|
+
const valueTextL = fitToHole(valueRawL, valueFontL, holeDia, 0.86);
|
|
341
|
+
const hasCaptionL = !!(props.centerLabel && props.centerLabel.trim() !== "");
|
|
342
|
+
const captionRawL = ((_m = props.centerLabel) !== null && _m !== void 0 ? _m : "").trim();
|
|
343
|
+
const captionFontL = holeCappedFont(holeDia * CAPTION_FONT_FRAC, 9, captionRawL, holeDia, 0.92);
|
|
344
|
+
const captionTextL = fitToHole(captionRawL, captionFontL, holeDia, 0.92);
|
|
345
|
+
const valueCyL = hasCaptionL ? cy - rInner * 0.12 : cy;
|
|
346
|
+
// debugLayout forces the literal (non-expr) center value: geometry is
|
|
347
|
+
// identical (fonts/bboxes derive from the text either way), and with no
|
|
348
|
+
// expr source the frames-to-sources zip is safe, so the contract checks
|
|
349
|
+
// EVERY text group instead of gating itself off — the wireframe always
|
|
350
|
+
// shows real verdicts.
|
|
351
|
+
const animateValueL = ((_o = anim.countUp) !== null && _o !== void 0 ? _o : true) && !reduceMotion && /\d/.test(valueTextL) && props.debugLayout !== true;
|
|
352
|
+
// Make inline edit: the hole value binds `centerValue` (an EMPTY prop
|
|
353
|
+
// shows the derived sum — the rect is the double-click handle to set
|
|
354
|
+
// one); the caption binds `centerLabel` only where its rect exists.
|
|
355
|
+
const valueSrc = (0, template_utils_1.bindProp)(animateValueL
|
|
356
|
+
? (0, template_utils_1.tag)(cellExprText((0, template_utils_1.animateNumbersInText)(valueTextL, { durationSec: introSec, ease }), valueFontL, theme.textPrimary), "center-value")
|
|
357
|
+
: (0, template_utils_1.tag)(cellText(valueTextL, valueFontL, theme.textPrimary), "center-value"), "centerValue");
|
|
358
|
+
layers.push(withOverlay(valueSrc, hasCaptionL ? centerAt(0.5, valueCyL / H) : undefined));
|
|
359
|
+
if (hasCaptionL) {
|
|
360
|
+
const capOverlay = { ...centerAt(0.5, (cy + rInner * 0.44) / H), ...fadeAt(introSec * 0.7, Math.max(0.1, introSec * 0.3)) };
|
|
361
|
+
layers.push(withOverlay((0, template_utils_1.bindProp)((0, template_utils_1.tag)(cellText(captionTextL, captionFontL, theme.textSecondary), "center-label"), "centerLabel"), capOverlay));
|
|
362
|
+
}
|
|
363
|
+
const docL = {
|
|
364
|
+
kind: "mosaic_document", version: 1, assets: {},
|
|
365
|
+
m0: String((0, template_utils_1.buildOverlayStack)(Math.max(1, layers.length))),
|
|
366
|
+
sources: layers.length ? layers : [(0, template_utils_1.makeColorTile)("black@0")],
|
|
367
|
+
backgroundColor: (_p = props.backgroundColor) !== null && _p !== void 0 ? _p : theme.surface,
|
|
368
|
+
fps: ctx.target.fps, durationMs: ctx.target.durationMs,
|
|
369
|
+
};
|
|
370
|
+
// Dev tripwire. textFits gated on the expr-free doc (count-up center value
|
|
371
|
+
// is expr text; expr sources shift the frames-to-sources zip — see the
|
|
372
|
+
// 2026-08-22 contract-frame-zip candidate). Falsy debugLayout = zero cost.
|
|
373
|
+
return Promise.resolve((0, template_utils_1.withLayoutContract)(docL, ctx, {
|
|
374
|
+
templateId: "@m0saic/charts/donut/v4",
|
|
375
|
+
relations: [],
|
|
376
|
+
constraints: animateValueL ? [] : [
|
|
377
|
+
{ label: "center-value", textFits: { charWidthEm: 0.62, padPx: 0 } },
|
|
378
|
+
...(hasCaptionL ? [{ label: "center-label", textFits: { charWidthEm: 0.62, padPx: 0 } }] : []),
|
|
379
|
+
...(anySegLabel ? [{ label: "seg-label", textFits: { charWidthEm: 0.62, padPx: 0 } }] : []),
|
|
380
|
+
],
|
|
381
|
+
debug: props.debugLayout === true,
|
|
382
|
+
}));
|
|
383
|
+
}
|
|
384
|
+
// ── PREMIUM mode: self-framed coarse-quantize sliver sweep (RATIO) ──
|
|
385
|
+
// Build the ring in a P-divisible S×S frame, snap every bbox to P, placeRects
|
|
386
|
+
// on S×S (all bands multiples of P → basis GCD-collapses to K), letterbox to W×H.
|
|
387
|
+
const regionSide = Math.min(W, H);
|
|
388
|
+
const { P, S } = selfFrame(regionSide);
|
|
389
|
+
const cx = S / 2, cy = S / 2;
|
|
390
|
+
const rOuter = (S / 2) * RADIUS_SCALE;
|
|
391
|
+
const rInner = rOuter * (1 - thickness);
|
|
392
|
+
const holeDia = 2 * rInner;
|
|
393
|
+
// `whole` = this piece IS the segment's single slice (fade / static): its
|
|
394
|
+
// fill binds `segments[i].color` for Make's inline edit. The sweep's
|
|
395
|
+
// slivers (several per segment, up to 36 a ring) are not the value's one
|
|
396
|
+
// visual → they stay unbound (binding rule 6: a handful of rects per value
|
|
397
|
+
// is fine, an explosion is not).
|
|
398
|
+
const sectorPiece = (segIndex, startDeg, endDeg, overlay, whole = false) => placePiece(S, S, P, (0, geometry_1.annularSectorBBox)({ cx, cy, rOuter, rInner, startDeg, endDeg }), (cw, ch, ox, oy) => {
|
|
399
|
+
const tile = (0, template_utils_1.makeColorTile)(segColor(segIndex), {
|
|
400
|
+
mask: { kind: "inline-mask", localPath: (0, geometry_1.annularSectorPath)({ cx: cx - ox, cy: cy - oy, rOuter, rInner, startDeg, endDeg }), bounds: { x: 0, y: 0, width: cw, height: ch } },
|
|
401
|
+
...(overlay ? { overlay } : {}),
|
|
402
|
+
});
|
|
403
|
+
// Every piece of a segment — its single slice (fade / static) or each of
|
|
404
|
+
// its sweep slivers — is painted with `segments[i].color`, so every one is
|
|
405
|
+
// that color's handle (1:N is fine; the sliver count is budgeted ≤ 36).
|
|
406
|
+
void whole;
|
|
407
|
+
return (0, template_utils_1.bindPropPath)(tile, "segments", [segIndex, "color"], "color");
|
|
408
|
+
});
|
|
409
|
+
const sectorPieces = [];
|
|
410
|
+
if (animateRing && mode === "sweep") {
|
|
411
|
+
const slivers = (0, anim_1.subdivideForSweep)(angles);
|
|
412
|
+
const fadeDur = Math.max(0.05, (introSec / Math.max(1, slivers.length)) * 2.5);
|
|
413
|
+
for (const s of slivers) {
|
|
414
|
+
const seg = angles[s.segIndex];
|
|
415
|
+
const start = Math.max(seg.startDeg - SLIVER_CROSS_DEG, s.startDeg - SLIVER_OVERLAP_DEG);
|
|
416
|
+
const end = Math.min(seg.endDeg + SLIVER_CROSS_DEG, s.endDeg + SLIVER_OVERLAP_DEG);
|
|
417
|
+
const startAtSec = introSec * (0, anim_1.sweepInverseEase)(ease, s.frac0);
|
|
418
|
+
sectorPieces.push(sectorPiece(s.segIndex, start, end, { startAtSec, alpha: (0, template_utils_1.fadeInExpr)(startAtSec, fadeDur) }));
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
else if (animateRing && mode === "fade") {
|
|
422
|
+
const fadeDur = introSec * 0.45;
|
|
423
|
+
for (let i = 0; i < angles.length; i++) {
|
|
424
|
+
const a = angles[i];
|
|
425
|
+
if (a.endDeg - a.startDeg <= 0.0001)
|
|
426
|
+
continue;
|
|
427
|
+
const startAtSec = introSec * 0.5 * (a.startDeg / 360);
|
|
428
|
+
sectorPieces.push(sectorPiece(i, a.startDeg, a.endDeg, { startAtSec, alpha: (0, template_utils_1.fadeInExpr)(startAtSec, fadeDur) }, true));
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
for (let i = 0; i < angles.length; i++) {
|
|
433
|
+
const a = angles[i];
|
|
434
|
+
if (a.endDeg - a.startDeg <= 0.0001)
|
|
435
|
+
continue;
|
|
436
|
+
sectorPieces.push(sectorPiece(i, a.startDeg, a.endDeg, undefined, true));
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
const labelPieces = [];
|
|
440
|
+
if (((_q = props.segmentLabels) !== null && _q !== void 0 ? _q : "none") === "percent") {
|
|
441
|
+
const ringPx = rOuter - rInner;
|
|
442
|
+
const segFont = Math.max(9, Math.round(ringPx * SEG_LABEL_FONT_FRAC));
|
|
443
|
+
for (let i = 0; i < angles.length; i++) {
|
|
444
|
+
const a = angles[i];
|
|
445
|
+
if (a.endDeg - a.startDeg < SEG_LABEL_MIN_SWEEP_DEG)
|
|
446
|
+
continue;
|
|
447
|
+
const { x, y } = (0, geometry_1.sectorCentroid)({ cx, cy, rOuter, rInner, startDeg: a.startDeg, endDeg: a.endDeg });
|
|
448
|
+
const pct = `${Math.round(a.frac * 100)}%`;
|
|
449
|
+
const color = labelColorFor(segColor(i));
|
|
450
|
+
const piece = placePiece(S, S, P, textBBox(x, y, pct, segFont), () => (0, template_utils_1.bindPropPath)((0, template_utils_1.tag)(cellText(pct, segFont, color), "seg-label"), "segments", [i, "value"], "number"));
|
|
451
|
+
if (animateRing) {
|
|
452
|
+
const revealAt = mode === "sweep" ? introSec * (0, anim_1.sweepInverseEase)(ease, a.endDeg / 360) : introSec * 0.5 * (a.startDeg / 360) + introSec * 0.45;
|
|
453
|
+
piece.source = fadeIn(piece.source, revealAt, introSec * 0.15, true);
|
|
454
|
+
}
|
|
455
|
+
labelPieces.push(piece);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
// Blank/whitespace = unset (see light mode note).
|
|
459
|
+
const valueRaw = ((_r = props.centerValue) !== null && _r !== void 0 ? _r : "").trim() || String(Math.round(props.segments.reduce((s, x) => s + x.value, 0)));
|
|
460
|
+
const valueFont = holeCappedFont(holeDia * VALUE_FONT_FRAC, 12, valueRaw, holeDia, 0.86);
|
|
461
|
+
const valueText = fitToHole(valueRaw, valueFont, holeDia, 0.86);
|
|
462
|
+
const captionRaw = ((_s = props.centerLabel) !== null && _s !== void 0 ? _s : "").trim();
|
|
463
|
+
const captionFont = holeCappedFont(holeDia * CAPTION_FONT_FRAC, 9, captionRaw, holeDia, 0.92);
|
|
464
|
+
const captionText = fitToHole(captionRaw, captionFont, holeDia, 0.92);
|
|
465
|
+
const hasCaption = !!(props.centerLabel && props.centerLabel.trim() !== "");
|
|
466
|
+
const valueCy = hasCaption ? cy - rInner * 0.12 : cy;
|
|
467
|
+
const captionCy = cy + rInner * 0.44;
|
|
468
|
+
// Same debugLayout literal-forcing as light mode: full contract coverage.
|
|
469
|
+
const animateValue = ((_t = anim.countUp) !== null && _t !== void 0 ? _t : true) && !reduceMotion && /\d/.test(valueText) && props.debugLayout !== true;
|
|
470
|
+
const textPieces = [];
|
|
471
|
+
// Same bindings as light mode: value → `centerValue`, caption → `centerLabel`.
|
|
472
|
+
textPieces.push(placePiece(S, S, P, textBBox(cx, valueCy, valueText, valueFont), () => (0, template_utils_1.bindProp)(animateValue ? (0, template_utils_1.tag)(cellExprText((0, template_utils_1.animateNumbersInText)(valueText, { durationSec: introSec, ease }), valueFont, theme.textPrimary), "center-value") : (0, template_utils_1.tag)(cellText(valueText, valueFont, theme.textPrimary), "center-value"), "centerValue")));
|
|
473
|
+
if (hasCaption) {
|
|
474
|
+
const cap = placePiece(S, S, P, textBBox(cx, captionCy, captionText, captionFont), () => (0, template_utils_1.bindProp)((0, template_utils_1.tag)(cellText(captionText, captionFont, theme.textSecondary), "center-label"), "centerLabel"));
|
|
475
|
+
cap.source = fadeIn(cap.source, introSec * 0.8, introSec * 0.2, !reduceMotion);
|
|
476
|
+
textPieces.push(cap);
|
|
477
|
+
}
|
|
478
|
+
for (const p of labelPieces)
|
|
479
|
+
p.rect.importance = 1;
|
|
480
|
+
for (const p of textPieces)
|
|
481
|
+
p.rect.importance = 1;
|
|
482
|
+
const pieces = [...sectorPieces, ...labelPieces, ...textPieces];
|
|
483
|
+
const placed = (0, dsl_stdlib_1.placeRects)({ rootW: S, rootH: S, rects: pieces.map((p) => p.rect) });
|
|
484
|
+
const sources = [];
|
|
485
|
+
for (const layer of placed.layers) {
|
|
486
|
+
const ordered = [...layer.rectIndices].sort((a, b) => pieces[a].rect.y - pieces[b].rect.y || pieces[a].rect.x - pieces[b].rect.x);
|
|
487
|
+
for (const idx of ordered)
|
|
488
|
+
sources.push(pieces[idx].source);
|
|
489
|
+
}
|
|
490
|
+
// Letterbox the S×S ring frame into the W×H canvas (ratio splits), over the
|
|
491
|
+
// base canvas tile (see bgColor note above).
|
|
492
|
+
let rootM0 = letterbox(String(placed.m0), S, W, H);
|
|
493
|
+
if (bgColor) {
|
|
494
|
+
rootM0 = `F{${rootM0}}`;
|
|
495
|
+
// Same binding as light mode: the canvas tile edits `backgroundColor`.
|
|
496
|
+
sources.unshift((0, template_utils_1.bindProp)((0, template_utils_1.makeColorTile)(bgColor), "backgroundColor"));
|
|
497
|
+
}
|
|
498
|
+
const doc = {
|
|
499
|
+
kind: "mosaic_document", version: 1, assets: {},
|
|
500
|
+
m0: rootM0,
|
|
501
|
+
sources,
|
|
502
|
+
backgroundColor: (_u = props.backgroundColor) !== null && _u !== void 0 ? _u : theme.surface,
|
|
503
|
+
fps: ctx.target.fps, durationMs: ctx.target.durationMs,
|
|
504
|
+
};
|
|
505
|
+
// Dev tripwire (premium cells are tight P-snapped rects, so textFits is
|
|
506
|
+
// meaningful here). Same expr gating as light mode.
|
|
507
|
+
return Promise.resolve((0, template_utils_1.withLayoutContract)(doc, ctx, {
|
|
508
|
+
templateId: "@m0saic/charts/donut/v4",
|
|
509
|
+
relations: [],
|
|
510
|
+
constraints: animateValue ? [] : [
|
|
511
|
+
{ label: "center-value", textFits: { charWidthEm: 0.62, padPx: 0 } },
|
|
512
|
+
...(hasCaption ? [{ label: "center-label", textFits: { charWidthEm: 0.62, padPx: 0 } }] : []),
|
|
513
|
+
...(anySegLabel ? [{ label: "seg-label", textFits: { charWidthEm: 0.62, padPx: 0 } }] : []),
|
|
514
|
+
],
|
|
515
|
+
debug: props.debugLayout === true,
|
|
516
|
+
}));
|
|
517
|
+
},
|
|
518
|
+
// Editor-only first-open cover — the mosaic-branding theme. The ring is
|
|
519
|
+
// procedural mask content: the hero INLINES the static default chart flat
|
|
520
|
+
// (the gate-15 seam lesson was learned ON this template).
|
|
521
|
+
async renderCover(_props, ctx) {
|
|
522
|
+
const heroBox = (0, onboarding_cover_1.brandedCoverHeroBox)(ctx, "band");
|
|
523
|
+
const heroCtx = {
|
|
524
|
+
...ctx,
|
|
525
|
+
target: { ...ctx.target, width: heroBox.width, height: heroBox.height },
|
|
526
|
+
output: { ...ctx.output, width: heroBox.width, height: heroBox.height },
|
|
527
|
+
};
|
|
528
|
+
const chart = (await exports.DonutV4.render({
|
|
529
|
+
...exports.DonutV4.defaultProps,
|
|
530
|
+
anim: { ...exports.DonutV4.defaultProps.anim, reduceMotion: true },
|
|
531
|
+
}, heroCtx));
|
|
532
|
+
return (0, onboarding_cover_1.buildBrandedCover)({
|
|
533
|
+
ctx,
|
|
534
|
+
// Band variant (founder ruling 08-30): basic viz needs no
|
|
535
|
+
// explanation — hero full-bleed + brand band, nothing else.
|
|
536
|
+
variant: "band",
|
|
537
|
+
copy: {
|
|
538
|
+
productName: "Donut",
|
|
539
|
+
title: "A donut chart.",
|
|
540
|
+
},
|
|
541
|
+
hero: (theme) => (0, onboarding_cover_1.onboardingFrame)((0, onboarding_cover_1.inlineHeroDoc)(chart), theme.borderStrong),
|
|
542
|
+
heroAssets: chart.assets,
|
|
543
|
+
});
|
|
544
|
+
},
|
|
545
|
+
};
|
|
546
|
+
(0, template_utils_1.registerTemplate)(exports.DonutV4);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ============================================================================
|
|
3
|
+
* @m0saic/charts/donut/v4 — Entry Point
|
|
4
|
+
* ============================================================================
|
|
5
|
+
*
|
|
6
|
+
* Single import entry for the RATIO (self-framed coarse-quantize) donut.
|
|
7
|
+
* Importing this file triggers side-effect registration via registerTemplate().
|
|
8
|
+
* ============================================================================
|
|
9
|
+
*/
|
|
10
|
+
export { DonutV4 } from "./donut";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ============================================================================
|
|
4
|
+
* @m0saic/charts/donut/v4 — Entry Point
|
|
5
|
+
* ============================================================================
|
|
6
|
+
*
|
|
7
|
+
* Single import entry for the RATIO (self-framed coarse-quantize) donut.
|
|
8
|
+
* Importing this file triggers side-effect registration via registerTemplate().
|
|
9
|
+
* ============================================================================
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DonutV4 = void 0;
|
|
13
|
+
var donut_1 = require("./donut");
|
|
14
|
+
Object.defineProperty(exports, "DonutV4", { enumerable: true, get: function () { return donut_1.DonutV4; } });
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/* Charts — canonical data-viz primitives (bar graph, stat card, donut, line; future: sparkline). */
|
|
18
|
+
__exportStar(require("./bar-graph/v1"), exports); /* deprecated once v2 reaches parity */
|
|
19
|
+
__exportStar(require("./bar-graph/v2"), exports);
|
|
20
|
+
__exportStar(require("./stat-card/v1"), exports);
|
|
21
|
+
__exportStar(require("./donut/v1"), exports); /* deprecated */
|
|
22
|
+
__exportStar(require("./donut/v2"), exports); /* deprecated */
|
|
23
|
+
__exportStar(require("./donut/v3"), exports); /* deprecated */
|
|
24
|
+
__exportStar(require("./donut/v4"), exports);
|
|
25
|
+
__exportStar(require("./line-chart/v1"), exports);
|