@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,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PrimitiveGridV2 = exports.PRIMITIVE_GRID_V2_TEMPLATE_ID = void 0;
|
|
4
|
+
const types_1 = require("@m0saic/types");
|
|
5
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
6
|
+
const propsSchema = (0, template_utils_1.definePropsSchema)({
|
|
7
|
+
show: {
|
|
8
|
+
type: "boolean",
|
|
9
|
+
required: false,
|
|
10
|
+
description: "Whether the grid renders. Default true.",
|
|
11
|
+
meta: { ui: { label: "Show grid" } },
|
|
12
|
+
},
|
|
13
|
+
count: {
|
|
14
|
+
type: "number",
|
|
15
|
+
required: false,
|
|
16
|
+
description: "Number of equal intervals across the axis. Default 5.",
|
|
17
|
+
meta: { ui: { label: "Intervals" } },
|
|
18
|
+
},
|
|
19
|
+
direction: {
|
|
20
|
+
type: "string",
|
|
21
|
+
required: false,
|
|
22
|
+
description: 'Which axes to draw: "horizontal" | "vertical" | "both". Default "horizontal".',
|
|
23
|
+
meta: { ui: { label: "Direction" } },
|
|
24
|
+
},
|
|
25
|
+
origin: {
|
|
26
|
+
type: "string",
|
|
27
|
+
required: false,
|
|
28
|
+
description: 'Origin for fractions: "top" | "bottom" | "left" | "right". Default depends on direction.',
|
|
29
|
+
meta: { ui: { label: "Origin" } },
|
|
30
|
+
},
|
|
31
|
+
excludeEdges: {
|
|
32
|
+
type: "boolean",
|
|
33
|
+
required: false,
|
|
34
|
+
description: "If true, do not render the outer boundary lines. Default true.",
|
|
35
|
+
meta: { ui: { label: "Hide outer lines" } },
|
|
36
|
+
},
|
|
37
|
+
color: {
|
|
38
|
+
type: "string",
|
|
39
|
+
required: false,
|
|
40
|
+
description: "Line color (FFmpeg-compatible). Default #ffffff.",
|
|
41
|
+
meta: { ui: { label: "Line color" }, constraints: { isColor: true }, control: { colorPicker: true } },
|
|
42
|
+
},
|
|
43
|
+
opacity: {
|
|
44
|
+
type: "number",
|
|
45
|
+
required: false,
|
|
46
|
+
description: "Line opacity multiplier (0..1). Default 0.12.",
|
|
47
|
+
meta: { ui: { label: "Opacity" } },
|
|
48
|
+
},
|
|
49
|
+
thicknessFrac: {
|
|
50
|
+
type: "number",
|
|
51
|
+
required: false,
|
|
52
|
+
description: "Line thickness fraction. Default 0.002.",
|
|
53
|
+
meta: { ui: { label: "Thickness" } },
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
exports.PRIMITIVE_GRID_V2_TEMPLATE_ID = (0, types_1.asTemplateId)("@m0saic/primitives/grid/v2");
|
|
57
|
+
const DEFAULT_COLOR = "#ffffff";
|
|
58
|
+
const DEFAULT_OPACITY = 0.12;
|
|
59
|
+
const DEFAULT_THICKNESS_FRAC = 0.002;
|
|
60
|
+
const DEFAULT_COUNT = 5;
|
|
61
|
+
/** Empty (transparent) grid — a single passthrough base layer. */
|
|
62
|
+
function emptyGrid(ctx) {
|
|
63
|
+
return {
|
|
64
|
+
kind: "mosaic_document",
|
|
65
|
+
version: 1,
|
|
66
|
+
assets: {},
|
|
67
|
+
m0: (0, template_utils_1.buildOverlayStack)(1),
|
|
68
|
+
sources: [(0, template_utils_1.transparentSlot)()],
|
|
69
|
+
durationMs: ctx.target.durationMs,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
exports.PrimitiveGridV2 = {
|
|
73
|
+
id: exports.PRIMITIVE_GRID_V2_TEMPLATE_ID,
|
|
74
|
+
label: "Primitive — Grid",
|
|
75
|
+
version: 2,
|
|
76
|
+
internal: false,
|
|
77
|
+
primitive: true, // reusable layout building block composed into other templates
|
|
78
|
+
description: "Composable gridline overlay primitive (horizontal/vertical/both) — thin fixed-px strips at proportional offsets; nests cleanly at any canvas.",
|
|
79
|
+
capabilities: { tier: "core" },
|
|
80
|
+
tags: ["primitive", "grid", "developers", "layout"],
|
|
81
|
+
// Transparent gridlines over a passthrough slot — a still with alpha.
|
|
82
|
+
outputHints: { format: { kind: "image", container: "png", pixelFormat: "rgba" } },
|
|
83
|
+
propsSchema,
|
|
84
|
+
defaultProps: {
|
|
85
|
+
show: true,
|
|
86
|
+
count: DEFAULT_COUNT,
|
|
87
|
+
direction: "horizontal",
|
|
88
|
+
origin: "bottom",
|
|
89
|
+
excludeEdges: true,
|
|
90
|
+
color: DEFAULT_COLOR,
|
|
91
|
+
opacity: DEFAULT_OPACITY,
|
|
92
|
+
thicknessFrac: DEFAULT_THICKNESS_FRAC,
|
|
93
|
+
},
|
|
94
|
+
async render(props, ctx) {
|
|
95
|
+
var _a, _b, _c, _d, _e;
|
|
96
|
+
const show = props.show !== false;
|
|
97
|
+
const count = Math.max(0, Math.floor((_a = props.count) !== null && _a !== void 0 ? _a : DEFAULT_COUNT));
|
|
98
|
+
if (!show || count <= 1) {
|
|
99
|
+
return emptyGrid(ctx);
|
|
100
|
+
}
|
|
101
|
+
const direction = (_b = props.direction) !== null && _b !== void 0 ? _b : "horizontal";
|
|
102
|
+
const color = (_c = props.color) !== null && _c !== void 0 ? _c : DEFAULT_COLOR;
|
|
103
|
+
const opacity = (_d = props.opacity) !== null && _d !== void 0 ? _d : DEFAULT_OPACITY;
|
|
104
|
+
const thicknessFrac = (_e = props.thicknessFrac) !== null && _e !== void 0 ? _e : DEFAULT_THICKNESS_FRAC;
|
|
105
|
+
const excludeEdges = props.excludeEdges !== false;
|
|
106
|
+
const origin = props.origin;
|
|
107
|
+
// Proportional overlay strips for whichever axes are requested. Each line is
|
|
108
|
+
// placed by an overlay offset that is a FRACTION of the cell (`H*frac` /
|
|
109
|
+
// `W*frac`), so the whole set scales to any nested cell — no per-pixel basis,
|
|
110
|
+
// no silent drop. Thickness is a fixed thin strip, decoupled from position.
|
|
111
|
+
const horizOrigin = origin === "top" ? "top" : "bottom";
|
|
112
|
+
const vertOrigin = origin === "right" ? "right" : "left";
|
|
113
|
+
const lines = [];
|
|
114
|
+
if (direction === "horizontal" || direction === "both") {
|
|
115
|
+
lines.push(...(0, template_utils_1.buildGridlineSources)({
|
|
116
|
+
direction: "horizontal",
|
|
117
|
+
count,
|
|
118
|
+
excludeEdges,
|
|
119
|
+
origin: horizOrigin,
|
|
120
|
+
color,
|
|
121
|
+
opacity,
|
|
122
|
+
thicknessFrac,
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
if (direction === "vertical" || direction === "both") {
|
|
126
|
+
lines.push(...(0, template_utils_1.buildGridlineSources)({
|
|
127
|
+
direction: "vertical",
|
|
128
|
+
count,
|
|
129
|
+
excludeEdges,
|
|
130
|
+
origin: vertOrigin,
|
|
131
|
+
color,
|
|
132
|
+
opacity,
|
|
133
|
+
thicknessFrac,
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
if (lines.length === 0) {
|
|
137
|
+
return emptyGrid(ctx);
|
|
138
|
+
}
|
|
139
|
+
const sources = [(0, template_utils_1.transparentSlot)(), ...lines];
|
|
140
|
+
return {
|
|
141
|
+
kind: "mosaic_document",
|
|
142
|
+
version: 1,
|
|
143
|
+
sources,
|
|
144
|
+
assets: {},
|
|
145
|
+
m0: (0, template_utils_1.buildOverlayStack)(sources.length),
|
|
146
|
+
durationMs: ctx.target.durationMs,
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
(0, template_utils_1.registerTemplate)(exports.PrimitiveGridV2);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./grid";
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
__exportStar(require("./grid"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./quote-card";
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
__exportStar(require("./quote-card"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./v1";
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
__exportStar(require("./v1"), exports);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QuoteCard = void 0;
|
|
4
|
+
var quote_card_1 = require("./quote-card");
|
|
5
|
+
Object.defineProperty(exports, "QuoteCard", { enumerable: true, get: function () { return quote_card_1.QuoteCard; } });
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quote-card geometry — every region of the card is a REAL m0 cell.
|
|
3
|
+
*
|
|
4
|
+
* The card's regions are computed as exact pixel rects, then composed into a
|
|
5
|
+
* RATIO m0 via `placeInsetPieces`: cells quantize outward to a coarse lattice
|
|
6
|
+
* and each source carries a `placement.inset` that recovers its EXACT rect
|
|
7
|
+
* (zero drift) — so the m0 NESTS cleanly while placement stays pixel-exact. The
|
|
8
|
+
* builder self-guards the engine's 0.49 inset cap (a thin cell like the ~7px
|
|
9
|
+
* accent bar auto-escalates to a finer lattice), so nothing here fails to emit.
|
|
10
|
+
* Structure, top to bottom:
|
|
11
|
+
*
|
|
12
|
+
* margin
|
|
13
|
+
* [quote-mark band] (decorative “ glyph, accent ink)
|
|
14
|
+
* quote block (flexible) (wrapped multi-line svg text, block-centered)
|
|
15
|
+
* gap · accent bar · gap
|
|
16
|
+
* [attribution band] ([circle avatar +] name / role)
|
|
17
|
+
* margin
|
|
18
|
+
*
|
|
19
|
+
* Margins and gaps are the null space between packed rects (the document
|
|
20
|
+
* background shows through). Boundaries are exact pixel rects, rounded
|
|
21
|
+
* independently, recovered losslessly through each source's inset.
|
|
22
|
+
*
|
|
23
|
+
* Text discipline: the svg glyph rasterizer has NO auto-wrap (long strings
|
|
24
|
+
* clip), so the QUOTE is greedy word-wrapped here with `measureText` against
|
|
25
|
+
* the SAME bundled font the rasterizer draws with — the largest font whose
|
|
26
|
+
* wrapped block fits the quote box wins (binary search; wrap depth is
|
|
27
|
+
* re-derived at every candidate size). Single lines (name / role) follow the
|
|
28
|
+
* established shrink-to-fit-then-ellipsis discipline. Bold runs are measured
|
|
29
|
+
* against the actual bold font file via `resolveFontFile`.
|
|
30
|
+
*/
|
|
31
|
+
import type { M0String } from "@m0saic/dsl";
|
|
32
|
+
import type { MosaicSource } from "@m0saic/types";
|
|
33
|
+
export type QuoteRect = {
|
|
34
|
+
x: number;
|
|
35
|
+
y: number;
|
|
36
|
+
w: number;
|
|
37
|
+
h: number;
|
|
38
|
+
};
|
|
39
|
+
export type QuoteHAlign = "left" | "center";
|
|
40
|
+
/** One paintable cell, in DSL paint order (the engine binds sources in this order). */
|
|
41
|
+
export type QuoteCell = {
|
|
42
|
+
kind: "mark";
|
|
43
|
+
text: string;
|
|
44
|
+
fontSize: number;
|
|
45
|
+
hAlign: QuoteHAlign;
|
|
46
|
+
rect: QuoteRect;
|
|
47
|
+
} | {
|
|
48
|
+
kind: "quote";
|
|
49
|
+
text: string;
|
|
50
|
+
fontSize: number;
|
|
51
|
+
lines: number;
|
|
52
|
+
hAlign: QuoteHAlign;
|
|
53
|
+
rect: QuoteRect;
|
|
54
|
+
} | {
|
|
55
|
+
kind: "accent-bar";
|
|
56
|
+
rect: QuoteRect;
|
|
57
|
+
} | {
|
|
58
|
+
kind: "avatar";
|
|
59
|
+
rect: QuoteRect;
|
|
60
|
+
} | {
|
|
61
|
+
kind: "name";
|
|
62
|
+
text: string;
|
|
63
|
+
fontSize: number;
|
|
64
|
+
hAlign: QuoteHAlign;
|
|
65
|
+
rect: QuoteRect;
|
|
66
|
+
} | {
|
|
67
|
+
kind: "role";
|
|
68
|
+
text: string;
|
|
69
|
+
fontSize: number;
|
|
70
|
+
hAlign: QuoteHAlign;
|
|
71
|
+
rect: QuoteRect;
|
|
72
|
+
};
|
|
73
|
+
export type QuoteLayoutOptions = {
|
|
74
|
+
W: number;
|
|
75
|
+
H: number;
|
|
76
|
+
/** The quote body (non-empty; caller validates). Wrapped here. */
|
|
77
|
+
quote: string;
|
|
78
|
+
/** Attribution name, or null = none. */
|
|
79
|
+
attribution: string | null;
|
|
80
|
+
/** Attribution second line (title / handle / source), or null = none. */
|
|
81
|
+
role: string | null;
|
|
82
|
+
/** Reserve a square avatar cell in the attribution band. */
|
|
83
|
+
hasAvatar: boolean;
|
|
84
|
+
/** Card composition: "center" (classic) or "left" (editorial). */
|
|
85
|
+
align: QuoteHAlign;
|
|
86
|
+
/** Show the decorative opening-quote glyph band. */
|
|
87
|
+
quoteMark: boolean;
|
|
88
|
+
/** Outer margin as a fraction of the canvas short edge. */
|
|
89
|
+
marginFrac: number;
|
|
90
|
+
};
|
|
91
|
+
export type QuoteLayout = {
|
|
92
|
+
m0: M0String;
|
|
93
|
+
/** Sources in the m0's frame order, each carrying its recovery inset. */
|
|
94
|
+
sources: MosaicSource[];
|
|
95
|
+
/** Exact computed cell rects, in paint order. */
|
|
96
|
+
cells: QuoteCell[];
|
|
97
|
+
};
|
|
98
|
+
/** Raised for inputs the geometry cannot honor (caller renders an error mosaic). */
|
|
99
|
+
export declare class QuoteLayoutError extends Error {
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Greedy word-wrap at `fontSize` against the real font. Words wider than the
|
|
103
|
+
* box hard-break by character (URLs, hashtags). Returns null when even a
|
|
104
|
+
* single glyph cannot fit — the caller's font search treats that as "does
|
|
105
|
+
* not fit at this size".
|
|
106
|
+
*/
|
|
107
|
+
export declare function wrapQuoteLines(text: string, fontSize: number, maxW: number): string[] | null;
|
|
108
|
+
/**
|
|
109
|
+
* Fit the quote into its box: binary-search the largest font whose greedy
|
|
110
|
+
* wrap fits both axes (wrap depth is re-derived per candidate size — fit is
|
|
111
|
+
* monotone in font size). Below the floor, keep as many floor-size lines as
|
|
112
|
+
* fit and ellipsis the last one.
|
|
113
|
+
*/
|
|
114
|
+
export declare function fitQuoteBlock(text: string, boxW: number, boxH: number, maxFont: number): {
|
|
115
|
+
text: string;
|
|
116
|
+
fontSize: number;
|
|
117
|
+
lines: number;
|
|
118
|
+
};
|
|
119
|
+
export declare function buildQuoteCardLayout(opts: QuoteLayoutOptions, sourceForCell?: (cell: QuoteCell) => MosaicSource): QuoteLayout;
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Quote-card geometry — every region of the card is a REAL m0 cell.
|
|
4
|
+
*
|
|
5
|
+
* The card's regions are computed as exact pixel rects, then composed into a
|
|
6
|
+
* RATIO m0 via `placeInsetPieces`: cells quantize outward to a coarse lattice
|
|
7
|
+
* and each source carries a `placement.inset` that recovers its EXACT rect
|
|
8
|
+
* (zero drift) — so the m0 NESTS cleanly while placement stays pixel-exact. The
|
|
9
|
+
* builder self-guards the engine's 0.49 inset cap (a thin cell like the ~7px
|
|
10
|
+
* accent bar auto-escalates to a finer lattice), so nothing here fails to emit.
|
|
11
|
+
* Structure, top to bottom:
|
|
12
|
+
*
|
|
13
|
+
* margin
|
|
14
|
+
* [quote-mark band] (decorative “ glyph, accent ink)
|
|
15
|
+
* quote block (flexible) (wrapped multi-line svg text, block-centered)
|
|
16
|
+
* gap · accent bar · gap
|
|
17
|
+
* [attribution band] ([circle avatar +] name / role)
|
|
18
|
+
* margin
|
|
19
|
+
*
|
|
20
|
+
* Margins and gaps are the null space between packed rects (the document
|
|
21
|
+
* background shows through). Boundaries are exact pixel rects, rounded
|
|
22
|
+
* independently, recovered losslessly through each source's inset.
|
|
23
|
+
*
|
|
24
|
+
* Text discipline: the svg glyph rasterizer has NO auto-wrap (long strings
|
|
25
|
+
* clip), so the QUOTE is greedy word-wrapped here with `measureText` against
|
|
26
|
+
* the SAME bundled font the rasterizer draws with — the largest font whose
|
|
27
|
+
* wrapped block fits the quote box wins (binary search; wrap depth is
|
|
28
|
+
* re-derived at every candidate size). Single lines (name / role) follow the
|
|
29
|
+
* established shrink-to-fit-then-ellipsis discipline. Bold runs are measured
|
|
30
|
+
* against the actual bold font file via `resolveFontFile`.
|
|
31
|
+
*/
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.QuoteLayoutError = void 0;
|
|
34
|
+
exports.wrapQuoteLines = wrapQuoteLines;
|
|
35
|
+
exports.fitQuoteBlock = fitQuoteBlock;
|
|
36
|
+
exports.buildQuoteCardLayout = buildQuoteCardLayout;
|
|
37
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
38
|
+
/** Raised for inputs the geometry cannot honor (caller renders an error mosaic). */
|
|
39
|
+
class QuoteLayoutError extends Error {
|
|
40
|
+
}
|
|
41
|
+
exports.QuoteLayoutError = QuoteLayoutError;
|
|
42
|
+
const MIN_FONT_PX = 8;
|
|
43
|
+
const MIN_QUOTE_BOX_PX = 24;
|
|
44
|
+
/** measureText/textToPath default leading — svg mode is pinned to it. */
|
|
45
|
+
const LINE_HEIGHT = 1.25;
|
|
46
|
+
const MARK_GLYPH = "“"; // “
|
|
47
|
+
/** Coarse lattice basis — the precision floor for the composable (ratio) m0. */
|
|
48
|
+
const INSET_BASIS = 120;
|
|
49
|
+
/** Fallback source for callers that only need the geometry (e.g. tests). */
|
|
50
|
+
function stubSource() {
|
|
51
|
+
return { type: "lavfi", color: "#808080" };
|
|
52
|
+
}
|
|
53
|
+
/** Bold font file for exact bold-width measuring (bundled Roboto-Bold). */
|
|
54
|
+
function boldFontPath() {
|
|
55
|
+
var _a;
|
|
56
|
+
return (_a = (0, template_utils_1.resolveFontFile)({ weight: "bold" })) === null || _a === void 0 ? void 0 : _a.path;
|
|
57
|
+
}
|
|
58
|
+
function widthAt(text, fontSize, style) {
|
|
59
|
+
return (0, template_utils_1.measureText)(text, { fontSize, fontPath: style.fontPath }).width;
|
|
60
|
+
}
|
|
61
|
+
/** Largest fontSize ≤ `maxFont` whose rendered width fits `boxW` (linear scaling). */
|
|
62
|
+
function fitFontToWidth(text, boxW, maxFont, style) {
|
|
63
|
+
const w = widthAt(text, 100, style);
|
|
64
|
+
if (!(w > 0))
|
|
65
|
+
return maxFont;
|
|
66
|
+
return Math.max(MIN_FONT_PX, Math.min(maxFont, Math.floor((100 * boxW) / w)));
|
|
67
|
+
}
|
|
68
|
+
/** Shrink-to-fit a single line; ellipsis-truncate only when even the min font overflows. */
|
|
69
|
+
function fitSingleLine(text, boxW, maxFont, style) {
|
|
70
|
+
const usableW = Math.floor(boxW * 0.98);
|
|
71
|
+
const fontSize = fitFontToWidth(text, usableW, maxFont, style);
|
|
72
|
+
if (widthAt(text, fontSize, style) <= usableW)
|
|
73
|
+
return { text, fontSize };
|
|
74
|
+
let lo = 1;
|
|
75
|
+
let hi = text.length - 1;
|
|
76
|
+
while (lo < hi) {
|
|
77
|
+
const mid = Math.ceil((lo + hi) / 2);
|
|
78
|
+
const candidate = `${text.slice(0, mid).trimEnd()}…`;
|
|
79
|
+
if (widthAt(candidate, MIN_FONT_PX, style) <= usableW)
|
|
80
|
+
lo = mid;
|
|
81
|
+
else
|
|
82
|
+
hi = mid - 1;
|
|
83
|
+
}
|
|
84
|
+
return { text: `${text.slice(0, lo).trimEnd()}…`, fontSize: MIN_FONT_PX };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Greedy word-wrap at `fontSize` against the real font. Words wider than the
|
|
88
|
+
* box hard-break by character (URLs, hashtags). Returns null when even a
|
|
89
|
+
* single glyph cannot fit — the caller's font search treats that as "does
|
|
90
|
+
* not fit at this size".
|
|
91
|
+
*/
|
|
92
|
+
function wrapQuoteLines(text, fontSize, maxW) {
|
|
93
|
+
const width = (s) => (0, template_utils_1.measureText)(s, { fontSize }).width;
|
|
94
|
+
const out = [];
|
|
95
|
+
let cur = "";
|
|
96
|
+
const flush = () => {
|
|
97
|
+
if (cur.length > 0)
|
|
98
|
+
out.push(cur);
|
|
99
|
+
cur = "";
|
|
100
|
+
};
|
|
101
|
+
for (const word of text.split(/\s+/).filter((w) => w.length > 0)) {
|
|
102
|
+
const joined = cur.length > 0 ? `${cur} ${word}` : word;
|
|
103
|
+
if (width(joined) <= maxW) {
|
|
104
|
+
cur = joined;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
flush();
|
|
108
|
+
if (width(word) <= maxW) {
|
|
109
|
+
cur = word;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
let rest = word;
|
|
113
|
+
while (width(rest) > maxW) {
|
|
114
|
+
let lo = 1;
|
|
115
|
+
const max = rest.length - 1;
|
|
116
|
+
if (max < 1 || width(rest.slice(0, 1)) > maxW)
|
|
117
|
+
return null;
|
|
118
|
+
let hi = max;
|
|
119
|
+
while (lo < hi) {
|
|
120
|
+
const mid = Math.ceil((lo + hi) / 2);
|
|
121
|
+
if (width(rest.slice(0, mid)) <= maxW)
|
|
122
|
+
lo = mid;
|
|
123
|
+
else
|
|
124
|
+
hi = mid - 1;
|
|
125
|
+
}
|
|
126
|
+
out.push(rest.slice(0, lo));
|
|
127
|
+
rest = rest.slice(lo);
|
|
128
|
+
}
|
|
129
|
+
cur = rest;
|
|
130
|
+
}
|
|
131
|
+
flush();
|
|
132
|
+
return out.length > 0 ? out : null;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Fit the quote into its box: binary-search the largest font whose greedy
|
|
136
|
+
* wrap fits both axes (wrap depth is re-derived per candidate size — fit is
|
|
137
|
+
* monotone in font size). Below the floor, keep as many floor-size lines as
|
|
138
|
+
* fit and ellipsis the last one.
|
|
139
|
+
*/
|
|
140
|
+
function fitQuoteBlock(text, boxW, boxH, maxFont) {
|
|
141
|
+
const usableW = Math.floor(boxW * 0.98);
|
|
142
|
+
const tryAt = (f) => {
|
|
143
|
+
const lines = wrapQuoteLines(text, f, usableW);
|
|
144
|
+
if (!lines)
|
|
145
|
+
return null;
|
|
146
|
+
const joined = lines.join("\n");
|
|
147
|
+
const m = (0, template_utils_1.measureText)(joined, { fontSize: f, lineHeight: LINE_HEIGHT });
|
|
148
|
+
return m.height <= boxH && m.width <= usableW ? joined : null;
|
|
149
|
+
};
|
|
150
|
+
let best = null;
|
|
151
|
+
let lo = MIN_FONT_PX;
|
|
152
|
+
let hi = Math.max(MIN_FONT_PX, maxFont);
|
|
153
|
+
while (lo <= hi) {
|
|
154
|
+
const mid = Math.floor((lo + hi) / 2);
|
|
155
|
+
const joined = tryAt(mid);
|
|
156
|
+
if (joined != null) {
|
|
157
|
+
best = { fontSize: mid, joined };
|
|
158
|
+
lo = mid + 1;
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
hi = mid - 1;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (best)
|
|
165
|
+
return { text: best.joined, fontSize: best.fontSize, lines: best.joined.split("\n").length };
|
|
166
|
+
// Even the floor overflows vertically — truncate lines, ellipsis the last.
|
|
167
|
+
const lines = wrapQuoteLines(text, MIN_FONT_PX, usableW);
|
|
168
|
+
if (!lines)
|
|
169
|
+
throw new QuoteLayoutError(`the quote box (${boxW}×${boxH}px) is too narrow to fit any text — enlarge the canvas`);
|
|
170
|
+
const em = (0, template_utils_1.measureText)("Ag", { fontSize: MIN_FONT_PX });
|
|
171
|
+
const lineStep = MIN_FONT_PX * LINE_HEIGHT;
|
|
172
|
+
const maxLines = Math.max(1, Math.floor((boxH - (em.ascent + em.descent)) / lineStep) + 1);
|
|
173
|
+
const kept = lines.slice(0, Math.min(maxLines, lines.length));
|
|
174
|
+
const last = kept[kept.length - 1];
|
|
175
|
+
const fitted = fitSingleLine(`${last}…`, usableW, MIN_FONT_PX, {});
|
|
176
|
+
kept[kept.length - 1] = fitted.text.endsWith("…") ? fitted.text : `${fitted.text}…`;
|
|
177
|
+
const joined = kept.join("\n");
|
|
178
|
+
return { text: joined, fontSize: MIN_FONT_PX, lines: kept.length };
|
|
179
|
+
}
|
|
180
|
+
function buildQuoteCardLayout(opts, sourceForCell = stubSource) {
|
|
181
|
+
var _a, _b;
|
|
182
|
+
const { W, H, align, quoteMark, hasAvatar } = opts;
|
|
183
|
+
const quote = opts.quote.trim();
|
|
184
|
+
if (quote.length === 0)
|
|
185
|
+
throw new QuoteLayoutError("the quote must not be empty");
|
|
186
|
+
const nameText = ((_a = opts.attribution) !== null && _a !== void 0 ? _a : "").trim();
|
|
187
|
+
const roleText = ((_b = opts.role) !== null && _b !== void 0 ? _b : "").trim();
|
|
188
|
+
const hasName = nameText.length > 0;
|
|
189
|
+
const hasRole = roleText.length > 0;
|
|
190
|
+
const hasAttrib = hasAvatar || hasName || hasRole;
|
|
191
|
+
const S = Math.min(W, H);
|
|
192
|
+
const margin = Math.max(0, Math.round(opts.marginFrac * S));
|
|
193
|
+
const interiorW = W - 2 * margin;
|
|
194
|
+
if (interiorW < MIN_QUOTE_BOX_PX)
|
|
195
|
+
throw new QuoteLayoutError(`canvas ${W}×${H} is too narrow at this margin — the card interior collapses`);
|
|
196
|
+
const bold = { fontPath: boldFontPath() };
|
|
197
|
+
const regular = {};
|
|
198
|
+
// ── fixed bands (heights) ──
|
|
199
|
+
const markH = quoteMark ? Math.round(S * 0.11) : 0;
|
|
200
|
+
const g1 = quoteMark ? Math.round(S * 0.01) : 0;
|
|
201
|
+
const accentH = Math.max(3, Math.round(S * 0.007));
|
|
202
|
+
const g2 = Math.round(S * 0.045);
|
|
203
|
+
const g3 = hasAttrib ? Math.round(S * 0.04) : 0;
|
|
204
|
+
// Attribution text fits against the width it will actually get.
|
|
205
|
+
const avatarSide = hasAvatar ? Math.round(S * 0.115) : 0;
|
|
206
|
+
const gapAv = hasAvatar ? Math.round(S * 0.025) : 0;
|
|
207
|
+
const availTextW = interiorW - avatarSide - gapAv;
|
|
208
|
+
if (hasAttrib && (hasName || hasRole) && availTextW < MIN_QUOTE_BOX_PX)
|
|
209
|
+
throw new QuoteLayoutError(`canvas ${W}×${H} leaves no room for the attribution next to the avatar`);
|
|
210
|
+
const nameFit = hasName
|
|
211
|
+
? fitSingleLine(nameText, availTextW, Math.max(MIN_FONT_PX, Math.round(S * 0.032)), bold)
|
|
212
|
+
: null;
|
|
213
|
+
const roleFit = hasRole
|
|
214
|
+
? fitSingleLine(roleText, availTextW, Math.max(MIN_FONT_PX, Math.round(S * 0.025)), regular)
|
|
215
|
+
: null;
|
|
216
|
+
const blockH = (text, fontSize, style) => {
|
|
217
|
+
const m = (0, template_utils_1.measureText)(text, { fontSize, fontPath: style.fontPath });
|
|
218
|
+
return Math.ceil(m.ascent + m.descent) + 2;
|
|
219
|
+
};
|
|
220
|
+
const nameH = nameFit ? blockH(nameFit.text, nameFit.fontSize, bold) : 0;
|
|
221
|
+
const roleH = roleFit ? blockH(roleFit.text, roleFit.fontSize, regular) : 0;
|
|
222
|
+
const lineGap = nameFit && roleFit ? Math.round(S * 0.008) : 0;
|
|
223
|
+
const textBlockH = nameH + lineGap + roleH;
|
|
224
|
+
const attribH = hasAttrib ? Math.max(avatarSide, textBlockH) : 0;
|
|
225
|
+
// ── quote box = whatever is left ──
|
|
226
|
+
const quoteH = H - 2 * margin - markH - g1 - g2 - accentH - g3 - attribH;
|
|
227
|
+
if (quoteH < MIN_QUOTE_BOX_PX)
|
|
228
|
+
throw new QuoteLayoutError(`canvas ${W}×${H} is too small for a quote card at these settings — the quote box collapses to ${quoteH}px`);
|
|
229
|
+
const maxQuoteFont = Math.max(MIN_FONT_PX, Math.floor(S * 0.088));
|
|
230
|
+
const quoteFit = fitQuoteBlock(quote, interiorW, quoteH, maxQuoteFont);
|
|
231
|
+
const cells = [];
|
|
232
|
+
let y = margin;
|
|
233
|
+
// ── decorative opening-quote glyph ──
|
|
234
|
+
if (quoteMark) {
|
|
235
|
+
const em = (0, template_utils_1.measureText)(MARK_GLYPH, { fontSize: 100, fontPath: bold.fontPath });
|
|
236
|
+
const blockRatio = (em.ascent + em.descent) / 100;
|
|
237
|
+
const markFont = Math.max(MIN_FONT_PX, Math.floor((markH * 0.98) / blockRatio));
|
|
238
|
+
const markW = Math.min(interiorW, Math.max(1, Math.ceil(widthAt(MARK_GLYPH, markFont, bold) * 1.15)));
|
|
239
|
+
const lead = align === "center" ? Math.floor((interiorW - markW) / 2) : 0;
|
|
240
|
+
cells.push({
|
|
241
|
+
kind: "mark",
|
|
242
|
+
text: MARK_GLYPH,
|
|
243
|
+
fontSize: markFont,
|
|
244
|
+
hAlign: align,
|
|
245
|
+
rect: { x: margin + lead, y, w: markW, h: markH },
|
|
246
|
+
});
|
|
247
|
+
y += markH + g1;
|
|
248
|
+
}
|
|
249
|
+
// ── quote block (full interior width; the text block centers vertically) ──
|
|
250
|
+
cells.push({
|
|
251
|
+
kind: "quote",
|
|
252
|
+
text: quoteFit.text,
|
|
253
|
+
fontSize: quoteFit.fontSize,
|
|
254
|
+
lines: quoteFit.lines,
|
|
255
|
+
hAlign: align,
|
|
256
|
+
rect: { x: margin, y, w: interiorW, h: quoteH },
|
|
257
|
+
});
|
|
258
|
+
y += quoteH + g2;
|
|
259
|
+
// ── accent bar ──
|
|
260
|
+
const barW = Math.min(interiorW, Math.max(8, Math.round(interiorW * 0.14)));
|
|
261
|
+
const barLead = align === "center" ? Math.floor((interiorW - barW) / 2) : 0;
|
|
262
|
+
cells.push({ kind: "accent-bar", rect: { x: margin + barLead, y, w: barW, h: accentH } });
|
|
263
|
+
y += accentH;
|
|
264
|
+
// ── attribution band ──
|
|
265
|
+
if (hasAttrib) {
|
|
266
|
+
y += g3;
|
|
267
|
+
const nameW = nameFit
|
|
268
|
+
? Math.min(availTextW, Math.ceil(widthAt(nameFit.text, nameFit.fontSize, bold) * 1.06) + 2)
|
|
269
|
+
: 0;
|
|
270
|
+
const roleW = roleFit
|
|
271
|
+
? Math.min(availTextW, Math.ceil(widthAt(roleFit.text, roleFit.fontSize, regular) * 1.06) + 2)
|
|
272
|
+
: 0;
|
|
273
|
+
const textColW = Math.max(nameW, roleW);
|
|
274
|
+
const gapEff = hasAvatar && textColW > 0 ? gapAv : 0;
|
|
275
|
+
const blockW = avatarSide + gapEff + textColW;
|
|
276
|
+
const lead = align === "center" ? Math.floor((interiorW - blockW) / 2) : 0;
|
|
277
|
+
if (hasAvatar) {
|
|
278
|
+
const padAv = Math.floor((attribH - avatarSide) / 2);
|
|
279
|
+
cells.push({ kind: "avatar", rect: { x: margin + lead, y: y + padAv, w: avatarSide, h: avatarSide } });
|
|
280
|
+
}
|
|
281
|
+
if (textColW > 0) {
|
|
282
|
+
const padT = Math.floor((attribH - textBlockH) / 2);
|
|
283
|
+
const textX = margin + lead + avatarSide + gapEff;
|
|
284
|
+
// Beside an avatar the column is left-composed; standalone it follows `align`.
|
|
285
|
+
const textAlign = hasAvatar ? "left" : align;
|
|
286
|
+
let ty = y + padT;
|
|
287
|
+
if (nameFit) {
|
|
288
|
+
cells.push({
|
|
289
|
+
kind: "name",
|
|
290
|
+
text: nameFit.text,
|
|
291
|
+
fontSize: nameFit.fontSize,
|
|
292
|
+
hAlign: textAlign,
|
|
293
|
+
rect: { x: textX, y: ty, w: textColW, h: nameH },
|
|
294
|
+
});
|
|
295
|
+
ty += nameH;
|
|
296
|
+
}
|
|
297
|
+
if (nameFit && roleFit)
|
|
298
|
+
ty += lineGap;
|
|
299
|
+
if (roleFit) {
|
|
300
|
+
cells.push({
|
|
301
|
+
kind: "role",
|
|
302
|
+
text: roleFit.text,
|
|
303
|
+
fontSize: roleFit.fontSize,
|
|
304
|
+
hAlign: textAlign,
|
|
305
|
+
rect: { x: textX, y: ty, w: textColW, h: roleH },
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
y += attribH;
|
|
310
|
+
}
|
|
311
|
+
// ── compose: RATIO m0 — cells quantize outward to a coarse lattice and each
|
|
312
|
+
// source carries a recovery inset that paints it on its EXACT rect.
|
|
313
|
+
// Bounded precision (basis ≤ INSET_BASIS), zero drift, nests cleanly.
|
|
314
|
+
// Margins/gaps are the null space between packed rects (doc background).
|
|
315
|
+
const pieces = cells.map((c) => ({
|
|
316
|
+
rect: { x: c.rect.x, y: c.rect.y, w: c.rect.w, h: c.rect.h, importance: c.kind === "avatar" ? 0 : 1 },
|
|
317
|
+
source: sourceForCell(c),
|
|
318
|
+
}));
|
|
319
|
+
const placed = (0, template_utils_1.placeInsetPieces)({ rootW: W, rootH: H, pieces, basis: INSET_BASIS });
|
|
320
|
+
if (placed.sources.length !== cells.length)
|
|
321
|
+
throw new QuoteLayoutError(`placed ${placed.sources.length} sources for ${cells.length} cells (internal ordering bug)`);
|
|
322
|
+
return { m0: placed.m0, sources: placed.sources, cells };
|
|
323
|
+
}
|