@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.
Files changed (889) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +7 -0
  3. package/dist/freeze.d.ts +406 -0
  4. package/dist/freeze.js +855 -0
  5. package/dist/gen-geometry-matrix.d.ts +1 -0
  6. package/dist/gen-geometry-matrix.js +177 -0
  7. package/dist/gen-geometry-proof.d.ts +1 -0
  8. package/dist/gen-geometry-proof.js +259 -0
  9. package/dist/gen-layout-envelope.d.ts +1 -0
  10. package/dist/gen-layout-envelope.js +120 -0
  11. package/dist/gen-precision-sweep.d.ts +1 -0
  12. package/dist/gen-precision-sweep.js +219 -0
  13. package/dist/gen-props-shape.d.ts +1 -0
  14. package/dist/gen-props-shape.js +269 -0
  15. package/dist/gen-template-audit.d.ts +1 -0
  16. package/dist/gen-template-audit.js +379 -0
  17. package/dist/gen-template-manifest.d.ts +1 -0
  18. package/dist/gen-template-manifest.js +162 -0
  19. package/dist/gen-web-template-ids.d.ts +1 -0
  20. package/dist/gen-web-template-ids.js +65 -0
  21. package/dist/geometry-audit.d.ts +149 -0
  22. package/dist/geometry-audit.js +368 -0
  23. package/dist/index.d.ts +5 -0
  24. package/dist/index.js +29 -0
  25. package/dist/m0saic/_shared/onboarding-cover.d.ts +95 -0
  26. package/dist/m0saic/_shared/onboarding-cover.js +247 -0
  27. package/dist/m0saic/_shared/raster.d.ts +28 -0
  28. package/dist/m0saic/_shared/raster.js +146 -0
  29. package/dist/m0saic/_shared/svgRaster.d.ts +40 -0
  30. package/dist/m0saic/_shared/svgRaster.js +142 -0
  31. package/dist/m0saic/agents/commit-feed/index.d.ts +1 -0
  32. package/dist/m0saic/agents/commit-feed/index.js +17 -0
  33. package/dist/m0saic/agents/commit-feed/v1/commit-feed.d.ts +68 -0
  34. package/dist/m0saic/agents/commit-feed/v1/commit-feed.js +293 -0
  35. package/dist/m0saic/agents/commit-feed/v1/index.d.ts +2 -0
  36. package/dist/m0saic/agents/commit-feed/v1/index.js +11 -0
  37. package/dist/m0saic/agents/index.d.ts +7 -0
  38. package/dist/m0saic/agents/index.js +25 -0
  39. package/dist/m0saic/agents/trace-timeline/index.d.ts +1 -0
  40. package/dist/m0saic/agents/trace-timeline/index.js +17 -0
  41. package/dist/m0saic/agents/trace-timeline/v1/index.d.ts +2 -0
  42. package/dist/m0saic/agents/trace-timeline/v1/index.js +15 -0
  43. package/dist/m0saic/agents/trace-timeline/v1/trace-timeline.d.ts +73 -0
  44. package/dist/m0saic/agents/trace-timeline/v1/trace-timeline.js +356 -0
  45. package/dist/m0saic/alpine/_shared/alpine-anim.d.ts +65 -0
  46. package/dist/m0saic/alpine/_shared/alpine-anim.js +142 -0
  47. package/dist/m0saic/alpine/_shared/alpine-card.d.ts +114 -0
  48. package/dist/m0saic/alpine/_shared/alpine-card.js +193 -0
  49. package/dist/m0saic/alpine/_shared/alpine-glyphs.d.ts +23 -0
  50. package/dist/m0saic/alpine/_shared/alpine-glyphs.js +46 -0
  51. package/dist/m0saic/alpine/_shared/alpine-theme.d.ts +84 -0
  52. package/dist/m0saic/alpine/_shared/alpine-theme.js +155 -0
  53. package/dist/m0saic/alpine/bar-graph/v1/bar-graph.d.ts +85 -0
  54. package/dist/m0saic/alpine/bar-graph/v1/bar-graph.js +558 -0
  55. package/dist/m0saic/alpine/bar-graph/v1/index.d.ts +5 -0
  56. package/dist/m0saic/alpine/bar-graph/v1/index.js +9 -0
  57. package/dist/m0saic/alpine/commit-feed/v1/commit-feed.d.ts +64 -0
  58. package/dist/m0saic/alpine/commit-feed/v1/commit-feed.js +261 -0
  59. package/dist/m0saic/alpine/commit-feed/v1/index.d.ts +1 -0
  60. package/dist/m0saic/alpine/commit-feed/v1/index.js +5 -0
  61. package/dist/m0saic/alpine/commit-feed/v2/commit-feed.d.ts +78 -0
  62. package/dist/m0saic/alpine/commit-feed/v2/commit-feed.js +509 -0
  63. package/dist/m0saic/alpine/commit-feed/v2/index.d.ts +1 -0
  64. package/dist/m0saic/alpine/commit-feed/v2/index.js +5 -0
  65. package/dist/m0saic/alpine/contributor-table/v1/assets/README.md +13 -0
  66. package/dist/m0saic/alpine/contributor-table/v1/assets/layout-lite.m0 +9 -0
  67. package/dist/m0saic/alpine/contributor-table/v1/assets/layout-standard.m0 +9 -0
  68. package/dist/m0saic/alpine/contributor-table/v1/contributor-table.d.ts +76 -0
  69. package/dist/m0saic/alpine/contributor-table/v1/contributor-table.js +651 -0
  70. package/dist/m0saic/alpine/contributor-table/v1/index.d.ts +1 -0
  71. package/dist/m0saic/alpine/contributor-table/v1/index.js +5 -0
  72. package/dist/m0saic/alpine/donut/v1/donut.d.ts +55 -0
  73. package/dist/m0saic/alpine/donut/v1/donut.js +322 -0
  74. package/dist/m0saic/alpine/donut/v1/index.d.ts +5 -0
  75. package/dist/m0saic/alpine/donut/v1/index.js +9 -0
  76. package/dist/m0saic/alpine/donut/v2/donut.d.ts +58 -0
  77. package/dist/m0saic/alpine/donut/v2/donut.js +268 -0
  78. package/dist/m0saic/alpine/donut/v2/index.d.ts +1 -0
  79. package/dist/m0saic/alpine/donut/v2/index.js +5 -0
  80. package/dist/m0saic/alpine/donut/v3/donut.d.ts +65 -0
  81. package/dist/m0saic/alpine/donut/v3/donut.js +428 -0
  82. package/dist/m0saic/alpine/donut/v3/index.d.ts +1 -0
  83. package/dist/m0saic/alpine/donut/v3/index.js +5 -0
  84. package/dist/m0saic/alpine/heatmap/v1/heatmap.d.ts +68 -0
  85. package/dist/m0saic/alpine/heatmap/v1/heatmap.js +370 -0
  86. package/dist/m0saic/alpine/heatmap/v1/index.d.ts +1 -0
  87. package/dist/m0saic/alpine/heatmap/v1/index.js +5 -0
  88. package/dist/m0saic/alpine/heatmap/v2/heatmap.d.ts +73 -0
  89. package/dist/m0saic/alpine/heatmap/v2/heatmap.js +582 -0
  90. package/dist/m0saic/alpine/heatmap/v2/index.d.ts +1 -0
  91. package/dist/m0saic/alpine/heatmap/v2/index.js +5 -0
  92. package/dist/m0saic/alpine/index.d.ts +20 -0
  93. package/dist/m0saic/alpine/index.js +37 -0
  94. package/dist/m0saic/alpine/kpi-card/v1/index.d.ts +1 -0
  95. package/dist/m0saic/alpine/kpi-card/v1/index.js +5 -0
  96. package/dist/m0saic/alpine/kpi-card/v1/kpi-card.d.ts +54 -0
  97. package/dist/m0saic/alpine/kpi-card/v1/kpi-card.js +311 -0
  98. package/dist/m0saic/alpine/kpi-card/v2/index.d.ts +1 -0
  99. package/dist/m0saic/alpine/kpi-card/v2/index.js +5 -0
  100. package/dist/m0saic/alpine/kpi-card/v2/kpi-card.d.ts +60 -0
  101. package/dist/m0saic/alpine/kpi-card/v2/kpi-card.js +362 -0
  102. package/dist/m0saic/alpine/leaderboard/v1/index.d.ts +1 -0
  103. package/dist/m0saic/alpine/leaderboard/v1/index.js +5 -0
  104. package/dist/m0saic/alpine/leaderboard/v1/leaderboard.d.ts +58 -0
  105. package/dist/m0saic/alpine/leaderboard/v1/leaderboard.js +313 -0
  106. package/dist/m0saic/alpine/line-chart/v1/index.d.ts +1 -0
  107. package/dist/m0saic/alpine/line-chart/v1/index.js +5 -0
  108. package/dist/m0saic/alpine/line-chart/v1/line-chart.d.ts +70 -0
  109. package/dist/m0saic/alpine/line-chart/v1/line-chart.js +408 -0
  110. package/dist/m0saic/alpine/line-chart/v2/index.d.ts +1 -0
  111. package/dist/m0saic/alpine/line-chart/v2/index.js +5 -0
  112. package/dist/m0saic/alpine/line-chart/v2/line-chart.d.ts +72 -0
  113. package/dist/m0saic/alpine/line-chart/v2/line-chart.js +434 -0
  114. package/dist/m0saic/alpine/progress-card/v1/index.d.ts +1 -0
  115. package/dist/m0saic/alpine/progress-card/v1/index.js +5 -0
  116. package/dist/m0saic/alpine/progress-card/v1/progress-card.d.ts +53 -0
  117. package/dist/m0saic/alpine/progress-card/v1/progress-card.js +333 -0
  118. package/dist/m0saic/alpine/stat-card/v1/index.d.ts +1 -0
  119. package/dist/m0saic/alpine/stat-card/v1/index.js +5 -0
  120. package/dist/m0saic/alpine/stat-card/v1/stat-card.d.ts +76 -0
  121. package/dist/m0saic/alpine/stat-card/v1/stat-card.js +295 -0
  122. package/dist/m0saic/alpine/timeline/v1/index.d.ts +1 -0
  123. package/dist/m0saic/alpine/timeline/v1/index.js +5 -0
  124. package/dist/m0saic/alpine/timeline/v1/timeline.d.ts +55 -0
  125. package/dist/m0saic/alpine/timeline/v1/timeline.js +266 -0
  126. package/dist/m0saic/alpine/timeline/v2/index.d.ts +1 -0
  127. package/dist/m0saic/alpine/timeline/v2/index.js +5 -0
  128. package/dist/m0saic/alpine/timeline/v2/timeline.d.ts +61 -0
  129. package/dist/m0saic/alpine/timeline/v2/timeline.js +371 -0
  130. package/dist/m0saic/alpine/treemap/v1/index.d.ts +1 -0
  131. package/dist/m0saic/alpine/treemap/v1/index.js +5 -0
  132. package/dist/m0saic/alpine/treemap/v1/treemap.d.ts +56 -0
  133. package/dist/m0saic/alpine/treemap/v1/treemap.js +326 -0
  134. package/dist/m0saic/alpine/treemap/v2/index.d.ts +1 -0
  135. package/dist/m0saic/alpine/treemap/v2/index.js +5 -0
  136. package/dist/m0saic/alpine/treemap/v2/treemap.d.ts +59 -0
  137. package/dist/m0saic/alpine/treemap/v2/treemap.js +323 -0
  138. package/dist/m0saic/benchmark/battery/assets/media/README.md +16 -0
  139. package/dist/m0saic/benchmark/battery/assets/media/bbb-av.mp4 +0 -0
  140. package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-01.mp4 +0 -0
  141. package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-02.mp4 +0 -0
  142. package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-03.mp4 +0 -0
  143. package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-04.mp4 +0 -0
  144. package/dist/m0saic/benchmark/battery/assets/scenarios/duration-long.mosaic +80 -0
  145. package/dist/m0saic/benchmark/battery/assets/scenarios/encoders-base.mosaic +32 -0
  146. package/dist/m0saic/benchmark/battery/assets/scenarios/geometry-grid.mosaic +592 -0
  147. package/dist/m0saic/benchmark/battery/assets/scenarios/lifetime-window-fade.mosaic +28 -0
  148. package/dist/m0saic/benchmark/battery/assets/scenarios/real-bar-graph.mosaic +1980 -0
  149. package/dist/m0saic/benchmark/battery/assets/scenarios/real-donut.mosaic +797 -0
  150. package/dist/m0saic/benchmark/battery/assets/scenarios/real-screencap-grid.mosaic +4591 -0
  151. package/dist/m0saic/benchmark/battery/assets/scenarios/real-stat-card.mosaic +187 -0
  152. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-audio.mosaic +31 -0
  153. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-lavfi.mosaic +32 -0
  154. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-media.mosaic +73 -0
  155. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-nested.mosaic +48 -0
  156. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-ref.mosaic +24 -0
  157. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-text.mosaic +120 -0
  158. package/dist/m0saic/benchmark/battery/manifest.d.ts +65 -0
  159. package/dist/m0saic/benchmark/battery/manifest.js +97 -0
  160. package/dist/m0saic/benchmark/index.d.ts +2 -0
  161. package/dist/m0saic/benchmark/index.js +22 -0
  162. package/dist/m0saic/benchmark/report/v1/assets/m-logo.png +0 -0
  163. package/dist/m0saic/benchmark/report/v1/assets/sample-session/benchmark.json +41 -0
  164. package/dist/m0saic/benchmark/report/v1/index.d.ts +1 -0
  165. package/dist/m0saic/benchmark/report/v1/index.js +17 -0
  166. package/dist/m0saic/benchmark/report/v1/report.d.ts +23 -0
  167. package/dist/m0saic/benchmark/report/v1/report.js +242 -0
  168. package/dist/m0saic/benchmark/run/v1/benchmarkRun.d.ts +57 -0
  169. package/dist/m0saic/benchmark/run/v1/benchmarkRun.js +151 -0
  170. package/dist/m0saic/benchmark/run/v1/confirmation.d.ts +11 -0
  171. package/dist/m0saic/benchmark/run/v1/confirmation.js +48 -0
  172. package/dist/m0saic/benchmark/run/v1/index.d.ts +1 -0
  173. package/dist/m0saic/benchmark/run/v1/index.js +17 -0
  174. package/dist/m0saic/benchmark/run/v1/renderScenario.d.ts +12 -0
  175. package/dist/m0saic/benchmark/run/v1/renderScenario.js +122 -0
  176. package/dist/m0saic/benchmark/run/v1/runner.d.ts +10 -0
  177. package/dist/m0saic/benchmark/run/v1/runner.js +208 -0
  178. package/dist/m0saic/brand/business-card/v1/back-catalog.d.ts +68 -0
  179. package/dist/m0saic/brand/business-card/v1/back-catalog.js +121 -0
  180. package/dist/m0saic/brand/business-card/v1/business-card.d.ts +82 -0
  181. package/dist/m0saic/brand/business-card/v1/business-card.js +517 -0
  182. package/dist/m0saic/brand/business-card/v1/index.d.ts +4 -0
  183. package/dist/m0saic/brand/business-card/v1/index.js +16 -0
  184. package/dist/m0saic/brand/business-card/v1/layout.d.ts +163 -0
  185. package/dist/m0saic/brand/business-card/v1/layout.js +369 -0
  186. package/dist/m0saic/brand/community-m/v1/camera.d.ts +45 -0
  187. package/dist/m0saic/brand/community-m/v1/camera.js +44 -0
  188. package/dist/m0saic/brand/community-m/v1/caption.d.ts +5 -0
  189. package/dist/m0saic/brand/community-m/v1/caption.js +18 -0
  190. package/dist/m0saic/brand/community-m/v1/community-m.d.ts +25 -0
  191. package/dist/m0saic/brand/community-m/v1/community-m.js +117 -0
  192. package/dist/m0saic/brand/community-m/v1/community-m.web.d.ts +3 -0
  193. package/dist/m0saic/brand/community-m/v1/community-m.web.js +172 -0
  194. package/dist/m0saic/brand/community-m/v1/gen-seed-piece.d.ts +1 -0
  195. package/dist/m0saic/brand/community-m/v1/gen-seed-piece.js +59 -0
  196. package/dist/m0saic/brand/community-m/v1/geometry.d.ts +44 -0
  197. package/dist/m0saic/brand/community-m/v1/geometry.js +68 -0
  198. package/dist/m0saic/brand/community-m/v1/imageSize.node.d.ts +3 -0
  199. package/dist/m0saic/brand/community-m/v1/imageSize.node.js +60 -0
  200. package/dist/m0saic/brand/community-m/v1/index.d.ts +1 -0
  201. package/dist/m0saic/brand/community-m/v1/index.js +5 -0
  202. package/dist/m0saic/brand/community-m/v1/loadPiece.node.d.ts +14 -0
  203. package/dist/m0saic/brand/community-m/v1/loadPiece.node.js +69 -0
  204. package/dist/m0saic/brand/community-m/v1/manifest.d.ts +22 -0
  205. package/dist/m0saic/brand/community-m/v1/manifest.js +81 -0
  206. package/dist/m0saic/brand/community-m/v1/mark.d.ts +76 -0
  207. package/dist/m0saic/brand/community-m/v1/mark.js +136 -0
  208. package/dist/m0saic/brand/community-m/v1/paths.d.ts +14 -0
  209. package/dist/m0saic/brand/community-m/v1/paths.js +61 -0
  210. package/dist/m0saic/brand/community-m/v1/piece.d.ts +28 -0
  211. package/dist/m0saic/brand/community-m/v1/piece.js +35 -0
  212. package/dist/m0saic/brand/community-m/v1/pipeline.d.ts +122 -0
  213. package/dist/m0saic/brand/community-m/v1/pipeline.js +461 -0
  214. package/dist/m0saic/brand/community-m/v1/preview.d.ts +75 -0
  215. package/dist/m0saic/brand/community-m/v1/preview.js +214 -0
  216. package/dist/m0saic/brand/community-m/v1/props.d.ts +101 -0
  217. package/dist/m0saic/brand/community-m/v1/props.js +178 -0
  218. package/dist/m0saic/brand/community-m/v1/reveal.d.ts +129 -0
  219. package/dist/m0saic/brand/community-m/v1/reveal.js +155 -0
  220. package/dist/m0saic/brand/community-m/v1/seedPiece.d.ts +57 -0
  221. package/dist/m0saic/brand/community-m/v1/seedPiece.js +153 -0
  222. package/dist/m0saic/brand/community-m/v1/target.d.ts +88 -0
  223. package/dist/m0saic/brand/community-m/v1/target.js +132 -0
  224. package/dist/m0saic/brand/community-m/v1/timing.d.ts +32 -0
  225. package/dist/m0saic/brand/community-m/v1/timing.js +57 -0
  226. package/dist/m0saic/brand/community-m/v1/webPiece.d.ts +23 -0
  227. package/dist/m0saic/brand/community-m/v1/webPiece.js +42 -0
  228. package/dist/m0saic/brand/community-m/v1/wordmark.d.ts +34 -0
  229. package/dist/m0saic/brand/community-m/v1/wordmark.js +62 -0
  230. package/dist/m0saic/brand/index.d.ts +7 -0
  231. package/dist/m0saic/brand/index.js +17 -0
  232. package/dist/m0saic/brand/logo/v1/index.d.ts +1 -0
  233. package/dist/m0saic/brand/logo/v1/index.js +5 -0
  234. package/dist/m0saic/brand/logo/v1/logo.d.ts +30 -0
  235. package/dist/m0saic/brand/logo/v1/logo.js +471 -0
  236. package/dist/m0saic/brand/logo/v2/index.d.ts +1 -0
  237. package/dist/m0saic/brand/logo/v2/index.js +5 -0
  238. package/dist/m0saic/brand/logo/v2/logo.d.ts +30 -0
  239. package/dist/m0saic/brand/logo/v2/logo.js +615 -0
  240. package/dist/m0saic/brand/logo/v3/index.d.ts +1 -0
  241. package/dist/m0saic/brand/logo/v3/index.js +5 -0
  242. package/dist/m0saic/brand/logo/v3/logo.d.ts +36 -0
  243. package/dist/m0saic/brand/logo/v3/logo.js +666 -0
  244. package/dist/m0saic/brand/logo/v3/logo_runner.d.ts +36 -0
  245. package/dist/m0saic/brand/logo/v3/logo_runner.js +216 -0
  246. package/dist/m0saic/brand/qr-stamp/assets/brand-qr-with-logo.svg +8 -0
  247. package/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.mp4 +0 -0
  248. package/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.static.png +0 -0
  249. package/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.mp4 +0 -0
  250. package/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.static.png +0 -0
  251. package/dist/m0saic/brand/qr-stamp/still/v1/index.d.ts +2 -0
  252. package/dist/m0saic/brand/qr-stamp/still/v1/index.js +10 -0
  253. package/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.d.ts +45 -0
  254. package/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.js +347 -0
  255. package/dist/m0saic/brand/qr-stamp/video/v2/index.d.ts +2 -0
  256. package/dist/m0saic/brand/qr-stamp/video/v2/index.js +9 -0
  257. package/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.d.ts +43 -0
  258. package/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.js +447 -0
  259. package/dist/m0saic/brand/qr-stamp/video/v2/windows.d.ts +19 -0
  260. package/dist/m0saic/brand/qr-stamp/video/v2/windows.js +24 -0
  261. package/dist/m0saic/charts/_shared/index.d.ts +8 -0
  262. package/dist/m0saic/charts/_shared/index.js +24 -0
  263. package/dist/m0saic/charts/_shared/line.d.ts +100 -0
  264. package/dist/m0saic/charts/_shared/line.js +134 -0
  265. package/dist/m0saic/charts/_shared/scale.d.ts +9 -0
  266. package/dist/m0saic/charts/_shared/scale.js +17 -0
  267. package/dist/m0saic/charts/bar-graph/v1/anim.d.ts +83 -0
  268. package/dist/m0saic/charts/bar-graph/v1/anim.js +104 -0
  269. package/dist/m0saic/charts/bar-graph/v1/axis.d.ts +51 -0
  270. package/dist/m0saic/charts/bar-graph/v1/axis.js +73 -0
  271. package/dist/m0saic/charts/bar-graph/v1/bar-graph.d.ts +44 -0
  272. package/dist/m0saic/charts/bar-graph/v1/bar-graph.js +316 -0
  273. package/dist/m0saic/charts/bar-graph/v1/defaults.d.ts +88 -0
  274. package/dist/m0saic/charts/bar-graph/v1/defaults.js +157 -0
  275. package/dist/m0saic/charts/bar-graph/v1/format.d.ts +46 -0
  276. package/dist/m0saic/charts/bar-graph/v1/format.js +95 -0
  277. package/dist/m0saic/charts/bar-graph/v1/index.d.ts +31 -0
  278. package/dist/m0saic/charts/bar-graph/v1/index.js +36 -0
  279. package/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.d.ts +53 -0
  280. package/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.js +198 -0
  281. package/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.d.ts +4 -0
  282. package/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.js +154 -0
  283. package/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.d.ts +41 -0
  284. package/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.js +208 -0
  285. package/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.d.ts +32 -0
  286. package/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.js +124 -0
  287. package/dist/m0saic/charts/bar-graph/v1/internal/labels.d.ts +52 -0
  288. package/dist/m0saic/charts/bar-graph/v1/internal/labels.js +504 -0
  289. package/dist/m0saic/charts/bar-graph/v1/internal/plot-area.d.ts +24 -0
  290. package/dist/m0saic/charts/bar-graph/v1/internal/plot-area.js +180 -0
  291. package/dist/m0saic/charts/bar-graph/v1/types.d.ts +326 -0
  292. package/dist/m0saic/charts/bar-graph/v1/types.js +36 -0
  293. package/dist/m0saic/charts/bar-graph/v2/bar-graph.d.ts +131 -0
  294. package/dist/m0saic/charts/bar-graph/v2/bar-graph.js +768 -0
  295. package/dist/m0saic/charts/bar-graph/v2/index.d.ts +10 -0
  296. package/dist/m0saic/charts/bar-graph/v2/index.js +14 -0
  297. package/dist/m0saic/charts/donut/v1/anim.d.ts +54 -0
  298. package/dist/m0saic/charts/donut/v1/anim.js +84 -0
  299. package/dist/m0saic/charts/donut/v1/donut.d.ts +87 -0
  300. package/dist/m0saic/charts/donut/v1/donut.js +400 -0
  301. package/dist/m0saic/charts/donut/v1/geometry.d.ts +55 -0
  302. package/dist/m0saic/charts/donut/v1/geometry.js +115 -0
  303. package/dist/m0saic/charts/donut/v1/index.d.ts +11 -0
  304. package/dist/m0saic/charts/donut/v1/index.js +17 -0
  305. package/dist/m0saic/charts/donut/v2/donut.d.ts +67 -0
  306. package/dist/m0saic/charts/donut/v2/donut.js +307 -0
  307. package/dist/m0saic/charts/donut/v2/index.d.ts +10 -0
  308. package/dist/m0saic/charts/donut/v2/index.js +14 -0
  309. package/dist/m0saic/charts/donut/v3/anim.d.ts +47 -0
  310. package/dist/m0saic/charts/donut/v3/anim.js +77 -0
  311. package/dist/m0saic/charts/donut/v3/donut.d.ts +54 -0
  312. package/dist/m0saic/charts/donut/v3/donut.js +531 -0
  313. package/dist/m0saic/charts/donut/v3/geometry.d.ts +74 -0
  314. package/dist/m0saic/charts/donut/v3/geometry.js +152 -0
  315. package/dist/m0saic/charts/donut/v3/index.d.ts +10 -0
  316. package/dist/m0saic/charts/donut/v3/index.js +14 -0
  317. package/dist/m0saic/charts/donut/v4/donut.d.ts +63 -0
  318. package/dist/m0saic/charts/donut/v4/donut.js +546 -0
  319. package/dist/m0saic/charts/donut/v4/index.d.ts +10 -0
  320. package/dist/m0saic/charts/donut/v4/index.js +14 -0
  321. package/dist/m0saic/charts/index.d.ts +8 -0
  322. package/dist/m0saic/charts/index.js +25 -0
  323. package/dist/m0saic/charts/line-chart/v1/anim.d.ts +78 -0
  324. package/dist/m0saic/charts/line-chart/v1/anim.js +119 -0
  325. package/dist/m0saic/charts/line-chart/v1/axis.d.ts +48 -0
  326. package/dist/m0saic/charts/line-chart/v1/axis.js +55 -0
  327. package/dist/m0saic/charts/line-chart/v1/card.d.ts +27 -0
  328. package/dist/m0saic/charts/line-chart/v1/card.js +44 -0
  329. package/dist/m0saic/charts/line-chart/v1/chrome-spec.d.ts +110 -0
  330. package/dist/m0saic/charts/line-chart/v1/chrome-spec.js +208 -0
  331. package/dist/m0saic/charts/line-chart/v1/chrome.d.ts +30 -0
  332. package/dist/m0saic/charts/line-chart/v1/chrome.js +335 -0
  333. package/dist/m0saic/charts/line-chart/v1/defaults.d.ts +65 -0
  334. package/dist/m0saic/charts/line-chart/v1/defaults.js +151 -0
  335. package/dist/m0saic/charts/line-chart/v1/format.d.ts +26 -0
  336. package/dist/m0saic/charts/line-chart/v1/format.js +76 -0
  337. package/dist/m0saic/charts/line-chart/v1/frame.d.ts +50 -0
  338. package/dist/m0saic/charts/line-chart/v1/frame.js +62 -0
  339. package/dist/m0saic/charts/line-chart/v1/geometry.d.ts +15 -0
  340. package/dist/m0saic/charts/line-chart/v1/geometry.js +34 -0
  341. package/dist/m0saic/charts/line-chart/v1/index.d.ts +16 -0
  342. package/dist/m0saic/charts/line-chart/v1/index.js +21 -0
  343. package/dist/m0saic/charts/line-chart/v1/line-chart.d.ts +26 -0
  344. package/dist/m0saic/charts/line-chart/v1/line-chart.js +634 -0
  345. package/dist/m0saic/charts/line-chart/v1/line-series.d.ts +69 -0
  346. package/dist/m0saic/charts/line-chart/v1/line-series.js +259 -0
  347. package/dist/m0saic/charts/line-chart/v1/types.d.ts +328 -0
  348. package/dist/m0saic/charts/line-chart/v1/types.js +24 -0
  349. package/dist/m0saic/charts/stat-card/v1/index.d.ts +10 -0
  350. package/dist/m0saic/charts/stat-card/v1/index.js +15 -0
  351. package/dist/m0saic/charts/stat-card/v1/stat-card.d.ts +78 -0
  352. package/dist/m0saic/charts/stat-card/v1/stat-card.js +475 -0
  353. package/dist/m0saic/code/_shared/code-diff.d.ts +73 -0
  354. package/dist/m0saic/code/_shared/code-diff.js +220 -0
  355. package/dist/m0saic/code/_shared/code-lexer.d.ts +28 -0
  356. package/dist/m0saic/code/_shared/code-lexer.js +226 -0
  357. package/dist/m0saic/code/_shared/code-metrics.d.ts +58 -0
  358. package/dist/m0saic/code/_shared/code-metrics.js +140 -0
  359. package/dist/m0saic/code/_shared/code-theme.d.ts +30 -0
  360. package/dist/m0saic/code/_shared/code-theme.js +141 -0
  361. package/dist/m0saic/code/index.d.ts +1 -0
  362. package/dist/m0saic/code/index.js +17 -0
  363. package/dist/m0saic/code/snippet-morph/v1/internal/chrome.d.ts +60 -0
  364. package/dist/m0saic/code/snippet-morph/v1/internal/chrome.js +252 -0
  365. package/dist/m0saic/code/snippet-morph/v1/internal/plan.d.ts +90 -0
  366. package/dist/m0saic/code/snippet-morph/v1/internal/plan.js +226 -0
  367. package/dist/m0saic/code/snippet-morph/v1/internal/steps.d.ts +103 -0
  368. package/dist/m0saic/code/snippet-morph/v1/internal/steps.js +313 -0
  369. package/dist/m0saic/code/snippet-morph/v1/snippet-morph.d.ts +61 -0
  370. package/dist/m0saic/code/snippet-morph/v1/snippet-morph.js +462 -0
  371. package/dist/m0saic/collage/image-collage/v1/demo-fixture.d.ts +18 -0
  372. package/dist/m0saic/collage/image-collage/v1/demo-fixture.js +30 -0
  373. package/dist/m0saic/collage/image-collage/v1/emit.d.ts +81 -0
  374. package/dist/m0saic/collage/image-collage/v1/emit.js +163 -0
  375. package/dist/m0saic/collage/image-collage/v1/image-collage.d.ts +63 -0
  376. package/dist/m0saic/collage/image-collage/v1/image-collage.js +386 -0
  377. package/dist/m0saic/collage/image-collage/v1/index.d.ts +2 -0
  378. package/dist/m0saic/collage/image-collage/v1/index.js +5 -0
  379. package/dist/m0saic/collage/image-collage/v1/packer/candidates.d.ts +71 -0
  380. package/dist/m0saic/collage/image-collage/v1/packer/candidates.js +211 -0
  381. package/dist/m0saic/collage/image-collage/v1/packer/classify.d.ts +26 -0
  382. package/dist/m0saic/collage/image-collage/v1/packer/classify.js +70 -0
  383. package/dist/m0saic/collage/image-collage/v1/packer/index.d.ts +7 -0
  384. package/dist/m0saic/collage/image-collage/v1/packer/index.js +23 -0
  385. package/dist/m0saic/collage/image-collage/v1/packer/paging.d.ts +39 -0
  386. package/dist/m0saic/collage/image-collage/v1/packer/paging.js +139 -0
  387. package/dist/m0saic/collage/image-collage/v1/packer/score.d.ts +25 -0
  388. package/dist/m0saic/collage/image-collage/v1/packer/score.js +69 -0
  389. package/dist/m0saic/collage/image-collage/v1/packer/solve.d.ts +27 -0
  390. package/dist/m0saic/collage/image-collage/v1/packer/solve.js +84 -0
  391. package/dist/m0saic/collage/image-collage/v1/packer/tiler.d.ts +65 -0
  392. package/dist/m0saic/collage/image-collage/v1/packer/tiler.js +607 -0
  393. package/dist/m0saic/collage/image-collage/v1/packer/types.d.ts +99 -0
  394. package/dist/m0saic/collage/image-collage/v1/packer/types.js +10 -0
  395. package/dist/m0saic/collage/image-collage/v1/tutorial.d.ts +17 -0
  396. package/dist/m0saic/collage/image-collage/v1/tutorial.js +269 -0
  397. package/dist/m0saic/collage/index.d.ts +2 -0
  398. package/dist/m0saic/collage/index.js +18 -0
  399. package/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.d.ts +7 -0
  400. package/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.js +11 -0
  401. package/dist/m0saic/collage/spread-grid-mock/v1/index.d.ts +1 -0
  402. package/dist/m0saic/collage/spread-grid-mock/v1/index.js +5 -0
  403. package/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.d.ts +29 -0
  404. package/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.js +78 -0
  405. package/dist/m0saic/dsl-tutorial/index.d.ts +1 -0
  406. package/dist/m0saic/dsl-tutorial/index.js +18 -0
  407. package/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.d.ts +24 -0
  408. package/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.js +17 -0
  409. package/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.d.ts +6 -0
  410. package/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.js +9 -0
  411. package/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.d.ts +57 -0
  412. package/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.js +156 -0
  413. package/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.d.ts +76 -0
  414. package/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.js +127 -0
  415. package/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.d.ts +124 -0
  416. package/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.js +675 -0
  417. package/dist/m0saic/dsl-tutorial/v1/index.d.ts +24 -0
  418. package/dist/m0saic/dsl-tutorial/v1/index.js +35 -0
  419. package/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.d.ts +113 -0
  420. package/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.js +573 -0
  421. package/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.d.ts +83 -0
  422. package/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.js +373 -0
  423. package/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.d.ts +48 -0
  424. package/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.js +366 -0
  425. package/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.d.ts +54 -0
  426. package/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.js +304 -0
  427. package/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.d.ts +110 -0
  428. package/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.js +443 -0
  429. package/dist/m0saic/dsl-tutorial/v1/pipeline/camera.d.ts +64 -0
  430. package/dist/m0saic/dsl-tutorial/v1/pipeline/camera.js +177 -0
  431. package/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.d.ts +47 -0
  432. package/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.js +64 -0
  433. package/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.d.ts +61 -0
  434. package/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.js +135 -0
  435. package/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.d.ts +62 -0
  436. package/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.js +197 -0
  437. package/dist/m0saic/dsl-tutorial/v1/pipeline/timing.d.ts +117 -0
  438. package/dist/m0saic/dsl-tutorial/v1/pipeline/timing.js +180 -0
  439. package/dist/m0saic/dsl-tutorial/v1/theme/tokens.d.ts +87 -0
  440. package/dist/m0saic/dsl-tutorial/v1/theme/tokens.js +96 -0
  441. package/dist/m0saic/forensic/index.d.ts +1 -0
  442. package/dist/m0saic/forensic/index.js +17 -0
  443. package/dist/m0saic/forensic/watermark/_shared/cellLuminance.d.ts +37 -0
  444. package/dist/m0saic/forensic/watermark/_shared/cellLuminance.js +62 -0
  445. package/dist/m0saic/forensic/watermark/index.d.ts +2 -0
  446. package/dist/m0saic/forensic/watermark/index.js +18 -0
  447. package/dist/m0saic/forensic/watermark/verify/index.d.ts +1 -0
  448. package/dist/m0saic/forensic/watermark/verify/index.js +17 -0
  449. package/dist/m0saic/forensic/watermark/verify/v1/decode.d.ts +83 -0
  450. package/dist/m0saic/forensic/watermark/verify/v1/decode.js +270 -0
  451. package/dist/m0saic/forensic/watermark/verify/v1/index.d.ts +2 -0
  452. package/dist/m0saic/forensic/watermark/verify/v1/index.js +23 -0
  453. package/dist/m0saic/forensic/watermark/verify/v1/report.d.ts +71 -0
  454. package/dist/m0saic/forensic/watermark/verify/v1/report.js +428 -0
  455. package/dist/m0saic/forensic/watermark/verify/v1/verify.d.ts +55 -0
  456. package/dist/m0saic/forensic/watermark/verify/v1/verify.js +286 -0
  457. package/dist/m0saic/forensic/watermark/video/index.d.ts +1 -0
  458. package/dist/m0saic/forensic/watermark/video/index.js +17 -0
  459. package/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.d.ts +119 -0
  460. package/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.js +629 -0
  461. package/dist/m0saic/forensic/watermark/video/v1/index.d.ts +2 -0
  462. package/dist/m0saic/forensic/watermark/video/v1/index.js +9 -0
  463. package/dist/m0saic/forensic/watermark/video/v1/maskAsset.d.ts +67 -0
  464. package/dist/m0saic/forensic/watermark/video/v1/maskAsset.js +125 -0
  465. package/dist/m0saic/forensic/watermark/video/v1/probeHost.d.ts +69 -0
  466. package/dist/m0saic/forensic/watermark/video/v1/probeHost.js +83 -0
  467. package/dist/m0saic/github/client.d.ts +200 -0
  468. package/dist/m0saic/github/client.js +161 -0
  469. package/dist/m0saic/github/connection.d.ts +24 -0
  470. package/dist/m0saic/github/connection.js +91 -0
  471. package/dist/m0saic/github/index.d.ts +20 -0
  472. package/dist/m0saic/github/index.js +42 -0
  473. package/dist/m0saic/github/repo-facts-fetcher/index.d.ts +4 -0
  474. package/dist/m0saic/github/repo-facts-fetcher/index.js +20 -0
  475. package/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.d.ts +54 -0
  476. package/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.js +238 -0
  477. package/dist/m0saic/github/repo-facts-fetcher/v1/facts.d.ts +112 -0
  478. package/dist/m0saic/github/repo-facts-fetcher/v1/facts.js +12 -0
  479. package/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.d.ts +67 -0
  480. package/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.js +210 -0
  481. package/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.d.ts +16 -0
  482. package/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.js +175 -0
  483. package/dist/m0saic/github/week-math.d.ts +50 -0
  484. package/dist/m0saic/github/week-math.js +96 -0
  485. package/dist/m0saic/github/weekly-pulse/index.d.ts +1 -0
  486. package/dist/m0saic/github/weekly-pulse/index.js +17 -0
  487. package/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.d.ts +51 -0
  488. package/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.js +153 -0
  489. package/dist/m0saic/github/weekly-pulse-adapter/index.d.ts +2 -0
  490. package/dist/m0saic/github/weekly-pulse-adapter/index.js +18 -0
  491. package/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.d.ts +24 -0
  492. package/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.js +257 -0
  493. package/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.d.ts +35 -0
  494. package/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.js +131 -0
  495. package/dist/m0saic/github/year-card/index.d.ts +1 -0
  496. package/dist/m0saic/github/year-card/index.js +17 -0
  497. package/dist/m0saic/github/year-card/v1/index.d.ts +2 -0
  498. package/dist/m0saic/github/year-card/v1/index.js +16 -0
  499. package/dist/m0saic/github/year-card/v1/year-card.d.ts +90 -0
  500. package/dist/m0saic/github/year-card/v1/year-card.js +476 -0
  501. package/dist/m0saic/hello-world/index.d.ts +1 -0
  502. package/dist/m0saic/hello-world/index.js +18 -0
  503. package/dist/m0saic/hello-world/v1/hello-world.d.ts +4 -0
  504. package/dist/m0saic/hello-world/v1/hello-world.js +36 -0
  505. package/dist/m0saic/hello-world/v1/index.d.ts +5 -0
  506. package/dist/m0saic/hello-world/v1/index.js +9 -0
  507. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/bake-fin-qr.sh +11 -0
  508. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg-logo.png +0 -0
  509. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg_logo_480x480.svg +1 -0
  510. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/m-hero.png +0 -0
  511. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/qr-fin.mp4 +0 -0
  512. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-desktop.mp4 +0 -0
  513. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-layout.m0p +5146 -0
  514. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-mobile.mp4 +0 -0
  515. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-square.mp4 +0 -0
  516. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/title-layout.m0p +130 -0
  517. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.d.ts +151 -0
  518. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.js +305 -0
  519. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.d.ts +178 -0
  520. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.js +238 -0
  521. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.d.ts +1 -0
  522. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.js +12 -0
  523. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.d.ts +67 -0
  524. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.js +59 -0
  525. package/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.d.ts +54 -0
  526. package/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.js +173 -0
  527. package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.d.ts +37 -0
  528. package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.js +178 -0
  529. package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.d.ts +1 -0
  530. package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.js +5 -0
  531. package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.d.ts +37 -0
  532. package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.js +164 -0
  533. package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.d.ts +1 -0
  534. package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.js +5 -0
  535. package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.d.ts +37 -0
  536. package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.js +159 -0
  537. package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.d.ts +1 -0
  538. package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.js +5 -0
  539. package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.d.ts +31 -0
  540. package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.js +154 -0
  541. package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.d.ts +1 -0
  542. package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.js +5 -0
  543. package/dist/m0saic/hero/ffmpeg-pulse/index.d.ts +10 -0
  544. package/dist/m0saic/hero/ffmpeg-pulse/index.js +24 -0
  545. package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.d.ts +1 -0
  546. package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.js +5 -0
  547. package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.d.ts +38 -0
  548. package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.js +161 -0
  549. package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.d.ts +1 -0
  550. package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.js +5 -0
  551. package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.d.ts +36 -0
  552. package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.js +151 -0
  553. package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.d.ts +1 -0
  554. package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.js +5 -0
  555. package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.d.ts +54 -0
  556. package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.js +128 -0
  557. package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.d.ts +1 -0
  558. package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.js +5 -0
  559. package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.d.ts +29 -0
  560. package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.js +47 -0
  561. package/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.d.ts +1 -0
  562. package/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.js +5 -0
  563. package/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.d.ts +20 -0
  564. package/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.js +365 -0
  565. package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.d.ts +1 -0
  566. package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.js +5 -0
  567. package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.d.ts +38 -0
  568. package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.js +174 -0
  569. package/dist/m0saic/hero/index.d.ts +1 -0
  570. package/dist/m0saic/hero/index.js +18 -0
  571. package/dist/m0saic/index.d.ts +20 -0
  572. package/dist/m0saic/index.js +56 -0
  573. package/dist/m0saic/media/barcode/v1/barcode.d.ts +22 -0
  574. package/dist/m0saic/media/barcode/v1/barcode.js +218 -0
  575. package/dist/m0saic/media/barcode/v1/index.d.ts +1 -0
  576. package/dist/m0saic/media/barcode/v1/index.js +9 -0
  577. package/dist/m0saic/media/blur-regions/index.d.ts +1 -0
  578. package/dist/m0saic/media/blur-regions/index.js +17 -0
  579. package/dist/m0saic/media/blur-regions/v1/blur-regions.d.ts +58 -0
  580. package/dist/m0saic/media/blur-regions/v1/blur-regions.js +303 -0
  581. package/dist/m0saic/media/blur-regions/v1/index.d.ts +2 -0
  582. package/dist/m0saic/media/blur-regions/v1/index.js +20 -0
  583. package/dist/m0saic/media/blur-regions/v1/plan.d.ts +125 -0
  584. package/dist/m0saic/media/blur-regions/v1/plan.js +204 -0
  585. package/dist/m0saic/media/blur-regions/v1/tutorial.d.ts +18 -0
  586. package/dist/m0saic/media/blur-regions/v1/tutorial.js +428 -0
  587. package/dist/m0saic/media/highlights/index.d.ts +1 -0
  588. package/dist/m0saic/media/highlights/index.js +17 -0
  589. package/dist/m0saic/media/highlights/v1/assets/cover-ranges.jpg +0 -0
  590. package/dist/m0saic/media/highlights/v1/highlights.d.ts +49 -0
  591. package/dist/m0saic/media/highlights/v1/highlights.js +222 -0
  592. package/dist/m0saic/media/highlights/v1/index.d.ts +3 -0
  593. package/dist/m0saic/media/highlights/v1/index.js +19 -0
  594. package/dist/m0saic/media/highlights/v1/pipeline.d.ts +35 -0
  595. package/dist/m0saic/media/highlights/v1/pipeline.js +91 -0
  596. package/dist/m0saic/media/highlights/v1/plan.d.ts +46 -0
  597. package/dist/m0saic/media/highlights/v1/plan.js +68 -0
  598. package/dist/m0saic/media/index.d.ts +13 -0
  599. package/dist/m0saic/media/index.js +31 -0
  600. package/dist/m0saic/media/logo-animate/index.d.ts +1 -0
  601. package/dist/m0saic/media/logo-animate/index.js +17 -0
  602. package/dist/m0saic/media/logo-animate/v1/default-logo.d.ts +12 -0
  603. package/dist/m0saic/media/logo-animate/v1/default-logo.js +49 -0
  604. package/dist/m0saic/media/logo-animate/v1/expressions.d.ts +66 -0
  605. package/dist/m0saic/media/logo-animate/v1/expressions.js +107 -0
  606. package/dist/m0saic/media/logo-animate/v1/index.d.ts +2 -0
  607. package/dist/m0saic/media/logo-animate/v1/index.js +5 -0
  608. package/dist/m0saic/media/logo-animate/v1/layout.d.ts +29 -0
  609. package/dist/m0saic/media/logo-animate/v1/layout.js +43 -0
  610. package/dist/m0saic/media/logo-animate/v1/logo-animate.d.ts +106 -0
  611. package/dist/m0saic/media/logo-animate/v1/logo-animate.js +732 -0
  612. package/dist/m0saic/media/logo-animate/v1/svg-source.d.ts +63 -0
  613. package/dist/m0saic/media/logo-animate/v1/svg-source.js +127 -0
  614. package/dist/m0saic/media/logo-animate/v1/tutorial.d.ts +16 -0
  615. package/dist/m0saic/media/logo-animate/v1/tutorial.js +378 -0
  616. package/dist/m0saic/media/metadata-stamp/index.d.ts +1 -0
  617. package/dist/m0saic/media/metadata-stamp/index.js +17 -0
  618. package/dist/m0saic/media/metadata-stamp/v1/assets/cover-frame.jpg +0 -0
  619. package/dist/m0saic/media/metadata-stamp/v1/format-date.d.ts +52 -0
  620. package/dist/m0saic/media/metadata-stamp/v1/format-date.js +128 -0
  621. package/dist/m0saic/media/metadata-stamp/v1/index.d.ts +4 -0
  622. package/dist/m0saic/media/metadata-stamp/v1/index.js +10 -0
  623. package/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.d.ts +58 -0
  624. package/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.js +534 -0
  625. package/dist/m0saic/media/qr/_shared/brandMCenter.d.ts +28 -0
  626. package/dist/m0saic/media/qr/_shared/brandMCenter.js +52 -0
  627. package/dist/m0saic/media/qr/animate/v1/expressions.d.ts +164 -0
  628. package/dist/m0saic/media/qr/animate/v1/expressions.js +251 -0
  629. package/dist/m0saic/media/qr/animate/v1/index.d.ts +2 -0
  630. package/dist/m0saic/media/qr/animate/v1/index.js +9 -0
  631. package/dist/m0saic/media/qr/animate/v1/qr-animate.d.ts +171 -0
  632. package/dist/m0saic/media/qr/animate/v1/qr-animate.js +775 -0
  633. package/dist/m0saic/media/qr/animate/v2/index.d.ts +2 -0
  634. package/dist/m0saic/media/qr/animate/v2/index.js +9 -0
  635. package/dist/m0saic/media/qr/animate/v2/qr-animate.d.ts +64 -0
  636. package/dist/m0saic/media/qr/animate/v2/qr-animate.js +341 -0
  637. package/dist/m0saic/media/qr/basic/v1/index.d.ts +1 -0
  638. package/dist/m0saic/media/qr/basic/v1/index.js +10 -0
  639. package/dist/m0saic/media/qr/basic/v1/qr.d.ts +24 -0
  640. package/dist/m0saic/media/qr/basic/v1/qr.js +132 -0
  641. package/dist/m0saic/media/qr/code/v1/index.d.ts +2 -0
  642. package/dist/m0saic/media/qr/code/v1/index.js +9 -0
  643. package/dist/m0saic/media/qr/code/v1/qr-code.d.ts +135 -0
  644. package/dist/m0saic/media/qr/code/v1/qr-code.js +611 -0
  645. package/dist/m0saic/media/qr/index.d.ts +7 -0
  646. package/dist/m0saic/media/qr/index.js +19 -0
  647. package/dist/m0saic/media/qr/rounded/v1/index.d.ts +1 -0
  648. package/dist/m0saic/media/qr/rounded/v1/index.js +9 -0
  649. package/dist/m0saic/media/qr/rounded/v1/qr-rounded.d.ts +68 -0
  650. package/dist/m0saic/media/qr/rounded/v1/qr-rounded.js +338 -0
  651. package/dist/m0saic/media/qr/stamp/v1/assets/cover-frame.jpg +0 -0
  652. package/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.d.ts +44 -0
  653. package/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.js +389 -0
  654. package/dist/m0saic/media/qr/stamp-video/v1/expressions.d.ts +10 -0
  655. package/dist/m0saic/media/qr/stamp-video/v1/expressions.js +18 -0
  656. package/dist/m0saic/media/qr/stamp-video/v1/gleamBand.d.ts +115 -0
  657. package/dist/m0saic/media/qr/stamp-video/v1/gleamBand.js +206 -0
  658. package/dist/m0saic/media/qr/stamp-video/v1/index.d.ts +2 -0
  659. package/dist/m0saic/media/qr/stamp-video/v1/index.js +9 -0
  660. package/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.d.ts +82 -0
  661. package/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.js +424 -0
  662. package/dist/m0saic/media/screencap_grid/index.d.ts +3 -0
  663. package/dist/m0saic/media/screencap_grid/index.js +9 -0
  664. package/dist/m0saic/media/screencap_grid/internal/index.d.ts +1 -0
  665. package/dist/m0saic/media/screencap_grid/internal/index.js +5 -0
  666. package/dist/m0saic/media/screencap_grid/internal/info_pane.d.ts +13 -0
  667. package/dist/m0saic/media/screencap_grid/internal/info_pane.js +130 -0
  668. package/dist/m0saic/media/screencap_grid/v1/index.d.ts +1 -0
  669. package/dist/m0saic/media/screencap_grid/v1/index.js +5 -0
  670. package/dist/m0saic/media/screencap_grid/v1/screencap-grid.d.ts +162 -0
  671. package/dist/m0saic/media/screencap_grid/v1/screencap-grid.js +690 -0
  672. package/dist/m0saic/media/screencap_grid/v2/assets/tutorial-sheet.jpg +0 -0
  673. package/dist/m0saic/media/screencap_grid/v2/index.d.ts +1 -0
  674. package/dist/m0saic/media/screencap_grid/v2/index.js +5 -0
  675. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.d.ts +9 -0
  676. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.js +12 -0
  677. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.d.ts +97 -0
  678. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.js +367 -0
  679. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.d.ts +38 -0
  680. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.js +530 -0
  681. package/dist/m0saic/media/screencap_grid/v2/screencap-grid.d.ts +194 -0
  682. package/dist/m0saic/media/screencap_grid/v2/screencap-grid.js +615 -0
  683. package/dist/m0saic/media/screencap_grid_aspect_safe/index.d.ts +1 -0
  684. package/dist/m0saic/media/screencap_grid_aspect_safe/index.js +5 -0
  685. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/assets/pair-sheet.jpg +0 -0
  686. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.d.ts +1 -0
  687. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.js +5 -0
  688. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.d.ts +18 -0
  689. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.js +191 -0
  690. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.d.ts +13 -0
  691. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.js +355 -0
  692. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.d.ts +179 -0
  693. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.js +544 -0
  694. package/dist/m0saic/media/scroll_wall/index.d.ts +1 -0
  695. package/dist/m0saic/media/scroll_wall/index.js +5 -0
  696. package/dist/m0saic/media/scroll_wall/v1/geometry.d.ts +131 -0
  697. package/dist/m0saic/media/scroll_wall/v1/geometry.js +172 -0
  698. package/dist/m0saic/media/scroll_wall/v1/index.d.ts +1 -0
  699. package/dist/m0saic/media/scroll_wall/v1/index.js +5 -0
  700. package/dist/m0saic/media/scroll_wall/v1/motion.d.ts +114 -0
  701. package/dist/m0saic/media/scroll_wall/v1/motion.js +141 -0
  702. package/dist/m0saic/media/scroll_wall/v1/scroll-wall.d.ts +182 -0
  703. package/dist/m0saic/media/scroll_wall/v1/scroll-wall.js +432 -0
  704. package/dist/m0saic/media/subtitle-burn/index.d.ts +1 -0
  705. package/dist/m0saic/media/subtitle-burn/index.js +17 -0
  706. package/dist/m0saic/media/subtitle-burn/v1/assets/cover-frame.jpg +0 -0
  707. package/dist/m0saic/media/subtitle-burn/v1/index.d.ts +1 -0
  708. package/dist/m0saic/media/subtitle-burn/v1/index.js +6 -0
  709. package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.d.ts +13 -0
  710. package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.js +196 -0
  711. package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.d.ts +137 -0
  712. package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.js +603 -0
  713. package/dist/m0saic/media/trickplay/index.d.ts +1 -0
  714. package/dist/m0saic/media/trickplay/index.js +17 -0
  715. package/dist/m0saic/media/trickplay/v1/index.d.ts +4 -0
  716. package/dist/m0saic/media/trickplay/v1/index.js +18 -0
  717. package/dist/m0saic/media/trickplay/v1/pipeline.d.ts +51 -0
  718. package/dist/m0saic/media/trickplay/v1/pipeline.js +180 -0
  719. package/dist/m0saic/media/trickplay/v1/plan.d.ts +65 -0
  720. package/dist/m0saic/media/trickplay/v1/plan.js +76 -0
  721. package/dist/m0saic/media/trickplay/v1/sidecars.d.ts +79 -0
  722. package/dist/m0saic/media/trickplay/v1/sidecars.js +89 -0
  723. package/dist/m0saic/media/trickplay/v1/trickplay.d.ts +40 -0
  724. package/dist/m0saic/media/trickplay/v1/trickplay.js +123 -0
  725. package/dist/m0saic/media/video_to_png_sequence/index.d.ts +1 -0
  726. package/dist/m0saic/media/video_to_png_sequence/index.js +5 -0
  727. package/dist/m0saic/media/video_to_png_sequence/v1/index.d.ts +1 -0
  728. package/dist/m0saic/media/video_to_png_sequence/v1/index.js +5 -0
  729. package/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.d.ts +37 -0
  730. package/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.js +234 -0
  731. package/dist/m0saic/media/watermark/index.d.ts +1 -0
  732. package/dist/m0saic/media/watermark/index.js +17 -0
  733. package/dist/m0saic/media/watermark/v1/adaptive.d.ts +85 -0
  734. package/dist/m0saic/media/watermark/v1/adaptive.js +162 -0
  735. package/dist/m0saic/media/watermark/v1/content.d.ts +56 -0
  736. package/dist/m0saic/media/watermark/v1/content.js +160 -0
  737. package/dist/m0saic/media/watermark/v1/geometry.d.ts +138 -0
  738. package/dist/m0saic/media/watermark/v1/geometry.js +247 -0
  739. package/dist/m0saic/media/watermark/v1/index.d.ts +3 -0
  740. package/dist/m0saic/media/watermark/v1/index.js +5 -0
  741. package/dist/m0saic/media/watermark/v1/pageGrid.d.ts +105 -0
  742. package/dist/m0saic/media/watermark/v1/pageGrid.js +203 -0
  743. package/dist/m0saic/media/watermark/v1/pipeline.d.ts +68 -0
  744. package/dist/m0saic/media/watermark/v1/pipeline.js +324 -0
  745. package/dist/m0saic/media/watermark/v1/watermark.d.ts +88 -0
  746. package/dist/m0saic/media/watermark/v1/watermark.js +452 -0
  747. package/dist/m0saic/meta/camera-debug/index.d.ts +1 -0
  748. package/dist/m0saic/meta/camera-debug/index.js +17 -0
  749. package/dist/m0saic/meta/camera-debug/v1/camera-debug.d.ts +98 -0
  750. package/dist/m0saic/meta/camera-debug/v1/camera-debug.js +490 -0
  751. package/dist/m0saic/meta/fixture-fetcher/index.d.ts +1 -0
  752. package/dist/m0saic/meta/fixture-fetcher/index.js +17 -0
  753. package/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.d.ts +76 -0
  754. package/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.js +159 -0
  755. package/dist/m0saic/meta/hot-reload-smoke/index.d.ts +1 -0
  756. package/dist/m0saic/meta/hot-reload-smoke/index.js +17 -0
  757. package/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.d.ts +50 -0
  758. package/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.js +131 -0
  759. package/dist/m0saic/meta/index.d.ts +13 -0
  760. package/dist/m0saic/meta/index.js +29 -0
  761. package/dist/m0saic/meta/post-mortem/index.d.ts +1 -0
  762. package/dist/m0saic/meta/post-mortem/index.js +17 -0
  763. package/dist/m0saic/meta/post-mortem/v1/assets/human.png +0 -0
  764. package/dist/m0saic/meta/post-mortem/v1/assets/robot.png +0 -0
  765. package/dist/m0saic/meta/post-mortem/v1/post-mortem.d.ts +47 -0
  766. package/dist/m0saic/meta/post-mortem/v1/post-mortem.js +634 -0
  767. package/dist/m0saic/meta/upstream-echo/index.d.ts +1 -0
  768. package/dist/m0saic/meta/upstream-echo/index.js +17 -0
  769. package/dist/m0saic/meta/upstream-echo/v1/upstream-echo.d.ts +52 -0
  770. package/dist/m0saic/meta/upstream-echo/v1/upstream-echo.js +138 -0
  771. package/dist/m0saic/primitives/grid/index.d.ts +2 -0
  772. package/dist/m0saic/primitives/grid/index.js +7 -0
  773. package/dist/m0saic/primitives/grid/v1/grid.d.ts +85 -0
  774. package/dist/m0saic/primitives/grid/v1/grid.js +217 -0
  775. package/dist/m0saic/primitives/grid/v2/grid.d.ts +80 -0
  776. package/dist/m0saic/primitives/grid/v2/grid.js +150 -0
  777. package/dist/m0saic/primitives/index.d.ts +1 -0
  778. package/dist/m0saic/primitives/index.js +17 -0
  779. package/dist/m0saic/social/index.d.ts +1 -0
  780. package/dist/m0saic/social/index.js +17 -0
  781. package/dist/m0saic/social/quote-card/index.d.ts +1 -0
  782. package/dist/m0saic/social/quote-card/index.js +17 -0
  783. package/dist/m0saic/social/quote-card/v1/index.d.ts +2 -0
  784. package/dist/m0saic/social/quote-card/v1/index.js +5 -0
  785. package/dist/m0saic/social/quote-card/v1/layout.d.ts +119 -0
  786. package/dist/m0saic/social/quote-card/v1/layout.js +323 -0
  787. package/dist/m0saic/social/quote-card/v1/quote-card.d.ts +51 -0
  788. package/dist/m0saic/social/quote-card/v1/quote-card.js +310 -0
  789. package/dist/m0saic/story/index.d.ts +2 -0
  790. package/dist/m0saic/story/index.js +20 -0
  791. package/dist/m0saic/story/narrated-chapters/index.d.ts +1 -0
  792. package/dist/m0saic/story/narrated-chapters/index.js +17 -0
  793. package/dist/m0saic/story/narrated-chapters/v1/captions.d.ts +42 -0
  794. package/dist/m0saic/story/narrated-chapters/v1/captions.js +200 -0
  795. package/dist/m0saic/story/narrated-chapters/v1/demo-fixture.d.ts +13 -0
  796. package/dist/m0saic/story/narrated-chapters/v1/demo-fixture.js +52 -0
  797. package/dist/m0saic/story/narrated-chapters/v1/index.d.ts +2 -0
  798. package/dist/m0saic/story/narrated-chapters/v1/index.js +5 -0
  799. package/dist/m0saic/story/narrated-chapters/v1/kenburns.d.ts +50 -0
  800. package/dist/m0saic/story/narrated-chapters/v1/kenburns.js +0 -0
  801. package/dist/m0saic/story/narrated-chapters/v1/layout.d.ts +103 -0
  802. package/dist/m0saic/story/narrated-chapters/v1/layout.js +162 -0
  803. package/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.d.ts +22 -0
  804. package/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.js +160 -0
  805. package/dist/m0saic/story/narrated-chapters/v1/pipeline.d.ts +43 -0
  806. package/dist/m0saic/story/narrated-chapters/v1/pipeline.js +94 -0
  807. package/dist/m0saic/story/narrated-chapters/v1/plan.d.ts +144 -0
  808. package/dist/m0saic/story/narrated-chapters/v1/plan.js +372 -0
  809. package/dist/m0saic/story/narrated-chapters/v1/props.d.ts +147 -0
  810. package/dist/m0saic/story/narrated-chapters/v1/props.js +205 -0
  811. package/dist/m0saic/story/narrated-chapters/v1/scenes/body.d.ts +64 -0
  812. package/dist/m0saic/story/narrated-chapters/v1/scenes/body.js +253 -0
  813. package/dist/m0saic/story/narrated-chapters/v1/scenes/card.d.ts +40 -0
  814. package/dist/m0saic/story/narrated-chapters/v1/scenes/card.js +201 -0
  815. package/dist/m0saic/story/narrated-chapters/v1/theme.d.ts +25 -0
  816. package/dist/m0saic/story/narrated-chapters/v1/theme.js +38 -0
  817. package/dist/m0saic/story/scrapbook/v1/document.d.ts +41 -0
  818. package/dist/m0saic/story/scrapbook/v1/document.js +124 -0
  819. package/dist/m0saic/story/scrapbook/v1/index.d.ts +1 -0
  820. package/dist/m0saic/story/scrapbook/v1/index.js +9 -0
  821. package/dist/m0saic/story/scrapbook/v1/page.d.ts +34 -0
  822. package/dist/m0saic/story/scrapbook/v1/page.js +121 -0
  823. package/dist/m0saic/story/scrapbook/v1/pages.d.ts +29 -0
  824. package/dist/m0saic/story/scrapbook/v1/pages.js +37 -0
  825. package/dist/m0saic/story/scrapbook/v1/pipeline.d.ts +44 -0
  826. package/dist/m0saic/story/scrapbook/v1/pipeline.js +130 -0
  827. package/dist/m0saic/story/scrapbook/v1/placeholder.d.ts +22 -0
  828. package/dist/m0saic/story/scrapbook/v1/placeholder.js +51 -0
  829. package/dist/m0saic/story/scrapbook/v1/props.d.ts +66 -0
  830. package/dist/m0saic/story/scrapbook/v1/props.js +80 -0
  831. package/dist/m0saic/story/scrapbook/v1/scrapbook.d.ts +23 -0
  832. package/dist/m0saic/story/scrapbook/v1/scrapbook.js +77 -0
  833. package/dist/m0saic/theming/index.d.ts +1 -0
  834. package/dist/m0saic/theming/index.js +17 -0
  835. package/dist/m0saic/theming/v1/brand-m-glyph.d.ts +14 -0
  836. package/dist/m0saic/theming/v1/brand-m-glyph.js +12 -0
  837. package/dist/m0saic/theming/v1/index.d.ts +2 -0
  838. package/dist/m0saic/theming/v1/index.js +16 -0
  839. package/dist/m0saic/theming/v1/theme-tokens.d.ts +71 -0
  840. package/dist/m0saic/theming/v1/theme-tokens.js +111 -0
  841. package/dist/m0saic/theming/v1/theming.d.ts +18 -0
  842. package/dist/m0saic/theming/v1/theming.js +94 -0
  843. package/dist/m0saic/theming/v1/token-sheet.d.ts +23 -0
  844. package/dist/m0saic/theming/v1/token-sheet.js +191 -0
  845. package/dist/m0saic/web/index.d.ts +1 -0
  846. package/dist/m0saic/web/index.js +17 -0
  847. package/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.d.ts +1 -0
  848. package/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.js +528 -0
  849. package/dist/m0saic/web/page-skeleton/v1/index.d.ts +1 -0
  850. package/dist/m0saic/web/page-skeleton/v1/index.js +5 -0
  851. package/dist/m0saic/web/page-skeleton/v1/layout.d.ts +107 -0
  852. package/dist/m0saic/web/page-skeleton/v1/layout.js +246 -0
  853. package/dist/m0saic/web/page-skeleton/v1/page-skeleton.d.ts +148 -0
  854. package/dist/m0saic/web/page-skeleton/v1/page-skeleton.js +787 -0
  855. package/dist/m0saic/web/page-skeleton/v1/sample-capture.d.ts +7 -0
  856. package/dist/m0saic/web/page-skeleton/v1/sample-capture.js +50 -0
  857. package/dist/m0saic/web/page-skeleton/v1/schema.d.ts +35 -0
  858. package/dist/m0saic/web/page-skeleton/v1/schema.js +132 -0
  859. package/dist/m0saic/wireframe/animated/v1/animated-wireframe.d.ts +93 -0
  860. package/dist/m0saic/wireframe/animated/v1/animated-wireframe.js +580 -0
  861. package/dist/m0saic/wireframe/animated/v1/index.d.ts +1 -0
  862. package/dist/m0saic/wireframe/animated/v1/index.js +5 -0
  863. package/dist/m0saic/wireframe/base/v1/index.d.ts +1 -0
  864. package/dist/m0saic/wireframe/base/v1/index.js +5 -0
  865. package/dist/m0saic/wireframe/base/v1/wireframe.d.ts +68 -0
  866. package/dist/m0saic/wireframe/base/v1/wireframe.js +372 -0
  867. package/dist/m0saic/wireframe/base/v2/index.d.ts +2 -0
  868. package/dist/m0saic/wireframe/base/v2/index.js +9 -0
  869. package/dist/m0saic/wireframe/base/v2/wireframe.d.ts +166 -0
  870. package/dist/m0saic/wireframe/base/v2/wireframe.js +1181 -0
  871. package/dist/m0saic/wireframe/index.d.ts +4 -0
  872. package/dist/m0saic/wireframe/index.js +16 -0
  873. package/dist/m0saic/wireframe/utils/paperGrid.d.ts +53 -0
  874. package/dist/m0saic/wireframe/utils/paperGrid.js +91 -0
  875. package/dist/m0saic/wireframe/utils/wireframeCell.d.ts +35 -0
  876. package/dist/m0saic/wireframe/utils/wireframeCell.js +278 -0
  877. package/dist/registry.d.ts +4 -0
  878. package/dist/registry.js +7 -0
  879. package/dist/repo.d.ts +11 -0
  880. package/dist/repo.js +39 -0
  881. package/dist/template-registry.d.ts +18 -0
  882. package/dist/template-registry.js +888 -0
  883. package/dist/web.d.ts +35 -0
  884. package/dist/web.js +88 -0
  885. package/dist/webTemplateIds.d.ts +6 -0
  886. package/dist/webTemplateIds.js +80 -0
  887. package/package.json +52 -0
  888. package/template-manifest.json +1635 -0
  889. package/web-template-ids.json +84 -0
@@ -0,0 +1,10 @@
1
+ /**
2
+ * ============================================================================
3
+ * @m0saic/charts/stat-card — Entry Point
4
+ * ============================================================================
5
+ *
6
+ * Single import entry for the stat-card template family. Importing this file
7
+ * triggers side-effect registration via registerTemplate().
8
+ * ============================================================================
9
+ */
10
+ export { StatCard } from "./stat-card";
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * ============================================================================
4
+ * @m0saic/charts/stat-card — Entry Point
5
+ * ============================================================================
6
+ *
7
+ * Single import entry for the stat-card template family. Importing this file
8
+ * triggers side-effect registration via registerTemplate().
9
+ * ============================================================================
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.StatCard = void 0;
13
+ // Public template (also registers via side-effect import).
14
+ var stat_card_1 = require("./stat-card");
15
+ Object.defineProperty(exports, "StatCard", { enumerable: true, get: function () { return stat_card_1.StatCard; } });
@@ -0,0 +1,78 @@
1
+ /**
2
+ * ============================================================================
3
+ * @m0saic/charts/stat-card/v1 — Canonical KPI Stat Card (data-viz primitive)
4
+ * ============================================================================
5
+ *
6
+ * A single executive-summary KPI tile: category label, a dominant value, an
7
+ * optional delta (arrow + signed change, green-up / red-down), and an optional
8
+ * sublabel ("vs last week"). The building block of the GitHub repo-tracker
9
+ * hero dashboard; appears 4x in the FFmpeg analytics mock.
10
+ *
11
+ * GEOMETRY (agreed in the sandbox session 2026-06-11-stat-card-kpi, candidate-002):
12
+ *
13
+ * row split (label / content / sublabel — the floating-bands model):
14
+ * ├── label-band ~12% category label, thin "floating" band on top
15
+ * ├── content-band ~76% value + delta combined into ONE rect,
16
+ * │ split by emphasis (value 3 : delta 1)
17
+ * └── sublabel-band ~12% sublabel, thin "floating" band on bottom
18
+ *
19
+ * The delta + sublabel bands are always allocated (even when empty) so the
20
+ * VALUE stays vertically aligned across a row of cards — incl. the no-delta
21
+ * case (e.g. "86% Activity Rate"), which simply renders blank delta/sublabel.
22
+ *
23
+ * The card surface (rounded dark tile) is the root `1`; the banded content is
24
+ * an overlay on top. When composed into the dashboard under a dedicated
25
+ * card-chrome primitive, pass backgroundColor: "none" to render transparent.
26
+ *
27
+ * ANIMATION — the card animates on intro: the value counts up (per-frame
28
+ * drawtext `expr`), and the content cascade-reveals in eye order (label →
29
+ * delta → sublabel) via a subtle slide-up. The reveal is built on the shared
30
+ * F2 motion kit (`entrance({kind:"slide-up"})` — a scalar `yExpr` + native
31
+ * `enable` gate, ~free per frame); it replaced an animated `overlay.alpha`
32
+ * ramp that cost ~70% of the render (R4 — per-frame geq). See `slideIn`.
33
+ * `anim.reduceMotion` / `anim.slideIn:false` disable it. (F4 U-C4, 2026-07-07.)
34
+ * ============================================================================
35
+ */
36
+ import type { MosaicColor, MosaicTemplate } from "@m0saic/types";
37
+ import { type EaseName, type ThemeSourceConfig } from "@m0saic/template-utils";
38
+ type StatCardDirection = "up" | "down" | "flat";
39
+ type StatCardAnim = {
40
+ /** Count the value up from 0 to its final number on intro. Default true. */
41
+ countUp?: boolean;
42
+ /** Fraction of the OUTPUT duration the intro fills (the rest holds). Default
43
+ * 0.7 — so a longer render automatically gets a longer intro. */
44
+ introFrac?: number;
45
+ /** Absolute intro duration (ms). Overrides introFrac when set. */
46
+ introMs?: number;
47
+ /** Easing for the count-up. Default "easeOut". */
48
+ easing?: EaseName;
49
+ /**
50
+ * Cascade-reveal the content in (label → delta → sublabel), in eye order, via
51
+ * a subtle slide-up (see the `slideIn` helper). Default true. Was an animated
52
+ * alpha fade until F4 U-C4 (2026-07-07) — swapped to a slide-up to drop the R4
53
+ * per-frame-geq cost (~70% of render) at an equally premium read.
54
+ */
55
+ slideIn?: boolean;
56
+ /** Disable all motion — render the final static value. Default false. */
57
+ reduceMotion?: boolean;
58
+ };
59
+ type StatCardProps = {
60
+ label: string;
61
+ value: string;
62
+ delta?: string;
63
+ direction?: StatCardDirection;
64
+ sublabel?: string;
65
+ backgroundColor?: MosaicColor;
66
+ /**
67
+ * Opt into a theme SOURCE. Omit → the card reads the default "theme" namespace
68
+ * off ctx and falls back to its own palette (auto-themes as a child, byte-
69
+ * identical standalone). Provide a `slug` to self-seed from a producer template
70
+ * when nothing is upstream (the head case) — swap the slug to swap the theme,
71
+ * no code change. See `resolveThemeTokens`.
72
+ */
73
+ theme?: ThemeSourceConfig;
74
+ anim?: StatCardAnim;
75
+ debugLayout?: boolean;
76
+ };
77
+ export declare const StatCard: MosaicTemplate<StatCardProps>;
78
+ export {};
@@ -0,0 +1,475 @@
1
+ "use strict";
2
+ /**
3
+ * ============================================================================
4
+ * @m0saic/charts/stat-card/v1 — Canonical KPI Stat Card (data-viz primitive)
5
+ * ============================================================================
6
+ *
7
+ * A single executive-summary KPI tile: category label, a dominant value, an
8
+ * optional delta (arrow + signed change, green-up / red-down), and an optional
9
+ * sublabel ("vs last week"). The building block of the GitHub repo-tracker
10
+ * hero dashboard; appears 4x in the FFmpeg analytics mock.
11
+ *
12
+ * GEOMETRY (agreed in the sandbox session 2026-06-11-stat-card-kpi, candidate-002):
13
+ *
14
+ * row split (label / content / sublabel — the floating-bands model):
15
+ * ├── label-band ~12% category label, thin "floating" band on top
16
+ * ├── content-band ~76% value + delta combined into ONE rect,
17
+ * │ split by emphasis (value 3 : delta 1)
18
+ * └── sublabel-band ~12% sublabel, thin "floating" band on bottom
19
+ *
20
+ * The delta + sublabel bands are always allocated (even when empty) so the
21
+ * VALUE stays vertically aligned across a row of cards — incl. the no-delta
22
+ * case (e.g. "86% Activity Rate"), which simply renders blank delta/sublabel.
23
+ *
24
+ * The card surface (rounded dark tile) is the root `1`; the banded content is
25
+ * an overlay on top. When composed into the dashboard under a dedicated
26
+ * card-chrome primitive, pass backgroundColor: "none" to render transparent.
27
+ *
28
+ * ANIMATION — the card animates on intro: the value counts up (per-frame
29
+ * drawtext `expr`), and the content cascade-reveals in eye order (label →
30
+ * delta → sublabel) via a subtle slide-up. The reveal is built on the shared
31
+ * F2 motion kit (`entrance({kind:"slide-up"})` — a scalar `yExpr` + native
32
+ * `enable` gate, ~free per frame); it replaced an animated `overlay.alpha`
33
+ * ramp that cost ~70% of the render (R4 — per-frame geq). See `slideIn`.
34
+ * `anim.reduceMotion` / `anim.slideIn:false` disable it. (F4 U-C4, 2026-07-07.)
35
+ * ============================================================================
36
+ */
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.StatCard = void 0;
39
+ const types_1 = require("@m0saic/types");
40
+ const dsl_stdlib_1 = require("@m0saic/dsl-stdlib");
41
+ const template_utils_1 = require("@m0saic/template-utils");
42
+ const onboarding_cover_1 = require("../../../_shared/onboarding-cover");
43
+ const propsSchema = (0, template_utils_1.definePropsSchema)({
44
+ label: {
45
+ type: "string",
46
+ required: true,
47
+ description: "Category label (e.g. \"Total Commits\").",
48
+ meta: { control: { placeholder: "e.g. Total Commits" }, ui: { label: "Label", order: 1 } },
49
+ },
50
+ value: {
51
+ type: "string",
52
+ required: true,
53
+ description: "The headline KPI value, pre-formatted (e.g. \"246\", \"86%\").",
54
+ meta: { control: { placeholder: "e.g. 246" }, ui: { label: "Value", order: 2 } },
55
+ },
56
+ delta: {
57
+ type: "string",
58
+ required: false,
59
+ description: "Change vs the comparison window, pre-formatted (e.g. \"+18 (+7.9%)\"). Omit for no-delta cards.",
60
+ meta: { control: { placeholder: "e.g. +18 (+7.9%)" }, ui: { label: "Delta", order: 3 } },
61
+ },
62
+ direction: {
63
+ type: "string",
64
+ required: false,
65
+ description: "Delta direction — drives the arrow glyph and color (green up / red down).",
66
+ meta: { constraints: { oneOf: ["up", "down", "flat"] }, ui: { label: "Direction", order: 4 } },
67
+ },
68
+ sublabel: {
69
+ type: "string",
70
+ required: false,
71
+ description: "Small muted caption under the delta (e.g. \"vs last week\").",
72
+ meta: { control: { placeholder: "e.g. vs last week" }, ui: { label: "Sublabel", order: 5 } },
73
+ },
74
+ backgroundColor: {
75
+ type: "string",
76
+ required: false,
77
+ description: "Card surface color. Pass \"none\" to render transparent when composed under a card-chrome primitive.",
78
+ meta: { constraints: { isColor: true }, control: { placeholder: "theme surface", colorPicker: true }, ui: { label: "Card Color", order: 6 } },
79
+ },
80
+ debugLayout: { type: "boolean", required: false, description: "Dev-only: draw the layout contract (label / value / delta / sublabel fit their cells) instead of the card.", meta: { ui: { label: "Debug layout", order: 9 } } },
81
+ theme: {
82
+ type: "group",
83
+ required: false,
84
+ description: "Opt into a theme source. Reads the card's own palette by default; set a producer slug + namespace to pull shared design tokens (self-seeds when nothing is upstream).",
85
+ meta: { ui: { label: "Theme", order: 7, collapsedByDefault: true } },
86
+ fields: {
87
+ slug: { type: "string", required: false, description: "Producer template to seed tokens from when the namespace isn't already on ctx (e.g. \"@m0saic/theming/v1\").", meta: { control: { placeholder: "preset palette (no producer)" }, ui: { label: "Producer slug" } } },
88
+ preset: { type: "string", required: false, description: "Producer preset/variant to request (e.g. light | dark | high-contrast for @m0saic/theming/v1; producer-defined).", meta: { control: { placeholder: "producer default" }, ui: { label: "Preset" } } },
89
+ namespace: { type: "string", required: false, description: "Upstream alias to read tokens from. Default \"theme\".", meta: { control: { placeholder: "theme" }, ui: { label: "Namespace" } } },
90
+ forceFetch: { type: "boolean", required: false, description: "Re-seed via the slug even if the namespace is already populated (collision escape hatch).", meta: { ui: { label: "Force fetch" } } },
91
+ },
92
+ },
93
+ anim: {
94
+ type: "group",
95
+ required: false,
96
+ description: "Intro animation: count-up, cascade reveal, easing, duration, reduceMotion.",
97
+ meta: { ui: { label: "Animation", order: 8, collapsedByDefault: true } },
98
+ fields: {
99
+ countUp: { type: "boolean", required: false, description: "Count the value up on intro.", meta: { ui: { label: "Count up" } } },
100
+ slideIn: { type: "boolean", required: false, description: "Cascade-reveal the content in (label → delta → sublabel) with a subtle slide-up.", meta: { ui: { label: "Slide in" } } },
101
+ 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)" } } },
102
+ 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)" } } },
103
+ easing: { type: "string", required: false, description: "Count-up easing.", meta: { constraints: { oneOf: ["easeOut", "smoothstep", "easeInOut", "linear"] }, ui: { label: "Easing" } } },
104
+ reduceMotion: { type: "boolean", required: false, description: "Disable all motion — render the static final value.", meta: { ui: { label: "Reduce motion" } } },
105
+ },
106
+ },
107
+ });
108
+ // ---------------------------------------------------------------------------
109
+ // Theme (dark — GitHub-palette aligned, fitting the repo-tracker hero)
110
+ // ---------------------------------------------------------------------------
111
+ //
112
+ // The card's constants declared as a full MosaicThemeTokens fallback — the
113
+ // FIRST `applyTheme` consumer in the codebase (F4 U-C4). `applyTheme(LOCAL_THEME,
114
+ // ctx)` overlays a producer's published tokens per-key; un-themed (no producer
115
+ // ahead of it) it returns LOCAL_THEME unchanged → the standalone render is
116
+ // byte-identical to before theming. The six keys this card actually READS carry
117
+ // their previous hexes verbatim (that's what guarantees byte-identity); the
118
+ // other 15 keys are defensible GitHub-dark locals present only to satisfy the
119
+ // token shape — stat-card never reads them (marked ✗ below). We deliberately do
120
+ // NOT import the producer's `resolveTheme` — coupling the fallback to the
121
+ // producer's dark preset would risk a drift that breaks byte-identity.
122
+ const LOCAL_THEME = {
123
+ // ── Surfaces ──
124
+ surfaceApp: "#0d1117", // ✗ not read (GitHub canvas)
125
+ surface: "#161b22", // ✓ card tile IS the surface (was CARD_BG)
126
+ surfaceRaised: "#1c2128", // ✗
127
+ surfaceInset: "#010409", // ✗
128
+ border: "#30363d", // ✗
129
+ borderStrong: "#484f58", // ✗
130
+ // ── Text ──
131
+ textPrimary: "#e6edf3", // ✓ the dominant value (was VALUE_COLOR)
132
+ textSecondary: "#8b949e", // ✓ label + flat-delta (was LABEL_COLOR / DELTA_FLAT)
133
+ textMuted: "#6e7681", // ✓ sublabel (was SUBLABEL_COLOR)
134
+ eyebrow: "#8b949e", // ✗
135
+ // ── Accent ──
136
+ accent: "#2f81f7", // ✗
137
+ accentSoft: "#388bfd", // ✗
138
+ accentGlow: "#1f6feb", // ✗
139
+ // ── Status ──
140
+ positive: "#3fb950", // ✓ up-delta arrow + text (was DELTA_UP)
141
+ negative: "#f85149", // ✓ down-delta arrow + text (was DELTA_DOWN)
142
+ // ── Chart chrome (✗ — stat-card has no grid/axis) ──
143
+ grid: "#30363d",
144
+ gridAlpha: 1,
145
+ axis: "#484f58",
146
+ axisAlpha: 1,
147
+ // ── Shape ── (✗ — the card is a flat rect; no rounding, no scope creep)
148
+ radius: 0,
149
+ // ── Data marks ── (✗ — stat-card renders no categorical series)
150
+ dataPalette: ["#3fb950", "#f85149", "#2f81f7", "#d29922", "#a371f7", "#db61a2"],
151
+ };
152
+ // Band geometry (sandbox candidate-002).
153
+ const OUTER_WEIGHTS = [12, 76, 12]; // label / content / sublabel
154
+ const CONTENT_WEIGHTS = [3, 1]; // value / delta (emphasis split)
155
+ // Font sizes as a fraction of card height; fit:"contain" caps each to its band.
156
+ const LABEL_FONT_FRAC = 0.11;
157
+ const VALUE_FONT_FRAC = 0.46;
158
+ const DELTA_FONT_FRAC = 0.13;
159
+ const SUBLABEL_FONT_FRAC = 0.08;
160
+ // Consistent left inset so every line shares one left edge (the mock is
161
+ // strongly left-aligned).
162
+ const LEFT_PAD = 0.06;
163
+ // ---------------------------------------------------------------------------
164
+ // Helpers
165
+ // ---------------------------------------------------------------------------
166
+ function leftText(text, fontSize, color, leftPad = LEFT_PAD) {
167
+ return {
168
+ type: "text",
169
+ visual: { backgroundColor: "black@0" },
170
+ layers: [
171
+ {
172
+ content: { kind: "literal", text: text || " " },
173
+ style: { fontSize, fontColor: color },
174
+ placement: { fit: "contain", hAlign: "left", vAlign: "middle", padding: { left: leftPad } },
175
+ },
176
+ ],
177
+ };
178
+ }
179
+ // Animated value: an expr text layer evaluated per-frame on a video-renderMode
180
+ // source — drives the count-up. FIXED fontSize (no `fit`) so the digits don't
181
+ // rescale as the number grows; left-aligned. Mirrors the screencap-grid idiom.
182
+ function exprText(expr, fontSize, color, leftPad = LEFT_PAD) {
183
+ return {
184
+ type: "text",
185
+ renderMode: { kind: "video" },
186
+ visual: { backgroundColor: "black@0" },
187
+ layers: [
188
+ {
189
+ content: { kind: "expr", expr, eval: "frame" },
190
+ style: { fontSize, fontColor: color },
191
+ placement: { hAlign: "left", vAlign: "middle", padding: { left: leftPad } },
192
+ },
193
+ ],
194
+ };
195
+ }
196
+ // Premium content reveal: each element slides up into place over its cue window
197
+ // via the shared F2 motion kit. `entrance({kind:"slide-up"})` emits a `yExpr`
198
+ // offset + a native `enable` gate — the overlay fast path, scalar per frame
199
+ // (~free). This replaced an animated `overlay.alpha` ramp (R4: a per-frame geq
200
+ // fold, ~5.7s / 70% of render on this 5-source card) with an identical premium
201
+ // read at ~⅓ the render cost (F4 U-C4, founder-approved 2026-07-07). Linear
202
+ // ease — the look signed off in the reveal-comparison. reduceMotion / slideIn:false
203
+ // → returned untouched (no motion). Only one motion (entrance, no exit), so we
204
+ // spread it directly; `composeMotion` is for combining an entrance AND an exit.
205
+ function slideIn(src, startSec, durSec, on) {
206
+ var _a;
207
+ if (!on)
208
+ return src;
209
+ const prev = (_a = src.overlay) !== null && _a !== void 0 ? _a : {};
210
+ return {
211
+ ...src,
212
+ overlay: { ...prev, ...(0, template_utils_1.entrance)({ kind: "slide-up", atSec: startSec, durationMs: Math.round(durSec * 1000) }) },
213
+ };
214
+ }
215
+ // Drawn arrow indicator. ffmpeg drawtext drops ▲/▼ glyphs as tofu, and a
216
+ // text-masked rect distorts — so draw it the right way: a COLOR source
217
+ // (makeColorTile, lavfi — ffmpeg composes) masked by an SVG triangle (SVG
218
+ // draws). The mask `bounds` match the cell's px aspect, so the engine's scale
219
+ // is uniform (scaleX===scaleY) → crisp + undistorted at any resolution. The
220
+ // path is a TRUE equilateral authored in the cell's own coordinate space.
221
+ // (Future: a `triangleMask` helper in dsl-stdlib/mask-shapes.)
222
+ function triangleSource(dir, color, cellW, cellH) {
223
+ const S = Math.min(cellW, cellH) * 0.74; // equilateral side
224
+ const cx = cellW / 2;
225
+ const cy = cellH / 2;
226
+ const half = S / 2;
227
+ const ht = S * 0.866; // equilateral height = side·√3/2
228
+ const top = cy - ht / 2;
229
+ const bot = cy + ht / 2;
230
+ const n = (x) => Math.round(x * 10) / 10;
231
+ const localPath = dir === "up"
232
+ ? `M ${n(cx)} ${n(top)} L ${n(cx + half)} ${n(bot)} L ${n(cx - half)} ${n(bot)} Z`
233
+ : `M ${n(cx - half)} ${n(top)} L ${n(cx + half)} ${n(top)} L ${n(cx)} ${n(bot)} Z`;
234
+ return (0, template_utils_1.makeColorTile)(color, {
235
+ mask: { kind: "inline-mask", localPath, bounds: { x: 0, y: 0, width: cellW, height: cellH } },
236
+ });
237
+ }
238
+ // up → positive, down → negative, flat → textSecondary (the muted label color,
239
+ // as DELTA_FLAT was === LABEL_COLOR). Reads the resolved theme so a producer can
240
+ // re-skin the delta colors.
241
+ function deltaColor(direction, theme) {
242
+ return direction === "up" ? theme.positive : direction === "down" ? theme.negative : theme.textSecondary;
243
+ }
244
+ // ---------------------------------------------------------------------------
245
+ // Template
246
+ // ---------------------------------------------------------------------------
247
+ exports.StatCard = {
248
+ id: (0, types_1.asTemplateId)("@m0saic/charts/stat-card/v1"),
249
+ label: "KPI Stat Card",
250
+ version: 1,
251
+ description: "Canonical KPI stat card: label, dominant value, delta (arrow + signed change), and sublabel. Building block of the repo-tracker hero.",
252
+ capabilities: { tier: "core" },
253
+ primitive: true, // foundational data-viz building block (composed by the repo-tracker hero)
254
+ tags: ["data-viz", "stat-card", "kpi", "animated", "analysts", "marketers", "metric"],
255
+ aspectRatio: { ideal: 2.6, min: 1.6, max: 4.0, mode: "warn" },
256
+ outputHints: { format: { kind: "video", container: "mp4" }, width: 768, height: 288, fps: 30, durationMs: 1500, note: "Single KPI tile (8:3)" }, // 768×288 not 760×290: 5-smooth axes (latticeSmooth)
257
+ propsSchema,
258
+ defaultProps: {
259
+ debugLayout: false,
260
+ theme: { forceFetch: false },
261
+ label: "Total Commits",
262
+ value: "246",
263
+ delta: "+18 (+7.9%)",
264
+ direction: "up",
265
+ sublabel: "vs last week",
266
+ // backgroundColor intentionally UNSET — it resolves to theme.surface (the
267
+ // producer's surface when themed, else LOCAL_THEME.surface === "#161b22", so
268
+ // the un-themed render is byte-identical). An explicit "none" still wins to
269
+ // render transparent when composed under a card-chrome primitive.
270
+ anim: { countUp: true, introFrac: 0.7, easing: "easeOut", slideIn: true, reduceMotion: false },
271
+ },
272
+ async render(props, ctx) {
273
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
274
+ // Theme: resolve tokens for this card — read the configured namespace off
275
+ // ctx (auto-themes as a child, default namespace "theme") and, when a
276
+ // producer `slug` is configured but nothing is upstream (the head case),
277
+ // self-seed by invoking that producer. Un-configured + un-themed → returns
278
+ // LOCAL_THEME unchanged → byte-identical standalone render. Swap the theme by
279
+ // swapping props.theme.slug — no code change here.
280
+ const theme = await (0, template_utils_1.resolveThemeTokens)(LOCAL_THEME, ctx, props.theme);
281
+ // Size off the template's OWN canvas (ctx.target — the slot when nested),
282
+ // not ctx.output (the top-level render envelope). Using ctx.output made a
283
+ // nested stat-card size its fonts to the parent canvas and overflow its
284
+ // cell; at top level ctx.target === ctx.output so this is a no-op there.
285
+ const H = ctx.target.height;
286
+ const W = ctx.target.width;
287
+ // Width-cap every font to its cell at the CLI's glyph metrics (the alpine
288
+ // stat-card idiom): H-scaled fonts clip long text — the VALUE is a FIXED
289
+ // fontSize expr layer (no fit), and fit:contain on the rest shrinks in-app
290
+ // but CLIPS in the CLI. Script-aware (textEmUnits); floor-bound text
291
+ // ellipsizes (fitEmUnits) — truncated text must FIT.
292
+ const innerW = W * (1 - LEFT_PAD - 0.02);
293
+ const capFont = (frac, text, cellW, minPx, em) => Math.max(minPx, Math.min(Math.round(H * frac), Math.floor(cellW / Math.max(1, (0, template_utils_1.textEmUnits)(text || " ") * em))));
294
+ const fitTo = (text, cellW, font, em) => (0, template_utils_1.fitEmUnits)(text, Math.max(2, cellW / (font * em)));
295
+ const labelFont = capFont(LABEL_FONT_FRAC, props.label, innerW, 10, 0.7);
296
+ const labelText = fitTo(props.label, innerW, labelFont, 0.7);
297
+ const valueFont = capFont(VALUE_FONT_FRAC, props.value, innerW, 16, 0.66);
298
+ const valueText = fitTo(props.value, innerW, valueFont, 0.66);
299
+ const sublabelFont = capFont(SUBLABEL_FONT_FRAC, (_a = props.sublabel) !== null && _a !== void 0 ? _a : "", innerW, 9, 0.7);
300
+ const sublabelText = fitTo((_b = props.sublabel) !== null && _b !== void 0 ? _b : "", innerW, sublabelFont, 0.7);
301
+ // ── Intro animation timing (eye order: number counts, then delta, then sublabel) ──
302
+ const anim = (_c = props.anim) !== null && _c !== void 0 ? _c : {};
303
+ const reduceMotion = (_d = anim.reduceMotion) !== null && _d !== void 0 ? _d : false;
304
+ // Intro length derives from the OUTPUT duration (the §10 time source): it
305
+ // fills `introFrac` of it, leaving a hold — so rendering longer lengthens the
306
+ // animation. An explicit `introMs` overrides for absolute control.
307
+ const totalSec = ctx.target.durationMs / 1000;
308
+ const introSec = anim.introMs != null ? anim.introMs / 1000 : totalSec * ((_e = anim.introFrac) !== null && _e !== void 0 ? _e : 0.7);
309
+ const doSlideIn = ((_f = anim.slideIn) !== null && _f !== void 0 ? _f : true) && !reduceMotion;
310
+ // debugLayout forces the literal (non-expr) paths: geometry is identical
311
+ // (fonts derive from the text either way) and with no expr sources the
312
+ // frames-to-sources zip is safe, so the contract checks EVERY text group.
313
+ const animateValue = ((_g = anim.countUp) !== null && _g !== void 0 ? _g : true) && !reduceMotion && /\d/.test(props.value) && props.debugLayout !== true;
314
+ // Short numeric "flare" on the delta numbers (+18, 7.9) — ticks while the
315
+ // delta slides in. Independent of the value being a clean integer.
316
+ const doFlare = ((_h = anim.countUp) !== null && _h !== void 0 ? _h : true) && !reduceMotion && props.debugLayout !== true;
317
+ // Cascade reveal windows [startSec, durSec], all relative to the intro so the
318
+ // whole reveal scales with the output duration: delta reveals once the count
319
+ // is well underway; sublabel last — a clean top-to-bottom read.
320
+ const deltaFade = [introSec * 0.55, introSec * 0.35];
321
+ const sublabelFade = [introSec * 0.85, introSec * 0.15];
322
+ const direction = (_j = props.direction) !== null && _j !== void 0 ? _j : "flat";
323
+ const hasDelta = !!(props.delta && props.delta.trim() !== "");
324
+ const hasArrow = hasDelta && (direction === "up" || direction === "down");
325
+ const dColor = deltaColor(direction, theme);
326
+ // delta text: count its numbers up ("flare") while it slides in; else static.
327
+ const makeDeltaText = (text, font, pad) => {
328
+ var _a;
329
+ return doFlare && /\d/.test(text)
330
+ ? exprText((0, template_utils_1.animateNumbersInText)(text, {
331
+ startSec: deltaFade[0],
332
+ durationSec: deltaFade[1],
333
+ ease: (_a = anim.easing) !== null && _a !== void 0 ? _a : "easeOut",
334
+ }), font, dColor, pad)
335
+ : leftText(text, font, dColor, pad);
336
+ };
337
+ // delta band: [left-null | SQUARE arrow | text] when an arrow applies, else
338
+ // a single text cell. The arrow tile is square (= the delta band height) so
339
+ // the triangle mask is undistorted; a leading null aligns it to the value's
340
+ // left edge, and the text fills the rest. (The band is always kept, even
341
+ // empty, so the value stays aligned across a row of cards.)
342
+ const deltaSources = [];
343
+ let deltaBand;
344
+ if (hasArrow) {
345
+ const outerSum = OUTER_WEIGHTS[0] + OUTER_WEIGHTS[1] + OUTER_WEIGHTS[2];
346
+ const contentSum = CONTENT_WEIGHTS[0] + CONTENT_WEIGHTS[1];
347
+ const deltaBandFrac = (OUTER_WEIGHTS[1] / outerSum) * (CONTENT_WEIGHTS[1] / contentSum);
348
+ // ~square arrow cell = the delta band height. Weights are percent-of-width
349
+ // (sum 100) so the literal split stays ~100 cells — well under the engine's
350
+ // ~200-cell split-rounding limit. The triangle itself is a true equilateral
351
+ // authored in the cell's px space, so exact squareness isn't required.
352
+ const cellH = deltaBandFrac * H; // arrow cell height px
353
+ // TWO-PASS ARROW (the alpine stat-card fix, gate 10): a band-height
354
+ // square arrow dwarfs the text at extreme portrait aspects — cap the
355
+ // arrow cell width to ~1.5× the delta font and re-derive. At the ideal
356
+ // ~2.6:1 aspect the cap doesn't bind (byte-identical).
357
+ const squareW0 = Math.max(1, Math.round((cellH / W) * 100));
358
+ const leftW = Math.max(1, Math.round(LEFT_PAD * 100)); // align to value edge
359
+ const dTextCellW0 = ((100 - leftW - squareW0) / 100) * W * 0.94;
360
+ const deltaFont0 = capFont(DELTA_FONT_FRAC, props.delta, dTextCellW0, 10, 0.7);
361
+ const arrowSide = Math.min(cellH, deltaFont0 * 1.5);
362
+ const squareW = Math.max(1, Math.round((arrowSide / W) * 100)); // cell width as %W
363
+ const textW = Math.max(1, 100 - leftW - squareW);
364
+ const cellW = (squareW / 100) * W; // arrow cell width px
365
+ const dTextCellW = (textW / 100) * W * 0.94;
366
+ const deltaFont = capFont(DELTA_FONT_FRAC, props.delta, dTextCellW, 10, 0.7);
367
+ const deltaText = fitTo(props.delta, dTextCellW, deltaFont, 0.7);
368
+ deltaBand = (0, dsl_stdlib_1.weightedSplit)([leftW, squareW, textW], "col", { claimants: ["-", "1", "1"] });
369
+ deltaSources.push(slideIn(triangleSource(direction, dColor, cellW, cellH), deltaFade[0], deltaFade[1], doSlideIn));
370
+ deltaSources.push(slideIn((0, template_utils_1.bindProp)((0, template_utils_1.tag)(makeDeltaText(deltaText, deltaFont, 0.04), "kpi-delta"), "delta"), deltaFade[0], deltaFade[1], doSlideIn));
371
+ }
372
+ else {
373
+ deltaBand = "1";
374
+ const deltaFont = capFont(DELTA_FONT_FRAC, hasDelta ? props.delta : " ", innerW, 10, 0.7);
375
+ const deltaText = fitTo(hasDelta ? props.delta : "", innerW, deltaFont, 0.7);
376
+ const dSrc = makeDeltaText(deltaText, deltaFont, LEFT_PAD);
377
+ // Bound even when empty: the delta band is always allocated, so the rect
378
+ // stays a double-click handle to ADD a delta (the tag stays conditional —
379
+ // it is the layout-contract join, meaningless on " ").
380
+ deltaSources.push(slideIn((0, template_utils_1.bindProp)(hasDelta ? (0, template_utils_1.tag)(dSrc, "kpi-delta") : dSrc, "delta"), deltaFade[0], deltaFade[1], doSlideIn));
381
+ }
382
+ // content = value (top, dominant) + delta band (bottom).
383
+ const contentM0 = (0, dsl_stdlib_1.weightedSplit)(CONTENT_WEIGHTS, "row", { claimants: ["1", deltaBand] });
384
+ const outerM0 = (0, dsl_stdlib_1.weightedSplit)(OUTER_WEIGHTS, "row", { claimants: ["1", contentM0, "1"] });
385
+ // The card surface is ALSO painted as a real base tile: the resolver child
386
+ // path (.mosaicx template_invocation) drops the child doc's backgroundColor
387
+ // (candidate 2026-08-06-template-invocation-bg-drop), so the doc-background
388
+ // card rendered BLACK through the CLI/jobs path. "none" keeps the flat
389
+ // single-layer doc (transparent for card-chrome composition).
390
+ const bgRaw = ((_k = props.backgroundColor) !== null && _k !== void 0 ? _k : "").trim();
391
+ const surface = bgRaw.toLowerCase() === "none" ? undefined : (bgRaw || theme.surface);
392
+ const m0 = (0, dsl_stdlib_1.toM0String)(surface ? `1{${outerM0}}` : outerM0, "StatCard");
393
+ // Value: count-up (the number's own reveal). Uses animateNumbersInText so
394
+ // suffixed values like "86%" animate too (the literal "%" is escaped).
395
+ // reduceMotion → static.
396
+ const valueSource = animateValue
397
+ ? exprText((0, template_utils_1.animateNumbersInText)(valueText, {
398
+ durationSec: introSec,
399
+ ease: (_l = anim.easing) !== null && _l !== void 0 ? _l : "easeOut",
400
+ }), valueFont, theme.textPrimary)
401
+ : leftText(valueText, valueFont, theme.textPrimary);
402
+ // Sublabel: tagged only when present (layout-contract join), but ALWAYS
403
+ // bound so an empty sublabel rect is a double-click handle to add one.
404
+ const sublabelSrc = leftText(sublabelText, sublabelFont, theme.textMuted);
405
+ if (((_m = props.sublabel) !== null && _m !== void 0 ? _m : "").trim())
406
+ (0, template_utils_1.tag)(sublabelSrc, "kpi-sublabel");
407
+ (0, template_utils_1.bindProp)(sublabelSrc, "sublabel");
408
+ // Sources in m0 frame order: (surface) / label / value / delta / sublabel.
409
+ // Cascade-slide the static elements in; the value reveals via its count-up.
410
+ // Each text rect is bound to the prop it displays (Make's inline edit).
411
+ const sources = [
412
+ // The surface tile's FILL is `backgroundColor` (kind color via the
413
+ // schema's isColor → Make opens a picker). Bound on the theme fallback
414
+ // too — the handle to ADD an explicit color. "none" → no tile → no binding.
415
+ ...(surface ? [(0, template_utils_1.bindProp)((0, template_utils_1.makeColorTile)(surface), "backgroundColor")] : []),
416
+ slideIn((0, template_utils_1.bindProp)((0, template_utils_1.tag)(leftText(labelText, labelFont, theme.textSecondary), "kpi-label"), "label"), 0, 0.25, doSlideIn),
417
+ (0, template_utils_1.bindProp)((0, template_utils_1.tag)(valueSource, "kpi-value"), "value"),
418
+ ...deltaSources,
419
+ slideIn(sublabelSrc, sublabelFade[0], sublabelFade[1], doSlideIn),
420
+ ];
421
+ const doc = {
422
+ kind: "mosaic_document",
423
+ version: 1,
424
+ assets: {},
425
+ m0,
426
+ sources,
427
+ backgroundColor: (_o = props.backgroundColor) !== null && _o !== void 0 ? _o : theme.surface,
428
+ fps: ctx.target.fps,
429
+ durationMs: ctx.target.durationMs,
430
+ };
431
+ // Dev tripwire: every text group fits its cell at the CLI's glyph metrics.
432
+ // debugLayout forces the literal paths above, so coverage is unconditional.
433
+ return (0, template_utils_1.withLayoutContract)(doc, ctx, {
434
+ templateId: "@m0saic/charts/stat-card/v1",
435
+ relations: [],
436
+ constraints: [
437
+ { label: "kpi-label", textFits: { charWidthEm: 0.7 } },
438
+ { label: "kpi-value", textFits: { charWidthEm: 0.66 } },
439
+ ...(hasDelta ? [{ label: "kpi-delta", textFits: { charWidthEm: 0.7 } }] : []),
440
+ ...(((_p = props.sublabel) !== null && _p !== void 0 ? _p : "").trim() ? [{ label: "kpi-sublabel", textFits: { charWidthEm: 0.7 } }] : []),
441
+ ],
442
+ debug: props.debugLayout === true,
443
+ });
444
+ },
445
+ // Editor-only first-open cover — the mosaic-branding theme; hero = the
446
+ // static default card INLINED flat. The kit's tiny-canvas band fallback
447
+ // carries this template's OWN gate-17 lesson (px-clamped band at the 290px
448
+ // native hint canvas — a %-pane would cull the whole doc).
449
+ async renderCover(_props, ctx) {
450
+ var _a;
451
+ const heroBox = (0, onboarding_cover_1.brandedCoverHeroBox)(ctx, "band");
452
+ const heroCtx = {
453
+ ...ctx,
454
+ target: { ...ctx.target, width: heroBox.width, height: heroBox.height },
455
+ output: { ...ctx.output, width: heroBox.width, height: heroBox.height },
456
+ };
457
+ const card = (await exports.StatCard.render({
458
+ ...exports.StatCard.defaultProps,
459
+ anim: { ...((_a = exports.StatCard.defaultProps.anim) !== null && _a !== void 0 ? _a : {}), reduceMotion: true },
460
+ }, heroCtx));
461
+ return (0, onboarding_cover_1.buildBrandedCover)({
462
+ ctx,
463
+ // Band variant (founder ruling 08-30): basic viz needs no
464
+ // explanation — hero full-bleed + brand band, nothing else.
465
+ variant: "band",
466
+ copy: {
467
+ productName: "KPI Stat Card",
468
+ title: "A KPI card.",
469
+ },
470
+ hero: (theme) => (0, onboarding_cover_1.onboardingFrame)((0, onboarding_cover_1.inlineHeroDoc)(card), theme.borderStrong),
471
+ heroAssets: card.assets,
472
+ });
473
+ },
474
+ };
475
+ (0, template_utils_1.registerTemplate)(exports.StatCard);
@@ -0,0 +1,73 @@
1
+ /** Deterministic line LCS, motion grouping, and block-level fade coalescing. */
2
+ export type SameLineOp = {
3
+ kind: "same";
4
+ text: string;
5
+ fromLine: number;
6
+ toLine: number;
7
+ };
8
+ export type DeleteLineOp = {
9
+ kind: "del";
10
+ text: string;
11
+ fromLine: number;
12
+ toLine: null;
13
+ };
14
+ export type AddLineOp = {
15
+ kind: "add";
16
+ text: string;
17
+ fromLine: null;
18
+ toLine: number;
19
+ };
20
+ export type LineOp = SameLineOp | DeleteLineOp | AddLineOp;
21
+ export interface MotionUnitLine {
22
+ text: string;
23
+ fromLine: number | null;
24
+ toLine: number | null;
25
+ }
26
+ export interface MoveUnit {
27
+ kind: "move";
28
+ fromStartLine: number;
29
+ toStartLine: number;
30
+ /** Destination minus source, in grid lines. */
31
+ deltaLines: number;
32
+ lines: MotionUnitLine[];
33
+ }
34
+ export interface RemoveUnit {
35
+ kind: "remove";
36
+ fromStartLine: number;
37
+ lines: MotionUnitLine[];
38
+ }
39
+ export interface AddUnit {
40
+ kind: "add";
41
+ toStartLine: number;
42
+ lines: MotionUnitLine[];
43
+ }
44
+ export type MotionUnit = MoveUnit | RemoveUnit | AddUnit;
45
+ export type MotionGrouping = "block" | "line";
46
+ export interface SparseRasterUnit {
47
+ kind: "static" | "remove" | "add";
48
+ lines: MotionUnitLine[];
49
+ }
50
+ export interface CoalescedMotionPlan {
51
+ staticUnderlay?: SparseRasterUnit;
52
+ removalRaster?: SparseRasterUnit;
53
+ additionRaster?: SparseRasterUnit;
54
+ moves: MoveUnit[];
55
+ }
56
+ /**
57
+ * Classic O(N·M) exact-line LCS diff.
58
+ *
59
+ * Tie-break is load-bearing: when deleting or adding retains the same LCS
60
+ * length, emit the deletion first. Equal lines always match immediately.
61
+ *
62
+ * The table is a SUFFIX DP (lcs[i][j] = LCS of before[i..], after[j..]) with a
63
+ * forward walk, so its `lcs[i + 1][j] >= lcs[i][j + 1]` tie-break is the exact
64
+ * equivalent of the plan's prefix-table `L[i-1][j] >= L[i][j-1]` — do not
65
+ * "fix" one to match the other's index arithmetic.
66
+ */
67
+ export declare function lcsDiffLines(before: ReadonlyArray<string>, after: ReadonlyArray<string>): LineOp[];
68
+ /** Maximal contiguous same-vector moves, removals, and additions. */
69
+ export declare function groupMotionUnits(ops: ReadonlyArray<LineOp>): MotionUnit[];
70
+ /** Split blocks into one-line units without changing any line mapping. */
71
+ export declare function refineMotionUnits(units: ReadonlyArray<MotionUnit>, grouping: MotionGrouping): MotionUnit[];
72
+ /** Collapse block-level fades and static lines into three sparse raster units. */
73
+ export declare function coalesceFadeUnits(units: ReadonlyArray<MotionUnit>, grouping?: "block"): CoalescedMotionPlan;