m0saic 0.0.0 → 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 (1510) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +162 -2
  3. package/dist/browseE2e.js +1 -0
  4. package/dist/connectionsFromEnv.js +1 -0
  5. package/dist/e2eTemplateVariants.js +1 -0
  6. package/dist/frontDoor.js +1 -0
  7. package/dist/index.js +2 -0
  8. package/dist/inlineDsl.js +1 -0
  9. package/dist/mosaicxRunner.js +1 -0
  10. package/dist/outputPattern.js +1 -0
  11. package/dist/showcaseFeed.js +1 -0
  12. package/dist/templateDoctor.js +1 -0
  13. package/dist/utils/checkFeasibility.js +1 -0
  14. package/dist/utils/collectRenderErrors.js +1 -0
  15. package/dist/utils/enrichImageAlphaFromDoc.js +1 -0
  16. package/dist/utils/ensureFfmpeg.js +1 -0
  17. package/dist/utils/extractLayoutMeta.js +1 -0
  18. package/dist/utils/failureHints.js +1 -0
  19. package/dist/utils/ffmpegProbe.js +1 -0
  20. package/dist/utils/formatM0saicForCli.js +1 -0
  21. package/dist/utils/hashFile.js +1 -0
  22. package/dist/utils/helpGroups.js +1 -0
  23. package/dist/utils/invocation.js +1 -0
  24. package/dist/utils/mosaicSpinner.js +1 -0
  25. package/dist/utils/parseDimensions.js +1 -0
  26. package/dist/utils/pathInfo.js +1 -0
  27. package/dist/utils/readJsonArg.js +1 -0
  28. package/dist/utils/renderOutcome.js +1 -0
  29. package/dist/utils/renderReport.js +1 -0
  30. package/dist/utils/renderSignals.js +1 -0
  31. package/dist/utils/renderWorkspace.js +1 -0
  32. package/dist/utils/setupFfmpeg.js +1 -0
  33. package/dist/utils/telemetry.js +1 -0
  34. package/dist/utils/telemetryFlushWorker.js +1 -0
  35. package/dist/utils/telemetryUpstream.js +1 -0
  36. package/dist/utils/telemetryUsage.js +1 -0
  37. package/dist/utils/toolchainConfig.js +1 -0
  38. package/dist/utils/tutorialDuration.js +1 -0
  39. package/dist/utils/updateCheck.js +1 -0
  40. package/dist/utils/updateCheckWorker.js +1 -0
  41. package/dist/utils/validateSourceCounts.js +1 -0
  42. package/dist/utils/versions.js +1 -0
  43. package/dist/webCustomizeLink.js +1 -0
  44. package/node_modules/@m0saic/community-m/CONTRIBUTING.md +108 -0
  45. package/node_modules/@m0saic/community-m/LICENSE +28 -0
  46. package/node_modules/@m0saic/community-m/README.md +102 -0
  47. package/node_modules/@m0saic/community-m/geometry/m-33-tiles.json +270 -0
  48. package/node_modules/@m0saic/community-m/geometry/m-33.m0c +265 -0
  49. package/node_modules/@m0saic/community-m/index.json +148 -0
  50. package/node_modules/@m0saic/community-m/ms/001/community-m-001.m0p +346 -0
  51. package/node_modules/@m0saic/community-m/ms/001/m.json +12 -0
  52. package/node_modules/@m0saic/community-m/ms/001/root/assets/.gitkeep +0 -0
  53. package/node_modules/@m0saic/community-m/ms/001/root/piece.mosaic +105 -0
  54. package/node_modules/@m0saic/community-m/ms/001/root/portrait.jpg +0 -0
  55. package/node_modules/@m0saic/community-m/ms/001/root/slot.json +18 -0
  56. package/node_modules/@m0saic/community-m/ms/001/root/slot.m0c +296 -0
  57. package/node_modules/@m0saic/community-m/ms/001/root/tile.png +0 -0
  58. package/node_modules/@m0saic/community-m/ms/002/community-m-002.m0p +324 -0
  59. package/node_modules/@m0saic/community-m/ms/002/m.json +7 -0
  60. package/node_modules/@m0saic/community-m/package.json +5 -0
  61. package/node_modules/@m0saic/community-m/release.json +4 -0
  62. package/node_modules/@m0saic/community-m/tools/assemble.mjs +87 -0
  63. package/node_modules/@m0saic/community-m/tools/claim-order.mjs +42 -0
  64. package/node_modules/@m0saic/community-m/tools/lib.mjs +208 -0
  65. package/node_modules/@m0saic/community-m/tools/new-slot.mjs +123 -0
  66. package/node_modules/@m0saic/community-m/tools/validate.mjs +203 -0
  67. package/node_modules/@m0saic/core/LICENSE +7 -0
  68. package/node_modules/@m0saic/core/assets/pill_mask_1024.png +0 -0
  69. package/node_modules/@m0saic/core/assets/rounded_mask_1024.png +0 -0
  70. package/node_modules/@m0saic/core/dist/core/buildChildMosaicSource.js +1 -0
  71. package/node_modules/@m0saic/core/dist/core/buildChunkCommands.js +1 -0
  72. package/node_modules/@m0saic/core/dist/core/buildEncodeCommands.js +1 -0
  73. package/node_modules/@m0saic/core/dist/core/buildLavfiSource.js +1 -0
  74. package/node_modules/@m0saic/core/dist/core/buildMediaSource.js +1 -0
  75. package/node_modules/@m0saic/core/dist/core/buildMosaicNode.js +1 -0
  76. package/node_modules/@m0saic/core/dist/core/buildMosaicPlanFromFile.js +1 -0
  77. package/node_modules/@m0saic/core/dist/core/buildSvgTextSource.js +1 -0
  78. package/node_modules/@m0saic/core/dist/core/buildTextRenderCommand.js +1 -0
  79. package/node_modules/@m0saic/core/dist/core/collectRefTargets.js +1 -0
  80. package/node_modules/@m0saic/core/dist/core/index.js +1 -0
  81. package/node_modules/@m0saic/core/dist/core/maskCacheDir.js +1 -0
  82. package/node_modules/@m0saic/core/dist/core/maskWorkerBridge.js +1 -0
  83. package/node_modules/@m0saic/core/dist/core/playbackPlaySpeed.js +1 -0
  84. package/node_modules/@m0saic/core/dist/core/prepareProps.js +1 -0
  85. package/node_modules/@m0saic/core/dist/core/primaryOutput.js +1 -0
  86. package/node_modules/@m0saic/core/dist/core/rasterizeMaskPng.js +1 -0
  87. package/node_modules/@m0saic/core/dist/core/rasterizeSvgMediaPng.js +1 -0
  88. package/node_modules/@m0saic/core/dist/core/refTargetTap.js +1 -0
  89. package/node_modules/@m0saic/core/dist/core/resolveMasks.js +1 -0
  90. package/node_modules/@m0saic/core/dist/core/resolveMasksSync.js +1 -0
  91. package/node_modules/@m0saic/core/dist/core/resolveStrokeRingsSync.js +1 -0
  92. package/node_modules/@m0saic/core/dist/core/roundedRectMask.js +1 -0
  93. package/node_modules/@m0saic/core/dist/core/strokeRing.js +1 -0
  94. package/node_modules/@m0saic/core/dist/core/svgRaster.js +1 -0
  95. package/node_modules/@m0saic/core/dist/defaults.js +1 -0
  96. package/node_modules/@m0saic/core/dist/ffmpeg/backgroundImageInput.js +1 -0
  97. package/node_modules/@m0saic/core/dist/ffmpeg/bufferGuard.js +1 -0
  98. package/node_modules/@m0saic/core/dist/ffmpeg/ffmpegCommands.js +1 -0
  99. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBackdropBlur.js +1 -0
  100. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBlur.js +1 -0
  101. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBorderRadius.js +1 -0
  102. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyCamera.js +1 -0
  103. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyChromaKey.js +1 -0
  104. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyFade.js +1 -0
  105. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyGrade.js +1 -0
  106. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyMask.js +1 -0
  107. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyNoise.js +1 -0
  108. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyPixelize.js +1 -0
  109. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyRotate.js +1 -0
  110. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyStroke.js +1 -0
  111. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyTileEffects.js +1 -0
  112. package/node_modules/@m0saic/core/dist/ffmpeg/filters/coverCrop.js +1 -0
  113. package/node_modules/@m0saic/core/dist/ffmpeg/filters/index.js +1 -0
  114. package/node_modules/@m0saic/core/dist/ffmpeg/filters/sourceRectCrop.js +1 -0
  115. package/node_modules/@m0saic/core/dist/ffmpeg/gridLowering.js +1 -0
  116. package/node_modules/@m0saic/core/dist/ffmpeg/index.js +1 -0
  117. package/node_modules/@m0saic/core/dist/ffmpeg/splitAvMux.js +1 -0
  118. package/node_modules/@m0saic/core/dist/ffmpeg/threadGuard.js +1 -0
  119. package/node_modules/@m0saic/core/dist/flatten/index.js +1 -0
  120. package/node_modules/@m0saic/core/dist/fs/index.js +1 -0
  121. package/node_modules/@m0saic/core/dist/fs/tempWorkspace.js +1 -0
  122. package/node_modules/@m0saic/core/dist/index.js +1 -0
  123. package/node_modules/@m0saic/core/dist/media/buildAssetManifestFromInputs.js +1 -0
  124. package/node_modules/@m0saic/core/dist/media/buildMediaRegistryFromInput.js +1 -0
  125. package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromInvocationProps.js +1 -0
  126. package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromMosaicRenderableFile.js +1 -0
  127. package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromProps.js +1 -0
  128. package/node_modules/@m0saic/core/dist/media/index.js +1 -0
  129. package/node_modules/@m0saic/core/dist/media/internalMintAsset.js +1 -0
  130. package/node_modules/@m0saic/core/dist/media/remoteUrl.js +1 -0
  131. package/node_modules/@m0saic/core/dist/media/stageUnsafeFilenames.js +1 -0
  132. package/node_modules/@m0saic/core/dist/media/types.js +1 -0
  133. package/node_modules/@m0saic/core/dist/output/index.js +1 -0
  134. package/node_modules/@m0saic/core/dist/output/resolveOutputFormat.js +1 -0
  135. package/node_modules/@m0saic/core/dist/output/types.js +1 -0
  136. package/node_modules/@m0saic/core/dist/probe/cellLuminanceProbe.js +1 -0
  137. package/node_modules/@m0saic/core/dist/probe/extractSubtitleCues.js +1 -0
  138. package/node_modules/@m0saic/core/dist/probe/helpers.js +1 -0
  139. package/node_modules/@m0saic/core/dist/probe/index.js +1 -0
  140. package/node_modules/@m0saic/core/dist/probe/luminanceProbe.js +1 -0
  141. package/node_modules/@m0saic/core/dist/probe/probeMedia.js +1 -0
  142. package/node_modules/@m0saic/core/dist/probe/runFFprobe.js +1 -0
  143. package/node_modules/@m0saic/core/dist/probe/types.js +1 -0
  144. package/node_modules/@m0saic/core/dist/runtime/engineRedaction.js +1 -0
  145. package/node_modules/@m0saic/core/dist/runtime/ffmpegFailure.js +1 -0
  146. package/node_modules/@m0saic/core/dist/runtime/filterPreflight.js +1 -0
  147. package/node_modules/@m0saic/core/dist/runtime/hashFile.js +1 -0
  148. package/node_modules/@m0saic/core/dist/runtime/index.js +1 -0
  149. package/node_modules/@m0saic/core/dist/runtime/pathInfo.js +1 -0
  150. package/node_modules/@m0saic/core/dist/runtime/perfHeatmap.js +1 -0
  151. package/node_modules/@m0saic/core/dist/runtime/perfReport.js +1 -0
  152. package/node_modules/@m0saic/core/dist/runtime/pipelineM0p.js +1 -0
  153. package/node_modules/@m0saic/core/dist/runtime/renderCostModel.constants.js +1 -0
  154. package/node_modules/@m0saic/core/dist/runtime/renderCostModel.js +1 -0
  155. package/node_modules/@m0saic/core/dist/runtime/renderReport.js +1 -0
  156. package/node_modules/@m0saic/core/dist/runtime/renderSidecars.js +1 -0
  157. package/node_modules/@m0saic/core/dist/runtime/resolveMosaicx.js +1 -0
  158. package/node_modules/@m0saic/core/dist/runtime/runPlan.js +1 -0
  159. package/node_modules/@m0saic/core/dist/runtime/types.js +1 -0
  160. package/node_modules/@m0saic/core/dist/runtime/upstream.js +1 -0
  161. package/node_modules/@m0saic/core/dist/runtime/writeSidecars.js +1 -0
  162. package/node_modules/@m0saic/core/dist/types/chunk.js +1 -0
  163. package/node_modules/@m0saic/core/dist/types/index.js +1 -0
  164. package/node_modules/@m0saic/core/dist/types/mosaic-plan.js +1 -0
  165. package/node_modules/@m0saic/core/dist/utils/assertTiming.js +1 -0
  166. package/node_modules/@m0saic/core/dist/utils/command.js +1 -0
  167. package/node_modules/@m0saic/core/dist/utils/createEngineContext.js +1 -0
  168. package/node_modules/@m0saic/core/dist/utils/createTemplateRenderCache.js +1 -0
  169. package/node_modules/@m0saic/core/dist/utils/ffmpegColor.js +1 -0
  170. package/node_modules/@m0saic/core/dist/utils/formatDuration.js +1 -0
  171. package/node_modules/@m0saic/core/dist/utils/fsSafeId.js +1 -0
  172. package/node_modules/@m0saic/core/dist/utils/index.js +1 -0
  173. package/node_modules/@m0saic/core/dist/utils/lowerRenderableToMosaicDocument.js +1 -0
  174. package/node_modules/@m0saic/core/dist/utils/movSafeCodec.js +1 -0
  175. package/node_modules/@m0saic/core/dist/utils/resolveBoxFrac.js +1 -0
  176. package/node_modules/@m0saic/core/dist/validate/index.js +1 -0
  177. package/node_modules/@m0saic/core/package.json +6 -0
  178. package/node_modules/@m0saic/core/scripts/mask-rasterize-core.js +1 -0
  179. package/node_modules/@m0saic/core/scripts/mask-rasterize-worker.js +1 -0
  180. package/node_modules/@m0saic/core/scripts/mask-worker-thread.js +1 -0
  181. package/node_modules/@m0saic/dictionary/LICENSE +13 -0
  182. package/node_modules/@m0saic/dictionary/dist/browser.js +1 -0
  183. package/node_modules/@m0saic/dictionary/dist/entries/__generated__.js +1 -0
  184. package/node_modules/@m0saic/dictionary/dist/entries/brand/index.js +1 -0
  185. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/index.js +1 -0
  186. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0.json +1 -0
  187. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic.js +1 -0
  188. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic.m0c +265 -0
  189. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_src.m0 +8 -0
  190. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual.txt +274 -0
  191. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual_areas.txt +272 -0
  192. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual_art.txt +272 -0
  193. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/metadata.json +300 -0
  194. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/preview.png +0 -0
  195. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/index.js +1 -0
  196. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/m0saic.js +2 -0
  197. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/m0saic.m0 +9 -0
  198. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/metadata.json +54 -0
  199. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/index.js +1 -0
  200. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0.json +1 -0
  201. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic.js +1 -0
  202. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic.m0c +205 -0
  203. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic_src.m0 +8 -0
  204. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/metadata.json +247 -0
  205. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/preview.png +0 -0
  206. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/index.js +1 -0
  207. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0.json +1 -0
  208. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic.js +1 -0
  209. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic.m0c +366 -0
  210. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic_src.m0 +8 -0
  211. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/metadata.json +406 -0
  212. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/preview.png +0 -0
  213. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/index.js +1 -0
  214. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0.json +1 -0
  215. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic.js +1 -0
  216. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic.m0c +24 -0
  217. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic_src.m0 +8 -0
  218. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/metadata.json +49 -0
  219. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/index.js +1 -0
  220. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic.js +2 -0
  221. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic.m0 +7 -0
  222. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic_pretty.txt +10 -0
  223. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic_tree.txt +7 -0
  224. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/metadata.json +49 -0
  225. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/wireframe_1080x1080.mp4 +0 -0
  226. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/wireframe_1920x1080.mp4 +0 -0
  227. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/index.js +1 -0
  228. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic.js +2 -0
  229. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic.m0 +7 -0
  230. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic_pretty.txt +14 -0
  231. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic_tree.txt +10 -0
  232. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/metadata.json +53 -0
  233. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/index.js +1 -0
  234. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic.js +2 -0
  235. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic.m0 +7 -0
  236. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic_pretty.txt +12 -0
  237. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic_tree.txt +9 -0
  238. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/metadata.json +49 -0
  239. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/index.js +1 -0
  240. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic.js +2 -0
  241. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic.m0 +7 -0
  242. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic_pretty.txt +17 -0
  243. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic_tree.txt +13 -0
  244. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/metadata.json +48 -0
  245. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/index.js +1 -0
  246. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic.js +2 -0
  247. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic.m0 +7 -0
  248. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic_pretty.txt +26 -0
  249. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic_tree.txt +21 -0
  250. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/metadata.json +48 -0
  251. package/node_modules/@m0saic/dictionary/dist/entries/grids/index.js +1 -0
  252. package/node_modules/@m0saic/dictionary/dist/entries/index.js +1 -0
  253. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/index.js +1 -0
  254. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic.js +2 -0
  255. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic.m0 +7 -0
  256. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic_pretty.txt +13 -0
  257. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic_tree.txt +10 -0
  258. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/metadata.json +49 -0
  259. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/index.js +1 -0
  260. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic.js +2 -0
  261. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic.m0 +7 -0
  262. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic_pretty.txt +16 -0
  263. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic_tree.txt +11 -0
  264. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/metadata.json +49 -0
  265. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/index.js +1 -0
  266. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic.js +2 -0
  267. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic.m0 +7 -0
  268. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic_pretty.txt +20 -0
  269. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic_tree.txt +16 -0
  270. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/metadata.json +50 -0
  271. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/index.js +1 -0
  272. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic.js +2 -0
  273. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic.m0 +7 -0
  274. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic_pretty.txt +14 -0
  275. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic_tree.txt +10 -0
  276. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/metadata.json +49 -0
  277. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/index.js +1 -0
  278. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic.js +2 -0
  279. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic.m0 +7 -0
  280. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic_pretty.txt +8 -0
  281. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic_tree.txt +6 -0
  282. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/metadata.json +54 -0
  283. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1080x1080.mp4 +0 -0
  284. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1280x720.mp4 +0 -0
  285. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1920x1080.mp4 +0 -0
  286. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/index.js +1 -0
  287. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic.js +2 -0
  288. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic.m0 +7 -0
  289. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic_pretty.txt +7 -0
  290. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic_tree.txt +5 -0
  291. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/metadata.json +54 -0
  292. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_1080x1080.mp4 +0 -0
  293. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_1920x1080.mp4 +0 -0
  294. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_2560x1080.mp4 +0 -0
  295. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/index.js +1 -0
  296. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic.js +2 -0
  297. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic.m0 +7 -0
  298. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic_pretty.txt +8 -0
  299. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic_tree.txt +6 -0
  300. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/metadata.json +52 -0
  301. package/node_modules/@m0saic/dictionary/dist/entries/layouts/index.js +1 -0
  302. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/index.js +1 -0
  303. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic.js +2 -0
  304. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic.m0 +7 -0
  305. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic_pretty.txt +10 -0
  306. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic_tree.txt +7 -0
  307. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/metadata.json +48 -0
  308. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/index.js +1 -0
  309. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic.js +2 -0
  310. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic.m0 +7 -0
  311. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic_pretty.txt +8 -0
  312. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic_tree.txt +6 -0
  313. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/metadata.json +50 -0
  314. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/index.js +1 -0
  315. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic.js +2 -0
  316. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic.m0 +7 -0
  317. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic_pretty.txt +7 -0
  318. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic_tree.txt +5 -0
  319. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/metadata.json +48 -0
  320. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/index.js +1 -0
  321. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic.js +2 -0
  322. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic.m0 +7 -0
  323. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic_pretty.txt +15 -0
  324. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic_tree.txt +11 -0
  325. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/metadata.json +49 -0
  326. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/index.js +1 -0
  327. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic.js +2 -0
  328. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic.m0 +7 -0
  329. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic_pretty.txt +12 -0
  330. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic_tree.txt +9 -0
  331. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/metadata.json +49 -0
  332. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/index.js +1 -0
  333. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic.js +2 -0
  334. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic.m0 +7 -0
  335. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic_pretty.txt +7 -0
  336. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic_tree.txt +5 -0
  337. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/metadata.json +49 -0
  338. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/index.js +1 -0
  339. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic.js +2 -0
  340. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic.m0 +7 -0
  341. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic_pretty.txt +14 -0
  342. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic_tree.txt +11 -0
  343. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/metadata.json +50 -0
  344. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/index.js +1 -0
  345. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic.js +2 -0
  346. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic.m0 +7 -0
  347. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic_pretty.txt +5 -0
  348. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic_tree.txt +4 -0
  349. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/metadata.json +50 -0
  350. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/index.js +1 -0
  351. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic.js +2 -0
  352. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic.m0 +7 -0
  353. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic_pretty.txt +5 -0
  354. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic_tree.txt +4 -0
  355. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/metadata.json +51 -0
  356. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/index.js +1 -0
  357. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic.js +2 -0
  358. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic.m0 +7 -0
  359. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic_pretty.txt +5 -0
  360. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic_tree.txt +4 -0
  361. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/metadata.json +50 -0
  362. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/index.js +1 -0
  363. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic.js +2 -0
  364. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic.m0 +7 -0
  365. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic_pretty.txt +5 -0
  366. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic_tree.txt +4 -0
  367. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/metadata.json +51 -0
  368. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/index.js +1 -0
  369. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic.js +2 -0
  370. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic.m0 +7 -0
  371. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic_pretty.txt +4 -0
  372. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic_tree.txt +3 -0
  373. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/metadata.json +49 -0
  374. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/wireframe_1080x1080.mp4 +0 -0
  375. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/wireframe_1920x1080.mp4 +0 -0
  376. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/index.js +1 -0
  377. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic.js +2 -0
  378. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic.m0 +7 -0
  379. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic_pretty.txt +4 -0
  380. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic_tree.txt +3 -0
  381. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/metadata.json +49 -0
  382. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/index.js +1 -0
  383. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic.js +2 -0
  384. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic.m0 +7 -0
  385. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic_pretty.txt +5 -0
  386. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic_tree.txt +4 -0
  387. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/metadata.json +53 -0
  388. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_1080x1080.mp4 +0 -0
  389. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_1920x1080.mp4 +0 -0
  390. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_2560x1080.mp4 +0 -0
  391. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/index.js +1 -0
  392. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic.js +2 -0
  393. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic.m0 +7 -0
  394. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic_pretty.txt +5 -0
  395. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic_tree.txt +4 -0
  396. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/metadata.json +54 -0
  397. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1080.mp4 +0 -0
  398. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1350.mp4 +0 -0
  399. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1920.mp4 +0 -0
  400. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/index.js +1 -0
  401. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic.js +2 -0
  402. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic.m0 +7 -0
  403. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic_pretty.txt +6 -0
  404. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic_tree.txt +5 -0
  405. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/metadata.json +48 -0
  406. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/index.js +1 -0
  407. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic.js +2 -0
  408. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic.m0 +7 -0
  409. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic_pretty.txt +6 -0
  410. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic_tree.txt +5 -0
  411. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/metadata.json +53 -0
  412. package/node_modules/@m0saic/dictionary/dist/entries/splits/index.js +1 -0
  413. package/node_modules/@m0saic/dictionary/dist/generators/aspectFit.js +1 -0
  414. package/node_modules/@m0saic/dictionary/dist/generators/aspectSafeGrid.js +1 -0
  415. package/node_modules/@m0saic/dictionary/dist/generators/barcodeGenerator.js +1 -0
  416. package/node_modules/@m0saic/dictionary/dist/generators/bentoGridGenerator.js +1 -0
  417. package/node_modules/@m0saic/dictionary/dist/generators/comparisonGenerator.js +1 -0
  418. package/node_modules/@m0saic/dictionary/dist/generators/goldenLayout.js +1 -0
  419. package/node_modules/@m0saic/dictionary/dist/generators/goldenSpiralGenerator.js +1 -0
  420. package/node_modules/@m0saic/dictionary/dist/generators/grid.js +1 -0
  421. package/node_modules/@m0saic/dictionary/dist/generators/index.js +1 -0
  422. package/node_modules/@m0saic/dictionary/dist/generators/labelTier.js +1 -0
  423. package/node_modules/@m0saic/dictionary/dist/generators/magazine.js +1 -0
  424. package/node_modules/@m0saic/dictionary/dist/generators/magazineGenerator.js +1 -0
  425. package/node_modules/@m0saic/dictionary/dist/generators/placeRect.js +1 -0
  426. package/node_modules/@m0saic/dictionary/dist/generators/qrCodeGenerator.js +1 -0
  427. package/node_modules/@m0saic/dictionary/dist/generators/quantizationFix.js +1 -0
  428. package/node_modules/@m0saic/dictionary/dist/generators/rankedListGenerator.js +1 -0
  429. package/node_modules/@m0saic/dictionary/dist/generators/safeCanvas.js +1 -0
  430. package/node_modules/@m0saic/dictionary/dist/generators/snapGrid.js +1 -0
  431. package/node_modules/@m0saic/dictionary/dist/generators/spotlightGenerator.js +1 -0
  432. package/node_modules/@m0saic/dictionary/dist/generators/types.js +1 -0
  433. package/node_modules/@m0saic/dictionary/dist/index.js +1 -0
  434. package/node_modules/@m0saic/dictionary/dist/loadEntryM0.js +2 -0
  435. package/node_modules/@m0saic/dictionary/dist/operations/descriptors.js +1 -0
  436. package/node_modules/@m0saic/dictionary/dist/operations/index.js +1 -0
  437. package/node_modules/@m0saic/dictionary/dist/operations/types.js +1 -0
  438. package/node_modules/@m0saic/dictionary/dist/registry.js +1 -0
  439. package/node_modules/@m0saic/dictionary/dist/resolve.js +1 -0
  440. package/node_modules/@m0saic/dictionary/dist/sourceOrder.js +1 -0
  441. package/node_modules/@m0saic/dictionary/package.json +6 -0
  442. package/node_modules/@m0saic/dsl/LICENSE +201 -0
  443. package/node_modules/@m0saic/dsl/NOTICE +13 -0
  444. package/node_modules/@m0saic/dsl/README.md +417 -0
  445. package/node_modules/@m0saic/dsl/dist/cjs/complexity/complexity.js +1 -0
  446. package/node_modules/@m0saic/dsl/dist/cjs/complexity/index.js +1 -0
  447. package/node_modules/@m0saic/dsl/dist/cjs/equality/equality.js +1 -0
  448. package/node_modules/@m0saic/dsl/dist/cjs/equality/index.js +1 -0
  449. package/node_modules/@m0saic/dsl/dist/cjs/errors/errors.js +1 -0
  450. package/node_modules/@m0saic/dsl/dist/cjs/errors/index.js +1 -0
  451. package/node_modules/@m0saic/dsl/dist/cjs/feasibility/computeFeasibility.js +1 -0
  452. package/node_modules/@m0saic/dsl/dist/cjs/feasibility/index.js +1 -0
  453. package/node_modules/@m0saic/dsl/dist/cjs/format/index.js +1 -0
  454. package/node_modules/@m0saic/dsl/dist/cjs/format/m0StringCompact.js +1 -0
  455. package/node_modules/@m0saic/dsl/dist/cjs/format/m0StringFormat.js +1 -0
  456. package/node_modules/@m0saic/dsl/dist/cjs/index.js +1 -0
  457. package/node_modules/@m0saic/dsl/dist/cjs/internal/m0LexUtils.js +1 -0
  458. package/node_modules/@m0saic/dsl/dist/cjs/parse/index.js +1 -0
  459. package/node_modules/@m0saic/dsl/dist/cjs/parse/m0StringParser.js +1 -0
  460. package/node_modules/@m0saic/dsl/dist/cjs/parse/sortDeferredOverlays.js +1 -0
  461. package/node_modules/@m0saic/dsl/dist/cjs/types.js +1 -0
  462. package/node_modules/@m0saic/dsl/dist/cjs/validate/index.js +1 -0
  463. package/node_modules/@m0saic/dsl/dist/cjs/validate/m0StringValidator.js +1 -0
  464. package/node_modules/@m0saic/dsl/dist/cjs/warnings/index.js +1 -0
  465. package/node_modules/@m0saic/dsl/dist/cjs/warnings/warnings.js +1 -0
  466. package/node_modules/@m0saic/dsl/package.json +14 -0
  467. package/node_modules/@m0saic/dsl-file-formats/LICENSE +201 -0
  468. package/node_modules/@m0saic/dsl-file-formats/NOTICE +13 -0
  469. package/node_modules/@m0saic/dsl-file-formats/README.md +241 -0
  470. package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0.svg +29 -0
  471. package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0c.svg +29 -0
  472. package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0p.svg +29 -0
  473. package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0v.svg +29 -0
  474. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/conversions.js +1 -0
  475. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/derive.js +1 -0
  476. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/edit/editFileMeta.js +1 -0
  477. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/edit/index.js +1 -0
  478. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/index.js +1 -0
  479. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/index.js +1 -0
  480. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/parseM0File.js +1 -0
  481. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/serializeM0File.js +3 -0
  482. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0Validation.js +1 -0
  483. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0c/index.js +1 -0
  484. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0c/m0cFile.js +5 -0
  485. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0p/index.js +1 -0
  486. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0p/m0pFile.js +2 -0
  487. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0v/index.js +1 -0
  488. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0v/m0vFile.js +2 -0
  489. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/types.js +1 -0
  490. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/index.js +1 -0
  491. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/types.js +1 -0
  492. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateFill.js +1 -0
  493. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateInsets.js +1 -0
  494. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateLabels.js +1 -0
  495. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validatePack.js +1 -0
  496. package/node_modules/@m0saic/dsl-file-formats/package.json +14 -0
  497. package/node_modules/@m0saic/dsl-stdlib/LICENSE +201 -0
  498. package/node_modules/@m0saic/dsl-stdlib/NOTICE +13 -0
  499. package/node_modules/@m0saic/dsl-stdlib/README.md +388 -0
  500. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/_internal/barSplit.js +1 -0
  501. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/_internal/packLeafRects.js +1 -0
  502. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/aspectFit.js +1 -0
  503. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/aspectSafeGrid.js +1 -0
  504. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/bakeInsets.js +1 -0
  505. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/compactDocument.js +1 -0
  506. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/compactLossless.js +1 -0
  507. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/comparison.js +1 -0
  508. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/container.js +1 -0
  509. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/equalSplit.js +1 -0
  510. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/golden.js +1 -0
  511. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/grid.js +1 -0
  512. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/index.js +1 -0
  513. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeInsetRects.js +1 -0
  514. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeOptimizedRects.js +1 -0
  515. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeRect.js +1 -0
  516. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeRects.js +1 -0
  517. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/rankedList.js +1 -0
  518. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/rebuildRects.js +1 -0
  519. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/safeCanvas.js +1 -0
  520. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/scale.js +1 -0
  521. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/snapGrid.js +1 -0
  522. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/snapRectPrecision.js +1 -0
  523. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/spotlight.js +1 -0
  524. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/strip.js +1 -0
  525. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/weightedSplit.js +1 -0
  526. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/weightedTokens.js +1 -0
  527. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/index.js +1 -0
  528. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/toM0FileText.js +1 -0
  529. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/toM0String.js +4 -0
  530. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/index.js +1 -0
  531. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeChannels.js +1 -0
  532. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToBars.js +1 -0
  533. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToM0.js +1 -0
  534. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToM0c.js +1 -0
  535. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToRects.js +1 -0
  536. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/code128.js +1 -0
  537. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/ean13.js +1 -0
  538. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/eanShared.js +1 -0
  539. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/index.js +1 -0
  540. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/types.js +1 -0
  541. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/upca.js +1 -0
  542. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/binaryGridToM0.js +1 -0
  543. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/classifyPixels.js +1 -0
  544. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/despeckleGrid.js +1 -0
  545. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/index.js +1 -0
  546. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/labelAreas.js +1 -0
  547. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/types.js +1 -0
  548. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/visualSidecars.js +13 -0
  549. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/index.js +1 -0
  550. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/mask-shapes/index.js +1 -0
  551. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/encoder.js +1 -0
  552. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/index.js +1 -0
  553. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/mask.js +1 -0
  554. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/matrix.js +1 -0
  555. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/packDarkCells.js +1 -0
  556. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrPayloads.js +2 -0
  557. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToM0.js +1 -0
  558. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToM0c.js +1 -0
  559. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToMatrix.js +1 -0
  560. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToRects.js +1 -0
  561. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/reedSolomon.js +1 -0
  562. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/types.js +1 -0
  563. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/version.js +1 -0
  564. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/customRankSet.js +1 -0
  565. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/customStableKeyRankSet.js +1 -0
  566. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/generateRankSet.js +1 -0
  567. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/generateStableKeyRankSet.js +1 -0
  568. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/index.js +1 -0
  569. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/rankFramesFromM0.js +1 -0
  570. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/types.js +1 -0
  571. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/enumerateSvgToM0.js +1 -0
  572. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/extractGeometry.js +1 -0
  573. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/generateMasks.js +1 -0
  574. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/generateMasksByStableKey.js +1 -0
  575. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/index.js +1 -0
  576. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/inferGrid.js +1 -0
  577. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/parseSvg.js +1 -0
  578. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/rectsToM0.js +1 -0
  579. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/svgToM0.js +1 -0
  580. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/types.js +1 -0
  581. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/mirroredTypes.js +1 -0
  582. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/evaluateM0.js +1 -0
  583. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/extractNodeByStableId.js +1 -0
  584. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/findFrames.js +1 -0
  585. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/getLayerCount.js +1 -0
  586. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/hasOverlayAtSpan.js +1 -0
  587. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/index.js +1 -0
  588. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/quantizationSpread.js +1 -0
  589. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/queryFrames.js +1 -0
  590. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/withinBounds.js +1 -0
  591. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/constants.js +1 -0
  592. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/index.js +1 -0
  593. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/lexUtils.js +1 -0
  594. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/output.js +1 -0
  595. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/resolveSpanByStableId.js +1 -0
  596. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/walkByLogicalIndex.js +1 -0
  597. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/compose.js +1 -0
  598. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/_internal/buildMeasureFragment.js +1 -0
  599. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/index.js +1 -0
  600. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitByLogicalIndex.js +1 -0
  601. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitBySpan.js +1 -0
  602. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitByStableId.js +1 -0
  603. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/overlay/addOverlayToAllFrames.js +1 -0
  604. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/overlay/index.js +1 -0
  605. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/swap/index.js +1 -0
  606. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/swap/swapFramesByLogicalIndex.js +1 -0
  607. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/index.js +1 -0
  608. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/pipe.js +1 -0
  609. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/frame/index.js +1 -0
  610. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/frame/setFrameTypeByLogicalIndex.js +1 -0
  611. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayByLogicalIndex.js +1 -0
  612. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayBySpan.js +1 -0
  613. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayByStableId.js +1 -0
  614. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayLayer.js +1 -0
  615. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/index.js +1 -0
  616. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayByLogicalIndex.js +1 -0
  617. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayBySpan.js +1 -0
  618. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayByStableId.js +1 -0
  619. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removePureNullLayers.js +1 -0
  620. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/wrapBelowByLogicalIndex.js +1 -0
  621. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/index.js +1 -0
  622. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeByLogicalIndex.js +1 -0
  623. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeBySpan.js +1 -0
  624. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeByStableId.js +1 -0
  625. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/_internal/buildSplitFragment.js +1 -0
  626. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/index.js +1 -0
  627. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/reduceSplitCounts.js +1 -0
  628. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitByLogicalIndex.js +1 -0
  629. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitBySpan.js +1 -0
  630. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitByStableId.js +1 -0
  631. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/index.js +1 -0
  632. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/setTileTypeBySpan.js +1 -0
  633. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/setTileTypeByStableId.js +1 -0
  634. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/rewriteOverlayChains.js +1 -0
  635. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/types.js +1 -0
  636. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/addOverlay.js +1 -0
  637. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/index.js +1 -0
  638. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/measureSplit.js +1 -0
  639. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/removeOverlay.js +1 -0
  640. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/replace.js +1 -0
  641. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/setTileType.js +1 -0
  642. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/split.js +1 -0
  643. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/swapFrames.js +1 -0
  644. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/withHistory.js +1 -0
  645. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/withInverse.js +1 -0
  646. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/types.js +1 -0
  647. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/abs-svg-path/index.js +1 -0
  648. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/is-svg-path/index.js +1 -0
  649. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/normalize-svg-path/index.js +1 -0
  650. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/parse-svg-path/index.js +1 -0
  651. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/svg-arc-to-cubic-bezier/index.js +1 -0
  652. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/svg-path-bounds/index.js +1 -0
  653. package/node_modules/@m0saic/dsl-stdlib/package.json +14 -0
  654. package/node_modules/@m0saic/momo-types/LICENSE +201 -0
  655. package/node_modules/@m0saic/momo-types/NOTICE +13 -0
  656. package/node_modules/@m0saic/momo-types/dist/agent.js +6 -0
  657. package/node_modules/@m0saic/momo-types/dist/candidate.js +1 -0
  658. package/node_modules/@m0saic/momo-types/dist/category.js +1 -0
  659. package/node_modules/@m0saic/momo-types/dist/context.js +1 -0
  660. package/node_modules/@m0saic/momo-types/dist/index.js +1 -0
  661. package/node_modules/@m0saic/momo-types/dist/party.js +1 -0
  662. package/node_modules/@m0saic/momo-types/dist/region.js +1 -0
  663. package/node_modules/@m0saic/momo-types/dist/scoring.js +1 -0
  664. package/node_modules/@m0saic/momo-types/dist/session-summary.js +1 -0
  665. package/node_modules/@m0saic/momo-types/dist/session.js +1 -0
  666. package/node_modules/@m0saic/momo-types/package.json +16 -0
  667. package/node_modules/@m0saic/platform/LICENSE +201 -0
  668. package/node_modules/@m0saic/platform/NOTICE +13 -0
  669. package/node_modules/@m0saic/platform/dist/cjs/asset/index.js +1 -0
  670. package/node_modules/@m0saic/platform/dist/cjs/asset/resolveAsset.js +1 -0
  671. package/node_modules/@m0saic/platform/dist/cjs/asset/slugifyAssetKey.js +1 -0
  672. package/node_modules/@m0saic/platform/dist/cjs/bridges/protocol.js +1 -0
  673. package/node_modules/@m0saic/platform/dist/cjs/communityM/claimOrder.js +1 -0
  674. package/node_modules/@m0saic/platform/dist/cjs/communityM/index.js +1 -0
  675. package/node_modules/@m0saic/platform/dist/cjs/communityM/mTiles.generated.js +1 -0
  676. package/node_modules/@m0saic/platform/dist/cjs/communityM/node/hostCommunityDir.js +1 -0
  677. package/node_modules/@m0saic/platform/dist/cjs/communityM/node/index.js +1 -0
  678. package/node_modules/@m0saic/platform/dist/cjs/communityM/node/loadCommunityManifestFromDir.js +1 -0
  679. package/node_modules/@m0saic/platform/dist/cjs/communityM/node/validateCommunityPiece.js +1 -0
  680. package/node_modules/@m0saic/platform/dist/cjs/communityM/parseCommunityMManifest.js +1 -0
  681. package/node_modules/@m0saic/platform/dist/cjs/communityM/placeholderArt.js +1 -0
  682. package/node_modules/@m0saic/platform/dist/cjs/communityM/tileState.js +1 -0
  683. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/balance.js +1 -0
  684. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/compile.js +1 -0
  685. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/ffmpeg.js +1 -0
  686. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/guards.js +1 -0
  687. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/index.js +1 -0
  688. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/macros.js +1 -0
  689. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/overlay.js +1 -0
  690. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/time.js +1 -0
  691. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/window.js +1 -0
  692. package/node_modules/@m0saic/platform/dist/cjs/host-connections/fileConnectionResolver.js +1 -0
  693. package/node_modules/@m0saic/platform/dist/cjs/host-connections/index.js +1 -0
  694. package/node_modules/@m0saic/platform/dist/cjs/index.js +1 -0
  695. package/node_modules/@m0saic/platform/dist/cjs/jobs/index.js +1 -0
  696. package/node_modules/@m0saic/platform/dist/cjs/jobs/types.js +1 -0
  697. package/node_modules/@m0saic/platform/dist/cjs/language/index.js +1 -0
  698. package/node_modules/@m0saic/platform/dist/cjs/language/language.js +1 -0
  699. package/node_modules/@m0saic/platform/dist/cjs/media/expandFolder.js +1 -0
  700. package/node_modules/@m0saic/platform/dist/cjs/media/index.js +1 -0
  701. package/node_modules/@m0saic/platform/dist/cjs/mosaic/absolutizeManifestPathsWeb.js +1 -0
  702. package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/applyRectEditToMosaicDocument.js +1 -0
  703. package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/bakeDocumentInsets.js +1 -0
  704. package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/index.js +1 -0
  705. package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/rebuildDocumentGeometry.js +1 -0
  706. package/node_modules/@m0saic/platform/dist/cjs/mosaic/flatten/flattenMosaicDocument.js +1 -0
  707. package/node_modules/@m0saic/platform/dist/cjs/mosaic/flatten/index.js +1 -0
  708. package/node_modules/@m0saic/platform/dist/cjs/mosaic/layoutFloors/index.js +1 -0
  709. package/node_modules/@m0saic/platform/dist/cjs/mosaic/layoutFloors/layoutFloors.js +1 -0
  710. package/node_modules/@m0saic/platform/dist/cjs/mosaic/loadMosaicDocument.js +1 -0
  711. package/node_modules/@m0saic/platform/dist/cjs/mosaic/loadMosaicXDocument.js +1 -0
  712. package/node_modules/@m0saic/platform/dist/cjs/mosaic/outputKind/index.js +1 -0
  713. package/node_modules/@m0saic/platform/dist/cjs/mosaic/outputKind/outputKind.js +1 -0
  714. package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/index.js +1 -0
  715. package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/propBindings.js +1 -0
  716. package/node_modules/@m0saic/platform/dist/cjs/mosaic/serializeMosaicDocument.js +1 -0
  717. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/index.js +1 -0
  718. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateAssetManifest.js +1 -0
  719. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateLavfiSource.js +1 -0
  720. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicDocument.js +1 -0
  721. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicOutput.js +1 -0
  722. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicXDocument.js +1 -0
  723. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateSerializedMosaicDocument.js +1 -0
  724. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateSources.js +1 -0
  725. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateVariableSchema.js +1 -0
  726. package/node_modules/@m0saic/platform/dist/cjs/output/index.js +1 -0
  727. package/node_modules/@m0saic/platform/dist/cjs/output/validateOutputConfig.js +1 -0
  728. package/node_modules/@m0saic/platform/dist/cjs/paths/index.js +1 -0
  729. package/node_modules/@m0saic/platform/dist/cjs/paths/m0saicRoot.js +1 -0
  730. package/node_modules/@m0saic/platform/dist/cjs/paths/tempPrefix.js +1 -0
  731. package/node_modules/@m0saic/platform/dist/cjs/secrets/envSecretResolver.js +1 -0
  732. package/node_modules/@m0saic/platform/dist/cjs/secrets/index.js +1 -0
  733. package/node_modules/@m0saic/platform/dist/cjs/secrets/keychainSecretResolver.js +1 -0
  734. package/node_modules/@m0saic/platform/dist/cjs/secrets/schemeSecretResolver.js +1 -0
  735. package/node_modules/@m0saic/platform/dist/cjs/share/index.js +1 -0
  736. package/node_modules/@m0saic/platform/dist/cjs/share/mosaicxLink.js +1 -0
  737. package/node_modules/@m0saic/platform/dist/cjs/share/payloadCodec.js +1 -0
  738. package/node_modules/@m0saic/platform/dist/cjs/share/portableProps.js +1 -0
  739. package/node_modules/@m0saic/platform/dist/cjs/share/shareQuery.js +1 -0
  740. package/node_modules/@m0saic/platform/dist/cjs/system/index.js +1 -0
  741. package/node_modules/@m0saic/platform/dist/cjs/system/systemInfo.js +1 -0
  742. package/node_modules/@m0saic/platform/dist/cjs/telemetry/hostFingerprint.js +1 -0
  743. package/node_modules/@m0saic/platform/dist/cjs/telemetry/index.js +1 -0
  744. package/node_modules/@m0saic/platform/dist/cjs/telemetry/lifecycle.js +1 -0
  745. package/node_modules/@m0saic/platform/dist/cjs/telemetry/machineFactor.js +1 -0
  746. package/node_modules/@m0saic/platform/dist/cjs/telemetry/outbox.js +2 -0
  747. package/node_modules/@m0saic/platform/dist/cjs/telemetry/paths.js +1 -0
  748. package/node_modules/@m0saic/platform/dist/cjs/telemetry/preview.js +1 -0
  749. package/node_modules/@m0saic/platform/dist/cjs/telemetry/recordStore.js +3 -0
  750. package/node_modules/@m0saic/platform/dist/cjs/telemetry/recorder.js +1 -0
  751. package/node_modules/@m0saic/platform/dist/cjs/telemetry/redactor.js +1 -0
  752. package/node_modules/@m0saic/platform/dist/cjs/telemetry/renderRecord.js +1 -0
  753. package/node_modules/@m0saic/platform/dist/cjs/telemetry/rollup.js +1 -0
  754. package/node_modules/@m0saic/platform/dist/cjs/telemetry/scrambler.js +1 -0
  755. package/node_modules/@m0saic/platform/dist/cjs/telemetry/sender.js +1 -0
  756. package/node_modules/@m0saic/platform/dist/cjs/telemetry/settingsStore.js +2 -0
  757. package/node_modules/@m0saic/platform/dist/cjs/telemetry/status.js +1 -0
  758. package/node_modules/@m0saic/platform/dist/cjs/telemetry/summary.js +1 -0
  759. package/node_modules/@m0saic/platform/dist/cjs/telemetry/upstreamDefaults.js +1 -0
  760. package/node_modules/@m0saic/platform/dist/cjs/telemetry/usageRecorder.js +1 -0
  761. package/node_modules/@m0saic/platform/dist/cjs/telemetry/usageStore.js +3 -0
  762. package/node_modules/@m0saic/platform/dist/cjs/template-repos/depAllowlist.js +1 -0
  763. package/node_modules/@m0saic/platform/dist/cjs/template-repos/hostFirstResolution.js +1 -0
  764. package/node_modules/@m0saic/platform/dist/cjs/template-repos/index.js +1 -0
  765. package/node_modules/@m0saic/platform/dist/cjs/template-repos/loadTemplateRepoFromPath.js +6 -0
  766. package/node_modules/@m0saic/platform/dist/cjs/template-repos/resolveTemplatePreview.js +1 -0
  767. package/node_modules/@m0saic/platform/dist/cjs/template-repos/validateTemplateRoles.js +1 -0
  768. package/node_modules/@m0saic/platform/dist/cjs/templateId/index.js +1 -0
  769. package/node_modules/@m0saic/platform/dist/cjs/templateId/parseTemplateId.js +1 -0
  770. package/node_modules/@m0saic/platform/dist/cjs/toolchain/childEnv.js +1 -0
  771. package/node_modules/@m0saic/platform/dist/cjs/toolchain/defaultBinaries.js +1 -0
  772. package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/baseline.json +211 -0
  773. package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/index.js +1 -0
  774. package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/install.js +2 -0
  775. package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/release-dates.json +387 -0
  776. package/node_modules/@m0saic/platform/dist/cjs/toolchain/goldenFfmpeg.js +7 -0
  777. package/node_modules/@m0saic/platform/dist/cjs/toolchain/index.js +1 -0
  778. package/node_modules/@m0saic/platform/dist/cjs/toolchain/liveChildren.js +1 -0
  779. package/node_modules/@m0saic/platform/dist/cjs/toolchain/metadata.js +2 -0
  780. package/node_modules/@m0saic/platform/dist/cjs/toolchain/probe.js +1 -0
  781. package/node_modules/@m0saic/platform/dist/cjs/toolchain/probeChild.js +3 -0
  782. package/node_modules/@m0saic/platform/dist/cjs/toolchain/versionCompare.js +1 -0
  783. package/node_modules/@m0saic/platform/package.json +117 -0
  784. package/node_modules/@m0saic/product/LICENSE +7 -0
  785. package/node_modules/@m0saic/product/dist/communityRelease.js +1 -0
  786. package/node_modules/@m0saic/product/dist/freeTierLicense.js +1 -0
  787. package/node_modules/@m0saic/product/dist/index.js +1 -0
  788. package/node_modules/@m0saic/product/dist/licenseToken.js +1 -0
  789. package/node_modules/@m0saic/product/dist/postRenderWrapper.js +1 -0
  790. package/node_modules/@m0saic/product/dist/publicKeys.js +1 -0
  791. package/node_modules/@m0saic/product/dist/revokedKeys.js +1 -0
  792. package/node_modules/@m0saic/product/dist/upstreamDefaults.js +1 -0
  793. package/node_modules/@m0saic/product/package.json +6 -0
  794. package/node_modules/@m0saic/template-utils/LICENSE +201 -0
  795. package/node_modules/@m0saic/template-utils/NOTICE +13 -0
  796. package/node_modules/@m0saic/template-utils/README.md +3 -0
  797. package/node_modules/@m0saic/template-utils/assets/core/m-33_1024x1024.png +0 -0
  798. package/node_modules/@m0saic/template-utils/assets/core/placeholder-blue.png +0 -0
  799. package/node_modules/@m0saic/template-utils/assets/core/placeholder-gray.png +0 -0
  800. package/node_modules/@m0saic/template-utils/assets/core/placeholder-green.png +0 -0
  801. package/node_modules/@m0saic/template-utils/assets/core/placeholder-red.png +0 -0
  802. package/node_modules/@m0saic/template-utils/assets/core/placeholder.mp4 +0 -0
  803. package/node_modules/@m0saic/template-utils/assets/starter/avatar.svg +1 -0
  804. package/node_modules/@m0saic/template-utils/assets/starter/facecam.svg +1 -0
  805. package/node_modules/@m0saic/template-utils/assets/starter/landscape.svg +1 -0
  806. package/node_modules/@m0saic/template-utils/assets/starter/logo.svg +1 -0
  807. package/node_modules/@m0saic/template-utils/assets/starter/portrait.svg +1 -0
  808. package/node_modules/@m0saic/template-utils/assets/starter/square.svg +1 -0
  809. package/node_modules/@m0saic/template-utils/dist/anim/camera.js +1 -0
  810. package/node_modules/@m0saic/template-utils/dist/anim/index.js +1 -0
  811. package/node_modules/@m0saic/template-utils/dist/anim/keyframes.js +1 -0
  812. package/node_modules/@m0saic/template-utils/dist/anim/motion.js +1 -0
  813. package/node_modules/@m0saic/template-utils/dist/anim/timing.js +1 -0
  814. package/node_modules/@m0saic/template-utils/dist/anim/tracks.js +1 -0
  815. package/node_modules/@m0saic/template-utils/dist/assertTiming.js +1 -0
  816. package/node_modules/@m0saic/template-utils/dist/brand/brandGlyphs.js +1 -0
  817. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/field-data.js +1 -0
  818. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/helloWorld.js +1 -0
  819. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/index.js +1 -0
  820. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/m-rects.js +1 -0
  821. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/wordmark.js +1 -0
  822. package/node_modules/@m0saic/template-utils/dist/brand/index.js +1 -0
  823. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/index.js +1 -0
  824. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/onboarding-cover.js +1 -0
  825. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-cover-assets.js +1 -0
  826. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-cover.js +1 -0
  827. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-tutorial.js +1 -0
  828. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/theme-tokens.js +1 -0
  829. package/node_modules/@m0saic/template-utils/dist/codes/barcodeToRenderable.js +1 -0
  830. package/node_modules/@m0saic/template-utils/dist/codes/index.js +1 -0
  831. package/node_modules/@m0saic/template-utils/dist/codes/makeQrEyeChildDoc.js +1 -0
  832. package/node_modules/@m0saic/template-utils/dist/codes/qrStampExpressions.js +1 -0
  833. package/node_modules/@m0saic/template-utils/dist/codes/qrToRenderable.js +1 -0
  834. package/node_modules/@m0saic/template-utils/dist/codes/stampQr.js +1 -0
  835. package/node_modules/@m0saic/template-utils/dist/codes/styledQr.js +1 -0
  836. package/node_modules/@m0saic/template-utils/dist/data/connectionOptionsRegistry.js +1 -0
  837. package/node_modules/@m0saic/template-utils/dist/data/hostConnectionRegistry.js +1 -0
  838. package/node_modules/@m0saic/template-utils/dist/data/index.js +1 -0
  839. package/node_modules/@m0saic/template-utils/dist/data/upstream.js +1 -0
  840. package/node_modules/@m0saic/template-utils/dist/deprecated/gridCellInset.js +1 -0
  841. package/node_modules/@m0saic/template-utils/dist/deprecated/index.js +1 -0
  842. package/node_modules/@m0saic/template-utils/dist/deprecation.js +1 -0
  843. package/node_modules/@m0saic/template-utils/dist/dev/index.js +1 -0
  844. package/node_modules/@m0saic/template-utils/dist/dev/layoutFingerprintFs.js +3 -0
  845. package/node_modules/@m0saic/template-utils/dist/dev/renderTemplatePackToMosaicFiles.js +1 -0
  846. package/node_modules/@m0saic/template-utils/dist/dev/renderTemplateToMosaicFile.js +2 -0
  847. package/node_modules/@m0saic/template-utils/dist/ffexpr/index.js +1 -0
  848. package/node_modules/@m0saic/template-utils/dist/forensic/alphaPerCell.js +1 -0
  849. package/node_modules/@m0saic/template-utils/dist/forensic/bch.js +1 -0
  850. package/node_modules/@m0saic/template-utils/dist/forensic/decoder.js +1 -0
  851. package/node_modules/@m0saic/template-utils/dist/forensic/encoder.js +1 -0
  852. package/node_modules/@m0saic/template-utils/dist/forensic/gf.js +1 -0
  853. package/node_modules/@m0saic/template-utils/dist/forensic/index.js +1 -0
  854. package/node_modules/@m0saic/template-utils/dist/forensic/mask.js +1 -0
  855. package/node_modules/@m0saic/template-utils/dist/forensic/slotPlanner.js +1 -0
  856. package/node_modules/@m0saic/template-utils/dist/geometry/index.js +1 -0
  857. package/node_modules/@m0saic/template-utils/dist/geometry/polyline.js +1 -0
  858. package/node_modules/@m0saic/template-utils/dist/geometry-contract/assertGeometry.js +3 -0
  859. package/node_modules/@m0saic/template-utils/dist/geometry-contract/checkDocGeometry.js +1 -0
  860. package/node_modules/@m0saic/template-utils/dist/geometry-contract/frameResolution.js +1 -0
  861. package/node_modules/@m0saic/template-utils/dist/geometry-contract/index.js +1 -0
  862. package/node_modules/@m0saic/template-utils/dist/geometry-contract/latticeRelations.js +1 -0
  863. package/node_modules/@m0saic/template-utils/dist/geometry-contract/layoutConstraint.js +2 -0
  864. package/node_modules/@m0saic/template-utils/dist/geometry-contract/types.js +1 -0
  865. package/node_modules/@m0saic/template-utils/dist/geometry-contract/violationWireframe.js +1 -0
  866. package/node_modules/@m0saic/template-utils/dist/geometry-contract/withGeometryContract.js +3 -0
  867. package/node_modules/@m0saic/template-utils/dist/geometry-contract/withLayoutContract.js +5 -0
  868. package/node_modules/@m0saic/template-utils/dist/index.js +1 -0
  869. package/node_modules/@m0saic/template-utils/dist/lattice/index.js +1 -0
  870. package/node_modules/@m0saic/template-utils/dist/lattice/latticeReport.js +1 -0
  871. package/node_modules/@m0saic/template-utils/dist/lattice/smooth.js +1 -0
  872. package/node_modules/@m0saic/template-utils/dist/lattice/splitCounts.js +1 -0
  873. package/node_modules/@m0saic/template-utils/dist/layout/index.js +1 -0
  874. package/node_modules/@m0saic/template-utils/dist/layout/latticeCellInset.js +1 -0
  875. package/node_modules/@m0saic/template-utils/dist/layout/parseMosaicLayout.js +1 -0
  876. package/node_modules/@m0saic/template-utils/dist/layout/placeInsetPieces.js +1 -0
  877. package/node_modules/@m0saic/template-utils/dist/layout/placeOptimizedPieces.js +1 -0
  878. package/node_modules/@m0saic/template-utils/dist/m0saic/assetPath.js +1 -0
  879. package/node_modules/@m0saic/template-utils/dist/m0saic/build-overlay-stack.js +1 -0
  880. package/node_modules/@m0saic/template-utils/dist/m0saic/index.js +1 -0
  881. package/node_modules/@m0saic/template-utils/dist/m0saic/loadSession.js +1 -0
  882. package/node_modules/@m0saic/template-utils/dist/m0saic/readLayoutFile.js +1 -0
  883. package/node_modules/@m0saic/template-utils/dist/m0saic/utils.js +1 -0
  884. package/node_modules/@m0saic/template-utils/dist/media/buildStepNames.js +1 -0
  885. package/node_modules/@m0saic/template-utils/dist/media/canvasRegions.js +1 -0
  886. package/node_modules/@m0saic/template-utils/dist/media/computeFrameCount.js +1 -0
  887. package/node_modules/@m0saic/template-utils/dist/media/defaultMedia.js +1 -0
  888. package/node_modules/@m0saic/template-utils/dist/media/determineMediaType.js +1 -0
  889. package/node_modules/@m0saic/template-utils/dist/media/index.js +1 -0
  890. package/node_modules/@m0saic/template-utils/dist/media/timeRanges.js +1 -0
  891. package/node_modules/@m0saic/template-utils/dist/media/timedCues.js +1 -0
  892. package/node_modules/@m0saic/template-utils/dist/primitives/girdlines.js +1 -0
  893. package/node_modules/@m0saic/template-utils/dist/primitives/index.js +1 -0
  894. package/node_modules/@m0saic/template-utils/dist/primitives/lavfiStrip.js +1 -0
  895. package/node_modules/@m0saic/template-utils/dist/primitives/transparentSlot.js +1 -0
  896. package/node_modules/@m0saic/template-utils/dist/print/compliance.js +1 -0
  897. package/node_modules/@m0saic/template-utils/dist/print/dieline.js +1 -0
  898. package/node_modules/@m0saic/template-utils/dist/print/dpiCheck.js +1 -0
  899. package/node_modules/@m0saic/template-utils/dist/print/index.js +1 -0
  900. package/node_modules/@m0saic/template-utils/dist/print/latticeSnap.js +1 -0
  901. package/node_modules/@m0saic/template-utils/dist/print/units.js +1 -0
  902. package/node_modules/@m0saic/template-utils/dist/processRegistry.js +1 -0
  903. package/node_modules/@m0saic/template-utils/dist/render/autoCompactRenderable.js +1 -0
  904. package/node_modules/@m0saic/template-utils/dist/render/createDesignContext.js +1 -0
  905. package/node_modules/@m0saic/template-utils/dist/render/finalizeRenderable.js +1 -0
  906. package/node_modules/@m0saic/template-utils/dist/render/index.js +1 -0
  907. package/node_modules/@m0saic/template-utils/dist/render/renderNestedTemplate.js +1 -0
  908. package/node_modules/@m0saic/template-utils/dist/render/renderTemplateCover.js +1 -0
  909. package/node_modules/@m0saic/template-utils/dist/render/renderTemplateLite.js +1 -0
  910. package/node_modules/@m0saic/template-utils/dist/render/renderTemplateToRenderableFile.js +3 -0
  911. package/node_modules/@m0saic/template-utils/dist/render/renderTemplateTutorial.js +1 -0
  912. package/node_modules/@m0saic/template-utils/dist/render/stampOutput.js +1 -0
  913. package/node_modules/@m0saic/template-utils/dist/seededRng.js +1 -0
  914. package/node_modules/@m0saic/template-utils/dist/sources/index.js +1 -0
  915. package/node_modules/@m0saic/template-utils/dist/sources/makeColorTile.js +1 -0
  916. package/node_modules/@m0saic/template-utils/dist/sources/makeErrorMosaic.js +2 -0
  917. package/node_modules/@m0saic/template-utils/dist/sources/makeStubMosaic.js +1 -0
  918. package/node_modules/@m0saic/template-utils/dist/sources/solidBackground.js +1 -0
  919. package/node_modules/@m0saic/template-utils/dist/sources/svgTextSource.js +1 -0
  920. package/node_modules/@m0saic/template-utils/dist/stamp/index.js +1 -0
  921. package/node_modules/@m0saic/template-utils/dist/stamp/stampLayout.js +1 -0
  922. package/node_modules/@m0saic/template-utils/dist/stamp/stampOnMedia.js +1 -0
  923. package/node_modules/@m0saic/template-utils/dist/stamp/stampWindows.js +1 -0
  924. package/node_modules/@m0saic/template-utils/dist/template/auditDefaultProps.js +3 -0
  925. package/node_modules/@m0saic/template-utils/dist/template/auditRenderedTemplate.js +5 -0
  926. package/node_modules/@m0saic/template-utils/dist/template/auditRepoConventions.js +1 -0
  927. package/node_modules/@m0saic/template-utils/dist/template/auditSchemaConventions.js +1 -0
  928. package/node_modules/@m0saic/template-utils/dist/template/defineMosaicTemplate.js +1 -0
  929. package/node_modules/@m0saic/template-utils/dist/template/definePropsSchema.js +1 -0
  930. package/node_modules/@m0saic/template-utils/dist/template/index.js +1 -0
  931. package/node_modules/@m0saic/template-utils/dist/template/layoutFingerprintFile.js +1 -0
  932. package/node_modules/@m0saic/template-utils/dist/template/resolveTemplateOutputHints.js +1 -0
  933. package/node_modules/@m0saic/template-utils/dist/template/templateConventions.js +6 -0
  934. package/node_modules/@m0saic/template-utils/dist/template/templateOriginScope.js +1 -0
  935. package/node_modules/@m0saic/template-utils/dist/template/templateRegistry.js +3 -0
  936. package/node_modules/@m0saic/template-utils/dist/template/validateTemplateProps.js +1 -0
  937. package/node_modules/@m0saic/template-utils/dist/text/fitText.js +10 -0
  938. package/node_modules/@m0saic/template-utils/dist/text/index.js +1 -0
  939. package/node_modules/@m0saic/template-utils/dist/text/textToPath.js +1 -0
  940. package/node_modules/@m0saic/template-utils/dist/text/wrapText.js +1 -0
  941. package/node_modules/@m0saic/template-utils/dist/theming/index.js +1 -0
  942. package/node_modules/@m0saic/template-utils/dist/theming/resolveThemeTokens.js +1 -0
  943. package/node_modules/@m0saic/template-utils/dist/theming/theming.js +1 -0
  944. package/node_modules/@m0saic/template-utils/dist/transitions.js +1 -0
  945. package/node_modules/@m0saic/template-utils/package.json +6 -0
  946. package/node_modules/@m0saic/templates/LICENSE +13 -0
  947. package/node_modules/@m0saic/templates/dist/freeze.js +8 -0
  948. package/node_modules/@m0saic/templates/dist/index.js +1 -0
  949. package/node_modules/@m0saic/templates/dist/m0saic/_shared/onboarding-cover.js +1 -0
  950. package/node_modules/@m0saic/templates/dist/m0saic/_shared/raster.js +1 -0
  951. package/node_modules/@m0saic/templates/dist/m0saic/_shared/svgRaster.js +1 -0
  952. package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/index.js +1 -0
  953. package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v1/commit-feed.js +1 -0
  954. package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v1/index.js +1 -0
  955. package/node_modules/@m0saic/templates/dist/m0saic/agents/index.js +1 -0
  956. package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/index.js +1 -0
  957. package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v1/index.js +1 -0
  958. package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v1/trace-timeline.js +1 -0
  959. package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-anim.js +1 -0
  960. package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-card.js +1 -0
  961. package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-glyphs.js +1 -0
  962. package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-theme.js +1 -0
  963. package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v1/bar-graph.js +1 -0
  964. package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v1/index.js +1 -0
  965. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v1/commit-feed.js +1 -0
  966. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v1/index.js +1 -0
  967. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v2/commit-feed.js +1 -0
  968. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v2/index.js +1 -0
  969. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/assets/layout-lite.m0 +9 -0
  970. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/assets/layout-standard.m0 +9 -0
  971. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/contributor-table.js +1 -0
  972. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/index.js +1 -0
  973. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v1/donut.js +1 -0
  974. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v1/index.js +1 -0
  975. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v2/donut.js +1 -0
  976. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v2/index.js +1 -0
  977. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v3/donut.js +1 -0
  978. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v3/index.js +1 -0
  979. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v1/heatmap.js +1 -0
  980. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v1/index.js +1 -0
  981. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v2/heatmap.js +1 -0
  982. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v2/index.js +1 -0
  983. package/node_modules/@m0saic/templates/dist/m0saic/alpine/index.js +1 -0
  984. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v1/index.js +1 -0
  985. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v1/kpi-card.js +1 -0
  986. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v2/index.js +1 -0
  987. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v2/kpi-card.js +1 -0
  988. package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v1/index.js +1 -0
  989. package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v1/leaderboard.js +1 -0
  990. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v1/index.js +1 -0
  991. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v1/line-chart.js +1 -0
  992. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v2/index.js +1 -0
  993. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v2/line-chart.js +1 -0
  994. package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v1/index.js +1 -0
  995. package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v1/progress-card.js +1 -0
  996. package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v1/index.js +1 -0
  997. package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v1/stat-card.js +1 -0
  998. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v1/index.js +1 -0
  999. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v1/timeline.js +1 -0
  1000. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v2/index.js +1 -0
  1001. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v2/timeline.js +4 -0
  1002. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v1/index.js +1 -0
  1003. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v1/treemap.js +1 -0
  1004. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v2/index.js +1 -0
  1005. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v2/treemap.js +1 -0
  1006. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/battery/manifest.js +1 -0
  1007. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/index.js +1 -0
  1008. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/assets/m-logo.png +0 -0
  1009. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/assets/sample-session/benchmark.json +41 -0
  1010. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/index.js +1 -0
  1011. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/report.js +1 -0
  1012. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/benchmarkRun.js +1 -0
  1013. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/confirmation.js +1 -0
  1014. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/index.js +1 -0
  1015. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/renderScenario.js +1 -0
  1016. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/runner.js +4 -0
  1017. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/back-catalog.js +1 -0
  1018. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/business-card.js +1 -0
  1019. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/index.js +1 -0
  1020. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/layout.js +1 -0
  1021. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/camera.js +1 -0
  1022. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/caption.js +1 -0
  1023. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/community-m.js +1 -0
  1024. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/community-m.web.js +1 -0
  1025. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/gen-seed-piece.js +1 -0
  1026. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/geometry.js +1 -0
  1027. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/imageSize.node.js +1 -0
  1028. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/index.js +1 -0
  1029. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/loadPiece.node.js +1 -0
  1030. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/manifest.js +1 -0
  1031. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/mark.js +1 -0
  1032. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/paths.js +1 -0
  1033. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/piece.js +1 -0
  1034. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/pipeline.js +1 -0
  1035. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/preview.js +1 -0
  1036. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/props.js +1 -0
  1037. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/reveal.js +1 -0
  1038. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/seedPiece.js +2 -0
  1039. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/target.js +1 -0
  1040. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/timing.js +1 -0
  1041. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/webPiece.js +1 -0
  1042. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/wordmark.js +1 -0
  1043. package/node_modules/@m0saic/templates/dist/m0saic/brand/index.js +1 -0
  1044. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v1/index.js +1 -0
  1045. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v1/logo.js +1 -0
  1046. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v2/index.js +1 -0
  1047. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v2/logo.js +1 -0
  1048. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/index.js +1 -0
  1049. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/logo.js +1 -0
  1050. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/logo_runner.js +1 -0
  1051. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/brand-qr-with-logo.svg +8 -0
  1052. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.mp4 +0 -0
  1053. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.static.png +0 -0
  1054. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.mp4 +0 -0
  1055. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.static.png +0 -0
  1056. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/still/v1/index.js +1 -0
  1057. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.js +1 -0
  1058. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/index.js +1 -0
  1059. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.js +1 -0
  1060. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/windows.js +1 -0
  1061. package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/index.js +1 -0
  1062. package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/line.js +2 -0
  1063. package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/scale.js +1 -0
  1064. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/anim.js +1 -0
  1065. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/axis.js +1 -0
  1066. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/bar-graph.js +1 -0
  1067. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/defaults.js +1 -0
  1068. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/format.js +1 -0
  1069. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/index.js +1 -0
  1070. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.js +1 -0
  1071. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.js +1 -0
  1072. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.js +1 -0
  1073. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.js +1 -0
  1074. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/labels.js +1 -0
  1075. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/plot-area.js +1 -0
  1076. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/types.js +1 -0
  1077. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v2/bar-graph.js +1 -0
  1078. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v2/index.js +1 -0
  1079. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/anim.js +1 -0
  1080. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/donut.js +1 -0
  1081. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/geometry.js +1 -0
  1082. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/index.js +1 -0
  1083. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v2/donut.js +1 -0
  1084. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v2/index.js +1 -0
  1085. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/anim.js +1 -0
  1086. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/donut.js +1 -0
  1087. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/geometry.js +1 -0
  1088. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/index.js +1 -0
  1089. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v4/donut.js +1 -0
  1090. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v4/index.js +1 -0
  1091. package/node_modules/@m0saic/templates/dist/m0saic/charts/index.js +1 -0
  1092. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/anim.js +1 -0
  1093. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/axis.js +1 -0
  1094. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/card.js +1 -0
  1095. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/chrome-spec.js +1 -0
  1096. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/chrome.js +1 -0
  1097. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/defaults.js +1 -0
  1098. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/format.js +1 -0
  1099. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/frame.js +1 -0
  1100. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/geometry.js +1 -0
  1101. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/index.js +1 -0
  1102. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/line-chart.js +1 -0
  1103. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/line-series.js +1 -0
  1104. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/types.js +1 -0
  1105. package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v1/index.js +1 -0
  1106. package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v1/stat-card.js +1 -0
  1107. package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-diff.js +1 -0
  1108. package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-lexer.js +3 -0
  1109. package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-metrics.js +1 -0
  1110. package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-theme.js +1 -0
  1111. package/node_modules/@m0saic/templates/dist/m0saic/code/index.js +1 -0
  1112. package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/chrome.js +1 -0
  1113. package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/plan.js +1 -0
  1114. package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/steps.js +1 -0
  1115. package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/snippet-morph.js +3 -0
  1116. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/demo-fixture.js +1 -0
  1117. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/emit.js +1 -0
  1118. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/image-collage.js +1 -0
  1119. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/index.js +1 -0
  1120. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/candidates.js +1 -0
  1121. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/classify.js +1 -0
  1122. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/index.js +1 -0
  1123. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/paging.js +1 -0
  1124. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/score.js +1 -0
  1125. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/solve.js +1 -0
  1126. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/tiler.js +1 -0
  1127. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/types.js +1 -0
  1128. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/tutorial.js +1 -0
  1129. package/node_modules/@m0saic/templates/dist/m0saic/collage/index.js +1 -0
  1130. package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.js +1 -0
  1131. package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/index.js +1 -0
  1132. package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.js +1 -0
  1133. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/index.js +1 -0
  1134. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.js +1 -0
  1135. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.js +1 -0
  1136. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.js +1 -0
  1137. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.js +1 -0
  1138. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.js +1 -0
  1139. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/index.js +1 -0
  1140. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.js +1 -0
  1141. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.js +1 -0
  1142. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.js +1 -0
  1143. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.js +1 -0
  1144. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.js +2 -0
  1145. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/camera.js +1 -0
  1146. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.js +1 -0
  1147. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.js +1 -0
  1148. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.js +1 -0
  1149. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/timing.js +1 -0
  1150. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/theme/tokens.js +1 -0
  1151. package/node_modules/@m0saic/templates/dist/m0saic/forensic/index.js +1 -0
  1152. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/_shared/cellLuminance.js +1 -0
  1153. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/index.js +1 -0
  1154. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/index.js +1 -0
  1155. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/decode.js +1 -0
  1156. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/index.js +1 -0
  1157. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/report.js +1 -0
  1158. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/verify.js +1 -0
  1159. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/index.js +1 -0
  1160. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.js +1 -0
  1161. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/index.js +1 -0
  1162. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/maskAsset.js +1 -0
  1163. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/probeHost.js +1 -0
  1164. package/node_modules/@m0saic/templates/dist/m0saic/github/client.js +1 -0
  1165. package/node_modules/@m0saic/templates/dist/m0saic/github/connection.js +1 -0
  1166. package/node_modules/@m0saic/templates/dist/m0saic/github/index.js +1 -0
  1167. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/index.js +1 -0
  1168. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.js +2 -0
  1169. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/facts.js +1 -0
  1170. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.js +1 -0
  1171. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.js +1 -0
  1172. package/node_modules/@m0saic/templates/dist/m0saic/github/week-math.js +1 -0
  1173. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse/index.js +1 -0
  1174. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.js +1 -0
  1175. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/index.js +1 -0
  1176. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.js +1 -0
  1177. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.js +1 -0
  1178. package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/index.js +1 -0
  1179. package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v1/index.js +1 -0
  1180. package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v1/year-card.js +1 -0
  1181. package/node_modules/@m0saic/templates/dist/m0saic/hello-world/index.js +1 -0
  1182. package/node_modules/@m0saic/templates/dist/m0saic/hello-world/v1/hello-world.js +1 -0
  1183. package/node_modules/@m0saic/templates/dist/m0saic/hello-world/v1/index.js +1 -0
  1184. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg-logo.png +0 -0
  1185. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg_logo_480x480.svg +1 -0
  1186. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/m-hero.png +0 -0
  1187. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/qr-fin.mp4 +0 -0
  1188. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-desktop.mp4 +0 -0
  1189. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-layout.m0p +5146 -0
  1190. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-mobile.mp4 +0 -0
  1191. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-square.mp4 +0 -0
  1192. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/title-layout.m0p +130 -0
  1193. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.js +1 -0
  1194. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.js +1 -0
  1195. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.js +1 -0
  1196. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.js +1 -0
  1197. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.js +1 -0
  1198. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.js +1 -0
  1199. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.js +1 -0
  1200. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.js +1 -0
  1201. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.js +1 -0
  1202. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.js +1 -0
  1203. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.js +1 -0
  1204. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.js +1 -0
  1205. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.js +1 -0
  1206. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/index.js +1 -0
  1207. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.js +1 -0
  1208. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.js +1 -0
  1209. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.js +1 -0
  1210. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.js +1 -0
  1211. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.js +1 -0
  1212. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.js +1 -0
  1213. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.js +1 -0
  1214. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.js +1 -0
  1215. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.js +1 -0
  1216. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.js +1 -0
  1217. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.js +1 -0
  1218. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.js +1 -0
  1219. package/node_modules/@m0saic/templates/dist/m0saic/hero/index.js +1 -0
  1220. package/node_modules/@m0saic/templates/dist/m0saic/index.js +1 -0
  1221. package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v1/barcode.js +1 -0
  1222. package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v1/index.js +1 -0
  1223. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/index.js +1 -0
  1224. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/blur-regions.js +1 -0
  1225. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/index.js +1 -0
  1226. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/plan.js +1 -0
  1227. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/tutorial.js +1 -0
  1228. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/index.js +1 -0
  1229. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/highlights.js +1 -0
  1230. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/index.js +1 -0
  1231. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/pipeline.js +1 -0
  1232. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/plan.js +1 -0
  1233. package/node_modules/@m0saic/templates/dist/m0saic/media/index.js +1 -0
  1234. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/index.js +1 -0
  1235. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/default-logo.js +35 -0
  1236. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/expressions.js +1 -0
  1237. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/index.js +1 -0
  1238. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/layout.js +1 -0
  1239. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/logo-animate.js +1 -0
  1240. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/svg-source.js +1 -0
  1241. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/tutorial.js +1 -0
  1242. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/index.js +1 -0
  1243. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/format-date.js +1 -0
  1244. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/index.js +1 -0
  1245. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.js +1 -0
  1246. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/_shared/brandMCenter.js +1 -0
  1247. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/expressions.js +1 -0
  1248. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/index.js +1 -0
  1249. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/qr-animate.js +1 -0
  1250. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v2/index.js +1 -0
  1251. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v2/qr-animate.js +1 -0
  1252. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/basic/v1/index.js +1 -0
  1253. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/basic/v1/qr.js +1 -0
  1254. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v1/index.js +1 -0
  1255. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v1/qr-code.js +1 -0
  1256. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/index.js +1 -0
  1257. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/rounded/v1/index.js +1 -0
  1258. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/rounded/v1/qr-rounded.js +1 -0
  1259. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.js +1 -0
  1260. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/expressions.js +1 -0
  1261. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/gleamBand.js +19 -0
  1262. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/index.js +1 -0
  1263. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.js +1 -0
  1264. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/index.js +1 -0
  1265. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/internal/index.js +1 -0
  1266. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/internal/info_pane.js +1 -0
  1267. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v1/index.js +1 -0
  1268. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v1/screencap-grid.js +3 -0
  1269. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/assets/tutorial-sheet.jpg +0 -0
  1270. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/index.js +1 -0
  1271. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.js +1 -0
  1272. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.js +1 -0
  1273. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.js +1 -0
  1274. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid.js +4 -0
  1275. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/index.js +1 -0
  1276. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/assets/pair-sheet.jpg +0 -0
  1277. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.js +1 -0
  1278. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.js +1 -0
  1279. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.js +1 -0
  1280. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.js +3 -0
  1281. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/index.js +1 -0
  1282. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/geometry.js +1 -0
  1283. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/index.js +1 -0
  1284. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/motion.js +1 -0
  1285. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/scroll-wall.js +1 -0
  1286. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/index.js +1 -0
  1287. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/index.js +1 -0
  1288. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.js +1 -0
  1289. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.js +4 -0
  1290. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/index.js +1 -0
  1291. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/index.js +1 -0
  1292. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/pipeline.js +1 -0
  1293. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/plan.js +1 -0
  1294. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/sidecars.js +7 -0
  1295. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/trickplay.js +1 -0
  1296. package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/index.js +1 -0
  1297. package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v1/index.js +1 -0
  1298. package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.js +1 -0
  1299. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/index.js +1 -0
  1300. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/adaptive.js +1 -0
  1301. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/content.js +1 -0
  1302. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/geometry.js +2 -0
  1303. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/index.js +1 -0
  1304. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/pageGrid.js +1 -0
  1305. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/pipeline.js +1 -0
  1306. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/watermark.js +1 -0
  1307. package/node_modules/@m0saic/templates/dist/m0saic/meta/camera-debug/index.js +1 -0
  1308. package/node_modules/@m0saic/templates/dist/m0saic/meta/camera-debug/v1/camera-debug.js +1 -0
  1309. package/node_modules/@m0saic/templates/dist/m0saic/meta/fixture-fetcher/index.js +1 -0
  1310. package/node_modules/@m0saic/templates/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.js +1 -0
  1311. package/node_modules/@m0saic/templates/dist/m0saic/meta/hot-reload-smoke/index.js +1 -0
  1312. package/node_modules/@m0saic/templates/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.js +1 -0
  1313. package/node_modules/@m0saic/templates/dist/m0saic/meta/index.js +1 -0
  1314. package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/index.js +1 -0
  1315. package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/assets/human.png +0 -0
  1316. package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/assets/robot.png +0 -0
  1317. package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/post-mortem.js +1 -0
  1318. package/node_modules/@m0saic/templates/dist/m0saic/meta/upstream-echo/index.js +1 -0
  1319. package/node_modules/@m0saic/templates/dist/m0saic/meta/upstream-echo/v1/upstream-echo.js +1 -0
  1320. package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/index.js +1 -0
  1321. package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v1/grid.js +1 -0
  1322. package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v2/grid.js +1 -0
  1323. package/node_modules/@m0saic/templates/dist/m0saic/primitives/index.js +1 -0
  1324. package/node_modules/@m0saic/templates/dist/m0saic/social/index.js +1 -0
  1325. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/index.js +1 -0
  1326. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/index.js +1 -0
  1327. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/layout.js +4 -0
  1328. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/quote-card.js +1 -0
  1329. package/node_modules/@m0saic/templates/dist/m0saic/story/index.js +1 -0
  1330. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/index.js +1 -0
  1331. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/captions.js +5 -0
  1332. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/demo-fixture.js +1 -0
  1333. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/index.js +1 -0
  1334. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/kenburns.js +1 -0
  1335. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/layout.js +1 -0
  1336. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.js +4 -0
  1337. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/pipeline.js +2 -0
  1338. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/plan.js +2 -0
  1339. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/props.js +1 -0
  1340. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/scenes/body.js +2 -0
  1341. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/scenes/card.js +4 -0
  1342. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/theme.js +1 -0
  1343. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/document.js +1 -0
  1344. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/index.js +1 -0
  1345. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/page.js +1 -0
  1346. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/pages.js +1 -0
  1347. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/pipeline.js +1 -0
  1348. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/placeholder.js +1 -0
  1349. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/props.js +1 -0
  1350. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/scrapbook.js +1 -0
  1351. package/node_modules/@m0saic/templates/dist/m0saic/theming/index.js +1 -0
  1352. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/brand-m-glyph.js +1 -0
  1353. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/index.js +1 -0
  1354. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/theme-tokens.js +1 -0
  1355. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/theming.js +1 -0
  1356. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/token-sheet.js +1 -0
  1357. package/node_modules/@m0saic/templates/dist/m0saic/web/index.js +1 -0
  1358. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.js +2 -0
  1359. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/index.js +1 -0
  1360. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/layout.js +1 -0
  1361. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/page-skeleton.js +1 -0
  1362. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/sample-capture.js +1 -0
  1363. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/schema.js +1 -0
  1364. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/animated/v1/animated-wireframe.js +2 -0
  1365. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/animated/v1/index.js +1 -0
  1366. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v1/index.js +1 -0
  1367. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v1/wireframe.js +2 -0
  1368. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v2/index.js +1 -0
  1369. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v2/wireframe.js +1 -0
  1370. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/index.js +1 -0
  1371. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/utils/paperGrid.js +1 -0
  1372. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/utils/wireframeCell.js +2 -0
  1373. package/node_modules/@m0saic/templates/dist/registry.js +1 -0
  1374. package/node_modules/@m0saic/templates/dist/repo.js +1 -0
  1375. package/node_modules/@m0saic/templates/dist/template-registry.js +1 -0
  1376. package/node_modules/@m0saic/templates/dist/web.js +1 -0
  1377. package/node_modules/@m0saic/templates/dist/webTemplateIds.js +1 -0
  1378. package/node_modules/@m0saic/templates/package.json +6 -0
  1379. package/node_modules/@m0saic/templates/template-manifest.json +2015 -0
  1380. package/node_modules/@m0saic/templates/web-template-ids.json +84 -0
  1381. package/node_modules/@m0saic/templates-advanced/LICENSE +13 -0
  1382. package/node_modules/@m0saic/templates-advanced/README.md +5 -0
  1383. package/node_modules/@m0saic/templates-advanced/dist/index.js +1 -0
  1384. package/node_modules/@m0saic/templates-advanced/package.json +6 -0
  1385. package/node_modules/@m0saic/text/LICENSE +201 -0
  1386. package/node_modules/@m0saic/text/NOTICE +18 -0
  1387. package/node_modules/@m0saic/text/README.md +34 -0
  1388. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Bold.ttf +0 -0
  1389. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-BoldItalic.ttf +0 -0
  1390. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Italic.ttf +0 -0
  1391. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-OFL-1.1.txt +93 -0
  1392. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Regular.ttf +0 -0
  1393. package/node_modules/@m0saic/text/assets/fonts/Roboto-Bold.ttf +0 -0
  1394. package/node_modules/@m0saic/text/assets/fonts/Roboto-BoldItalic.ttf +0 -0
  1395. package/node_modules/@m0saic/text/assets/fonts/Roboto-Italic.ttf +0 -0
  1396. package/node_modules/@m0saic/text/assets/fonts/Roboto-Regular.LICENSE.txt +18 -0
  1397. package/node_modules/@m0saic/text/assets/fonts/Roboto-Regular.ttf +0 -0
  1398. package/node_modules/@m0saic/text/dist/bundledFonts.js +1 -0
  1399. package/node_modules/@m0saic/text/dist/fontCache.js +1 -0
  1400. package/node_modules/@m0saic/text/dist/fontRegistry.js +1 -0
  1401. package/node_modules/@m0saic/text/dist/index.js +1 -0
  1402. package/node_modules/@m0saic/text/dist/runsToPaths.js +1 -0
  1403. package/node_modules/@m0saic/text/dist/textToPath.js +3 -0
  1404. package/node_modules/@m0saic/text/package.json +6 -0
  1405. package/node_modules/@m0saic/types/LICENSE +201 -0
  1406. package/node_modules/@m0saic/types/NOTICE +13 -0
  1407. package/node_modules/@m0saic/types/README.md +28 -0
  1408. package/node_modules/@m0saic/types/assets/icons/mosaic.svg +36 -0
  1409. package/node_modules/@m0saic/types/assets/icons/mosaicx.svg +32 -0
  1410. package/node_modules/@m0saic/types/dist/analytics/consent.js +1 -0
  1411. package/node_modules/@m0saic/types/dist/analytics/event.js +1 -0
  1412. package/node_modules/@m0saic/types/dist/analytics/index.js +1 -0
  1413. package/node_modules/@m0saic/types/dist/analytics/redaction.js +1 -0
  1414. package/node_modules/@m0saic/types/dist/analytics/redactor.js +1 -0
  1415. package/node_modules/@m0saic/types/dist/analytics/sink.js +1 -0
  1416. package/node_modules/@m0saic/types/dist/analytics/usageMetrics.js +1 -0
  1417. package/node_modules/@m0saic/types/dist/asset/asset.js +1 -0
  1418. package/node_modules/@m0saic/types/dist/asset/index.js +1 -0
  1419. package/node_modules/@m0saic/types/dist/benchmark/index.js +1 -0
  1420. package/node_modules/@m0saic/types/dist/benchmark/session.js +1 -0
  1421. package/node_modules/@m0saic/types/dist/colors/ffmpegNamedColors.js +1 -0
  1422. package/node_modules/@m0saic/types/dist/colors/index.js +1 -0
  1423. package/node_modules/@m0saic/types/dist/colors/mosaicColor.js +1 -0
  1424. package/node_modules/@m0saic/types/dist/colors/parseMosaicColors.js +1 -0
  1425. package/node_modules/@m0saic/types/dist/community-m/community-m.js +1 -0
  1426. package/node_modules/@m0saic/types/dist/community-m/index.js +1 -0
  1427. package/node_modules/@m0saic/types/dist/defaults/audio.js +1 -0
  1428. package/node_modules/@m0saic/types/dist/defaults/color.js +1 -0
  1429. package/node_modules/@m0saic/types/dist/defaults/effects.js +1 -0
  1430. package/node_modules/@m0saic/types/dist/defaults/index.js +1 -0
  1431. package/node_modules/@m0saic/types/dist/defaults/media.js +1 -0
  1432. package/node_modules/@m0saic/types/dist/defaults/output-target.js +1 -0
  1433. package/node_modules/@m0saic/types/dist/defaults/pipeline.js +1 -0
  1434. package/node_modules/@m0saic/types/dist/defaults/placement.js +1 -0
  1435. package/node_modules/@m0saic/types/dist/defaults/text.js +1 -0
  1436. package/node_modules/@m0saic/types/dist/defaults/timing.js +1 -0
  1437. package/node_modules/@m0saic/types/dist/defaults/visual.js +1 -0
  1438. package/node_modules/@m0saic/types/dist/diagnostic/diagnostic.js +1 -0
  1439. package/node_modules/@m0saic/types/dist/diagnostic/index.js +1 -0
  1440. package/node_modules/@m0saic/types/dist/dictionary/dictionary.js +1 -0
  1441. package/node_modules/@m0saic/types/dist/dictionary/index.js +1 -0
  1442. package/node_modules/@m0saic/types/dist/document/document-pipeline.js +1 -0
  1443. package/node_modules/@m0saic/types/dist/document/document.js +1 -0
  1444. package/node_modules/@m0saic/types/dist/document/index.js +1 -0
  1445. package/node_modules/@m0saic/types/dist/document/mosaicx-document.js +1 -0
  1446. package/node_modules/@m0saic/types/dist/document/pipeline-helpers.js +1 -0
  1447. package/node_modules/@m0saic/types/dist/document/sidecars.js +1 -0
  1448. package/node_modules/@m0saic/types/dist/document/xfadeModes.js +1 -0
  1449. package/node_modules/@m0saic/types/dist/engine-context/engine-context.js +1 -0
  1450. package/node_modules/@m0saic/types/dist/engine-context/index.js +1 -0
  1451. package/node_modules/@m0saic/types/dist/host-connections/host-connections.js +1 -0
  1452. package/node_modules/@m0saic/types/dist/host-connections/index.js +1 -0
  1453. package/node_modules/@m0saic/types/dist/identifiers/identifiers.js +1 -0
  1454. package/node_modules/@m0saic/types/dist/identifiers/index.js +1 -0
  1455. package/node_modules/@m0saic/types/dist/index.js +1 -0
  1456. package/node_modules/@m0saic/types/dist/language/index.js +1 -0
  1457. package/node_modules/@m0saic/types/dist/language/language.js +1 -0
  1458. package/node_modules/@m0saic/types/dist/luminance/LuminanceBucket.js +1 -0
  1459. package/node_modules/@m0saic/types/dist/luminance/index.js +1 -0
  1460. package/node_modules/@m0saic/types/dist/meta/index.js +1 -0
  1461. package/node_modules/@m0saic/types/dist/meta/meta.js +1 -0
  1462. package/node_modules/@m0saic/types/dist/output/audio-config.js +1 -0
  1463. package/node_modules/@m0saic/types/dist/output/color-config.js +1 -0
  1464. package/node_modules/@m0saic/types/dist/output/container-metadata.js +1 -0
  1465. package/node_modules/@m0saic/types/dist/output/encode.js +1 -0
  1466. package/node_modules/@m0saic/types/dist/output/format.js +1 -0
  1467. package/node_modules/@m0saic/types/dist/output/index.js +1 -0
  1468. package/node_modules/@m0saic/types/dist/output/output.js +1 -0
  1469. package/node_modules/@m0saic/types/dist/output/target.js +1 -0
  1470. package/node_modules/@m0saic/types/dist/primitives/index.js +1 -0
  1471. package/node_modules/@m0saic/types/dist/primitives/primitives.js +1 -0
  1472. package/node_modules/@m0saic/types/dist/secrets/index.js +1 -0
  1473. package/node_modules/@m0saic/types/dist/secrets/secrets.js +1 -0
  1474. package/node_modules/@m0saic/types/dist/source/effectKeys.js +1 -0
  1475. package/node_modules/@m0saic/types/dist/source/index.js +1 -0
  1476. package/node_modules/@m0saic/types/dist/source/source.js +1 -0
  1477. package/node_modules/@m0saic/types/dist/telemetry/category.js +1 -0
  1478. package/node_modules/@m0saic/types/dist/telemetry/emit.js +1 -0
  1479. package/node_modules/@m0saic/types/dist/telemetry/event.js +1 -0
  1480. package/node_modules/@m0saic/types/dist/telemetry/ffmpegFailure.js +4 -0
  1481. package/node_modules/@m0saic/types/dist/telemetry/index.js +1 -0
  1482. package/node_modules/@m0saic/types/dist/telemetry/level.js +1 -0
  1483. package/node_modules/@m0saic/types/dist/telemetry/personas.js +1 -0
  1484. package/node_modules/@m0saic/types/dist/telemetry/record.js +1 -0
  1485. package/node_modules/@m0saic/types/dist/telemetry/sink.js +1 -0
  1486. package/node_modules/@m0saic/types/dist/telemetry/usage.js +1 -0
  1487. package/node_modules/@m0saic/types/dist/telemetry-settings/index.js +1 -0
  1488. package/node_modules/@m0saic/types/dist/telemetry-settings/mode.js +1 -0
  1489. package/node_modules/@m0saic/types/dist/telemetry-settings/settings.js +1 -0
  1490. package/node_modules/@m0saic/types/dist/telemetry-settings/upstream.js +1 -0
  1491. package/node_modules/@m0saic/types/dist/template/forensic-watermark-check.js +1 -0
  1492. package/node_modules/@m0saic/types/dist/template/forensic-watermark.js +1 -0
  1493. package/node_modules/@m0saic/types/dist/template/index.js +1 -0
  1494. package/node_modules/@m0saic/types/dist/template/region.js +1 -0
  1495. package/node_modules/@m0saic/types/dist/template/template.js +1 -0
  1496. package/node_modules/@m0saic/types/dist/template/time-range.js +1 -0
  1497. package/node_modules/@m0saic/types/dist/template/time-window.js +1 -0
  1498. package/node_modules/@m0saic/types/dist/template/timed-cue.js +1 -0
  1499. package/node_modules/@m0saic/types/dist/template-repo/index.js +1 -0
  1500. package/node_modules/@m0saic/types/dist/template-repo/template-repo.js +1 -0
  1501. package/node_modules/@m0saic/types/dist/theme/index.js +1 -0
  1502. package/node_modules/@m0saic/types/dist/theme/theme.js +1 -0
  1503. package/node_modules/@m0saic/types/package.json +6 -0
  1504. package/node_modules/@m0saic/types/schemas/mosaic.schema.json +771 -0
  1505. package/node_modules/@m0saic/types-internal/LICENSE +7 -0
  1506. package/node_modules/@m0saic/types-internal/dist/analytics/featureKeys.js +1 -0
  1507. package/node_modules/@m0saic/types-internal/dist/analytics/webEvent.js +1 -0
  1508. package/node_modules/@m0saic/types-internal/dist/index.js +1 -0
  1509. package/node_modules/@m0saic/types-internal/package.json +6 -0
  1510. package/package.json +49 -8
@@ -0,0 +1 @@
1
+ "use strict";var t=Object.defineProperty;var r=(e,a)=>t(e,"name",{value:a,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.ChartsBarGraph=void 0,require("./internal/chart-frame"),require("./internal/plot-area"),require("./internal/bars-stack"),require("./internal/bar-cell"),require("./internal/bar-fill"),require("./internal/labels");var bar_graph_1=require("./bar-graph");Object.defineProperty(exports,"ChartsBarGraph",{enumerable:!0,get:r(function(){return bar_graph_1.ChartsBarGraph},"get")});
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BarCell=exports.BAR_CELL_TEMPLATE_ID=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),defaults_1=require("../defaults"),format_1=require("../format");exports.BAR_CELL_TEMPLATE_ID=(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/internal/bar-cell/v1");const propsSchema=(0,template_utils_1.definePropsSchema)({axisConfig:{type:"group",required:!0,description:"Resolved axis configuration (docks + fillAxis info)."},fraction:{type:"number",required:!0,description:"Domain-normalized fill fraction (0..1).",meta:{constraints:{min:0,max:1}}},value:{type:"number",required:!0,description:"Raw numeric value for this bar (label formatting)."},label:{meta:{control:{placeholder:"none"}},type:"string",required:!1,description:"Optional category label for this bar."},minValue:{type:"number",required:!0,description:"Resolved domain min (for percent value-label formatting)."},maxValue:{type:"number",required:!0,description:"Resolved domain max (for percent value-label formatting)."},color:{type:"string",required:!0,description:"Resolved per-bar fill color.",meta:{constraints:{isColor:!0},control:{colorPicker:!0}}},index:{type:"number",required:!0,description:"Zero-based bar index (used for stagger timing).",meta:{constraints:{min:0}}},highlighted:{type:"boolean",required:!0,description:"Whether this bar is highlighted (neutral emphasis)."},track:{type:"group",required:!0,description:"Track display configuration (show/hide)."},valueLabels:{type:"group",required:!0,description:"Value label display configuration (show/format/decimals)."},anim:{type:"group",required:!0,description:"Animation configuration forwarded to BarFill."},cornerRadius:{type:"number",required:!0,description:"Geometric radius fraction (0..1) shared by track + fill.",meta:{constraints:{min:0,max:1}}}});exports.BarCell={id:exports.BAR_CELL_TEMPLATE_ID,label:"Bar Graph \u2014 Bar Cell (internal)",version:1,internal:!0,deprecated:{reason:"Internal piece of the deprecated 5-deep bar-graph/v1 nested composition; bar-graph/v2 renders the same chart as one flat document.",replacement:(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/v2"),since:"2026-09-16"},description:"Internal: composes track + BarFill + optional labels for a single bar.",capabilities:{tier:"core"},tags:["data-viz","bar-graph","internal","bar-cell"],propsSchema,defaultProps:{axisConfig:{fillAxis:"y",layoutAxis:"x",labelDock:"bottom",valueDock:"top",gridDirection:"horizontal",baselineEdge:"bottom"},fraction:.5,value:50,label:void 0,minValue:0,maxValue:100,color:"#f97316",index:0,highlighted:!1,track:defaults_1.DEFAULT_TRACK,valueLabels:defaults_1.DEFAULT_VALUE_LABELS,anim:defaults_1.DEFAULT_ANIM,cornerRadius:defaults_1.DEFAULT_CORNER_RADIUS},async render(e,r){const t={};t.fill=await(0,template_utils_1.renderNestedTemplate)("@m0saic/charts/bar-graph/internal/bar-fill/v1",{axisConfig:e.axisConfig,fraction:e.fraction,color:e.color,index:e.index,anim:e.anim,cornerRadius:e.cornerRadius},r);const i=e.axisConfig.fillAxis==="y",a={type:"mosaic",ref:"fill"};if(!e.valueLabels.show)return{kind:"mosaic_document",version:1,sources:[a],assets:{},m0:"1",fps:r.target.fps,durationMs:r.target.durationMs,children:t};const n=(0,format_1.formatValue)(e.value,e.valueLabels.format,e.valueLabels.decimals,{max:e.maxValue},e.valueLabels.suffix),l=Math.max(12,Math.round(r.output.height*.024)),o={type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:n},style:{fontSize:l,fontColor:"#ffffff"},placement:{fit:"contain",hAlign:"center",vAlign:"middle"}}]},s=i?[o,a]:[a,o],c=i?(0,dsl_stdlib_1.weightedSplit)([3,17],"row"):(0,dsl_stdlib_1.weightedSplit)([17,3],"col");return{kind:"mosaic_document",version:1,sources:s,assets:{},m0:c,fps:r.target.fps,durationMs:r.target.durationMs,children:t}}},(0,template_utils_1.registerTemplate)(exports.BarCell);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BarFill=exports.BAR_FILL_TEMPLATE_ID=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),defaults_1=require("../defaults"),anim_1=require("../anim");exports.BAR_FILL_TEMPLATE_ID=(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/internal/bar-fill/v1");const propsSchema=(0,template_utils_1.definePropsSchema)({axisConfig:{type:"group",required:!0,description:"Resolved axis configuration (fillAxis/layoutAxis/docks)."},fraction:{type:"number",required:!0,description:"Target fill fraction (0..1) from domain normalization.",meta:{constraints:{min:0,max:1}}},color:{type:"string",required:!0,description:"Fill color.",meta:{constraints:{isColor:!0},control:{colorPicker:!0}}},index:{type:"number",required:!0,description:"Bar index (0-based) used for stagger timing.",meta:{constraints:{min:0}}},anim:{type:"group",required:!0,description:"Animation config (intro timing, easing, reduceMotion)."},cornerRadius:{type:"number",required:!0,description:"Geometric radius fraction (0..1) for the leading edge of the fill.",meta:{constraints:{min:0,max:1}}}});exports.BarFill={id:exports.BAR_FILL_TEMPLATE_ID,label:"Bar Graph \u2014 Bar Fill (internal)",version:1,internal:!0,deprecated:{reason:"Internal piece of the deprecated 5-deep bar-graph/v1 nested composition; bar-graph/v2 renders the same chart as one flat document.",replacement:(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/v2"),since:"2026-09-16"},description:"Internal leaf: sole owner of FFmpeg expressions for animated bar fill.",capabilities:{tier:"core"},tags:["data-viz","bar-graph","internal","bar-fill","animated"],propsSchema,defaultProps:{axisConfig:{fillAxis:"y",layoutAxis:"x",labelDock:"bottom",valueDock:"top",gridDirection:"horizontal",baselineEdge:"bottom"},fraction:.5,color:"#f97316",index:0,anim:defaults_1.DEFAULT_ANIM,cornerRadius:.15},async render(e,i){const o=(0,anim_1.computeBarTiming)(e.index,e.anim),s=e.anim.intro.durationSec,t=e.anim.reduceMotion,l=(0,template_utils_1.u01)(s),r=t?"1":(0,anim_1.easingExpr)(e.anim.intro.ease,l),c=t?"1":r,d=t?0:o.startAtSec;let a="0",n="0";e.axisConfig.fillAxis==="y"?n=`h-(h*${e.fraction})*(${r})`:a=`(w*${e.fraction})*(${r})-w`;const u={type:"lavfi",fitMode:"tile",lavfi:`color=${e.color}`,overlay:{startAtSec:d,alpha:c,xExpr:a,yExpr:n}};return{kind:"mosaic_document",version:1,assets:{},m0:"1{1}",sources:[{type:"lavfi",fitMode:"tile",lavfi:"color=black@0"},u],fps:i.target.fps,durationMs:i.target.durationMs}}},(0,template_utils_1.registerTemplate)(exports.BarFill);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BarsStack=exports.BARS_STACK_TEMPLATE_ID=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),defaults_1=require("../defaults");exports.BARS_STACK_TEMPLATE_ID=(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/internal/bars-stack/v1");const propsSchema=(0,template_utils_1.definePropsSchema)({axisConfig:{type:"group",required:!0,description:"Resolved axis configuration (layoutAxis determines split direction)."},values:{type:"number[]",required:!0,description:"Raw data values (one per bar)."},fractions:{type:"number[]",required:!0,description:"Domain-normalized [0..1] fill fractions for each bar."},minValue:{type:"number",required:!0,description:"Resolved domain min (for future label/tick formatting)."},maxValue:{type:"number",required:!0,description:"Resolved domain max (for future label/tick formatting)."},barColor:{type:"json",required:!0,description:"Bar color(s): single color or array (cycled per bar)."},gap:{type:"number",required:!0,description:"Gap between bars in pixels.",meta:{constraints:{min:0,max:256}}},barThickness:{type:"number",required:!1,description:"Optional fixed bar thickness in pixels (otherwise auto).",meta:{control:{placeholder:"auto (from gap)"},constraints:{min:1,max:4096}}},highlightIndex:{type:"number",required:!1,description:"Optional bar index to highlight.",meta:{control:{placeholder:"none"},constraints:{min:0}}},track:{type:"group",required:!0,description:"Track display configuration."},valueLabels:{type:"group",required:!0,description:"Value label display configuration."},labels:{type:"string[]",required:!1,description:"Optional category labels (index-aligned to values)."},anim:{type:"group",required:!0,description:"Animation configuration forwarded to BarCell/BarFill."},cornerRadius:{type:"number",required:!0,description:"Geometric radius fraction (0..1) forwarded to BarCell.",meta:{constraints:{min:0,max:1}}}});exports.BarsStack={id:exports.BARS_STACK_TEMPLATE_ID,label:"Bar Graph \u2014 Bars Stack (internal)",version:1,internal:!0,deprecated:{reason:"Internal piece of the deprecated 5-deep bar-graph/v1 nested composition; bar-graph/v2 renders the same chart as one flat document.",replacement:(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/v2"),since:"2026-09-16"},description:"Internal: layout container that arranges N BarCell children along the layout axis.",capabilities:{tier:"core"},tags:["data-viz","bar-graph","internal","bars-stack"],propsSchema,defaultProps:{axisConfig:{fillAxis:"y",layoutAxis:"x",labelDock:"bottom",valueDock:"top",gridDirection:"horizontal",baselineEdge:"bottom"},values:[35,60,85,45,70],fractions:[.41,.71,1,.53,.82],minValue:0,maxValue:85,barColor:"#f97316",gap:defaults_1.DEFAULT_GAP,barThickness:void 0,highlightIndex:void 0,track:defaults_1.DEFAULT_TRACK,valueLabels:defaults_1.DEFAULT_VALUE_LABELS,labels:void 0,anim:defaults_1.DEFAULT_ANIM,cornerRadius:defaults_1.DEFAULT_CORNER_RADIUS},async render(e,t){var s,o,u,c;const i=e.values.length;if(i<=0)return(0,template_utils_1.makeErrorMosaic)("BarsStack: values[] must be non-empty",{title:`${this.id}`,width:t.output.width,height:t.output.height});if(e.fractions.length!==i)return(0,template_utils_1.makeErrorMosaic)(`BarsStack: fractions[] length mismatch (values=${i}, fractions=${e.fractions.length})`,{title:`${this.id}`,width:t.output.width,height:t.output.height});if(e.labels&&e.labels.length!==i)return(0,template_utils_1.makeErrorMosaic)(`BarsStack: labels[] length mismatch (values=${i}, labels=${e.labels.length})`,{title:`${this.id}`,width:t.output.width,height:t.output.height});const r=(o=(s=t.rect)!==null&&s!==void 0?s:t.tileRect)!==null&&o!==void 0?o:null,b=(u=r?.width)!==null&&u!==void 0?u:t.output.width,f=(c=r?.height)!==null&&c!==void 0?c:t.output.height,n=e.axisConfig.layoutAxis!=="y",p=(0,template_utils_1.gridCellInset)({rows:n?1:i,cols:n?i:1,gridW:b,gridH:f,gapPx:e.gap,outerMargin:n?{x:!0,y:!1}:{x:!1,y:!0}}),d={},h=[],y="@m0saic/charts/bar-graph/internal/bar-cell/v1";for(let a=0;a<i;a++){const m=`bar-${a}`,l=e.barColor,A=Array.isArray(l)&&l.length>0?l[a%l.length]:l,_=await(0,template_utils_1.renderNestedTemplate)(y,{axisConfig:e.axisConfig,value:e.values[a],fraction:e.fractions[a],label:e.labels?e.labels[a]:void 0,index:a,highlighted:e.highlightIndex!=null?a===e.highlightIndex:!1,color:A,barThickness:e.barThickness,track:e.track,valueLabels:e.valueLabels,anim:e.anim,cornerRadius:e.cornerRadius,minValue:e.minValue,maxValue:e.maxValue},t);d[m]=_;const g=p(n?0:a,n?a:0);h.push({type:"mosaic",ref:m,...g?{placement:{inset:g}}:{}})}const v=n?"col":"row",x=(0,dsl_stdlib_1.container)(Array.from({length:i},()=>"1"),v);return{kind:"mosaic_document",version:1,sources:h,assets:{},m0:x,fps:t.target.fps,durationMs:t.target.durationMs,children:d}}},(0,template_utils_1.registerTemplate)(exports.BarsStack);
@@ -0,0 +1 @@
1
+ "use strict";var c=Object.defineProperty;var o=(e,t)=>c(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.ChartFrame=exports.CHART_FRAME_TEMPLATE_ID=void 0;const types_1=require("@m0saic/types"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils");exports.CHART_FRAME_TEMPLATE_ID=(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/internal/chart-frame/v1");function tokensForPreset(e){switch(e){case"dark":return{bg:"#0b0f14",card:"#0f172a",border:"#ffffff",borderAlpha:.08};case"terminal":return{bg:"#050505",card:"#0b0b0b",border:"#22c55e",borderAlpha:.18};case"glass":return{bg:"#0b0f14",card:"#111827",border:"#ffffff",borderAlpha:.1};case"paper":return{bg:"#f8fafc",card:"#ffffff",border:"#0f172a",borderAlpha:.1};case"neutral":default:return{bg:"#0b0f14",card:"#0f172a",border:"#ffffff",borderAlpha:.08}}}o(tokensForPreset,"tokensForPreset");const propsSchema=(0,template_utils_1.definePropsSchema)({padding:{type:"group",required:!0,description:"Outer padding as fractions of tile size (0..1): {top,right,bottom,left}."},cornerRadius:{type:"number",required:!0,description:"Geometric radius fraction (0..1) for the container.",meta:{constraints:{min:0,max:1}}},preset:{type:"string",required:!0,description:"Theme preset name (neutral|dark|terminal|glass|paper)."},plotAreaRef:{type:"string",required:!0,description:"Child renderable key for the inner PlotArea."}});exports.ChartFrame={id:exports.CHART_FRAME_TEMPLATE_ID,label:"Bar Graph \u2014 Chart Frame (internal)",version:1,internal:!0,deprecated:{reason:"Internal piece of the deprecated 5-deep bar-graph/v1 nested composition; bar-graph/v2 renders the same chart as one flat document.",replacement:(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/v2"),since:"2026-09-16"},description:"Internal: rounded card surface + inset PlotArea, with preset token resolution.",capabilities:{tier:"core"},tags:["data-viz","bar-graph","internal","frame"],propsSchema,defaultProps:{padding:{top:.04,right:.04,bottom:.04,left:.04},cornerRadius:.18,preset:"neutral",plotAreaRef:"plot-area"},async render(e,t){const a=tokensForPreset(e.preset);if(!e.plotAreaRef)return(0,template_utils_1.makeErrorMosaic)("plotAreaRef is required",{title:`${this.id} props`,width:t.output.width,height:t.output.height});const r=e.padding,s=[r.top,r.right,r.bottom,r.left].some(i=>typeof i!="number"||Number.isNaN(i)||i<0),n=r.left+r.right>=1,d=r.top+r.bottom>=1;return s||n||d?(0,template_utils_1.makeErrorMosaic)(`Invalid padding. Expected fractions (0..1) and (left+right)<1, (top+bottom)<1. Got: ${JSON.stringify(e.padding)}`,{title:`${this.id} props`,width:t.output.width,height:t.output.height}):{kind:"mosaic_document",version:1,assets:{},m0:(0,dsl_stdlib_1.toM0String)("F{F}","ChartFrame"),children:{},sources:[{type:"lavfi",color:a.card,effects:{rounding:{cornerStyle:"rounded",borderRadius:e.cornerRadius},stroke:{position:"inner",width:.002,color:a.border,alpha:a.borderAlpha+.02}}},{type:"mosaic",ref:e.plotAreaRef,placement:{inset:e.padding}}]}}},(0,template_utils_1.registerTemplate)(exports.ChartFrame);
@@ -0,0 +1 @@
1
+ "use strict";var P=Object.defineProperty;var d=(t,e)=>P(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.Labels=exports.LABELS_TEMPLATE_ID=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_2=require("@m0saic/template-utils"),defaults_1=require("../defaults"),format_1=require("../format");exports.LABELS_TEMPLATE_ID=(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/internal/labels/v1");const propsSchema=(0,template_utils_1.definePropsSchema)({axisConfig:{type:"group",required:!0,description:"Resolved axis configuration; drives orientation (vertical vs horizontal layout)."},title:{meta:{control:{placeholder:"none"}},type:"string",required:!1,description:"Chart title text."},subtitle:{meta:{control:{placeholder:"none"}},type:"string",required:!1,description:"Chart subtitle text."},labels:{type:"string[]",required:!1,description:"Per-bar category labels (rendered in the layout-axis band)."},values:{type:"number[]",required:!0,description:"Raw values (parallel to labels; bar count comes from values.length)."},minValue:{type:"number",required:!0,description:"Resolved domain min."},maxValue:{type:"number",required:!0,description:"Resolved domain max."},padding:{type:"group",required:!0,description:"Canvas-relative padding fractions; drive band weights in the m0 layout."},gap:{type:"number",required:!0,description:"Pixel gap between bars (forwarded)."},preset:{type:"string",required:!0,description:"Theme preset; drives label text color so labels stay legible.",meta:{constraints:{oneOf:["neutral","dark","terminal","glass","paper"]}}},valueLabels:{type:"group",required:!0,description:"Value label display config (drives tick formatting too)."},gridCount:{type:"number",required:!0,description:"Number of grid intervals; tick rail emits gridCount+1 ticks.",meta:{constraints:{min:1}}},showValueTicks:{type:"boolean",required:!0,description:"Whether to render the value-axis tick numbers in the rail."},plotAreaRef:{type:"string",required:!0,description:"Child renderable key for the plot area (BarsStack + grid + baseline + value axis)."}});function textTokensForPreset(t){switch(t){case"dark":return{title:"#f1f5f9",subtitle:"#94a3b8",category:"#cbd5e1",tick:"#94a3b8"};case"terminal":return{title:"#22c55e",subtitle:"#15803d",category:"#22c55e",tick:"#15803d"};case"glass":return{title:"#f1f5f9",subtitle:"#cbd5e1",category:"#cbd5e1",tick:"#94a3b8"};case"paper":return{title:"#0f172a",subtitle:"#475569",category:"#334155",tick:"#64748b"};case"neutral":default:return{title:"#f1f5f9",subtitle:"#94a3b8",category:"#cbd5e1",tick:"#94a3b8"}}}d(textTokensForPreset,"textTokensForPreset");const TITLE_FONT_FRAC=.046,SUBTITLE_FONT_FRAC=.022,CATEGORY_FONT_FRAC=.018,TICK_FONT_FRAC=.016,toBandWeight=d(t=>Math.max(1,Math.round(t*100)),"toBandWeight"),MIN_VERTICAL_TICK_RAIL_WEIGHT=8,MIN_HORIZONTAL_CAT_RAIL_WEIGHT=12,MIN_HORIZONTAL_TICK_BAND_WEIGHT=6,VERTICAL_TICK_RIGHT_PAD=.18,TICK_PITCH=97,TICK_SHARE=14/97;function tickRailWeights(t){const e=[0,-1,1,-2,2,-3,3,-4,4];for(const i of e){const s=TICK_PITCH+i,r=Math.round(s*TICK_SHARE);for(const o of e){const a=r+o,g=s-a;if(!(a<1||g<1)&&(0,template_utils_2.isSmooth)(t*a+(t-1)*g))return{tick:a,gap:g}}}return{tick:Math.round(TICK_PITCH*TICK_SHARE),gap:TICK_PITCH-Math.round(TICK_PITCH*TICK_SHARE)}}d(tickRailWeights,"tickRailWeights");function makeTextSource(t,e,i,s="center",r="middle",o){const a={fit:"contain",hAlign:s,vAlign:r};return o&&(a.padding=o),{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t},style:{fontSize:e,fontColor:i},placement:a}]}}d(makeTextSource,"makeTextSource");function makeTitleSubtitleSource(t){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t.title},style:{fontSize:t.titleFontSize,fontColor:t.titleColor},placement:{fit:"contain",hAlign:"center",vAlign:"top"}},{content:{kind:"literal",text:t.subtitle},style:{fontSize:t.subtitleFontSize,fontColor:t.subtitleColor},placement:{fit:"contain",hAlign:"center",vAlign:"bottom"}}]}}d(makeTitleSubtitleSource,"makeTitleSubtitleSource");function uniformRail(t,e){const i=Array.from({length:t},()=>"1");return(0,dsl_stdlib_1.container)(i,e)}d(uniformRail,"uniformRail");function tickRail(t,e){if(t<=0)return"-";if(t===1)return"1";const{tick:i,gap:s}=tickRailWeights(t),r=[],o=[];for(let a=0;a<t;a++)r.push(i),o.push("1"),a<t-1&&(r.push(s),o.push("-"));return(0,dsl_stdlib_1.weightedSplit)(r,e,{claimants:o,mode:"literal"})}d(tickRail,"tickRail");function tickValues(t,e,i,s){if(i<=1)return[e];const r=(e-t)/(i-1),o=[];for(let a=0;a<i;a++){const g=t+r*a;o.push(s==="leftRight"?g:e-r*a)}return o}d(tickValues,"tickValues"),exports.Labels={id:exports.LABELS_TEMPLATE_ID,label:"Bar Graph \u2014 Content Layout (internal)",version:1,internal:!0,deprecated:{reason:"Internal piece of the deprecated 5-deep bar-graph/v1 nested composition; bar-graph/v2 renders the same chart as one flat document.",replacement:(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/v2"),since:"2026-09-16"},description:"Internal: composes title, subtitle, category labels, value-axis ticks, and the plot area into the chart's banded m0 layout.",capabilities:{tier:"core"},tags:["data-viz","bar-graph","internal","labels","content-layout"],propsSchema,defaultProps:{axisConfig:{fillAxis:"y",layoutAxis:"x",labelDock:"bottom",valueDock:"top",gridDirection:"horizontal",baselineEdge:"bottom"},title:void 0,subtitle:void 0,labels:void 0,values:[35,60,85,45,70],minValue:0,maxValue:85,padding:{top:.067,right:.0375,bottom:.067,left:.0375},gap:18,preset:"neutral",valueLabels:defaults_1.DEFAULT_VALUE_LABELS,gridCount:5,showValueTicks:!0,plotAreaRef:"plot-area"},async render(t,e){const i=textTokensForPreset(t.preset),s=e.output.height,r=Math.max(12,Math.round(s*TITLE_FONT_FRAC)),o=Math.max(10,Math.round(s*SUBTITLE_FONT_FRAC)),a=Math.max(10,Math.round(s*CATEGORY_FONT_FRAC)),g=Math.max(9,Math.round(s*TICK_FONT_FRAC)),v=!!(t.title&&t.title.trim()!==""),R=!!(t.subtitle&&t.subtitle.trim()!==""),q=v||R,w=!!(t.labels&&t.labels.length>0),k=t.showValueTicks&&t.gridCount>=1,C=t.gridCount+1,F=t.axisConfig.fillAxis==="y",V=t.axisConfig.labelDock,c=[];let b=null;q&&(b="1",v&&R?c.push(makeTitleSubtitleSource({title:t.title,titleFontSize:r,titleColor:i.title,subtitle:t.subtitle,subtitleFontSize:o,subtitleColor:i.subtitle})):v?c.push(makeTextSource(t.title,r,i.title)):c.push(makeTextSource(t.subtitle,o,i.subtitle)));function S(n){const h=tickValues(t.minValue,t.maxValue,C,n),m=h.length;for(let l=0;l<m;l++){const u=h[l],_=(0,format_1.formatValue)(u,t.valueLabels.format,t.valueLabels.decimals,{max:t.maxValue},t.valueLabels.suffix);if(n==="topDown")c.push(makeTextSource(_,g,i.tick,"right","middle",{right:VERTICAL_TICK_RIGHT_PAD}));else{const L=l===0,f=l===m-1,N=L?"left":f?"right":"center";c.push(makeTextSource(_,g,i.tick,N,"top"))}}}d(S,"pushTicks");function I(n){var h,m;for(let l=0;l<n;l++){const u=(m=(h=t.labels)===null||h===void 0?void 0:h[l])!==null&&m!==void 0?m:"";c.push(makeTextSource(u,a,i.category))}}if(d(I,"pushCategorySources"),F){let n;const h=k?MIN_VERTICAL_TICK_RAIL_WEIGHT:0,m=100-h;k?(n=(0,dsl_stdlib_1.weightedSplit)([h,m],"col",{claimants:[tickRail(C,"row"),"1"]}),S("topDown"),c.push({type:"mosaic",ref:t.plotAreaRef})):(n="1",c.push({type:"mosaic",ref:t.plotAreaRef}));let l=null;if(w){const f=t.labels.length;k?l=(0,dsl_stdlib_1.weightedSplit)([h,m],"col",{claimants:["-",uniformRail(f,"col")]}):l=uniformRail(f,"col"),I(f)}const u=[];b&&u.push({weight:toBandWeight(t.padding.top),claimant:b});const _=Math.max(1,100-(b?toBandWeight(t.padding.top):0)-(l?toBandWeight(t.padding.bottom):0));u.push({weight:_,claimant:n}),l&&u.push({weight:toBandWeight(t.padding.bottom),claimant:l});const L=u.length===1?u[0].claimant:(0,dsl_stdlib_1.weightedSplit)(u.map(f=>f.weight),"row",{claimants:u.map(f=>f.claimant)});return{kind:"mosaic_document",version:1,assets:{},m0:L,sources:c,fps:e.target.fps,durationMs:e.target.durationMs}}const T=w&&V==="left",x=T?MIN_HORIZONTAL_CAT_RAIL_WEIGHT:0,E=100-x;let A;if(T){const n=t.labels.length;A=(0,dsl_stdlib_1.weightedSplit)([x,E],"col",{claimants:[uniformRail(n,"row"),"1"]}),I(n),c.push({type:"mosaic",ref:t.plotAreaRef})}else A="1",c.push({type:"mosaic",ref:t.plotAreaRef});let y=null;k&&(T?y=(0,dsl_stdlib_1.weightedSplit)([x,E],"col",{claimants:["-",tickRail(C,"col")]}):y=tickRail(C,"col"),S("leftRight"));const p=[];b&&p.push({weight:toBandWeight(t.padding.top),claimant:b});const M=y?Math.max(MIN_HORIZONTAL_TICK_BAND_WEIGHT,toBandWeight(t.padding.bottom)):0,B=Math.max(1,100-(b?toBandWeight(t.padding.top):0)-M);p.push({weight:B,claimant:A}),y&&p.push({weight:M,claimant:y});const D=p.length===1?p[0].claimant:(0,dsl_stdlib_1.weightedSplit)(p.map(n=>n.weight),"row",{claimants:p.map(n=>n.claimant)});return{kind:"mosaic_document",version:1,assets:{},m0:D,sources:c,fps:e.target.fps,durationMs:e.target.durationMs}}},(0,template_utils_1.registerTemplate)(exports.Labels);
@@ -0,0 +1 @@
1
+ "use strict";var g=Object.defineProperty;var u=(e,t)=>g(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlotArea=exports.PLOT_AREA_TEMPLATE_ID=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),propsSchema=(0,template_utils_1.definePropsSchema)({axisConfig:{type:"group",required:!0,description:"Resolved axis configuration from orientation."},grid:{type:"group",required:!0,description:"Grid display configuration (show, count)."},baseline:{type:"group",required:!0,description:"Baseline display configuration (show)."},valueAxis:{type:"group",required:!0,description:"Value-axis (top for vertical bars / right for horizontal) display configuration."},barsStackRef:{type:"string",required:!0,description:"Child key for the BarsStack renderable (provided by parent)."}});function oppositeEdge(e){switch(e){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}}u(oppositeEdge,"oppositeEdge"),exports.PLOT_AREA_TEMPLATE_ID=(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/internal/plot-area/v1");const BASELINE_THICKNESS_FRAC=.002,BASELINE_COLOR=(0,types_1.toMosaicColor)("#ffffff","PlotArea.BASELINE_COLOR");function baselineSourceForEdge(e){const t=BASELINE_THICKNESS_FRAC;return{type:"lavfi",color:BASELINE_COLOR,fitMode:"content",size:e==="top"||e==="bottom"?{wExpr:"TW",hExpr:`max(1, TH*${t})`}:{wExpr:`max(1, TW*${t})`,hExpr:"TH"},placement:{fit:"contain",hAlign:e==="left"?"left":e==="right"?"right":"center",vAlign:e==="top"?"top":e==="bottom"?"bottom":"middle"}}}u(baselineSourceForEdge,"baselineSourceForEdge"),exports.PlotArea={id:exports.PLOT_AREA_TEMPLATE_ID,label:"Bar Graph \u2014 Plot Area (internal)",version:1,internal:!0,deprecated:{reason:"Internal piece of the deprecated 5-deep bar-graph/v1 nested composition; bar-graph/v2 renders the same chart as one flat document.",replacement:(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/v2"),since:"2026-09-16"},description:"Internal: data rectangle containing gridlines, baseline, and the bars stack.",capabilities:{tier:"core"},tags:["data-viz","bar-graph","internal","plot-area"],propsSchema,defaultProps:{axisConfig:{fillAxis:"y",layoutAxis:"x",labelDock:"bottom",valueDock:"top",gridDirection:"horizontal",baselineEdge:"bottom"},grid:{show:!0,count:5},baseline:{show:!0},valueAxis:{show:!0},barsStackRef:"bars-stack"},async render(e,t){var i,o,a,s,n,l,c;if(!e.barsStackRef)return(0,template_utils_1.makeErrorMosaic)("barsStackRef is required",{title:`${this.id} props`,width:t.output.width,height:t.output.height});const r=[],d={};if(!((i=e.grid)===null||i===void 0)&&i.show){const p="grid",h=(a=(o=e.axisConfig)===null||o===void 0?void 0:o.gridDirection)!==null&&a!==void 0?a:"horizontal",f=h==="horizontal"?"bottom":"left";d[p]=await(0,template_utils_1.renderNestedTemplate)("@m0saic/primitives/grid/v2",{direction:h,count:Math.max(0,Math.floor((n=(s=e.grid)===null||s===void 0?void 0:s.count)!==null&&n!==void 0?n:0)),excludeEdges:!0,origin:f,...e.grid},t),r.push({type:"mosaic",ref:p})}else r.push((0,template_utils_1.transparentSlot)());return r.push({type:"mosaic",ref:e.barsStackRef}),!((l=e.baseline)===null||l===void 0)&&l.show?r.push(baselineSourceForEdge(e.axisConfig.baselineEdge)):r.push((0,template_utils_1.transparentSlot)()),!((c=e.valueAxis)===null||c===void 0)&&c.show?r.push(baselineSourceForEdge(oppositeEdge(e.axisConfig.baselineEdge))):r.push((0,template_utils_1.transparentSlot)()),{kind:"mosaic_document",version:1,sources:r,assets:{},m0:(0,template_utils_1.buildOverlayStack)(r.length),children:Object.keys(d).length?d:void 0,durationMs:t.target.durationMs}}},(0,template_utils_1.registerTemplate)(exports.PlotArea);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1 @@
1
+ "use strict";var dt=Object.defineProperty;var o=(e,t)=>dt(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.ChartsBarGraphV2=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),DEFAULT_RENDER_MODE="premium",DEFAULT_ORIENTATION="vertical",DEFAULT_PRESET="neutral",DEFAULT_GAP=.18,DEFAULT_PADDING=72,DEFAULT_CORNER_RADIUS=.15,DEFAULT_BAR_COLOR="#f97316",DEFAULT_GRID={show:!0,count:5},DEFAULT_BASELINE={show:!0},DEFAULT_VALUE_AXIS={show:!0},DEFAULT_VALUE_LABELS={show:!0,format:"compact",decimals:0,suffix:""},DEFAULT_ANIM={intro:{durationSec:1.1,delaySec:.1,staggerSec:.06,ease:"smoothstep"},reduceMotion:!1},Q=100,HEIGHT_STEP=4;function tokensFor(e){switch(e){case"dark":return{bg:"#0b0f14",card:"#0f172a",border:"#ffffff",borderAlpha:.1,bar:"#f97316",title:"#f1f5f9",subtitle:"#94a3b8",category:"#cbd5e1",tick:"#94a3b8",grid:"#ffffff",gridOpacity:.12,axis:"#ffffff",axisOpacity:.45};case"terminal":return{bg:"#050505",card:"#0b0b0b",border:"#22c55e",borderAlpha:.18,bar:"#22c55e",title:"#22c55e",subtitle:"#15803d",category:"#22c55e",tick:"#15803d",grid:"#22c55e",gridOpacity:.12,axis:"#22c55e",axisOpacity:.4};case"glass":return{bg:"#0b0f14",card:"#111827",border:"#ffffff",borderAlpha:.12,bar:"#60a5fa",title:"#f1f5f9",subtitle:"#cbd5e1",category:"#cbd5e1",tick:"#94a3b8",grid:"#ffffff",gridOpacity:.12,axis:"#ffffff",axisOpacity:.45};case"paper":return{bg:"#f8fafc",card:"#ffffff",border:"#0f172a",borderAlpha:.1,bar:"#f97316",title:"#0f172a",subtitle:"#475569",category:"#334155",tick:"#64748b",grid:"#0f172a",gridOpacity:.1,axis:"#0f172a",axisOpacity:.4};case"neutral":default:return{bg:"#0b0f14",card:"#0f172a",border:"#ffffff",borderAlpha:.1,bar:"#f97316",title:"#f1f5f9",subtitle:"#94a3b8",category:"#cbd5e1",tick:"#94a3b8",grid:"#ffffff",gridOpacity:.12,axis:"#ffffff",axisOpacity:.45}}}o(tokensFor,"tokensFor");function localThemeFromTokens(e){return{surfaceApp:e.bg,surface:e.card,surfaceRaised:e.card,surfaceInset:e.bg,border:e.border,borderStrong:e.border,textPrimary:e.title,textSecondary:e.subtitle,textMuted:e.category,eyebrow:e.tick,accent:e.bar,accentSoft:e.bar,accentGlow:e.bar,positive:"#16a34a",negative:"#dc2626",grid:e.grid,gridAlpha:e.gridOpacity,axis:e.axis,axisAlpha:e.axisOpacity,radius:DEFAULT_CORNER_RADIUS,dataPalette:[e.bar]}}o(localThemeFromTokens,"localThemeFromTokens");function niceAxis(e,t,a){if(t===e)return{min:e,max:t+1,step:1,ticks:[e,t+1]};const d=Math.abs(t-e)/Math.max(1,a-1),i=!Number.isFinite(d)||d<=0?1:(0,dsl_stdlib_1.niceNum)(d,[1,2,2.5,5]),m=Math.floor(e/i)*i,h=Math.ceil(t/i)*i,b=[],v=i*1e-6;for(let c=m;c<=h+v;c+=i)b.push(Number(c.toFixed(6)));return{min:m,max:h,step:i,ticks:b}}o(niceAxis,"niceAxis");function formatCompact(e,t){const a=Math.abs(e),r=e<0?"-":"";return a>=1e12?r+(a/1e12).toFixed(t)+"T":a>=1e9?r+(a/1e9).toFixed(t)+"B":a>=1e6?r+(a/1e6).toFixed(t)+"M":a>=1e3?r+(a/1e3).toFixed(t)+"K":r+a.toFixed(t)}o(formatCompact,"formatCompact");function formatValue(e,t,a){let r;switch(t.format){case"raw":r=e.toFixed(t.decimals);break;case"percent":r=a===0?0 .toFixed(t.decimals)+"%":(e/a*100).toFixed(t.decimals)+"%";break;case"compact":default:r=formatCompact(e,t.decimals);break}return t.suffix?`${r}${t.suffix}`:r}o(formatValue,"formatValue");const EMPTY={m0:"-",sources:[]},paint=o(e=>({m0:"F",sources:[e]}),"paint"),SPLIT_BASIS_CAP=120;function split(e,t){const a=t.filter(i=>i.weight>0);if(a.length===0)return EMPTY;if(a.length===1)return a[0].node;const r=a.map(i=>Math.max(1,Math.round(i.weight)));return{m0:String((0,dsl_stdlib_1.weightedSplit)((0,template_utils_1.latticeWeights)(r,{cap:SPLIT_BASIS_CAP}),e,{claimants:a.map(i=>i.node.m0)})),sources:a.flatMap(i=>i.node.sources)}}o(split,"split");const rowSplit=o(e=>split("row",e),"rowSplit"),colSplit=o(e=>split("col",e),"colSplit");function overlay(e){const t=e.filter(r=>r.sources.length>0||r.m0!=="-");if(t.length===0)return EMPTY;if(t.length===1)return t[0];let a=t[t.length-1].m0;for(let r=t.length-2;r>=0;r--)a=`${t[r].m0}{${a}}`;return{m0:a,sources:t.flatMap(r=>r.sources)}}o(overlay,"overlay");function insetNode(e,t,a,r,d,i,m){const h=colSplit([{weight:d,node:EMPTY},{weight:i-d-a,node:e},{weight:a,node:EMPTY}]);return rowSplit([{weight:t,node:EMPTY},{weight:m-t-r,node:h},{weight:r,node:EMPTY}])}o(insetNode,"insetNode");function textCell(e,t,a,r="center",d="middle",i,m){const h={fit:"contain",hAlign:r,vAlign:d};i&&(h.padding=i);const b={type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:t,fontColor:a},placement:h}]};return m&&(b.overlay=m),b}o(textCell,"textCell");function titleSubtitleCell(e){const t=[];e.title&&t.push({content:{kind:"literal",text:e.title},style:{fontSize:e.titleFont,fontColor:e.titleColor},placement:{fit:"contain",hAlign:"center",vAlign:e.subtitle?"top":"middle"}}),e.subtitle&&t.push({content:{kind:"literal",text:e.subtitle},style:{fontSize:e.subFont,fontColor:e.subColor},placement:{fit:"contain",hAlign:"center",vAlign:e.title?"bottom":"middle"}});const a=(0,template_utils_1.tag)({type:"text",visual:{backgroundColor:"black@0"},layers:t},"chart-header");return e.title&&e.subtitle?(0,template_utils_1.bindProps)(a,[{propKey:"titles.title",layer:0},{propKey:"titles.subtitle",layer:1}]):(0,template_utils_1.bindProp)(a,e.title?"titles.title":"titles.subtitle")}o(titleSubtitleCell,"titleSubtitleCell");function easeExpr(e,t){return e==="linear"?t:`(${t})*(${t})*(3-2*(${t}))`}o(easeExpr,"easeExpr");function barNode(e,t,a,r,d,i,m,h="y",b=0){const v=b>0?{placement:{inset:h==="y"?{x:b}:{y:b}}}:{};if(i)return paint((0,template_utils_1.bindProp)((0,template_utils_1.tag)((0,template_utils_1.makeColorTile)(e,{...v}),"bar"),"values",t));const c=easeExpr(d,(0,template_utils_1.u01)(r));let F;return m?F=h==="y"?{startAtSec:a,alpha:c,yExpr:`h*(1-(${c}))`}:{startAtSec:a,alpha:c,xExpr:`-(w*(1-(${c})))`}:F=h==="y"?{startAtSec:a,yExpr:`h*(1-(${c}))`}:{startAtSec:a,xExpr:`-(w*(1-(${c})))`},paint((0,template_utils_1.bindProp)((0,template_utils_1.tag)((0,template_utils_1.makeColorTile)(e,{overlay:F,...v}),"bar"),"values",t))}o(barNode,"barNode");const gapInsetFrac=o(e=>e/(2*(1+e)),"gapInsetFrac");function edgeStrip(e,t,a){return{type:"lavfi",color:e,fitMode:"content",visual:{opacity:t},size:a==="top"||a==="bottom"?{wExpr:"TW",hExpr:"max(1,TH*0.004)"}:{wExpr:"max(1,TW*0.004)",hExpr:"TH"},placement:{fit:"contain",hAlign:a==="left"?"left":a==="right"?"right":"center",vAlign:a==="top"?"top":a==="bottom"?"bottom":"middle"}}}o(edgeStrip,"edgeStrip");const snap=o((e,t)=>Math.max(t,Math.round(e/t)*t),"snap");function tickRailNode(e,t,a,r,d=3){var i;const m=o(c=>paint(r==="row"?(0,template_utils_1.tag)(textCell(c,t,a,"right","middle",{right:.18}),"axis-tick"):(0,template_utils_1.tag)(textCell(c,t,a,"center","top"),"axis-tick")),"mk"),h=e.length;if(h<=1)return m((i=e[0])!==null&&i!==void 0?i:"");const b=20,v=[];for(let c=0;c<h;c++)v.push({weight:d,node:m(e[c])}),c<h-1&&v.push({weight:b,node:EMPTY});return split(r,v)}o(tickRailNode,"tickRailNode");const fBool=o((e,t="")=>({type:"boolean",required:!1,description:t,meta:{ui:{label:e}}}),"fBool"),fStr=o((e,t="",a)=>({type:"string",required:!1,description:t,meta:{ui:{label:e},...a?{control:{placeholder:a}}:{}}}),"fStr"),fNum=o((e,t="",a,r)=>({type:"number",required:!1,description:t,meta:{...r?{constraints:r}:{},...a?{control:a}:{},ui:{label:e}}}),"fNum"),fFrac=o((e,t="",a)=>fNum(e,t,{flavor:"slider",step:.01,...a?{placeholder:a}:{}},{min:0,max:1}),"fFrac"),fEnum=o((e,t,a="")=>({type:"string",required:!1,description:a,meta:{constraints:{oneOf:t},ui:{label:e}}}),"fEnum"),propsSchema=(0,template_utils_1.definePropsSchema)({values:{type:"number[]",required:!0,description:"Numeric data values driving the chart bars.",meta:{constraints:{minItems:1},control:{flavor:"numberList"},ui:{label:"Values",order:1}}},labels:{type:"string[]",required:!1,description:"Category labels (index-aligned to values).",meta:{ui:{label:"Category Labels",order:2,primary:!0}}},domain:{type:"group",required:!1,description:"Value-axis domain overrides \u2014 leave unset to auto-fit to nice round numbers.",meta:{ui:{label:"Domain",order:3,collapsedByDefault:!0}},fields:{minValue:fNum("Min Value","Explicit domain minimum. Auto (0 / nice) when unset."),maxValue:fNum("Max Value","Explicit domain maximum. Auto (nice max) when unset.",{placeholder:"data max"})}},layout:{type:"group",required:!1,description:"Bar geometry: orientation, spacing, thickness, corner radius.",meta:{ui:{label:"Layout",order:4,collapsedByDefault:!0}},fields:{orientation:fEnum("Orientation",["vertical","horizontal"],"Vertical bars grow up; horizontal bars grow right."),gap:fFrac("Gap","Gap between bars as a fraction of bar width (0 = flush, 1 = gap as wide as a bar)."),padding:fNum("Padding (px)","Outer padding in pixels (symmetric).",void 0,{min:0,max:512}),barThickness:fNum("Bar Thickness (px)","Optional fixed bar thickness in px. Bars share space evenly when unset.",{placeholder:"auto (from gap)"},{min:1,max:4096}),cornerRadius:fFrac("Corner Radius","Card corner-radius fraction (0..1).")}},appearance:{type:"group",required:!1,description:"Color scheme (preset) + bar fill color(s).",meta:{ui:{label:"Appearance",order:5,collapsedByDefault:!0}},fields:{preset:fEnum("Preset",["neutral","dark","terminal","glass","paper"],"Built-in color scheme (card / bars / text / grid / axis)."),barColor:{type:"json",required:!1,description:"Bar fill \u2014 a single color, or an array of per-bar colors (cycled in bar order).",meta:{constraints:{isColor:!0},control:{colorPicker:!0},ui:{label:"Bar Color"}}}}},grid:{type:"group",required:!1,description:"Gridlines behind the bars.",meta:{ui:{label:"Grid",order:6,collapsedByDefault:!0}},fields:{show:fBool("Show","Draw gridlines."),count:fNum("Count","Number of gridline intervals.",void 0,{min:1,max:20})}},baseline:{type:"group",required:!1,description:"Baseline rule at the bars' anchor edge.",meta:{ui:{label:"Baseline",order:7,collapsedByDefault:!0}},fields:{show:fBool("Show","Draw the baseline rule.")}},valueAxis:{type:"group",required:!1,description:"Value-axis rule at the max-value side.",meta:{ui:{label:"Value Axis",order:8,collapsedByDefault:!0}},fields:{show:fBool("Show","Draw the value-axis rule.")}},valueLabels:{type:"group",required:!1,description:"Per-bar value labels.",meta:{ui:{label:"Value Labels",order:9,collapsedByDefault:!0}},fields:{show:fBool("Show","Print each bar's value."),format:fEnum("Format",["raw","percent","compact"],"raw = as-is; percent = share of max; compact = 1.2k."),decimals:fNum("Decimals","Decimal places.",void 0,{min:0,max:6}),suffix:fStr("Suffix",'Appended to each value (e.g. "%", " MB").')}},titles:{type:"group",required:!1,description:"Chart title + subtitle.",meta:{ui:{label:"Titles",order:10,collapsedByDefault:!0}},fields:{title:{type:"string",required:!1,description:"Chart title.",meta:{control:{placeholder:"e.g., Monthly Sales"},ui:{label:"Title"}}},subtitle:{type:"string",required:!1,description:"Chart subtitle.",meta:{control:{placeholder:"e.g., Q4 2024"},ui:{label:"Subtitle"}}}}},anim:{type:"group",required:!1,description:"Reveal mode + intro animation.",meta:{ui:{label:"Animation",order:11,collapsedByDefault:!0}},fields:{renderMode:fEnum("Render Mode",["premium","light"],`"premium" (default): bars + labels fade in \u2014 premium, but the alpha is a per-pixel geq paid on every frame of a nesting parent's whole timeline. "light": opaque grow + enable-gated label pop \u2014 no geq, composable, cheap when nested.`),reduceMotion:fBool("Reduce Motion","Skip motion; render the final static frame."),intro:{type:"group",required:!1,description:"Intro grow-in timing.",meta:{ui:{label:"Intro",collapsedByDefault:!0}},fields:{durationSec:fNum("Duration (s)","Per-bar grow duration."),delaySec:fNum("Delay (s)","Delay before the first bar starts."),staggerSec:fNum("Stagger (s)","Gap between consecutive bars' start times."),ease:fEnum("Ease",["linear","smoothstep","easeInOut"],"Grow-in easing curve.")}}}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the local preset palette by default; set a producer slug + namespace to pull shared design tokens (self-seeds when nothing is upstream). Explicit color props still win.",meta:{ui:{label:"Theme",order:12,collapsedByDefault:!0}},fields:{slug:fStr("Producer slug",`Producer template to seed tokens from when the namespace isn't already on ctx (e.g. "@m0saic/theming/v1").`,"preset palette (no producer)"),preset:fStr("Preset","Producer preset/variant to request (e.g. light | dark | high-contrast for @m0saic/theming/v1; producer-defined).","producer default"),namespace:fStr("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:fBool("Force fetch","Re-seed via the slug even if the namespace is already populated.")}},debugLayout:{type:"boolean",required:!1,description:"Dev-only: draw the layout contract (bars equal-thickness, text fits its slot) instead of the chart.",meta:{ui:{label:"Debug layout",order:13}}}});exports.ChartsBarGraphV2={id:(0,types_1.asTemplateId)("@m0saic/charts/bar-graph/v2"),label:"Bar Graph",version:2,description:"Canonical bar graph data-viz primitive (tight-rect geometry): vertical/horizontal, labels, presets, intro animation.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","bar-graph","animated","analysts","marketers","report"],outputHints:{format:{kind:"video",container:"mp4"},width:1920,height:1080,fps:30,durationMs:2e3},propsSchema,defaultProps:{domain:{minValue:0},debugLayout:!1,theme:{forceFetch:!1},values:[35,60,85,45,70],labels:["Jan","Feb","Mar","Apr","May"],layout:{orientation:DEFAULT_ORIENTATION,gap:DEFAULT_GAP,padding:DEFAULT_PADDING,barThickness:void 0,cornerRadius:DEFAULT_CORNER_RADIUS},appearance:{preset:DEFAULT_PRESET,barColor:DEFAULT_BAR_COLOR},grid:DEFAULT_GRID,baseline:DEFAULT_BASELINE,valueAxis:DEFAULT_VALUE_AXIS,valueLabels:DEFAULT_VALUE_LABELS,anim:{renderMode:DEFAULT_RENDER_MODE,...DEFAULT_ANIM}},async render(e,t){var a,r,d,i,m,h,b,v,c,F,ue,he,me,fe,pe,be,ge,xe,ye,ve,we,Me;const T=Math.max(1,Math.round(t.target.width)),g=Math.max(1,Math.round(t.target.height));if(!Array.isArray(e.values)||e.values.length===0)return Promise.resolve((0,template_utils_1.makeErrorMosaic)("values[] must be non-empty",{title:`${this.id} props`,width:T,height:g}));const E=(a=e.layout)!==null&&a!==void 0?a:{},j=(r=e.appearance)!==null&&r!==void 0?r:{},Z=(d=e.domain)!==null&&d!==void 0?d:{},C=(i=e.titles)!==null&&i!==void 0?i:{},Ue=(m=E.orientation)!==null&&m!==void 0?m:DEFAULT_ORIENTATION,qe=tokensFor((h=j.preset)!==null&&h!==void 0?h:DEFAULT_PRESET),s=await(0,template_utils_1.resolveThemeTokens)(localThemeFromTokens(qe),t,e.theme),Ne=Math.max(0,(b=E.gap)!==null&&b!==void 0?b:DEFAULT_GAP),H=(v=E.padding)!==null&&v!==void 0?v:DEFAULT_PADDING,rt=(c=E.cornerRadius)!==null&&c!==void 0?c:DEFAULT_CORNER_RADIUS,Re={...DEFAULT_BASELINE,...(F=e.baseline)!==null&&F!==void 0?F:{}},He={...DEFAULT_VALUE_AXIS,...(ue=e.valueAxis)!==null&&ue!==void 0?ue:{}},P={...DEFAULT_GRID,...(he=e.grid)!==null&&he!==void 0?he:{}},B={...DEFAULT_VALUE_LABELS,...(me=e.valueLabels)!==null&&me!==void 0?me:{}},w={intro:{...DEFAULT_ANIM.intro,...(pe=(fe=e.anim)===null||fe===void 0?void 0:fe.intro)!==null&&pe!==void 0?pe:{}},reduceMotion:(ge=(be=e.anim)===null||be===void 0?void 0:be.reduceMotion)!==null&&ge!==void 0?ge:!1},ee=((ye=(xe=e.anim)===null||xe===void 0?void 0:xe.renderMode)!==null&&ye!==void 0?ye:DEFAULT_RENDER_MODE)==="premium",O=e.values,K=O.length,Oe=Array.isArray(j.barColor)?j.barColor.length?j.barColor:s.dataPalette:[(ve=j.barColor)!==null&&ve!==void 0?ve:s.dataPalette[0]],Ge=o(n=>Oe[n%Oe.length],"barColorAt"),Ie=(we=Z.minValue)!==null&&we!==void 0?we:0,$e=(Me=Z.maxValue)!==null&&Me!==void 0?Me:Math.max(...O),ot=Z.minValue!=null&&Z.maxValue!=null;let G=Ie,k=$e,x=Math.max(1,P.count);if(!ot){const n=niceAxis(Ie,$e,P.count+1);G=n.min,k=n.max,x=Math.max(1,n.ticks.length-1)}const We=k-G,ze=O.map(n=>We===0?1:Math.max(0,Math.min(1,(n-G)/We))),I=T-2*H,Ae=g-2*H;if(I<16||Ae<16)return Promise.resolve((0,template_utils_1.makeErrorMosaic)("padding consumes the whole canvas",{title:`${this.id}`,width:T,height:g}));const je=o((n,M,f)=>Math.max(f,Math.min(n,Math.floor(I*.96/(Math.max(1,(0,template_utils_1.textEmUnits)(M??""))*.72)))),"capHdr"),ke=je(Math.max(12,Math.round(g*.046)),C.title,12),Ke=je(Math.max(10,Math.round(g*.022)),C.subtitle,10),$=Math.max(10,Math.round(g*.018)),_e=Math.max(10,Math.round(g*.02)),te=Math.max(9,Math.round(g*.016)),Qe=!!(C.title&&C.title.trim()),Ee=!!(C.subtitle&&C.subtitle.trim()),Ce=Qe||Ee,ae=Ce?Math.round((Ee?ke*1.2+Ke*1.5:ke*1.5)+g*.012):0,_=!!(e.labels&&e.labels.length>0),Xe=_?Math.round($*1.9):0,Ye=_?Math.max(1,...e.labels.map(n=>(0,template_utils_1.textEmUnits)(n??""))):1,Je=Math.max(1,...O.map(n=>(0,template_utils_1.textEmUnits)(formatValue(n,B,k))));let Se=!1;const Ze=Ce?paint(titleSubtitleCell({title:Qe?C.title:void 0,subtitle:Ee?C.subtitle:void 0,titleFont:ke,subFont:Ke,titleColor:s.textPrimary,subColor:s.textSecondary})):EMPTY;let Fe;const Te={},et=o((n,M)=>(Te[n]={kind:"mosaic_document",version:1,assets:{},m0:M.m0,sources:M.sources,fps:t.target.fps,durationMs:t.target.durationMs},{m0:"F",sources:[{type:"mosaic",ref:n}]}),"wrapAsChild");if(Ue==="vertical"){const n=Ae-ae-Xe;if(n<8)return Promise.resolve((0,template_utils_1.makeErrorMosaic)("plot area too small after bands",{title:`${this.id}`,width:T,height:g}));const M=P.show&&x>=1,f=M?Math.max(Math.round(I*.06),te*3):0,S=I-f;if(S<4)return Promise.resolve((0,template_utils_1.makeErrorMosaic)("plot area too narrow after the tick rail",{title:`${this.id}`,width:T,height:g}));const A=S/K,W=E.barThickness!=null?Math.max(0,(1-Math.min(1,E.barThickness/A))/2):gapInsetFrac(Ne),D=A*(1-2*W),X=A-D,Pe=_?Math.max(9,Math.min($,Math.floor((D+X)*.94/(Ye*.62)))):$,re=o(l=>(0,template_utils_1.fitEmUnits)(l,Math.max(2,(D+X)*.94/(Pe*.62))),"fitCatV"),oe=Math.max(9,Math.min(_e,Math.floor((D+X)*.9/(Je*.62)))),L=B.show?snap(oe*1.4/n*Q,HEIGHT_STEP):0,Y=o(l=>Array.from({length:K},(y,N)=>({weight:1,node:l(N)})),"columnBands"),Be=colSplit(Y(o(l=>{let y=snap(ze[l]*Q,HEIGHT_STEP);y=Math.min(Q-HEIGHT_STEP,Math.max(HEIGHT_STEP,y));const N=w.intro.delaySec+l*w.intro.staggerSec,R=w.intro.durationSec,Ve=w.reduceMotion?void 0:ee?{startAtSec:N+R*.5,alpha:(0,template_utils_1.u01)(Math.max(.1,R*.5))}:{enable:`gte(t,${(N+R*.5).toFixed(3)})`},u=Q-y,p=L>0&&u>L?L:0;return p>0&&(Se=!0),rowSplit([{weight:u-p,node:EMPTY},...p>0?[{weight:p,node:paint((0,template_utils_1.bindProp)((0,template_utils_1.tag)(textCell(formatValue(O[l],B,k),oe,s.textPrimary,"center","bottom",void 0,Ve),"value-label"),"values",l))}]:[],{weight:y,node:barNode(Ge(l),l,N,R,w.intro.ease,w.reduceMotion,ee,"y",W)}])},"barColumn"))),V=[...(P.show&&x>1?(0,template_utils_1.buildGridlineSources)({direction:"horizontal",count:x,excludeEdges:!1,origin:"bottom",color:s.grid,opacity:s.gridAlpha,thicknessFrac:.0025}).slice(1):[]).map(l=>paint(l)),Be];He.show&&V.push(paint(edgeStrip(s.axis,s.axisAlpha,"left"))),Re.show&&V.push(paint(edgeStrip(s.axis,s.axisAlpha,"bottom")));const De=overlay(V),ie=Array.from({length:x+1},(l,y)=>formatValue(k-y/x*(k-G),B,k)),ne=Math.max(1,...ie.map(l=>(0,template_utils_1.textEmUnits)(l))),Le=Math.max(8,Math.min(te,Math.floor(f*.78/(ne*.62)))),se=M?tickRailNode(ie,Le,s.eyebrow,"row"):EMPTY,z=et("plot",De),U=f>0?colSplit([{weight:f,node:se},{weight:S,node:z}]):z,q=_?colSplit(Y(l=>{var y;return paint((0,template_utils_1.bindProp)((0,template_utils_1.tag)(textCell(re((y=e.labels[l])!==null&&y!==void 0?y:""),Pe,s.textMuted,"center","middle"),"cat-label"),"labels",l))})):EMPTY,le=_&&f>0?colSplit([{weight:f,node:EMPTY},{weight:S,node:q}]):q;Fe=rowSplit([{weight:ae,node:Ze},{weight:n,node:U},{weight:Xe,node:le}])}else{const n=P.show&&x>=1,M=n?Math.round(te*1.8):0,f=_?Math.max(Math.round(I*.1),$*4):0,S=Ae-ae-M,A=I-f;if(S<8||A<8)return Promise.resolve((0,template_utils_1.makeErrorMosaic)("plot area too small after bands",{title:`${this.id}`,width:T,height:g}));const W=S/K,D=E.barThickness!=null?Math.max(0,(1-Math.min(1,E.barThickness/W))/2):gapInsetFrac(Ne),X=W*(1-2*D),Pe=W-X,re=_?Math.max(9,Math.min($,Math.floor(f*.86/(Ye*.62)))):$,oe=o(u=>(0,template_utils_1.fitEmUnits)(u,Math.max(2,f*.86/(re*.62))),"fitCatH"),L=B.show?Math.min(40,snap(_e*(Je*.62+.8)/A*Q,HEIGHT_STEP)):0,Y=o(u=>Array.from({length:K},(p,J)=>({weight:1,node:u(J)})),"rowBands"),Be=rowSplit(Y(o(u=>{let p=snap(ze[u]*Q,HEIGHT_STEP);p=Math.min(Q-HEIGHT_STEP,Math.max(HEIGHT_STEP,p));const J=w.intro.delaySec+u*w.intro.staggerSec,ce=w.intro.durationSec,ct=w.reduceMotion?void 0:ee?{startAtSec:J+ce*.5,alpha:(0,template_utils_1.u01)(Math.max(.1,ce*.5))}:{enable:`gte(t,${(J+ce*.5).toFixed(3)})`},at=Q-p,de=L>0&&at>L?L:0;return de>0&&(Se=!0),colSplit([{weight:p,node:barNode(Ge(u),u,J,ce,w.intro.ease,w.reduceMotion,ee,"x",D)},...de>0?[{weight:de,node:paint((0,template_utils_1.bindProp)((0,template_utils_1.tag)(textCell(formatValue(O[u],B,k),_e,s.textPrimary,"left","middle",{left:.15},ct),"value-label"),"values",u))}]:[],{weight:at-de,node:EMPTY}])},"barRow"))),V=[...(P.show&&x>1?(0,template_utils_1.buildGridlineSources)({direction:"vertical",count:x,excludeEdges:!1,origin:"left",color:s.grid,opacity:s.gridAlpha,thicknessFrac:.0025}).slice(1):[]).map(u=>paint(u)),Be];He.show&&V.push(paint(edgeStrip(s.axis,s.axisAlpha,"bottom"))),Re.show&&V.push(paint(edgeStrip(s.axis,s.axisAlpha,"left")));const De=overlay(V),ie=_?rowSplit(Y(u=>{var p;return paint((0,template_utils_1.bindProp)((0,template_utils_1.tag)(textCell(oe((p=e.labels[u])!==null&&p!==void 0?p:""),re,s.textMuted,"right","middle",{right:.12}),"cat-label"),"labels",u))})):EMPTY,ne=et("plot",De),Le=f>0?colSplit([{weight:f,node:ie},{weight:A,node:ne}]):ne,se=Array.from({length:x+1},(u,p)=>formatValue(G+p/x*(k-G),B,k)),z=Math.max(1,...se.map(u=>(0,template_utils_1.textEmUnits)(u))),U=x+1;let q=te;const le=Math.floor(A/U);let l=Math.ceil(z*.62*q)+2;l>le&&(q=Math.max(8,Math.floor(le/(z*.62))),l=Math.ceil(z*.62*q)+2);const y=A*3/(U*3+(U-1)*20),N=l<=y?3:Math.min(60,Math.ceil(l*(U-1)*20/Math.max(1,A-l*U))),R=n?tickRailNode(se,q,s.eyebrow,"col",N):EMPTY,Ve=n&&f>0?colSplit([{weight:f,node:EMPTY},{weight:A,node:R}]):R;Fe=rowSplit([{weight:ae,node:Ze},{weight:S,node:Le},{weight:M,node:Ve}])}const it=paint((0,template_utils_1.makeColorTile)(s.surface,{effects:{rounding:{cornerStyle:"rounded",borderRadius:rt},stroke:{position:"inner",width:.002,color:s.border,alpha:qe.borderAlpha}}})),tt=overlay([it,insetNode(Fe,H,H,H,H,T,g)]),nt={kind:"mosaic_document",version:1,assets:{},m0:tt.m0,sources:tt.sources,...Object.keys(Te).length?{children:Te}:{},backgroundColor:s.surfaceApp,fps:t.target.fps,durationMs:t.target.durationMs};return Promise.resolve((0,template_utils_1.withLayoutContract)(nt,t,{templateId:"@m0saic/charts/bar-graph/v2",relations:K>=2?[{label:"bar",equal:Ue==="vertical"?"width":"height",tolerance:.02,tolerancePx:1}]:[],constraints:[...Ce?[{label:"chart-header",textFits:{charWidthEm:.72}}]:[],..._?[{label:"cat-label",textFits:{charWidthEm:.62}}]:[],...Se?[{label:"value-label",textFits:{charWidthEm:.62}}]:[],...P.show&&x>=1?[{label:"axis-tick",textFits:{charWidthEm:.62,padPx:0}}]:[]],debug:e.debugLayout===!0}))},async renderCover(e,t){const a=(0,onboarding_cover_1.brandedCoverHeroBox)(t,"band"),r={...t,target:{...t.target,width:a.width,height:a.height},output:{...t.output,width:a.width,height:a.height}},d=await exports.ChartsBarGraphV2.render({...exports.ChartsBarGraphV2.defaultProps,anim:{...exports.ChartsBarGraphV2.defaultProps.anim,reduceMotion:!0}},r);return(0,onboarding_cover_1.buildBrandedCover)({ctx:t,variant:"band",copy:{productName:"Bar Graph",title:"A bar chart."},hero:o(i=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(d),i.borderStrong),"hero"),heroAssets:d.assets,children:d.children})}},(0,template_utils_1.registerTemplate)(exports.ChartsBarGraphV2);
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var r=(e,t)=>a(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.ChartsBarGraphV2=void 0;var bar_graph_1=require("./bar-graph");Object.defineProperty(exports,"ChartsBarGraphV2",{enumerable:!0,get:r(function(){return bar_graph_1.ChartsBarGraphV2},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var D=Object.defineProperty;var p=(e,t)=>D(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.MAX_SLIVERS=exports.DEFAULT_SLIVER_DEG=void 0,exports.subdivideForSweep=subdivideForSweep,exports.sweepInverseEase=sweepInverseEase,exports.DEFAULT_SLIVER_DEG=12,exports.MAX_SLIVERS=36;function subdivideForSweep(e,t={}){var s,i;const c=(s=t.maxSlivers)!==null&&s!==void 0?s:exports.MAX_SLIVERS;let r=(i=t.sliverDeg)!==null&&i!==void 0?i:exports.DEFAULT_SLIVER_DEG;if(!(r>0)||!(c>=1))throw new Error("subdivideForSweep: sliverDeg and maxSlivers must be positive");360/r>c&&(r=360/c);const l=[];for(let o=0;o<e.length;o++){const n=e[o],u=n.endDeg-n.startDeg;if(u<=1e-4)continue;const v=Math.max(1,Math.ceil(u/r)),d=u/v;for(let a=0;a<v;a++){const x=n.startDeg+a*d;l.push({segIndex:o,startDeg:x,endDeg:n.startDeg+(a+1)*d,frac0:x/360})}}return l}p(subdivideForSweep,"subdivideForSweep");function sweepInverseEase(e,t){const s=Math.max(0,Math.min(1,t));switch(e){case"easeOut":return 1-Math.sqrt(1-s);case"linear":case"smoothstep":case"easeInOut":default:return s}}p(sweepInverseEase,"sweepInverseEase");
@@ -0,0 +1 @@
1
+ "use strict";var Z=Object.defineProperty;var d=(e,r)=>Z(e,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.Donut=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),geometry_1=require("./geometry"),anim_1=require("./anim"),propsSchema=(0,template_utils_1.definePropsSchema)({segments:{type:"array",required:!0,description:"Ring segments in clockwise order from 12 o'clock. Raw weights \u2014 normalized internally.",meta:{ui:{label:"Segments",order:1}}},centerValue:{type:"string",required:!1,description:`Pre-formatted hole value (e.g. "247"). Omit to derive the segments' sum.`,meta:{control:{placeholder:"e.g. 247"},ui:{label:"Center value",order:2}}},centerLabel:{type:"string",required:!1,description:'Small muted caption under the value (e.g. "Total Commits").',meta:{control:{placeholder:"e.g. Total Commits"},ui:{label:"Center label",order:3}}},ringThicknessFrac:{type:"number",required:!1,description:"Annulus thickness as a fraction of the outer radius (0.05\u20130.9).",meta:{constraints:{min:.05,max:.9},control:{flavor:"slider",step:.01},ui:{label:"Ring thickness",order:9}}},segmentLabels:{type:"string",required:!1,description:`Per-segment labels on the slices. "percent" shows each segment's derived share; thin slices are skipped.`,meta:{constraints:{oneOf:["none","percent"]},ui:{label:"Segment labels",order:4}}},backgroundColor:{type:"string",required:!1,description:'Card surface color. Pass "none" to render transparent when composed under a card-chrome primitive.',meta:{constraints:{isColor:!0},control:{colorPicker:!0},ui:{label:"Card Color",order:10}}},anim:{type:"group",required:!1,description:"Intro animation: clockwise sweep (or per-segment fade), count-up total, easing, duration, reduceMotion.",meta:{ui:{label:"Animation",collapsedByDefault:!0}},fields:{mode:{type:"string",required:!1,description:"Quantized clockwise sweep, or staggered per-segment fade.",meta:{constraints:{oneOf:["sweep","fade"]},ui:{label:"Mode"}}},countUp:{type:"boolean",required:!1,description:"Count the hole value up on intro.",meta:{ui:{label:"Count up"}}},introFrac:{type:"number",required:!1,description:"Fraction of the output duration the intro fills (the rest holds).",meta:{constraints:{min:.1,max:1},control:{flavor:"slider",step:.05},ui:{label:"Intro length (\xD7 duration)"}}},introMs:{type:"number",required:!1,description:"Absolute intro duration (ms). Overrides Intro length when set.",meta:{control:{placeholder:"from Intro fraction"},constraints:{min:0,max:2e4},ui:{label:"Intro (ms, override)"}}},easing:{type:"string",required:!1,description:"Sweep + count-up easing.",meta:{constraints:{oneOf:["easeOut","smoothstep","easeInOut","linear"]},ui:{label:"Easing"}}},reduceMotion:{type:"boolean",required:!1,description:"Disable all motion \u2014 render the static final ring.",meta:{ui:{label:"Reduce motion"}}}}}}),CARD_BG="#161b22",VALUE_COLOR="#e6edf3",CAPTION_COLOR="#8b949e",PALETTE=["#588168","#95c6a7","#3fb950","#2f6f44","#bfdcc8","#1f4f30"],RADIUS_SCALE=.92,DEFAULT_THICKNESS_FRAC=.36,GAP_DEG=0,VALUE_FONT_FRAC=.3,CAPTION_FONT_FRAC=.11,SEG_LABEL_FONT_FRAC=.42,SEG_LABEL_MIN_SWEEP_DEG=14,SEG_LABEL_LIGHT="#f0f6f1",SEG_LABEL_DARK="#10141a";function centeredText(e,r,a,s){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:r,fontColor:a},placement:s==null?{hAlign:"center",vAlign:"middle"}:{xExpr:"(w-text_w)/2",yExpr:`${Math.round(s)}-text_h/2`}}]}}d(centeredText,"centeredText");function centeredExprText(e,r,a,s){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:r,fontColor:a},placement:s==null?{hAlign:"center",vAlign:"middle"}:{xExpr:"(w-text_w)/2",yExpr:`${Math.round(s)}-text_h/2`}}]}}d(centeredExprText,"centeredExprText");function fadeIn(e,r,a,s){var c;if(!s)return e;const m=(c=e.overlay)!==null&&c!==void 0?c:{};return{...e,overlay:{...m,alpha:(0,template_utils_1.fadeInExpr)(r,a)}}}d(fadeIn,"fadeIn");function pointText(e,r,a,s,c){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e},style:{fontSize:s,fontColor:c},placement:{xExpr:`${r}-text_w/2`,yExpr:`${a}-text_h/2`}}]}}d(pointText,"pointText");function labelColorFor(e){const r=/^#?([0-9a-f]{6})/i.exec(String(e));if(!r)return SEG_LABEL_LIGHT;const a=parseInt(r[1],16),s=a>>16&255,c=a>>8&255,m=a&255;return(.2126*s+.7152*c+.0722*m)/255>.6?SEG_LABEL_DARK:SEG_LABEL_LIGHT}d(labelColorFor,"labelColorFor"),exports.Donut={id:(0,types_1.asTemplateId)("@m0saic/charts/donut/v1"),label:"Donut Chart",version:1,description:"Canonical donut chart: proportional ring + dominant center total. Building block of the repo-tracker hero (Commit Distribution tile).",capabilities:{tier:"core"},primitive:!0,deprecated:{reason:"Full-canvas mask antipattern: every slice (and every sweep sliver) is a 360\xD7360 color tile masked to a thin sector, so renders are slow and intermediates huge for what paints as a sliver. Kept as the canonical 'bad' example. Use v4 \u2014 same picture, each slice placed as a tight bbox with a cell-local mask.",replacement:(0,types_1.asTemplateId)("@m0saic/charts/donut/v4"),since:"2026-06-21"},tags:["charts","donut","distribution","data-viz"],aspectRatio:{ideal:1,min:.6,max:1.8,mode:"warn"},outputHints:{width:360,height:360,fps:30,durationMs:2e3,note:"Square ring tile; the hero places it inside the panel's donut region"},propsSchema,defaultProps:{segmentLabels:"none",ringThicknessFrac:.36,segments:[{label:"Weekday Commits",value:75},{label:"Weekend Commits",value:25}],centerValue:"247",backgroundColor:CARD_BG,anim:{mode:"sweep",countUp:!0,introFrac:.7,easing:"easeOut",reduceMotion:!1}},render(e,r){var a,s,c,m,f,y,C,k,E,w,D;const M=r.output.width,A=r.output.height;if(!Array.isArray(e.segments)||e.segments.length===0)throw new Error("@m0saic/charts/donut/v1: segments must be a non-empty array");if(e.segments.length>geometry_1.MAX_SEGMENTS)throw new Error(`@m0saic/charts/donut/v1: at most ${geometry_1.MAX_SEGMENTS} segments`);const h=(a=e.ringThicknessFrac)!==null&&a!==void 0?a:DEFAULT_THICKNESS_FRAC;if(!Number.isFinite(h)||h<.05||h>.9)throw new Error(`@m0saic/charts/donut/v1: ringThicknessFrac must be in [0.05, 0.9], got ${h}`);const G=M/2,b=A/2,v=Math.min(M,A)/2*RADIUS_SCALE,p=v*(1-h),S=2*p,u=(0,geometry_1.segmentsToAngles)(e.segments.map(n=>n.value),{gapDeg:GAP_DEG}),g=(s=e.anim)!==null&&s!==void 0?s:{},T=(c=g.reduceMotion)!==null&&c!==void 0?c:!1,L=(m=g.mode)!==null&&m!==void 0?m:"sweep",I=(f=g.easing)!==null&&f!==void 0?f:"easeOut",z=r.target.durationMs/1e3,l=g.introMs!=null?g.introMs/1e3:z*((y=g.introFrac)!==null&&y!==void 0?y:.7),F=!T&&l>0,N=d(n=>{var t;return(t=e.segments[n].color)!==null&&t!==void 0?t:PALETTE[n%PALETTE.length]},"segColor"),O=d((n,t,o,i)=>(0,template_utils_1.makeColorTile)(N(n),{mask:{kind:"inline-mask",localPath:(0,geometry_1.annularSectorPath)({cx:G,cy:b,rOuter:v,rInner:p,startDeg:t,endDeg:o}),bounds:{x:0,y:0,width:M,height:A}},...i?{overlay:i}:{}}),"sectorTile"),_=[];if(F&&L==="sweep"){const n=(0,anim_1.subdivideForSweep)(u),t=Math.max(.05,l/Math.max(1,n.length)*2.5);for(const o of n){const i=u[o.segIndex].endDeg,P=Math.min(i,o.endDeg+.35),x=l*(0,anim_1.sweepInverseEase)(I,o.frac0);_.push(O(o.segIndex,o.startDeg,P,{startAtSec:x,alpha:(0,template_utils_1.fadeInExpr)(x,t)}))}}else if(F&&L==="fade"){const n=l*.45;for(let t=0;t<u.length;t++){const o=u[t];if(o.endDeg-o.startDeg<=1e-4)continue;const i=l*.5*(o.startDeg/360);_.push(O(t,o.startDeg,o.endDeg,{startAtSec:i,alpha:(0,template_utils_1.fadeInExpr)(i,n)}))}}else for(let n=0;n<u.length;n++){const t=u[n];t.endDeg-t.startDeg<=1e-4||_.push(O(n,t.startDeg,t.endDeg))}const q=(C=e.centerValue)!==null&&C!==void 0?C:String(Math.round(e.segments.reduce((n,t)=>n+t.value,0))),U=Math.max(12,Math.round(S*VALUE_FONT_FRAC)),K=Math.max(1,((k=e.centerLabel)!==null&&k!==void 0?k:"").trim().length),j=Math.max(9,Math.round(Math.min(S*CAPTION_FONT_FRAC,S*.92/(.55*K)))),B=!!(e.centerLabel&&e.centerLabel.trim()!==""),V=B?b-p*.12:void 0,X=b+p*.44,$=[((E=g.countUp)!==null&&E!==void 0?E:!0)&&!T&&/\d/.test(q)?centeredExprText((0,template_utils_1.animateNumbersInText)(q,{durationSec:l,ease:I}),U,VALUE_COLOR,V):centeredText(q,U,VALUE_COLOR,V)];B&&$.push(fadeIn(centeredText(e.centerLabel,j,CAPTION_COLOR,X),l*.8,l*.2,!T));const R=[];if(((w=e.segmentLabels)!==null&&w!==void 0?w:"none")==="percent"){const n=v-p,t=Math.max(9,Math.round(n*SEG_LABEL_FONT_FRAC));for(let o=0;o<u.length;o++){const i=u[o];if(i.endDeg-i.startDeg<SEG_LABEL_MIN_SWEEP_DEG)continue;const{x:P,y:x}=(0,geometry_1.sectorCentroid)({cx:G,cy:b,rOuter:v,rInner:p,startDeg:i.startDeg,endDeg:i.endDeg}),J=`${Math.round(i.frac*100)}%`,W=pointText(J,P,x,t,labelColorFor(N(o)));if(F){const Y=L==="sweep"?l*(0,anim_1.sweepInverseEase)(I,i.endDeg/360):l*.5*(i.startDeg/360)+l*.45;R.push(fadeIn(W,Y,l*.15,!0))}else R.push(W)}}const H=[..._,...R,...$],Q=(0,template_utils_1.buildOverlayStack)(H.length);return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:Q,sources:H,backgroundColor:(D=e.backgroundColor)!==null&&D!==void 0?D:CARD_BG,fps:r.target.fps,durationMs:r.target.durationMs})}},(0,template_utils_1.registerTemplate)(exports.Donut);
@@ -0,0 +1 @@
1
+ "use strict";var w=Object.defineProperty;var i=(t,s)=>w(t,"name",{value:s,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.MAX_SEGMENTS=void 0,exports.segmentsToAngles=segmentsToAngles,exports.annularSectorPath=annularSectorPath,exports.sectorCentroid=sectorCentroid,exports.MAX_SEGMENTS=12;const n=i(t=>Math.round(t*10)/10,"n");function pt(t,s,o,e){const r=(e-90)*Math.PI/180;return[t+o*Math.cos(r),s+o*Math.sin(r)]}i(pt,"pt");function segmentsToAngles(t,s={}){var o;const e=(o=s.gapDeg)!==null&&o!==void 0?o:0;if(!Array.isArray(t)||t.length===0)throw new Error("segmentsToAngles: values must be non-empty");if(t.length>exports.MAX_SEGMENTS)throw new Error(`segmentsToAngles: at most ${exports.MAX_SEGMENTS} segments, got ${t.length}`);if(!Number.isFinite(e)||e<0||e>=360/t.length)throw new Error(`segmentsToAngles: gapDeg out of range, got ${e}`);let r=0;for(const c of t){if(!Number.isFinite(c)||c<0)throw new Error(`segmentsToAngles: values must be non-negative numbers, got ${c}`);r+=c}if(r<=0)throw new Error("segmentsToAngles: values must sum to > 0");const g=[];let a=0;for(const c of t){const u=c/r,h=a/r*360,m=(a+c)/r*360;g.push({startDeg:h+e/2,endDeg:Math.max(h+e/2,m-e/2),frac:u}),a+=c}return g}i(segmentsToAngles,"segmentsToAngles");function annularSectorPath(t){const{cx:s,cy:o,rOuter:e,rInner:r,startDeg:g,endDeg:a}=t;if(!(e>0)||!(r>=0)||r>=e)throw new Error(`annularSectorPath: need 0 <= rInner < rOuter, got rInner=${r} rOuter=${e}`);const c=a-g;if(!(c>0))throw new Error(`annularSectorPath: endDeg must exceed startDeg (sweep=${c})`);if(c>=359.999){const u=g+c/2;return sectorPath(s,o,e,r,g,u)+" "+sectorPath(s,o,e,r,u,g+c)}return sectorPath(s,o,e,r,g,a)}i(annularSectorPath,"annularSectorPath");function sectorCentroid(t){const s=(t.startDeg+t.endDeg)/2,o=(t.rOuter+t.rInner)/2,[e,r]=pt(t.cx,t.cy,o,s);return{x:n(e),y:n(r)}}i(sectorCentroid,"sectorCentroid");function sectorPath(t,s,o,e,r,g){const a=g-r>180?1:0,[c,u]=pt(t,s,o,r),[h,m]=pt(t,s,o,g),[$,f]=pt(t,s,e,g),[l,d]=pt(t,s,e,r);return`M ${n(c)} ${n(u)} A ${n(o)} ${n(o)} 0 ${a} 1 ${n(h)} ${n(m)} L ${n($)} ${n(f)} A ${n(e)} ${n(e)} 0 ${a} 0 ${n(l)} ${n(d)} Z`}i(sectorPath,"sectorPath");
@@ -0,0 +1 @@
1
+ "use strict";var n=Object.defineProperty;var e=(t,r)=>n(t,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.segmentsToAngles=exports.annularSectorPath=exports.Donut=void 0;var donut_1=require("./donut");Object.defineProperty(exports,"Donut",{enumerable:!0,get:e(function(){return donut_1.Donut},"get")});var geometry_1=require("./geometry");Object.defineProperty(exports,"annularSectorPath",{enumerable:!0,get:e(function(){return geometry_1.annularSectorPath},"get")}),Object.defineProperty(exports,"segmentsToAngles",{enumerable:!0,get:e(function(){return geometry_1.segmentsToAngles},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var oe=Object.defineProperty;var u=(e,n)=>oe(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DonutV2=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),geometry_1=require("../v1/geometry"),propsSchema=(0,template_utils_1.definePropsSchema)({segments:{type:"array",required:!0,description:"Ring segments in clockwise order from 12 o'clock. Raw weights \u2014 normalized internally.",meta:{ui:{label:"Segments",order:1}}},centerValue:{type:"string",required:!1,description:`Pre-formatted hole value (e.g. "247"). Omit to derive the segments' sum.`,meta:{control:{placeholder:"e.g. 247"},ui:{label:"Center value",order:2}}},centerLabel:{type:"string",required:!1,description:'Small muted caption under the value (e.g. "Total Commits").',meta:{control:{placeholder:"e.g. Total Commits"},ui:{label:"Center label",order:3}}},ringThicknessFrac:{type:"number",required:!1,description:"Annulus thickness as a fraction of the outer radius (0.05\u20130.9).",meta:{constraints:{min:.05,max:.9},control:{flavor:"slider",step:.01},ui:{label:"Ring thickness",order:9}}},resolution:{type:"number",required:!1,description:"Bitmap grid resolution N (the ring is rasterized on N\xD7N cells). Higher = smoother but render cost grows ~N\xB2. 14 is fast+blocky; 72 reads as a clean ring.",meta:{constraints:{min:6,max:160},control:{flavor:"slider",step:2},ui:{label:"Resolution (N\xD7N)",order:8}}},backgroundColor:{type:"string",required:!1,description:"Card surface color (fills the hole and the corners behind the ring).",meta:{constraints:{isColor:!0},control:{colorPicker:!0},ui:{label:"Card Color",order:10}}},anim:{type:"group",required:!1,description:"Clockwise reveal + count-up: intro length, easing, reduceMotion.",meta:{ui:{label:"Animation",collapsedByDefault:!0}},fields:{countUp:{type:"boolean",required:!1,description:"Count the hole value up on intro.",meta:{ui:{label:"Count up"}}},introFrac:{type:"number",required:!1,description:"Fraction of the output duration the reveal fills (the rest holds).",meta:{constraints:{min:.1,max:1},control:{flavor:"slider",step:.05},ui:{label:"Intro length (\xD7 duration)"}}},introMs:{type:"number",required:!1,description:"Absolute intro duration (ms). Overrides Intro length when set.",meta:{control:{placeholder:"from Intro fraction"},constraints:{min:0,max:2e4},ui:{label:"Intro (ms, override)"}}},easing:{type:"string",required:!1,description:"Reveal + count-up easing.",meta:{constraints:{oneOf:["easeOut","smoothstep","easeInOut","linear"]},ui:{label:"Easing"}}},reduceMotion:{type:"boolean",required:!1,description:"Disable motion \u2014 render the static final ring.",meta:{ui:{label:"Reduce motion"}}}}}}),CARD_BG="#161b22",VALUE_COLOR="#e6edf3",CAPTION_COLOR="#8b949e",PALETTE=["#588168","#95c6a7","#3fb950","#2f6f44","#bfdcc8","#1f4f30"],DEFAULT_THICKNESS_FRAC=.4,DEFAULT_RESOLUTION=72,MIN_RESOLUTION=6,MAX_RESOLUTION=160,OUTER_R01=.46,VALUE_FONT_FRAC=.3,CAPTION_FONT_FRAC=.11;function centeredText(e,n,i,r){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:n,fontColor:i},placement:r==null?{hAlign:"center",vAlign:"middle"}:{xExpr:"(w-text_w)/2",yExpr:`${Math.round(r)}-text_h/2`}}]}}u(centeredText,"centeredText");function centeredExprText(e,n,i,r){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:n,fontColor:i},placement:r==null?{hAlign:"center",vAlign:"middle"}:{xExpr:"(w-text_w)/2",yExpr:`${Math.round(r)}-text_h/2`}}]}}u(centeredExprText,"centeredExprText");function fadeIn(e,n,i,r){var s;if(!r)return e;const d=(s=e.overlay)!==null&&s!==void 0?s:{};return{...e,overlay:{...d,alpha:(0,template_utils_1.fadeInExpr)(n,i)}}}u(fadeIn,"fadeIn"),exports.DonutV2={id:(0,types_1.asTemplateId)("@m0saic/charts/donut/v2"),label:"Donut Chart (bitmap)",version:2,description:"Bitmap donut \u2014 the same ring + center total as v1, with the ring rendered as an N\xD7N grid of tiny unmasked color tiles (complexity in source count, not in masked encoder work). A render-cost experiment paired with the benchmark heavy tier.",capabilities:{tier:"core"},deprecated:{reason:"Render-cost experiment. The bitmap ring wins only at low resolution; at smooth resolution the grid-stitch cost grows \u2248N\xB2 and vector masks are both crisper and faster. Use v4 for production donuts (tight-bbox vector masks).",replacement:(0,types_1.asTemplateId)("@m0saic/charts/donut/v4"),since:"2026-06-18"},tags:["charts","donut","distribution","data-viz","experiment","bitmap"],aspectRatio:{ideal:1,min:.6,max:1.8,mode:"warn"},outputHints:{width:360,height:360,fps:30,durationMs:2e3,note:"Square bitmap ring tile"},propsSchema,defaultProps:{segments:[{label:"Weekday Commits",value:75},{label:"Weekend Commits",value:25}],centerValue:"247",ringThicknessFrac:DEFAULT_THICKNESS_FRAC,resolution:DEFAULT_RESOLUTION,backgroundColor:CARD_BG,anim:{countUp:!0,introFrac:.7,easing:"easeOut",reduceMotion:!1}},render(e,n){var i,r,s,d,b,y,M,_,k,C;const h=n.output.width,g=n.output.height;if(!Array.isArray(e.segments)||e.segments.length===0)throw new Error("@m0saic/charts/donut/v2: segments must be a non-empty array");if(e.segments.length>geometry_1.MAX_SEGMENTS)throw new Error(`@m0saic/charts/donut/v2: at most ${geometry_1.MAX_SEGMENTS} segments`);const m=(i=e.ringThicknessFrac)!==null&&i!==void 0?i:DEFAULT_THICKNESS_FRAC;if(!Number.isFinite(m)||m<.05||m>.9)throw new Error(`@m0saic/charts/donut/v2: ringThicknessFrac must be in [0.05, 0.9], got ${m}`);const a=Math.max(MIN_RESOLUTION,Math.min(MAX_RESOLUTION,Math.round((r=e.resolution)!==null&&r!==void 0?r:DEFAULT_RESOLUTION))),O=e.segments.map(t=>Number.isFinite(t.value)&&t.value>0?t.value:0),N=O.reduce((t,o)=>t+o,0);if(N<=0)throw new Error("@m0saic/charts/donut/v2: segment values must sum to > 0");const p=[];let R=0;for(const t of O)R+=t,p.push(R/N);const z=u(t=>{var o;return(o=e.segments[t].color)!==null&&o!==void 0?o:PALETTE[t%PALETTE.length]},"segColor"),G=u(t=>{for(let o=0;o<p.length;o++)if(t<p[o]-1e-9)return o;return p.length-1},"segOf"),W=OUTER_R01,f=OUTER_R01*(1-m),l=(s=e.anim)!==null&&s!==void 0?s:{},x=(d=l.reduceMotion)!==null&&d!==void 0?d:!1,S=(b=l.easing)!==null&&b!==void 0?b:"easeOut",X=n.target.durationMs/1e3,c=l.introMs!=null?l.introMs/1e3:X*((y=l.introFrac)!==null&&y!==void 0?y:.7),j=!x&&c>0,K=Math.max(.05,c*(2/Math.max(1,a))),T=(M=e.backgroundColor)!==null&&M!==void 0?M:CARD_BG,{m0:J}=(0,dsl_stdlib_1.grid)({rows:a,cols:a}),v=new Array(a*a);for(let t=0;t<a*a;t++){const o=Math.floor(t/a),V=(t%a+.5)/a-.5,P=(o+.5)/a-.5,B=Math.hypot(V,P);if(!(B>=f&&B<=W)){v[t]=(0,template_utils_1.makeColorTile)(T);continue}let A=Math.atan2(V,-P);A<0&&(A+=2*Math.PI);const H=A/(2*Math.PI),$=z(G(H));if(!j){v[t]=(0,template_utils_1.makeColorTile)($);continue}const ne=c*H;v[t]=(0,template_utils_1.makeColorTile)($,{overlay:{alpha:(0,template_utils_1.fadeInExpr)(ne,K,S)}})}const Q={kind:"mosaic_document",version:1,assets:{},m0:J,sources:v,backgroundColor:T,fps:n.target.fps,durationMs:n.target.durationMs},re=h/2,I=g/2,w=2*f*Math.min(h,g),E=(_=e.centerValue)!==null&&_!==void 0?_:String(Math.round(e.segments.reduce((t,o)=>t+o.value,0))),F=Math.max(12,Math.round(w*VALUE_FONT_FRAC)),Y=Math.max(1,((k=e.centerLabel)!==null&&k!==void 0?k:"").trim().length),Z=Math.max(9,Math.round(Math.min(w*CAPTION_FONT_FRAC,w*.92/(.55*Y)))),q=!!(e.centerLabel&&e.centerLabel.trim()!==""),L=q?I-f*Math.min(h,g)*.12:void 0,ee=I+f*Math.min(h,g)*.44,D=[((C=l.countUp)!==null&&C!==void 0?C:!0)&&!x&&/\d/.test(E)?centeredExprText((0,template_utils_1.animateNumbersInText)(E,{durationSec:c,ease:S}),F,VALUE_COLOR,L):centeredText(E,F,VALUE_COLOR,L)];q&&D.push(fadeIn(centeredText(e.centerLabel,Z,CAPTION_COLOR,ee),c*.8,c*.2,!x));const U=[{type:"mosaic",ref:"ring"},...D],te=(0,template_utils_1.buildOverlayStack)(U.length);return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:te,sources:U,children:{ring:Q},backgroundColor:T,fps:n.target.fps,durationMs:n.target.durationMs})}},(0,template_utils_1.registerTemplate)(exports.DonutV2);
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var e=(t,r)=>u(t,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DonutV2=void 0;var donut_1=require("./donut");Object.defineProperty(exports,"DonutV2",{enumerable:!0,get:e(function(){return donut_1.DonutV2},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var x=Object.defineProperty;var l=(e,t)=>x(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.MAX_SLIVERS=exports.DEFAULT_SLIVER_DEG=void 0,exports.subdivideForSweep=subdivideForSweep,exports.sweepInverseEase=sweepInverseEase,exports.DEFAULT_SLIVER_DEG=12,exports.MAX_SLIVERS=36;function subdivideForSweep(e,t={}){var s,a;const c=(s=t.maxSlivers)!==null&&s!==void 0?s:exports.MAX_SLIVERS;let r=(a=t.sliverDeg)!==null&&a!==void 0?a:exports.DEFAULT_SLIVER_DEG;if(!(r>0)||!(c>=1))throw new Error("subdivideForSweep: sliverDeg and maxSlivers must be positive");360/r>c&&(r=360/c);const p=[];for(let o=0;o<e.length;o++){const n=e[o],u=n.endDeg-n.startDeg;if(u<=1e-4)continue;const v=Math.max(1,Math.ceil(u/r)),d=u/v;for(let i=0;i<v;i++){const S=n.startDeg+i*d;p.push({segIndex:o,startDeg:S,endDeg:n.startDeg+(i+1)*d,frac0:S/360})}}return p}l(subdivideForSweep,"subdivideForSweep");function sweepInverseEase(e,t){const s=Math.max(0,Math.min(1,t));switch(e){case"easeOut":return 1-Math.sqrt(1-s);case"linear":case"smoothstep":case"easeInOut":default:return s}}l(sweepInverseEase,"sweepInverseEase");
@@ -0,0 +1 @@
1
+ "use strict";var xe=Object.defineProperty;var d=(e,n)=>xe(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DonutV3=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),geometry_1=require("./geometry"),anim_1=require("./anim"),fBool=d((e,n="")=>({type:"boolean",required:!1,description:n,meta:{ui:{label:e}}}),"fBool"),fStr=d((e,n="",o)=>({type:"string",required:!1,description:n,meta:{ui:{label:e},...o?{control:{placeholder:o}}:{}}}),"fStr"),propsSchema=(0,template_utils_1.definePropsSchema)({segments:{type:"array",required:!0,description:"Ring segments in clockwise order from 12 o'clock. Raw weights \u2014 normalized internally.",meta:{control:{flavor:"objectRows",columns:[{label:"Label",key:"label",kind:"text",placeholder:"Segment"},{label:"Value",key:"value",kind:"number"},{label:"Color",key:"color",kind:"color"}],palette:["#f97316","#fdba74","#fb923c","#c2410c","#fed7aa","#57534e"]},ui:{label:"Segments",order:1}}},centerValue:{type:"string",required:!1,description:`Pre-formatted hole value (e.g. "247"). Omit to derive the segments' sum.`,meta:{control:{placeholder:"e.g. 247"},ui:{label:"Center value",order:2}}},centerLabel:{type:"string",required:!1,description:'Small muted caption under the value (e.g. "Total Commits").',meta:{control:{placeholder:"e.g. Total Commits"},ui:{label:"Center label",order:3}}},ringThicknessFrac:{type:"number",required:!1,description:"Annulus thickness as a fraction of the outer radius (0.05\u20130.9).",meta:{constraints:{min:.05,max:.9},control:{flavor:"slider",step:.01},ui:{label:"Ring thickness",order:9}}},segmentLabels:{type:"string",required:!1,description:`Per-segment labels on the slices. "percent" shows each segment's derived share; thin slices are skipped.`,meta:{constraints:{oneOf:["none","percent"]},ui:{label:"Segment labels",order:4}}},backgroundColor:{type:"string",required:!1,description:'Card surface color. Pass "none" to render transparent when composed under a card-chrome primitive.',meta:{constraints:{isColor:!0},control:{placeholder:"theme surface",colorPicker:!0},ui:{label:"Card Color",order:10}}},renderMode:{type:"string",required:!1,description:'Render strategy. "premium" (default): smooth clockwise sliver sweep via absolute placeRects \u2014 premium, heavier, head/standalone use. "light": per-segment overlay-stack revealed by enable-gated pops \u2014 composable (nests safely), cheaper, W3-safe.',meta:{constraints:{oneOf:["premium","light"]},ui:{label:"Render mode",order:11}}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the local palette by default; set a producer slug + namespace to pull shared design tokens (self-seeds when nothing is upstream).",meta:{ui:{label:"Theme",order:15,collapsedByDefault:!0}},fields:{slug:fStr("Producer slug",`Producer template to seed tokens from when the namespace isn't already on ctx (e.g. "@m0saic/theming/v1").`,"preset palette (no producer)"),preset:fStr("Preset","Producer preset/variant to request (e.g. light | dark | high-contrast for @m0saic/theming/v1; producer-defined).","producer default"),namespace:fStr("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:fBool("Force fetch","Re-seed via the slug even if the namespace is already populated.")}},anim:{type:"group",required:!1,description:"Intro animation: clockwise sweep (or per-segment fade), count-up total, easing, duration, reduceMotion.",meta:{ui:{label:"Animation",collapsedByDefault:!0}},fields:{mode:{type:"string",required:!1,description:"Quantized clockwise sweep, or staggered per-segment fade.",meta:{constraints:{oneOf:["sweep","fade"]},ui:{label:"Mode"}}},countUp:{type:"boolean",required:!1,description:"Count the hole value up on intro.",meta:{ui:{label:"Count up"}}},introFrac:{type:"number",required:!1,description:"Fraction of the output duration the intro fills (the rest holds).",meta:{constraints:{min:.1,max:1},control:{flavor:"slider",step:.05},ui:{label:"Intro length (\xD7 duration)"}}},introMs:{type:"number",required:!1,description:"Absolute intro duration (ms). Overrides Intro length when set.",meta:{control:{placeholder:"from Intro fraction"},constraints:{min:0,max:2e4},ui:{label:"Intro (ms, override)"}}},easing:{type:"string",required:!1,description:"Sweep + count-up easing.",meta:{constraints:{oneOf:["easeOut","smoothstep","easeInOut","linear"]},ui:{label:"Easing"}}},reduceMotion:{type:"boolean",required:!1,description:"Disable all motion \u2014 render the static final ring.",meta:{ui:{label:"Reduce motion"}}}}}}),CARD_BG="#161b22",VALUE_COLOR="#f5f5f4",CAPTION_COLOR="#a8a29e",PALETTE=["#f97316","#fdba74","#fb923c","#c2410c","#fed7aa","#57534e"],LOCAL_THEME={surfaceApp:CARD_BG,surface:CARD_BG,surfaceRaised:CARD_BG,surfaceInset:CARD_BG,border:"#30363d",borderStrong:"#30363d",textPrimary:VALUE_COLOR,textSecondary:CAPTION_COLOR,textMuted:CAPTION_COLOR,eyebrow:CAPTION_COLOR,accent:PALETTE[0],accentSoft:PALETTE[0],accentGlow:PALETTE[0],positive:"#16a34a",negative:"#dc2626",grid:"#30363d",gridAlpha:1,axis:"#30363d",axisAlpha:1,radius:0,dataPalette:PALETTE},RADIUS_SCALE=.92,DEFAULT_THICKNESS_FRAC=.36,GAP_DEG=0,VALUE_FONT_FRAC=.3,CAPTION_FONT_FRAC=.095,SEG_LABEL_FONT_FRAC=.42,SEG_LABEL_MIN_SWEEP_DEG=14,SEG_LABEL_LIGHT="#f0f6f1",SEG_LABEL_DARK="#10141a",EDGE_PAD=1.5,SNAP_PX=4,SLIVER_OVERLAP_DEG=2.5,SLIVER_CROSS_DEG=.75,clampInt=d((e,n,o)=>Math.max(n,Math.min(o,Math.round(e))),"clampInt");function placePiece(e,n,o,m){const u=d(E=>Math.floor((E-EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapDown"),h=d(E=>Math.ceil((E+EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapUp"),M=clampInt(u(o.minX),0,e-1),D=clampInt(u(o.minY),0,n-1),q=clampInt(h(o.maxX),M+SNAP_PX,e),G=clampInt(h(o.maxY),D+SNAP_PX,n),T=q-M,I=G-D;return{rect:{x:M,y:D,w:T,h:I,claimant:"F"},source:m(T,I,M,D)}}d(placePiece,"placePiece");function cellText(e,n,o){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:n,fontColor:o},placement:{hAlign:"center",vAlign:"middle"}}]}}d(cellText,"cellText");function cellExprText(e,n,o){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:n,fontColor:o},placement:{hAlign:"center",vAlign:"middle"}}]}}d(cellExprText,"cellExprText");function fadeIn(e,n,o,m){var u;if(!m)return e;const h=(u=e.overlay)!==null&&u!==void 0?u:{};return{...e,overlay:{...h,alpha:(0,template_utils_1.fadeInExpr)(n,o)}}}d(fadeIn,"fadeIn");function textBBox(e,n,o,m){const u=Math.max(m,o.length*m*.85+m),h=m*1.6;return{minX:e-u/2,minY:n-h/2,maxX:e+u/2,maxY:n+h/2}}d(textBBox,"textBBox");function labelColorFor(e){const n=/^#?([0-9a-f]{6})/i.exec(String(e));if(!n)return SEG_LABEL_LIGHT;const o=parseInt(n[1],16),m=o>>16&255,u=o>>8&255,h=o&255;return(.2126*m+.7152*u+.0722*h)/255>.6?SEG_LABEL_DARK:SEG_LABEL_LIGHT}d(labelColorFor,"labelColorFor"),exports.DonutV3={id:(0,types_1.asTemplateId)("@m0saic/charts/donut/v3"),label:"Donut Chart",version:3,description:"Canonical donut chart: proportional ring + center total, each slice placed as a tight bbox (cell-local masks) so thin slivers don't rasterize full-frame. Building block of the repo-tracker hero.",capabilities:{tier:"core"},primitive:!0,deprecated:{reason:"The premium sliver sweep packs each sliver's tight bbox via placeRects on the full canvas \u2014 right raster cost + under the ~25-mask cliff, but the sliver edges (radius\xB7cos \u03B8) are coprime pixels so precision tracks the canvas (audit: ABSOLUTE, slope 1.04). Use v4 \u2014 the SAME sweep + tight rasters, plus a 'self-framed coarse-quantize': build the ring in a P-divisible S\xD7S frame and snap each (origin-relative) mask bbox to P, so placeRects GCD-collapses to a bounded basis on ANY canvas, then letterbox into W\xD7H. Composes at any size. (v3's 'light' mode was already ratio; v4 keeps it.)",replacement:(0,types_1.asTemplateId)("@m0saic/charts/donut/v4"),since:"2026-07-09"},tags:["charts","donut","distribution","data-viz"],aspectRatio:{ideal:1,min:.6,max:1.8,mode:"warn"},outputHints:{width:360,height:360,fps:30,durationMs:2e3,note:"Square ring tile; the hero places it inside the panel's donut region"},propsSchema,defaultProps:{renderMode:"premium",theme:{forceFetch:!1},segments:[{label:"Cache hits",value:44,color:"#f97316"},{label:"Re-rendered",value:28,color:"#fdba74"},{label:"Failed",value:28,color:"#57534e"}],centerValue:"1284",centerLabel:"m0saic renders",segmentLabels:"percent",ringThicknessFrac:DEFAULT_THICKNESS_FRAC,anim:{mode:"sweep",countUp:!0,introFrac:.7,easing:"easeOut",reduceMotion:!1}},async render(e,n){var o,m,u,h,M,D,q,G,T,I,E,Y,j,K,Q,J,Z;const k=n.output.width,v=n.output.height;if(!Array.isArray(e.segments)||e.segments.length===0)throw new Error("@m0saic/charts/donut/v3: segments must be a non-empty array");if(e.segments.length>geometry_1.MAX_SEGMENTS)throw new Error(`@m0saic/charts/donut/v3: at most ${geometry_1.MAX_SEGMENTS} segments`);const V=(o=e.ringThicknessFrac)!==null&&o!==void 0?o:DEFAULT_THICKNESS_FRAC;if(!Number.isFinite(V)||V<.05||V>.9)throw new Error(`@m0saic/charts/donut/v3: ringThicknessFrac must be in [0.05, 0.9], got ${V}`);const x=await(0,template_utils_1.resolveThemeTokens)(LOCAL_THEME,n,e.theme),L=k/2,b=v/2,S=Math.min(k,v)/2*RADIUS_SCALE,p=S*(1-V),F=2*p,f=(0,geometry_1.segmentsToAngles)(e.segments.map(t=>t.value),{gapDeg:GAP_DEG}),C=(m=e.anim)!==null&&m!==void 0?m:{},U=(u=C.reduceMotion)!==null&&u!==void 0?u:!1,ee=(h=C.mode)!==null&&h!==void 0?h:"sweep",N=(M=C.easing)!==null&&M!==void 0?M:"easeOut",le=n.target.durationMs/1e3,i=C.introMs!=null?C.introMs/1e3:le*((D=C.introFrac)!==null&&D!==void 0?D:.7),A=!U&&i>0,H=d(t=>{var a;return(a=e.segments[t].color)!==null&&a!==void 0?a:x.dataPalette[t%x.dataPalette.length]},"segColor");if(((q=e.renderMode)!==null&&q!==void 0?q:"premium")==="light"){const t=A?Math.max(.1,i*.32):0,a=d((c,l)=>A?{alpha:(0,template_utils_1.fadeInExpr)(c,l)}:{},"fadeAt"),r=d((c,l)=>l&&Object.keys(l).length?{...c,overlay:{...c.overlay,...l}}:c,"withOverlay"),s=d((c,l)=>({xExpr:`(W*${c.toFixed(5)})-(W/2)`,yExpr:`(H*${l.toFixed(5)})-(H/2)`}),"centerAt"),g=[];for(let c=0;c<f.length;c++){const l=f[c];if(l.endDeg-l.startDeg<=1e-4)continue;const R=(0,geometry_1.annularSectorPath)({cx:L,cy:b,rOuter:S,rInner:p,startDeg:l.startDeg,endDeg:l.endDeg}),P=(0,template_utils_1.makeColorTile)(H(c),{mask:{kind:"inline-mask",localPath:R,bounds:{x:0,y:0,width:k,height:v}}}),$=A?Math.max(0,(i-t)*(0,anim_1.sweepInverseEase)(N,l.startDeg/360)):0;g.push(r(P,A?{startAtSec:$,...a($,t)}:void 0))}if(((G=e.segmentLabels)!==null&&G!==void 0?G:"none")==="percent"){const c=S-p,l=Math.max(9,Math.round(c*SEG_LABEL_FONT_FRAC));for(let R=0;R<f.length;R++){const P=f[R];if(P.endDeg-P.startDeg<SEG_LABEL_MIN_SWEEP_DEG)continue;const{x:$,y:fe}=(0,geometry_1.sectorCentroid)({cx:L,cy:b,rOuter:S,rInner:p,startDeg:P.startDeg,endDeg:P.endDeg}),ve=`${Math.round(P.frac*100)}%`,be={...s($/k,fe/v),...a(i*.6,Math.max(.1,i*.3))};g.push(r(cellText(ve,l,labelColorFor(H(R))),be))}}const _=(T=e.centerValue)!==null&&T!==void 0?T:String(Math.round(e.segments.reduce((c,l)=>c+l.value,0))),y=Math.max(12,Math.round(F*VALUE_FONT_FRAC)),w=!!(e.centerLabel&&e.centerLabel.trim()!==""),B=Math.max(1,((I=e.centerLabel)!==null&&I!==void 0?I:"").trim().length),re=Math.max(9,Math.round(Math.min(F*CAPTION_FONT_FRAC,F*.92/(.55*B)))),ge=w?b-p*.12:b,pe=((E=C.countUp)!==null&&E!==void 0?E:!0)&&!U&&/\d/.test(_)?cellExprText((0,template_utils_1.animateNumbersInText)(_,{durationSec:i,ease:N}),y,x.textPrimary):cellText(_,y,x.textPrimary);if(g.push(r(pe,w?s(.5,ge/v):void 0)),w){const c={...s(.5,(b+p*.44)/v),...a(i*.7,Math.max(.1,i*.3))};g.push(r(cellText(e.centerLabel,re,x.textSecondary),c))}return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:String((0,template_utils_1.buildOverlayStack)(Math.max(1,g.length))),sources:g.length?g:[(0,template_utils_1.makeColorTile)("black@0")],backgroundColor:(Y=e.backgroundColor)!==null&&Y!==void 0?Y:x.surface,fps:n.target.fps,durationMs:n.target.durationMs})}const te=d((t,a,r,s)=>placePiece(k,v,(0,geometry_1.annularSectorBBox)({cx:L,cy:b,rOuter:S,rInner:p,startDeg:a,endDeg:r}),(g,_,y,w)=>(0,template_utils_1.makeColorTile)(H(t),{mask:{kind:"inline-mask",localPath:(0,geometry_1.annularSectorPath)({cx:L-y,cy:b-w,rOuter:S,rInner:p,startDeg:a,endDeg:r}),bounds:{x:0,y:0,width:g,height:_}},...s?{overlay:s}:{}})),"sectorPiece"),X=[];if(A&&ee==="sweep"){const t=(0,anim_1.subdivideForSweep)(f),a=Math.max(.05,i/Math.max(1,t.length)*2.5);for(const r of t){const s=f[r.segIndex],g=Math.max(s.startDeg-SLIVER_CROSS_DEG,r.startDeg-SLIVER_OVERLAP_DEG),_=Math.min(s.endDeg+SLIVER_CROSS_DEG,r.endDeg+SLIVER_OVERLAP_DEG),y=i*(0,anim_1.sweepInverseEase)(N,r.frac0);X.push(te(r.segIndex,g,_,{startAtSec:y,alpha:(0,template_utils_1.fadeInExpr)(y,a)}))}}else if(A&&ee==="fade"){const t=i*.45;for(let a=0;a<f.length;a++){const r=f[a];if(r.endDeg-r.startDeg<=1e-4)continue;const s=i*.5*(r.startDeg/360);X.push(te(a,r.startDeg,r.endDeg,{startAtSec:s,alpha:(0,template_utils_1.fadeInExpr)(s,t)}))}}else for(let t=0;t<f.length;t++){const a=f[t];a.endDeg-a.startDeg<=1e-4||X.push(te(t,a.startDeg,a.endDeg))}const ne=[];if(((j=e.segmentLabels)!==null&&j!==void 0?j:"none")==="percent"){const t=S-p,a=Math.max(9,Math.round(t*SEG_LABEL_FONT_FRAC));for(let r=0;r<f.length;r++){const s=f[r];if(s.endDeg-s.startDeg<SEG_LABEL_MIN_SWEEP_DEG)continue;const{x:g,y:_}=(0,geometry_1.sectorCentroid)({cx:L,cy:b,rOuter:S,rInner:p,startDeg:s.startDeg,endDeg:s.endDeg}),y=`${Math.round(s.frac*100)}%`,w=labelColorFor(H(r)),B=placePiece(k,v,textBBox(g,_,y,a),()=>cellText(y,a,w));if(A){const re=ee==="sweep"?i*(0,anim_1.sweepInverseEase)(N,s.endDeg/360):i*.5*(s.startDeg/360)+i*.45;B.source=fadeIn(B.source,re,i*.15,!0)}ne.push(B)}}const z=(K=e.centerValue)!==null&&K!==void 0?K:String(Math.round(e.segments.reduce((t,a)=>t+a.value,0))),ae=Math.max(12,Math.round(F*VALUE_FONT_FRAC)),de=Math.max(1,((Q=e.centerLabel)!==null&&Q!==void 0?Q:"").trim().length),oe=Math.max(9,Math.round(Math.min(F*CAPTION_FONT_FRAC,F*.92/(.55*de)))),se=!!(e.centerLabel&&e.centerLabel.trim()!==""),ue=se?b-p*.12:b,me=b+p*.44,he=((J=C.countUp)!==null&&J!==void 0?J:!0)&&!U&&/\d/.test(z),W=[];if(W.push(placePiece(k,v,textBBox(L,ue,z,ae),()=>he?cellExprText((0,template_utils_1.animateNumbersInText)(z,{durationSec:i,ease:N}),ae,x.textPrimary):cellText(z,ae,x.textPrimary))),se){const t=placePiece(k,v,textBBox(L,me,e.centerLabel,oe),()=>cellText(e.centerLabel,oe,x.textSecondary));t.source=fadeIn(t.source,i*.8,i*.2,!U),W.push(t)}for(const t of ne)t.rect.importance=1;for(const t of W)t.rect.importance=1;const O=[...X,...ne,...W],ie=(0,dsl_stdlib_1.placeRects)({rootW:k,rootH:v,rects:O.map(t=>t.rect)}),ce=[];for(const t of ie.layers){const a=[...t.rectIndices].sort((r,s)=>O[r].rect.y-O[s].rect.y||O[r].rect.x-O[s].rect.x);for(const r of a)ce.push(O[r].source)}return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:String(ie.m0),sources:ce,backgroundColor:(Z=e.backgroundColor)!==null&&Z!==void 0?Z:x.surface,fps:n.target.fps,durationMs:n.target.durationMs})}},(0,template_utils_1.registerTemplate)(exports.DonutV3);
@@ -0,0 +1 @@
1
+ "use strict";var d=Object.defineProperty;var m=(t,s)=>d(t,"name",{value:s,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.MAX_SEGMENTS=void 0,exports.segmentsToAngles=segmentsToAngles,exports.annularSectorPath=annularSectorPath,exports.annularSectorBBox=annularSectorBBox,exports.sectorCentroid=sectorCentroid,exports.MAX_SEGMENTS=12;const n=m(t=>Math.round(t*10)/10,"n");function pt(t,s,o,e){const r=(e-90)*Math.PI/180;return[t+o*Math.cos(r),s+o*Math.sin(r)]}m(pt,"pt");function segmentsToAngles(t,s={}){var o;const e=(o=s.gapDeg)!==null&&o!==void 0?o:0;if(!Array.isArray(t)||t.length===0)throw new Error("segmentsToAngles: values must be non-empty");if(t.length>exports.MAX_SEGMENTS)throw new Error(`segmentsToAngles: at most ${exports.MAX_SEGMENTS} segments, got ${t.length}`);if(!Number.isFinite(e)||e<0||e>=360/t.length)throw new Error(`segmentsToAngles: gapDeg out of range, got ${e}`);let r=0;for(const c of t){if(!Number.isFinite(c)||c<0)throw new Error(`segmentsToAngles: values must be non-negative numbers, got ${c}`);r+=c}if(r<=0)throw new Error("segmentsToAngles: values must sum to > 0");const i=[];let a=0;for(const c of t){const g=c/r,f=a/r*360,h=(a+c)/r*360;i.push({startDeg:f+e/2,endDeg:Math.max(f+e/2,h-e/2),frac:g}),a+=c}return i}m(segmentsToAngles,"segmentsToAngles");function annularSectorPath(t){const{cx:s,cy:o,rOuter:e,rInner:r,startDeg:i,endDeg:a}=t;if(!(e>0)||!(r>=0)||r>=e)throw new Error(`annularSectorPath: need 0 <= rInner < rOuter, got rInner=${r} rOuter=${e}`);const c=a-i;if(!(c>0))throw new Error(`annularSectorPath: endDeg must exceed startDeg (sweep=${c})`);if(c>=359.999){const g=i+c/2;return sectorPath(s,o,e,r,i,g)+" "+sectorPath(s,o,e,r,g,i+c)}return sectorPath(s,o,e,r,i,a)}m(annularSectorPath,"annularSectorPath");function annularSectorBBox(t){const{cx:s,cy:o,rOuter:e,rInner:r,startDeg:i,endDeg:a}=t,c=[pt(s,o,e,i),pt(s,o,e,a),pt(s,o,r,i),pt(s,o,r,a)];for(const u of[0,90,180,270,360])u>i&&u<a&&c.push(pt(s,o,e,u));let g=1/0,f=1/0,h=-1/0,x=-1/0;for(const[u,l]of c)u<g&&(g=u),l<f&&(f=l),u>h&&(h=u),l>x&&(x=l);return{minX:g,minY:f,maxX:h,maxY:x}}m(annularSectorBBox,"annularSectorBBox");function sectorCentroid(t){const s=(t.startDeg+t.endDeg)/2,o=(t.rOuter+t.rInner)/2,[e,r]=pt(t.cx,t.cy,o,s);return{x:n(e),y:n(r)}}m(sectorCentroid,"sectorCentroid");function sectorPath(t,s,o,e,r,i){const a=i-r>180?1:0,[c,g]=pt(t,s,o,r),[f,h]=pt(t,s,o,i),[x,u]=pt(t,s,e,i),[l,$]=pt(t,s,e,r);return`M ${n(c)} ${n(g)} A ${n(o)} ${n(o)} 0 ${a} 1 ${n(f)} ${n(h)} L ${n(x)} ${n(u)} A ${n(e)} ${n(e)} 0 ${a} 0 ${n(l)} ${n($)} Z`}m(sectorPath,"sectorPath");
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var e=(t,r)=>u(t,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DonutV3=void 0;var donut_1=require("./donut");Object.defineProperty(exports,"DonutV3",{enumerable:!0,get:e(function(){return donut_1.DonutV3},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var Ge=Object.defineProperty;var l=(e,t)=>Ge(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DonutV4=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),geometry_1=require("../v3/geometry"),anim_1=require("../v3/anim"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),fBool=l((e,t="")=>({type:"boolean",required:!1,description:t,meta:{ui:{label:e}}}),"fBool"),fStr=l((e,t="",n)=>({type:"string",required:!1,description:t,meta:{ui:{label:e},...n?{control:{placeholder:n}}:{}}}),"fStr"),propsSchema=(0,template_utils_1.definePropsSchema)({segments:{type:"array",required:!0,description:"Ring segments in clockwise order from 12 o'clock. Raw weights \u2014 normalized internally.",meta:{control:{flavor:"objectRows",columns:[{label:"Label",key:"label",kind:"text",placeholder:"Segment"},{label:"Value",key:"value",kind:"number"},{label:"Color",key:"color",kind:"color"}],palette:["#f97316","#fdba74","#fb923c","#c2410c","#fed7aa","#57534e"]},ui:{label:"Segments",order:1}}},centerValue:{type:"string",required:!1,description:`Pre-formatted hole value (e.g. "247"). Omit to derive the segments' sum.`,meta:{control:{placeholder:"e.g. 247"},ui:{label:"Center value",order:2}}},centerLabel:{type:"string",required:!1,description:'Small muted caption under the value (e.g. "Total Commits").',meta:{control:{placeholder:"e.g. Total Commits"},ui:{label:"Center label",order:3}}},ringThicknessFrac:{type:"number",required:!1,description:"Annulus thickness as a fraction of the outer radius (0.05\u20130.9).",meta:{constraints:{min:.05,max:.9},control:{flavor:"slider",step:.01},ui:{label:"Ring thickness",order:9}}},segmentLabels:{type:"string",required:!1,description:`Per-segment labels on the slices. "percent" shows each segment's derived share; thin slices are skipped.`,meta:{constraints:{oneOf:["none","percent"]},ui:{label:"Segment labels",order:4}}},backgroundColor:{type:"string",required:!1,description:'Card surface color. Pass "none" to render transparent when composed under a card-chrome primitive.',meta:{constraints:{isColor:!0},control:{placeholder:"theme surface",colorPicker:!0},ui:{label:"Card Color",order:10}}},renderMode:{type:"string",required:!1,description:'Render strategy. "premium" (default): smooth clockwise sliver sweep \u2014 now RATIO via a self-framed coarse-quantize (composes at any canvas). "light": per-segment overlay-stack revealed by enable-gated pops \u2014 composable, cheaper, W3-safe.',meta:{constraints:{oneOf:["premium","light"]},ui:{label:"Render mode",order:11}}},debugLayout:{type:"boolean",required:!1,description:"Dev-only: draw the layout contract (center value/caption + segment labels fit their cells) instead of the chart.",meta:{ui:{label:"Debug layout",order:12}}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the local palette by default; set a producer slug + namespace to pull shared design tokens (self-seeds when nothing is upstream).",meta:{ui:{label:"Theme",order:15,collapsedByDefault:!0}},fields:{slug:fStr("Producer slug",`Producer template to seed tokens from when the namespace isn't already on ctx (e.g. "@m0saic/theming/v1").`,"preset palette (no producer)"),preset:fStr("Preset","Producer preset/variant to request (e.g. light | dark | high-contrast for @m0saic/theming/v1; producer-defined).","producer default"),namespace:fStr("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:fBool("Force fetch","Re-seed via the slug even if the namespace is already populated.")}},anim:{type:"group",required:!1,description:"Intro animation: clockwise sweep (or per-segment fade), count-up total, easing, duration, reduceMotion.",meta:{ui:{label:"Animation",collapsedByDefault:!0}},fields:{mode:{type:"string",required:!1,description:"Quantized clockwise sweep, or staggered per-segment fade.",meta:{constraints:{oneOf:["sweep","fade"]},ui:{label:"Mode"}}},countUp:{type:"boolean",required:!1,description:"Count the hole value up on intro.",meta:{ui:{label:"Count up"}}},introFrac:{type:"number",required:!1,description:"Fraction of the output duration the intro fills (the rest holds).",meta:{constraints:{min:.1,max:1},control:{flavor:"slider",step:.05},ui:{label:"Intro length (\xD7 duration)"}}},introMs:{type:"number",required:!1,description:"Absolute intro duration (ms). Overrides Intro length when set.",meta:{control:{placeholder:"from Intro fraction"},constraints:{min:0,max:2e4},ui:{label:"Intro (ms, override)"}}},easing:{type:"string",required:!1,description:"Sweep + count-up easing.",meta:{constraints:{oneOf:["easeOut","smoothstep","easeInOut","linear"]},ui:{label:"Easing"}}},reduceMotion:{type:"boolean",required:!1,description:"Disable all motion \u2014 render the static final ring.",meta:{ui:{label:"Reduce motion"}}}}}}),CARD_BG="#161b22",VALUE_COLOR="#f5f5f4",CAPTION_COLOR="#a8a29e",PALETTE=["#f97316","#fdba74","#fb923c","#c2410c","#fed7aa","#57534e"],LOCAL_THEME={surfaceApp:CARD_BG,surface:CARD_BG,surfaceRaised:CARD_BG,surfaceInset:CARD_BG,border:"#30363d",borderStrong:"#30363d",textPrimary:VALUE_COLOR,textSecondary:CAPTION_COLOR,textMuted:CAPTION_COLOR,eyebrow:CAPTION_COLOR,accent:PALETTE[0],accentSoft:PALETTE[0],accentGlow:PALETTE[0],positive:"#16a34a",negative:"#dc2626",grid:"#30363d",gridAlpha:1,axis:"#30363d",axisAlpha:1,radius:0,dataPalette:PALETTE},RADIUS_SCALE=.92,DEFAULT_THICKNESS_FRAC=.36,GAP_DEG=0,VALUE_FONT_FRAC=.3,CAPTION_FONT_FRAC=.095,SEG_LABEL_FONT_FRAC=.42,SEG_LABEL_MIN_SWEEP_DEG=14,SEG_LABEL_LIGHT="#f0f6f1",SEG_LABEL_DARK="#10141a",EDGE_PAD=1.5,SLIVER_OVERLAP_DEG=2.5,SLIVER_CROSS_DEG=.75,SWEEP_DIVISIONS=96,clampInt=l((e,t,n)=>Math.max(t,Math.min(n,Math.round(e))),"clampInt");function placePiece(e,t,n,s,i){const u=l(S=>Math.floor((S-EDGE_PAD)/n)*n,"snapDown"),f=l(S=>Math.ceil((S+EDGE_PAD)/n)*n,"snapUp"),g=clampInt(u(s.minX),0,e-1),x=clampInt(u(s.minY),0,t-1),T=clampInt(f(s.maxX),g+n,e),I=clampInt(f(s.maxY),x+n,t);return{rect:{x:g,y:x,w:T-g,h:I-x,claimant:"F"},source:i(T-g,I-x,g,x)}}l(placePiece,"placePiece");function letterbox(e,t,n,s){const i=l(x=>(0,template_utils_1.latticeWeights)(x,{cap:100}),"cap"),u=Math.max(0,(n-t)/2),f=Math.max(0,(s-t)/2);let g=e;return u>=1&&(g=String((0,dsl_stdlib_1.weightedSplit)(i([u,t,u]),"col",{claimants:["-",g,"-"]}))),f>=1&&(g=String((0,dsl_stdlib_1.weightedSplit)(i([f,t,f]),"row",{claimants:["-",g,"-"]}))),g}l(letterbox,"letterbox");function selfFrame(e){const t=e/SWEEP_DIVISIONS;let n=null;for(const i of(0,template_utils_1.divisors)(e)){const u=e/i;if(i<4||u>200||!(0,template_utils_1.isSmooth)(u))continue;const f=Math.abs(Math.log(i/t));(!n||f<n.err)&&(n={P:i,err:f})}if(n&&n.err<=Math.log(1.5))return{P:n.P,S:e};const s=Math.max(4,Math.round(t));return{P:s,S:(0,template_utils_1.ceilToSmooth)(Math.ceil(e/s))*s}}l(selfFrame,"selfFrame");function cellText(e,t,n){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:t,fontColor:n},placement:{hAlign:"center",vAlign:"middle"}}]}}l(cellText,"cellText");function cellExprText(e,t,n){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:t,fontColor:n},placement:{hAlign:"center",vAlign:"middle"}}]}}l(cellExprText,"cellExprText");function fadeIn(e,t,n,s){var i;if(!s)return e;const u=(i=e.overlay)!==null&&i!==void 0?i:{};return{...e,overlay:{...u,alpha:(0,template_utils_1.fadeInExpr)(t,n)}}}l(fadeIn,"fadeIn");function textBBox(e,t,n,s){const i=Math.max(s,(0,template_utils_1.textEmUnits)(n)*s*.85+s),u=s*1.6;return{minX:e-i/2,minY:t-u/2,maxX:e+i/2,maxY:t+u/2}}l(textBBox,"textBBox");function holeCappedFont(e,t,n,s,i){return Math.max(t,Math.round(Math.min(e,s*i/(Math.max(1,(0,template_utils_1.textEmUnits)(n))*.62))))}l(holeCappedFont,"holeCappedFont");function fitToHole(e,t,n,s){const i=n*s/(.62*t);return(0,template_utils_1.textEmUnits)(e)<=i+.5?e:(0,template_utils_1.fitEmUnits)(e,Math.max(1,Math.floor(i)))}l(fitToHole,"fitToHole");function labelColorFor(e){const t=/^#?([0-9a-f]{6})/i.exec(String(e));if(!t)return SEG_LABEL_LIGHT;const n=parseInt(t[1],16);return(.2126*(n>>16&255)+.7152*(n>>8&255)+.0722*(n&255))/255>.6?SEG_LABEL_DARK:SEG_LABEL_LIGHT}l(labelColorFor,"labelColorFor"),exports.DonutV4={id:(0,types_1.asTemplateId)("@m0saic/charts/donut/v4"),label:"Donut Chart",version:4,description:"Canonical donut chart: proportional ring + center total. v4 makes the premium sliver sweep RATIO via a self-framed coarse-quantize (a P-divisible S\xD7S frame lets placeRects GCD-collapse on any canvas), so it composes at any size while keeping the smooth sweep + tight rasters. Building block of the repo-tracker hero.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","donut","distribution","animated","analysts","marketers","share"],aspectRatio:{ideal:1,min:.6,max:1.8,mode:"warn"},outputHints:{format:{kind:"video",container:"mp4"},width:360,height:360,fps:30,durationMs:2e3,note:"Square ring tile; the hero places it inside the panel's donut region"},propsSchema,defaultProps:{renderMode:"premium",debugLayout:!1,theme:{forceFetch:!1},segments:[{label:"Cache hits",value:44,color:"#f97316"},{label:"Re-rendered",value:28,color:"#fdba74"},{label:"Failed",value:28,color:"#57534e"}],centerValue:"1284",centerLabel:"m0saic renders",segmentLabels:"percent",ringThicknessFrac:DEFAULT_THICKNESS_FRAC,anim:{mode:"sweep",countUp:!0,introFrac:.7,easing:"easeOut",reduceMotion:!1}},async render(e,t){var n,s,i,u,f,g,x,T,I,S,Z,ee,te,ne,ae,oe,re,se,ie;const R=t.output.width,_=t.output.height;if(!Array.isArray(e.segments)||e.segments.length===0)throw new Error("@m0saic/charts/donut/v4: segments must be a non-empty array");if(e.segments.length>geometry_1.MAX_SEGMENTS)throw new Error(`@m0saic/charts/donut/v4: at most ${geometry_1.MAX_SEGMENTS} segments`);const O=(n=e.ringThicknessFrac)!==null&&n!==void 0?n:DEFAULT_THICKNESS_FRAC;if(!Number.isFinite(O)||O<.05||O>.9)throw new Error(`@m0saic/charts/donut/v4: ringThicknessFrac must be in [0.05, 0.9], got ${O}`);const D=await(0,template_utils_1.resolveThemeTokens)(LOCAL_THEME,t,e.theme),k=(s=e.anim)!==null&&s!==void 0?s:{},W=(i=k.reduceMotion)!==null&&i!==void 0?i:!1,ce=(u=k.mode)!==null&&u!==void 0?u:"sweep",G=(f=k.easing)!==null&&f!==void 0?f:"easeOut",Se=t.target.durationMs/1e3,d=k.introMs!=null?k.introMs/1e3:Se*((g=k.introFrac)!==null&&g!==void 0?g:.7),E=!W&&d>0,b=(0,geometry_1.segmentsToAngles)(e.segments.map(a=>a.value),{gapDeg:GAP_DEG}),H=l(a=>{var o;return(o=e.segments[a].color)!==null&&o!==void 0?o:D.dataPalette[a%D.dataPalette.length]},"segColor"),be=((x=e.backgroundColor)!==null&&x!==void 0?x:"").trim(),X=be.toLowerCase()==="none"?void 0:be||D.surface,ve=((T=e.segmentLabels)!==null&&T!==void 0?T:"none")==="percent"&&b.some(a=>a.endDeg-a.startDeg>=SEG_LABEL_MIN_SWEEP_DEG);if(((I=e.renderMode)!==null&&I!==void 0?I:"premium")==="light"){const a=R/2,o=_/2,r=Math.min(R,_)/2*RADIUS_SCALE,c=r*(1-O),v=2*c,w=E?Math.max(.1,d*.32):0,M=l((m,h)=>E?{alpha:(0,template_utils_1.fadeInExpr)(m,h)}:{},"fadeAt"),C=l((m,h)=>h&&Object.keys(h).length?{...m,overlay:{...m.overlay,...h}}:m,"withOverlay"),P=l((m,h)=>({xExpr:`(W*${m.toFixed(5)})-(W/2)`,yExpr:`(H*${h.toFixed(5)})-(H/2)`}),"centerAt"),y=[];X&&y.push((0,template_utils_1.bindProp)((0,template_utils_1.makeColorTile)(X),"backgroundColor"));for(let m=0;m<b.length;m++){const h=b[m];if(h.endDeg-h.startDeg<=1e-4)continue;const A=(0,geometry_1.annularSectorPath)({cx:a,cy:o,rOuter:r,rInner:c,startDeg:h.startDeg,endDeg:h.endDeg}),F=(0,template_utils_1.bindPropPath)((0,template_utils_1.makeColorTile)(H(m),{mask:{kind:"inline-mask",localPath:A,bounds:{x:0,y:0,width:R,height:_}}}),"segments",[m,"color"],"color"),J=E?Math.max(0,(d-w)*(0,anim_1.sweepInverseEase)(G,h.startDeg/360)):0;y.push(C(F,E?{startAtSec:J,...M(J,w)}:void 0))}if(((S=e.segmentLabels)!==null&&S!==void 0?S:"none")==="percent"){const m=r-c,h=Math.max(9,Math.round(m*SEG_LABEL_FONT_FRAC));for(let A=0;A<b.length;A++){const F=b[A];if(F.endDeg-F.startDeg<SEG_LABEL_MIN_SWEEP_DEG)continue;const{x:J,y:qe}=(0,geometry_1.sectorCentroid)({cx:a,cy:o,rOuter:r,rInner:c,startDeg:F.startDeg,endDeg:F.endDeg}),Ve=`${Math.round(F.frac*100)}%`,Be={...P(J/R,qe/_),...M(d*.6,Math.max(.1,d*.3))};y.push(C((0,template_utils_1.bindPropPath)((0,template_utils_1.tag)(cellText(Ve,h,labelColorFor(H(A))),"seg-label"),"segments",[A,"value"],"number"),Be))}}const _e=((Z=e.centerValue)!==null&&Z!==void 0?Z:"").trim()||String(Math.round(e.segments.reduce((m,h)=>m+h.value,0))),pe=holeCappedFont(v*VALUE_FONT_FRAC,12,_e,v,.86),fe=fitToHole(_e,pe,v,.86),Q=!!(e.centerLabel&&e.centerLabel.trim()!==""),ke=((ee=e.centerLabel)!==null&&ee!==void 0?ee:"").trim(),we=holeCappedFont(v*CAPTION_FONT_FRAC,9,ke,v,.92),Te=fitToHole(ke,we,v,.92),Ie=Q?o-c*.12:o,Ce=((te=k.countUp)!==null&&te!==void 0?te:!0)&&!W&&/\d/.test(fe)&&e.debugLayout!==!0,Re=(0,template_utils_1.bindProp)(Ce?(0,template_utils_1.tag)(cellExprText((0,template_utils_1.animateNumbersInText)(fe,{durationSec:d,ease:G}),pe,D.textPrimary),"center-value"):(0,template_utils_1.tag)(cellText(fe,pe,D.textPrimary),"center-value"),"centerValue");if(y.push(C(Re,Q?P(.5,Ie/_):void 0)),Q){const m={...P(.5,(o+c*.44)/_),...M(d*.7,Math.max(.1,d*.3))};y.push(C((0,template_utils_1.bindProp)((0,template_utils_1.tag)(cellText(Te,we,D.textSecondary),"center-label"),"centerLabel"),m))}const Oe={kind:"mosaic_document",version:1,assets:{},m0:String((0,template_utils_1.buildOverlayStack)(Math.max(1,y.length))),sources:y.length?y:[(0,template_utils_1.makeColorTile)("black@0")],backgroundColor:(ne=e.backgroundColor)!==null&&ne!==void 0?ne:D.surface,fps:t.target.fps,durationMs:t.target.durationMs};return Promise.resolve((0,template_utils_1.withLayoutContract)(Oe,t,{templateId:"@m0saic/charts/donut/v4",relations:[],constraints:Ce?[]:[{label:"center-value",textFits:{charWidthEm:.62,padPx:0}},...Q?[{label:"center-label",textFits:{charWidthEm:.62,padPx:0}}]:[],...ve?[{label:"seg-label",textFits:{charWidthEm:.62,padPx:0}}]:[]],debug:e.debugLayout===!0}))}const Ee=Math.min(R,_),{P:$,S:p}=selfFrame(Ee),U=p/2,q=p/2,N=p/2*RADIUS_SCALE,L=N*(1-O),V=2*L,le=l((a,o,r,c,v=!1)=>placePiece(p,p,$,(0,geometry_1.annularSectorBBox)({cx:U,cy:q,rOuter:N,rInner:L,startDeg:o,endDeg:r}),(w,M,C,P)=>{const y=(0,template_utils_1.makeColorTile)(H(a),{mask:{kind:"inline-mask",localPath:(0,geometry_1.annularSectorPath)({cx:U-C,cy:q-P,rOuter:N,rInner:L,startDeg:o,endDeg:r}),bounds:{x:0,y:0,width:w,height:M}},...c?{overlay:c}:{}});return(0,template_utils_1.bindPropPath)(y,"segments",[a,"color"],"color")}),"sectorPiece"),z=[];if(E&&ce==="sweep"){const a=(0,anim_1.subdivideForSweep)(b),o=Math.max(.05,d/Math.max(1,a.length)*2.5);for(const r of a){const c=b[r.segIndex],v=Math.max(c.startDeg-SLIVER_CROSS_DEG,r.startDeg-SLIVER_OVERLAP_DEG),w=Math.min(c.endDeg+SLIVER_CROSS_DEG,r.endDeg+SLIVER_OVERLAP_DEG),M=d*(0,anim_1.sweepInverseEase)(G,r.frac0);z.push(le(r.segIndex,v,w,{startAtSec:M,alpha:(0,template_utils_1.fadeInExpr)(M,o)}))}}else if(E&&ce==="fade"){const a=d*.45;for(let o=0;o<b.length;o++){const r=b[o];if(r.endDeg-r.startDeg<=1e-4)continue;const c=d*.5*(r.startDeg/360);z.push(le(o,r.startDeg,r.endDeg,{startAtSec:c,alpha:(0,template_utils_1.fadeInExpr)(c,a)},!0))}}else for(let a=0;a<b.length;a++){const o=b[a];o.endDeg-o.startDeg<=1e-4||z.push(le(a,o.startDeg,o.endDeg,void 0,!0))}const ue=[];if(((ae=e.segmentLabels)!==null&&ae!==void 0?ae:"none")==="percent"){const a=N-L,o=Math.max(9,Math.round(a*SEG_LABEL_FONT_FRAC));for(let r=0;r<b.length;r++){const c=b[r];if(c.endDeg-c.startDeg<SEG_LABEL_MIN_SWEEP_DEG)continue;const{x:v,y:w}=(0,geometry_1.sectorCentroid)({cx:U,cy:q,rOuter:N,rInner:L,startDeg:c.startDeg,endDeg:c.endDeg}),M=`${Math.round(c.frac*100)}%`,C=labelColorFor(H(r)),P=placePiece(p,p,$,textBBox(v,w,M,o),()=>(0,template_utils_1.bindPropPath)((0,template_utils_1.tag)(cellText(M,o,C),"seg-label"),"segments",[r,"value"],"number"));if(E){const y=ce==="sweep"?d*(0,anim_1.sweepInverseEase)(G,c.endDeg/360):d*.5*(c.startDeg/360)+d*.45;P.source=fadeIn(P.source,y,d*.15,!0)}ue.push(P)}}const ye=((oe=e.centerValue)!==null&&oe!==void 0?oe:"").trim()||String(Math.round(e.segments.reduce((a,o)=>a+o.value,0))),Y=holeCappedFont(V*VALUE_FONT_FRAC,12,ye,V,.86),j=fitToHole(ye,Y,V,.86),xe=((re=e.centerLabel)!==null&&re!==void 0?re:"").trim(),de=holeCappedFont(V*CAPTION_FONT_FRAC,9,xe,V,.92),De=fitToHole(xe,de,V,.92),me=!!(e.centerLabel&&e.centerLabel.trim()!==""),Le=me?q-L*.12:q,Ae=q+L*.44,Me=((se=k.countUp)!==null&&se!==void 0?se:!0)&&!W&&/\d/.test(j)&&e.debugLayout!==!0,K=[];if(K.push(placePiece(p,p,$,textBBox(U,Le,j,Y),()=>(0,template_utils_1.bindProp)(Me?(0,template_utils_1.tag)(cellExprText((0,template_utils_1.animateNumbersInText)(j,{durationSec:d,ease:G}),Y,D.textPrimary),"center-value"):(0,template_utils_1.tag)(cellText(j,Y,D.textPrimary),"center-value"),"centerValue"))),me){const a=placePiece(p,p,$,textBBox(U,Ae,De,de),()=>(0,template_utils_1.bindProp)((0,template_utils_1.tag)(cellText(De,de,D.textSecondary),"center-label"),"centerLabel"));a.source=fadeIn(a.source,d*.8,d*.2,!W),K.push(a)}for(const a of ue)a.rect.importance=1;for(const a of K)a.rect.importance=1;const B=[...z,...ue,...K],Pe=(0,dsl_stdlib_1.placeRects)({rootW:p,rootH:p,rects:B.map(a=>a.rect)}),he=[];for(const a of Pe.layers){const o=[...a.rectIndices].sort((r,c)=>B[r].rect.y-B[c].rect.y||B[r].rect.x-B[c].rect.x);for(const r of o)he.push(B[r].source)}let ge=letterbox(String(Pe.m0),p,R,_);X&&(ge=`F{${ge}}`,he.unshift((0,template_utils_1.bindProp)((0,template_utils_1.makeColorTile)(X),"backgroundColor")));const Fe={kind:"mosaic_document",version:1,assets:{},m0:ge,sources:he,backgroundColor:(ie=e.backgroundColor)!==null&&ie!==void 0?ie:D.surface,fps:t.target.fps,durationMs:t.target.durationMs};return Promise.resolve((0,template_utils_1.withLayoutContract)(Fe,t,{templateId:"@m0saic/charts/donut/v4",relations:[],constraints:Me?[]:[{label:"center-value",textFits:{charWidthEm:.62,padPx:0}},...me?[{label:"center-label",textFits:{charWidthEm:.62,padPx:0}}]:[],...ve?[{label:"seg-label",textFits:{charWidthEm:.62,padPx:0}}]:[]],debug:e.debugLayout===!0}))},async renderCover(e,t){const n=(0,onboarding_cover_1.brandedCoverHeroBox)(t,"band"),s={...t,target:{...t.target,width:n.width,height:n.height},output:{...t.output,width:n.width,height:n.height}},i=await exports.DonutV4.render({...exports.DonutV4.defaultProps,anim:{...exports.DonutV4.defaultProps.anim,reduceMotion:!0}},s);return(0,onboarding_cover_1.buildBrandedCover)({ctx:t,variant:"band",copy:{productName:"Donut",title:"A donut chart."},hero:l(u=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(i),u.borderStrong),"hero"),heroAssets:i.assets})}},(0,template_utils_1.registerTemplate)(exports.DonutV4);
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var e=(t,r)=>u(t,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DonutV4=void 0;var donut_1=require("./donut");Object.defineProperty(exports,"DonutV4",{enumerable:!0,get:e(function(){return donut_1.DonutV4},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var o=(t,e)=>u(t,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,i,n)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),__exportStar=this&&this.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(e,t,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./bar-graph/v1"),exports),__exportStar(require("./bar-graph/v2"),exports),__exportStar(require("./stat-card/v1"),exports),__exportStar(require("./donut/v1"),exports),__exportStar(require("./donut/v2"),exports),__exportStar(require("./donut/v3"),exports),__exportStar(require("./donut/v4"),exports),__exportStar(require("./line-chart/v1"),exports);
@@ -0,0 +1 @@
1
+ "use strict";var b=Object.defineProperty;var o=(t,e)=>b(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.computeSeriesTiming=computeSeriesTiming,exports.easingExpr=easingExpr,exports.sweepInverseEase=sweepInverseEase,exports.sliverTiming=sliverTiming,exports.pointStartSec=pointStartSec,exports.chromeFade=chromeFade,exports.columnRevealSec=columnRevealSec,exports.buildCurtainColumns=buildCurtainColumns;function computeSeriesTiming(t,e){const n=e.intro.delaySec+t*e.intro.staggerSec,r=n+e.intro.durationSec;return{startAtSec:n,endAtSec:r}}o(computeSeriesTiming,"computeSeriesTiming");function easingExpr(t,e="u"){return t==="smoothstep"||t==="easeInOut"?`(${e})*(${e})*(3-2*(${e}))`:`${e}`}o(easingExpr,"easingExpr");function sweepInverseEase(t,e){const n=Math.max(0,Math.min(1,e));return t==="easeInOut"?1-Math.sqrt(1-n):n}o(sweepInverseEase,"sweepInverseEase");function sliverTiming(t,e,n){const r=n.intro,s=r.delaySec+r.durationSec*sweepInverseEase(r.ease,t),i=Math.max(.05,r.durationSec/Math.max(1,e)*2.5);return{startSec:s,fadeDur:i}}o(sliverTiming,"sliverTiming");function pointStartSec(t,e){const n=e.intro;return n.delaySec+n.durationSec*sweepInverseEase(n.ease,t)}o(pointStartSec,"pointStartSec");function chromeFade(t){return{startSec:0,durSec:Math.min(.35,t.intro.durationSec*.35)}}o(chromeFade,"chromeFade");function columnRevealSec(t,e){return pointStartSec(t,e)}o(columnRevealSec,"columnRevealSec");function buildCurtainColumns(t,e,n={}){var r,s;const i=(r=n.stepPx)!==null&&r!==void 0?r:16,c=Math.max(0,(s=n.padPx)!==null&&s!==void 0?s:0),d=Math.max(1,t.right-t.left),u=t.left-c,v=t.right+c,h=Math.round(t.top-c),g=Math.max(1,Math.round(t.bottom+c)-h),m=v-u,x=Math.max(24,Math.min(120,Math.round(d/i))),S=[];for(let a=0;a<x;a++){const l=u+m*a/x,p=u+m*(a+1)/x,M=Math.round(l),f=Math.round(p)-M;if(f<=0)continue;const y=Math.max(0,Math.min(1,((l+p)/2-t.left)/d));S.push({x:M,y:h,w:f,h:g,revealAtSec:columnRevealSec(y,e)})}return S}o(buildCurtainColumns,"buildCurtainColumns");
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var r=(o,e)=>a(o,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.PLOT_DOCKS=void 0,exports.resolveBackground=resolveBackground;const defaults_1=require("./defaults");exports.PLOT_DOCKS={xLabelDock:"bottom",yLabelDock:"left",baselineEdge:"bottom",valueAxisEdge:"left",gridDirections:["horizontal","vertical"]};function resolveBackground(o){const e=defaults_1.PRESET_TOKENS[o.preset];return o.backgroundColor==="none"?{mode:"none",cardColor:e.card,canvasColor:void 0}:o.backgroundImage?{mode:"image",cardColor:e.card,canvasColor:void 0,backgroundImage:o.backgroundImage}:typeof o.backgroundColor=="string"?{mode:"solid",cardColor:o.backgroundColor,canvasColor:o.backgroundColor}:{mode:"preset",cardColor:e.card,canvasColor:e.bg}}r(resolveBackground,"resolveBackground");
@@ -0,0 +1 @@
1
+ "use strict";var i=Object.defineProperty;var t=(e,a)=>i(e,"name",{value:a,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildCardBase=buildCardBase;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils");function buildCardBase(e){const a={cornerStyle:"rounded",borderRadius:e.cornerRadius},r={position:"inner",width:.002,color:e.border.color,alpha:e.border.alpha};if(e.mode==="none")return{source:(0,template_utils_1.transparentSlot)(),assets:{}};if(e.mode==="image"&&e.backgroundImage){const s={bg:e.backgroundImage.startsWith("data:")?{kind:"data-uri",uri:e.backgroundImage,mediaType:"image"}:{kind:"file",path:e.backgroundImage,mediaType:"image"}};return{source:{type:"media",mediaType:"image",assetId:(0,types_1.asAssetId)("bg"),placement:{fit:"cover"},effects:{rounding:a,stroke:r}},assets:s}}return{source:(0,template_utils_1.makeColorTile)(e.cardColor,{effects:{rounding:a,stroke:r}}),assets:{}}}t(buildCardBase,"buildCardBase");
@@ -0,0 +1 @@
1
+ "use strict";var E=Object.defineProperty;var p=(i,l)=>E(i,"name",{value:l,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildChromeSpec=buildChromeSpec;const template_utils_1=require("@m0saic/template-utils"),scale_1=require("../../_shared/scale"),format_1=require("./format");function vAlignFor(i,l){return l<=1?"middle":i===0?"top":i===l-1?"bottom":"middle"}p(vAlignFor,"vAlignFor");function hAlignFor(i,l){return l<=1?"center":i===0?"left":i===l-1?"right":"center"}p(hAlignFor,"hAlignFor");function capW(i,l,t,g,x=.62){return Math.max(g,Math.min(i,Math.floor(t/(Math.max(1,(0,template_utils_1.textEmUnits)(l))*x))))}p(capW,"capW");function fitTo(i,l,t,g=.62){const x=t/(g*l);return(0,template_utils_1.textEmUnits)(i)<=x+.5?i:(0,template_utils_1.fitEmUnits)(i,Math.max(1,Math.floor(x)))}p(fitTo,"fitTo");function buildChromeSpec(i,l,t){var g,x,y;const{width:A,height:U}=i.layout,m=[];let k,w,z;if(t.title){m.push({kind:"title",weight:46});const e=capW(t.titleSize,t.title,A*.94,11,.66);k={text:fitTo(t.title,e,A*.94,.66),size:e,color:t.titleColor,hAlign:t.titleAlign,vAlign:"middle",weight:700,binding:{propKey:"titles.title"}}}if(t.subtitle){m.push({kind:"subtitle",weight:28});const e=capW(13,t.subtitle,A*.94,9);w={text:fitTo(t.subtitle,e,A*.94),size:e,color:t.subtitleColor,hAlign:t.titleAlign,vAlign:"middle",binding:{propKey:"titles.subtitle"}}}let C;if(t.legend.show&&i.series.length>0){const e=i.series.map((h,o)=>{var a,d;return{swatch:(d=(a=t.series[o])===null||a===void 0?void 0:a.color)!==null&&d!==void 0?d:h.color,label:{text:h.name,size:t.legend.fontSize,color:t.legend.color,hAlign:"left",vAlign:"middle",binding:{propKey:"seriesLabels",index:o}}}});t.legend.position==="bottom"?C={entries:e,bandPx:Math.max(16,(g=t.legendBandPx)!==null&&g!==void 0?g:36)}:(m.push({kind:"legend",weight:40}),z={entries:e})}const _=[];if(t.yAxis.showLabels){const h=[...i.scale.ticks].reverse(),o=h.map(r=>(0,format_1.formatAxisValue)(r,t.yAxis.format,t.yAxis.decimals,i.scale.max,t.yAxis.prefix,t.yAxis.suffix)),a=o.reduce((r,s)=>(0,template_utils_1.textEmUnits)(s)>(0,template_utils_1.textEmUnits)(r)?s:r,""),d=Math.max(8,l.plot.left*.88),u=capW(t.yAxis.fontSize,a,d,8);for(let r=0;r<o.length;r++)_.push({text:o[r],size:u,color:t.yAxis.labelColor,hAlign:"right",vAlign:vAlignFor(r,h.length)})}const b=[];if(t.xAxis.showLabels){const e=i.labels.length,h=Math.max(1,l.plot.right-l.plot.left),o=e>1?h/(e-1):h,a=i.labels.reduce((s,n)=>(0,template_utils_1.textEmUnits)(n??"")>(0,template_utils_1.textEmUnits)(s)?n??"":s,""),d=Math.max(1,(0,template_utils_1.textEmUnits)(a))*.62*t.xAxis.fontSize+6,u=Math.max(1,Math.ceil(d/Math.max(1,o/2))),r=capW(t.xAxis.fontSize,a,Math.max(8,o*u/2-4),8);if(u===1||e<=2)for(let s=0;s<e;s++)b.push({text:(x=i.labels[s])!==null&&x!==void 0?x:"",size:r,color:t.xAxis.labelColor,hAlign:hAlignFor(s,e),vAlign:"top",binding:{propKey:"labels",index:s}});else{const s=2*(e-1),n=[];for(let c=0;c<e;c+=u)n.push(c);n[n.length-1]!==e-1&&(e-1-n[n.length-1]<u&&n.pop(),n.push(e-1));let f=0;for(const c of n){const M=Math.max(f,2*c-u),S=Math.min(s,2*c+u);M>f&&b.push({text:"",size:r,color:t.xAxis.labelColor,hAlign:"center",vAlign:"top",cellWeight:M-f}),b.push({text:(y=i.labels[c])!==null&&y!==void 0?y:"",size:r,color:t.xAxis.labelColor,hAlign:hAlignFor(c,e),vAlign:"top",cellWeight:Math.max(1,S-M),binding:{propKey:"labels",index:c}}),f=S}f<s&&b.push({text:"",size:r,color:t.xAxis.labelColor,hAlign:"center",vAlign:"top",cellWeight:s-f})}}const v=[];return t.yAxis.showGrid&&i.scale.ticks.length>1&&v.push({direction:"horizontal",count:i.scale.ticks.length-1,color:t.yAxis.gridColor,opacity:t.yAxis.gridOpacity}),t.xAxis.showGrid&&i.labels.length>1&&v.push({direction:"vertical",count:i.labels.length-1,color:t.xAxis.gridColor,opacity:t.xAxis.gridOpacity}),{width:A,height:U,frame:l,header:{bands:m,title:k,subtitle:w,legend:z},footer:C,yTicks:_,xLabels:b,grids:v,axis:{y:t.yAxis.show?t.yAxis.color:void 0,x:t.xAxis.show?t.xAxis.color:void 0},tickMarks:{y:t.yAxis.showTicks?{color:t.yAxis.tickColor,length:Math.max(1,t.yAxis.tickLength)}:void 0,x:t.xAxis.showTicks?{color:t.xAxis.tickColor,length:Math.max(1,t.xAxis.tickLength)}:void 0}}}p(buildChromeSpec,"buildChromeSpec"),scale_1.project;
@@ -0,0 +1 @@
1
+ "use strict";var L=Object.defineProperty;var l=(e,n)=>L(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.Chrome=exports.CHROME_TEMPLATE_ID=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib");exports.CHROME_TEMPLATE_ID=(0,types_1.asTemplateId)("@m0saic/charts/line-chart/internal/chrome/v1");const GRID_TEMPLATE_ID="@m0saic/primitives/grid/v2";function leaf(e){return{m0:"1",sources:[e]}}l(leaf,"leaf");function split(e,n){const t=n.filter(a=>a.weight>0);if(t.length===0)return;if(t.length===1&&t[0].node)return t[0].node;const s=t.map(a=>Math.max(1,Math.round(a.weight))),h=t.map(a=>a.node?String(a.node.m0):"-"),i=String((0,dsl_stdlib_1.weightedSplit)((0,template_utils_1.latticeWeights)(s),e,{claimants:h})),d=t.flatMap(a=>a.node?a.node.sources:[]);return{m0:i,sources:d}}l(split,"split");function overlay(e){if(e.length===0)return;if(e.length===1)return e[0];let n="";for(let t=e.length-1;t>=0;t--)n=n?`${e[t].m0}{${n}}`:e[t].m0;return{m0:n,sources:e.flatMap(t=>t.sources)}}l(overlay,"overlay");function alignH(e){return e==="left"?"left":e==="right"?"right":"center"}l(alignH,"alignH");function alignV(e){return e}l(alignV,"alignV");function textLeaf(e,n,t){const s={type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e.text||" "},style:{fontSize:e.size,fontColor:e.color},placement:{fit:"contain",hAlign:alignH(e.hAlign),vAlign:e.vAlign,padding:n}}]},h=t&&e.text.trim()?(0,template_utils_1.tag)(s,t):s;return leaf(e.binding?(0,template_utils_1.bindProp)(h,e.binding.propKey,e.binding.index):h)}l(textLeaf,"textLeaf");function swatchLeaf(e){return leaf({type:"lavfi",color:e,fitMode:"content",size:{wExpr:"TW",hExpr:"max(2, TH*0.3)"},placement:{fit:"contain",hAlign:"center",vAlign:"middle"}})}l(swatchLeaf,"swatchLeaf");function axisLineLeaf(e,n){return leaf({type:"lavfi",color:e,fitMode:"content",size:n==="bottom"?{wExpr:"TW",hExpr:`max(1, TH*${.004})`}:{wExpr:`max(1, TW*${.004})`,hExpr:"TH"},placement:{fit:"contain",hAlign:n==="left"?"left":"center",vAlign:n==="bottom"?"bottom":"middle"}})}l(axisLineLeaf,"axisLineLeaf");function halfBandWeights(e){if(e<=1)return[1];const n=[1];for(let t=1;t<e-1;t++)n.push(2);return n.push(1),n}l(halfBandWeights,"halfBandWeights");const propsSchema=(0,template_utils_1.definePropsSchema)({spec:{type:"json",required:!0,description:"Declarative chrome plan (frame weights + labels + gridlines)."}});exports.Chrome={id:exports.CHROME_TEMPLATE_ID,label:"Line Chart \u2014 Chrome (internal)",version:1,internal:!0,description:"Internal: real-geometry chart frame (weightedSplit cells + grid primitive + in-cell text).",capabilities:{tier:"core"},tags:["data-viz","line-chart","internal","chrome"],propsSchema,defaultProps:{spec:void 0},async render(e,n){const t=e.spec;if(!t)return(0,template_utils_1.makeErrorMosaic)("spec is required \u2014 injected by the line-chart parent template",{title:`${this.id} props`,width:Math.max(1,Math.round(n.target.width)),height:Math.max(1,Math.round(n.target.height))});const{width:s,height:h,frame:i}=t,d={},a=Math.max(1,Math.round(i.plot.right-i.plot.left)),w=Math.max(1,Math.round(i.plot.bottom-i.plot.top)),f=[];let _=0;for(const o of t.grids){const p=`grid${_++}`;d[p]=await renderGrid(o,a,w,n),f.push(leaf({type:"mosaic",ref:p}))}t.axis.y&&f.push(axisLineLeaf(t.axis.y,"left")),t.axis.x&&f.push(axisLineLeaf(t.axis.x,"bottom"));const u=overlay(f),m=t.tickMarks.y,v=t.yTicks.length>0?split("row",t.yTicks.map((o,p)=>({weight:halfBandWeights(t.yTicks.length)[p],node:textLeaf(o,{right:m?.08:.16,left:.04},"y-tick")}))):void 0;let M=v;if(m&&v&&t.yTicks.length>1){d.tickGridY=await renderGrid({direction:"horizontal",count:t.yTicks.length-1,color:m.color,opacity:1},Math.max(1,Math.round(m.length)),w,n);const o=Math.max(1,Math.round(m.length/Math.max(1,i.plot.left)*100));M=split("col",[{weight:100-o,node:v},{weight:o,node:leaf({type:"mosaic",ref:"tickGridY"})}])}const T=split("col",[{weight:i.bodyCol[0],node:M},{weight:i.bodyCol[1],node:u},{weight:i.bodyCol[2]}]),x=t.header.bands.map(o=>o.kind==="title"&&t.header.title?{weight:o.weight,node:textLeaf(t.header.title,{left:.02,right:.02},"chart-title")}:o.kind==="subtitle"&&t.header.subtitle?{weight:o.weight,node:textLeaf(t.header.subtitle,{left:.02,right:.02},"chart-subtitle")}:o.kind==="legend"&&t.header.legend?{weight:o.weight,node:buildLegend(t.header.legend.entries,s)}:{weight:o.weight}),E=x.length>0?split("row",x):void 0,r=t.tickMarks.x,c=t.xLabels.some(o=>o.cellWeight!=null),g=t.xLabels.length>0?split("col",t.xLabels.map((o,p)=>{var k;return{weight:(k=o.cellWeight)!==null&&k!==void 0?k:halfBandWeights(t.xLabels.length)[p],node:textLeaf(o,{top:r?.1:.18,left:.02,right:.02},"x-label")}})):void 0;let b=g;if(r&&g&&t.xLabels.length>1){d.tickGridX=await renderGrid({direction:"vertical",count:t.xLabels.length-1,color:r.color,opacity:1},a,Math.max(1,Math.round(r.length)),n);const o=Math.max(1,Math.round(r.length/Math.max(1,h-i.plot.bottom)*100));b=split("row",[{weight:o,node:leaf({type:"mosaic",ref:"tickGridX"})},{weight:100-o,node:g}])}let y=b?split("col",[{weight:i.bodyCol[0]},{weight:i.bodyCol[1],node:b},{weight:i.bodyCol[2]}]):void 0;if(t.footer){const o=Math.max(1,Math.round(h-i.plot.bottom)),p=Math.min(t.footer.bandPx,Math.max(1,o-1)),k=buildLegend(t.footer.entries,s);k&&(y=split("row",[{weight:Math.max(1,o-p),node:y},{weight:p,node:k}]))}const C=split("row",[{weight:i.rootRow[0],node:E},{weight:i.rootRow[1],node:T},{weight:i.rootRow[2],node:y}]);return C?{kind:"mosaic_document",version:1,assets:{},m0:C.m0,sources:C.sources,children:Object.keys(d).length?d:void 0,fps:n.target.fps,durationMs:n.target.durationMs}:{kind:"mosaic_document",version:1,assets:{},m0:"1",sources:[(0,template_utils_1.transparentSlot)()],fps:n.target.fps,durationMs:n.target.durationMs}}};async function renderGrid(e,n,t,s){return(0,template_utils_1.renderNestedTemplate)(GRID_TEMPLATE_ID,{show:!0,direction:e.direction,count:e.count,excludeEdges:!1,origin:e.direction==="horizontal"?"bottom":"left",color:e.color,opacity:e.opacity},s,{slot:{width:n,height:t}})}l(renderGrid,"renderGrid");function buildLegend(e,n){var t,s;if(e.length===0)return;const h=l(r=>Math.max(1,Math.round(r/n*100)),"pctW"),i=h(24),d=h(8),a=h(26),w=i*e.length+d*e.length+a*(e.length-1),f=l((r,c)=>Math.max(3,Math.ceil((Math.max(1,(0,template_utils_1.textEmUnits)(r))*.62*c*1.2+6)/n*100)),"labelPct");let u=(s=(t=e[0])===null||t===void 0?void 0:t.label.size)!==null&&s!==void 0?s:13;for(let r=0;r<2;r++){const c=w+e.reduce((b,y)=>b+f(y.label.text,u),0);if(c<=100)break;const g=c-w;u=Math.max(8,Math.floor(u*Math.max(.35,(100-w-e.length)/Math.max(1,g))))}const m=w+e.reduce((r,c)=>r+f(c.label.text,u),0),v=m>100?100/m:1,M=[];let T=0;const x=[];for(let r=0;r<e.length;r++){const c=e[r],g=f(c.label.text,u),b=g*v/100*n-8,y=v<1?(0,template_utils_1.fitEmUnits)(c.label.text,Math.max(1,Math.floor(b*.85/(.62*u)))):c.label.text;r>0&&(x.push({weight:a}),T+=a),x.push({weight:i,node:swatchLeaf(c.swatch)}),x.push({weight:d}),x.push({weight:g,node:textLeaf({...c.label,text:y,size:u,hAlign:"left"},{},"legend-label")}),T+=i+d+g}const E=Math.max(1,Math.round((100-T)/2));return M.push({weight:E}),M.push(...x),M.push({weight:E}),split("col",M)}l(buildLegend,"buildLegend");function estTextW(e,n){return Math.max(1,(0,template_utils_1.textEmUnits)(e))*n*.55}l(estTextW,"estTextW"),(0,template_utils_1.registerTemplate)(exports.Chrome);
@@ -0,0 +1 @@
1
+ "use strict";var U=Object.defineProperty;var s=(o,r)=>U(o,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_VALUE_LABELS=exports.DEFAULT_ANIM=exports.DEFAULT_POINT_RADIUS=exports.DEFAULT_STROKE_WIDTH=exports.DEFAULT_PADDING=exports.DEFAULT_CORNER_RADIUS=exports.DEFAULT_PRESET=exports.SERIES_PALETTE=exports.PRESET_TOKENS=void 0,exports.resolvePadding=resolvePadding,exports.resolveBorder=resolveBorder,exports.resolveLegend=resolveLegend,exports.resolveValueLabels=resolveValueLabels,exports.resolveAnim=resolveAnim,exports.resolveAxis=resolveAxis,exports.presetLineColor=presetLineColor,exports.resolvePointBorder=resolvePointBorder,exports.PRESET_TOKENS={neutral:{bg:"#ffffff",card:"#ffffff",grid:"#eef2f7",axis:"#d1d5db",axisText:"#6b7280",title:"#111827",line:"#2563eb",border:"#e5e7eb",borderAlpha:1},paper:{bg:"#f8fafc",card:"#ffffff",grid:"#eef2f7",axis:"#cbd5e1",axisText:"#64748b",title:"#0f172a",line:"#2563eb",border:"#0f172a",borderAlpha:.1},dark:{bg:"#0b0f14",card:"#0f172a",grid:"#1f2937",axis:"#374151",axisText:"#9ca3af",title:"#f9fafb",line:"#60a5fa",border:"#ffffff",borderAlpha:.08},terminal:{bg:"#050505",card:"#0b0b0b",grid:"#14301c",axis:"#14532d",axisText:"#22c55e",title:"#22c55e",line:"#22c55e",border:"#22c55e",borderAlpha:.18},glass:{bg:"#0b0f14",card:"#111827",grid:"#1f2937",axis:"#374151",axisText:"#cbd5e1",title:"#ffffff",line:"#60a5fa",border:"#ffffff",borderAlpha:.1}},exports.SERIES_PALETTE=["#2563eb","#16a34a","#db2777","#d97706","#7c3aed"],exports.DEFAULT_PRESET="neutral",exports.DEFAULT_CORNER_RADIUS=.04,exports.DEFAULT_PADDING={top:120,right:16,bottom:48,left:72},exports.DEFAULT_STROKE_WIDTH=2,exports.DEFAULT_POINT_RADIUS=3,exports.DEFAULT_ANIM={intro:{durationSec:1.1,delaySec:.1,staggerSec:.12,ease:"smoothstep"},reduceMotion:!1},exports.DEFAULT_VALUE_LABELS={show:!1,format:"compact",decimals:0,fontSize:12};function resolvePadding(o){return typeof o=="number"?{top:o,right:o,bottom:o,left:o}:o&&typeof o=="object"?{top:o.top,right:o.right,bottom:o.bottom,left:o.left}:exports.DEFAULT_PADDING}s(resolvePadding,"resolvePadding");function resolveBorder(o,r){var i,t;const l=exports.PRESET_TOKENS[r];return{color:(i=o?.color)!==null&&i!==void 0?i:l.border,alpha:(t=o?.alpha)!==null&&t!==void 0?t:l.borderAlpha}}s(resolveBorder,"resolveBorder");function resolveLegend(o,r){var i,t,l,d;const n=exports.PRESET_TOKENS[r];return{show:(i=o?.show)!==null&&i!==void 0?i:!0,position:(t=o?.position)!==null&&t!==void 0?t:"top",color:(l=o?.color)!==null&&l!==void 0?l:n.axisText,fontSize:(d=o?.fontSize)!==null&&d!==void 0?d:13}}s(resolveLegend,"resolveLegend");function resolveValueLabels(o){return{...exports.DEFAULT_VALUE_LABELS,...o??{}}}s(resolveValueLabels,"resolveValueLabels");function resolveAnim(o,r){var i,t;const l={...exports.DEFAULT_ANIM.intro,...(i=o?.intro)!==null&&i!==void 0?i:{}},d=(t=r??o?.reduceMotion)!==null&&t!==void 0?t:exports.DEFAULT_ANIM.reduceMotion;return{intro:l,reduceMotion:d}}s(resolveAnim,"resolveAnim");function resolveAxis(o,r,i){var t,l,d,n,a,u,v,_,c,x,E,T,p,A,b,L,S,h,D,g;const f=exports.PRESET_TOKENS[i],e=o??{};return{show:(t=e.show)!==null&&t!==void 0?t:!0,color:(l=e.color)!==null&&l!==void 0?l:f.axis,thickness:(d=e.thickness)!==null&&d!==void 0?d:1,showLabels:(n=e.showLabels)!==null&&n!==void 0?n:!0,labelColor:(a=e.labelColor)!==null&&a!==void 0?a:f.axisText,fontSize:(u=e.fontSize)!==null&&u!==void 0?u:13,format:(v=e.format)!==null&&v!==void 0?v:"raw",decimals:(_=e.decimals)!==null&&_!==void 0?_:0,prefix:(c=e.prefix)!==null&&c!==void 0?c:"",suffix:(x=e.suffix)!==null&&x!==void 0?x:"",tickCount:(E=e.tickCount)!==null&&E!==void 0?E:0,showTicks:(T=e.showTicks)!==null&&T!==void 0?T:!1,tickLength:(p=e.tickLength)!==null&&p!==void 0?p:4,tickColor:(A=e.tickColor)!==null&&A!==void 0?A:f.axis,rotation:(b=e.rotation)!==null&&b!==void 0?b:0,showGrid:(L=e.showGrid)!==null&&L!==void 0?L:r==="y",gridCount:(S=e.gridCount)!==null&&S!==void 0?S:0,gridColor:(h=e.gridColor)!==null&&h!==void 0?h:f.grid,gridOpacity:(D=e.gridOpacity)!==null&&D!==void 0?D:1,gridDash:(g=e.gridDash)!==null&&g!==void 0?g:"solid"}}s(resolveAxis,"resolveAxis");function presetLineColor(o){return exports.PRESET_TOKENS[o].line}s(presetLineColor,"presetLineColor");function resolvePointBorder(o){var r;return{color:o?.color,width:(r=o?.width)!==null&&r!==void 0?r:0}}s(resolvePointBorder,"resolvePointBorder");
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var u=(e,r)=>a(e,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatAxisValue=formatAxisValue,exports.formatValueLabel=formatValueLabel,exports.groupThousands=groupThousands;function compact(e,r){const t=Math.abs(e),o=e<0?"-":"";return t>=1e12?o+(t/1e12).toFixed(r)+"T":t>=1e9?o+(t/1e9).toFixed(r)+"B":t>=1e6?o+(t/1e6).toFixed(r)+"M":t>=1e3?o+(t/1e3).toFixed(r)+"K":o+t.toFixed(r)}u(compact,"compact");function formatAxisValue(e,r,t,o,i="",n=""){let s;switch(r){case"raw":s=groupThousands(e,t);break;case"percent":s=o===0?0 .toFixed(t)+"%":(e/o*100).toFixed(t)+"%";break;case"compact":default:s=compact(e,t);break}return`${i}${s}${n}`}u(formatAxisValue,"formatAxisValue");function formatValueLabel(e,r,t){switch(r){case"raw":return groupThousands(e,t);case"percent":return e.toFixed(t)+"%";case"compact":default:return compact(e,t)}}u(formatValueLabel,"formatValueLabel");function groupThousands(e,r){const t=e.toFixed(r),[o,i]=t.split("."),n=o.startsWith("-")?"-":"",c=(n?o.slice(1):o).replace(/\B(?=(\d{3})+(?!\d))/g,",");return i?`${n}${c}.${i}`:`${n}${c}`}u(groupThousands,"groupThousands");
@@ -0,0 +1 @@
1
+ "use strict";var _=Object.defineProperty;var s=(o,t)=>_(o,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.BASIS_ROW=exports.BASIS_COL=void 0,exports.computeFrame=computeFrame,exports.BASIS_COL=160,exports.BASIS_ROW=90;function quantize3(o,t){const e=o[0]+o[1]+o[2]||1,r=Math.max(1,Math.round(o[0]/e*t)),S=Math.max(1,Math.round(o[2]/e*t)),n=Math.max(1,t-r-S);return r+n+S!==t?[r,t-r-S>=1?t-r-S:n,S]:[r,n,S]}s(quantize3,"quantize3");function computeFrame(o,t,e){const r=quantize3([e.top,t-e.top-e.bottom,e.bottom],exports.BASIS_ROW),S=quantize3([e.left,o-e.left-e.right,e.right],exports.BASIS_COL),n=S[0]/exports.BASIS_COL*o,c=(S[0]+S[1])/exports.BASIS_COL*o,x=r[0]/exports.BASIS_ROW*t,u=(r[0]+r[1])/exports.BASIS_ROW*t;return{basisRow:exports.BASIS_ROW,basisCol:exports.BASIS_COL,rootRow:r,bodyCol:S,plot:{left:n,top:x,right:c,bottom:u}}}s(computeFrame,"computeFrame");
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var e=(r,t)=>o(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.vertexFractions=exports.buildSweepSlivers=exports.areaPolygonPath=exports.markerPath=exports.ribbonQuadPath=exports.rectPath=exports.local=exports.areaBBox=exports.dashMarksBBox=exports.dashMarkBBox=exports.dashMarkPath=exports.buildDashMarks=exports.curvePolyline=exports.polylineStrokeBBox=exports.polylineStrokePath=exports.markerBBox=exports.ribbonQuadBBox=void 0;var template_utils_1=require("@m0saic/template-utils");Object.defineProperty(exports,"ribbonQuadBBox",{enumerable:!0,get:e(function(){return template_utils_1.ribbonQuadBBox},"get")}),Object.defineProperty(exports,"markerBBox",{enumerable:!0,get:e(function(){return template_utils_1.markerBBox},"get")}),Object.defineProperty(exports,"polylineStrokePath",{enumerable:!0,get:e(function(){return template_utils_1.polylineStrokePath},"get")}),Object.defineProperty(exports,"polylineStrokeBBox",{enumerable:!0,get:e(function(){return template_utils_1.polylineStrokeBBox},"get")}),Object.defineProperty(exports,"curvePolyline",{enumerable:!0,get:e(function(){return template_utils_1.curvePolyline},"get")}),Object.defineProperty(exports,"buildDashMarks",{enumerable:!0,get:e(function(){return template_utils_1.buildDashMarks},"get")}),Object.defineProperty(exports,"dashMarkPath",{enumerable:!0,get:e(function(){return template_utils_1.dashMarkPath},"get")}),Object.defineProperty(exports,"dashMarkBBox",{enumerable:!0,get:e(function(){return template_utils_1.dashMarkBBox},"get")}),Object.defineProperty(exports,"dashMarksBBox",{enumerable:!0,get:e(function(){return template_utils_1.dashMarksBBox},"get")}),Object.defineProperty(exports,"areaBBox",{enumerable:!0,get:e(function(){return template_utils_1.areaBBox},"get")}),Object.defineProperty(exports,"local",{enumerable:!0,get:e(function(){return template_utils_1.local},"get")}),Object.defineProperty(exports,"rectPath",{enumerable:!0,get:e(function(){return template_utils_1.rectPath},"get")}),Object.defineProperty(exports,"ribbonQuadPath",{enumerable:!0,get:e(function(){return template_utils_1.ribbonQuadPath},"get")}),Object.defineProperty(exports,"markerPath",{enumerable:!0,get:e(function(){return template_utils_1.markerPath},"get")}),Object.defineProperty(exports,"areaPolygonPath",{enumerable:!0,get:e(function(){return template_utils_1.areaPolygonPath},"get")}),Object.defineProperty(exports,"buildSweepSlivers",{enumerable:!0,get:e(function(){return template_utils_1.buildSweepSlivers},"get")}),Object.defineProperty(exports,"vertexFractions",{enumerable:!0,get:e(function(){return template_utils_1.vertexFractions},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var i=Object.defineProperty;var e=(r,t)=>i(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.ChartsLineChart=void 0,require("./chrome");var line_chart_1=require("./line-chart");Object.defineProperty(exports,"ChartsLineChart",{enumerable:!0,get:e(function(){return line_chart_1.ChartsLineChart},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var ke=Object.defineProperty;var c=(e,t)=>ke(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.ChartsLineChart=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),format_1=require("./format"),line_1=require("../../_shared/line"),scale_1=require("../../_shared/scale"),axis_1=require("./axis"),chrome_spec_1=require("./chrome-spec"),frame_1=require("./frame"),line_series_1=require("./line-series"),card_1=require("./card"),anim_1=require("./anim"),defaults_1=require("./defaults"),chrome_1=require("./chrome"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),fBool=c((e,t="")=>({type:"boolean",required:!1,description:t,meta:{ui:{label:e}}}),"fBool"),fStr=c((e,t="",o)=>({type:"string",required:!1,description:t,meta:{ui:{label:e},...o?{control:{placeholder:o}}:{}}}),"fStr"),fColor=c((e,t="",o)=>({type:"string",required:!1,description:t,meta:{control:{colorPicker:!0,...o?{placeholder:o}:{}},constraints:{isColor:!0},ui:{label:e}}}),"fColor"),fEnum=c((e,t,o="")=>({type:"string",required:!1,description:o,meta:{constraints:{oneOf:t},ui:{label:e}}}),"fEnum"),fNum=c((e,t="",o,r)=>({type:"number",required:!1,description:t,meta:{ui:{label:e},...o?{control:o}:{},...r?{constraints:r}:{}}}),"fNum"),fFrac=c((e,t="",o)=>fNum(e,t,{flavor:"slider",step:.05,...o?{placeholder:o}:{}},{min:0,max:1}),"fFrac"),Y_AXIS_FIELDS={show:fBool("Axis line"),color:fColor("Axis color","","theme axis"),showLabels:fBool("Show labels"),labelColor:fColor("Label color","","theme text"),fontSize:fNum("Label size (px)"),format:fEnum("Format",["raw","compact","percent"]),decimals:fNum("Decimals"),prefix:fStr("Prefix","","none"),suffix:fStr("Suffix","","none"),tickCount:fNum("Tick count","",{placeholder:"auto"}),showTicks:fBool("Tick marks"),tickLength:fNum("Tick length (px)"),tickColor:fColor("Tick color","","theme axis"),showGrid:fBool("Gridlines"),gridColor:fColor("Grid color","","theme grid"),gridOpacity:fFrac("Grid opacity")},X_AXIS_FIELDS={show:fBool("Axis line"),color:fColor("Axis color","","theme axis"),showLabels:fBool("Show labels"),labelColor:fColor("Label color","","theme text"),fontSize:fNum("Label size (px)"),showTicks:fBool("Tick marks"),tickLength:fNum("Tick length (px)"),tickColor:fColor("Tick color","","theme axis"),showGrid:fBool("Gridlines"),gridColor:fColor("Grid color","","theme grid"),gridOpacity:fFrac("Grid opacity")},propsSchema=(0,template_utils_1.definePropsSchema)({values:{type:"json",required:!0,description:"Numeric data \u2014 one series (number[]) or many (number[][]).",meta:{constraints:{minItems:1},control:{flavor:"numberSeries"},ui:{label:"Values",order:1}}},seriesLabels:{type:"string[]",required:!1,description:"Legend names (index-aligned to series).",meta:{ui:{label:"Series Labels",order:2,primary:!0}}},labels:{type:"string[]",required:!1,description:"Categorical x tick labels.",meta:{ui:{label:"X Labels",order:3,primary:!0}}},domain:{type:"group",required:!1,description:"X/Y axis domain overrides + explicit numeric x values.",meta:{ui:{label:"Domain",order:4,collapsedByDefault:!0}},fields:{xValues:{type:"json",required:!1,description:"Numeric x values (even-spaced in v1).",meta:{control:{flavor:"numberList"},ui:{label:"X Values"}}},minValue:fNum("Min Value","Explicit y-domain minimum.",{placeholder:"data min"}),maxValue:fNum("Max Value","Explicit y-domain maximum.",{placeholder:"data max"}),minX:fNum("Min X","Explicit x-domain minimum (numeric x).",{placeholder:"first category"}),maxX:fNum("Max X","Explicit x-domain maximum (numeric x).",{placeholder:"last category"})}},line:{type:"group",required:!1,description:"Line stroke (single or per-series) + area fill.",meta:{ui:{label:"Line",order:5,collapsedByDefault:!0}},fields:{lineColor:{type:"json",required:!1,description:"Line color \u2014 single or per-series array.",meta:{constraints:{isColor:!0},control:{colorPicker:!0},ui:{label:"Line Color"}}},strokeWidth:{type:"json",required:!1,description:"Stroke width \u2014 single or per-series array.",meta:{ui:{label:"Stroke Width"}}},lineStyle:fEnum("Line Style",["solid","dashed","dotted"]),curve:fEnum("Curve",["linear","smooth","stepped"]),lineCap:fEnum("Line Cap",["butt","round","square"]),lineJoin:fEnum("Line Join",["miter","round","bevel"]),area:{type:"group",required:!1,description:"Area fill under the line.",meta:{ui:{label:"Area",collapsedByDefault:!0}},fields:{show:fBool("Show area"),color:fColor("Color","","series color"),opacity:fFrac("Opacity")}}}},points:{type:"group",required:!1,description:"Vertex markers + highlight.",meta:{ui:{label:"Points",order:6,collapsedByDefault:!0}},fields:{showPoints:fBool("Show Points","Draw markers at vertices."),pointRadius:fNum("Point Radius","Marker radius (px).",void 0,{min:0,max:64}),pointColor:fColor("Point Color","Marker color (default = line color).","series color"),pointShape:fEnum("Point Shape",["circle","square","diamond"]),pointBorder:{type:"group",required:!1,description:"Marker border.",meta:{ui:{label:"Point Border",collapsedByDefault:!0}},fields:{color:fColor("Color","","none"),width:fNum("Width (px)")}},highlightIndex:fNum("Highlight Index","Index to emphasize (larger marker).",{placeholder:"none"},{min:0}),highlightLast:fBool("Highlight Last","Emphasize the last point.")}},axes:{type:"group",required:!1,description:"X + Y axis lines, labels, grid, ticks.",meta:{ui:{label:"Axes",order:7,collapsedByDefault:!0}},fields:{xAxis:{type:"group",required:!1,description:"X axis (line / labels / grid).",meta:{ui:{label:"X Axis",collapsedByDefault:!0}},fields:X_AXIS_FIELDS},yAxis:{type:"group",required:!1,description:"Y axis (line / labels / grid / ticks).",meta:{ui:{label:"Y Axis",collapsedByDefault:!0}},fields:Y_AXIS_FIELDS}}},appearance:{type:"group",required:!1,description:"Color scheme (preset) + card surface.",meta:{ui:{label:"Appearance",order:8,collapsedByDefault:!0}},fields:{preset:fEnum("Preset",["neutral","dark","terminal","glass","paper"],"Built-in color scheme (card / line / axes / text)."),backgroundColor:{type:"string",required:!1,description:'Solid background color, or "none" for transparent.',meta:{constraints:{isColor:!0},control:{placeholder:"preset background",colorPicker:!0},ui:{label:"Background"}}},backgroundImage:fStr("Background Image","Background image (asset ref / data-URI).","none"),cornerRadius:fFrac("Corner Radius","Card corner radius (0..1)."),padding:{type:"json",required:!1,description:"Plot insets (px) \u2014 number or {top,right,bottom,left}.",meta:{ui:{label:"Padding (px)"}}},border:{type:"group",required:!1,description:"Card inner stroke.",meta:{ui:{label:"Border",collapsedByDefault:!0}},fields:{color:fColor("Color","","theme border"),alpha:fFrac("Alpha","","theme border alpha")}}}},titles:{type:"group",required:!1,description:"Chart title + subtitle.",meta:{ui:{label:"Titles",order:9,collapsedByDefault:!0}},fields:{title:{type:"string",required:!1,description:"Chart title.",meta:{control:{placeholder:"e.g., Monthly renders"},ui:{label:"Title"}}},subtitle:fStr("Subtitle","Chart subtitle."),titleColor:fColor("Title Color","Title color.","theme text"),titleSize:fNum("Title Size","Title font size (px)."),titleAlign:fEnum("Title Align",["left","center","right"])}},legend:{type:"group",required:!1,description:"Legend.",meta:{ui:{label:"Legend",order:10,collapsedByDefault:!0}},fields:{show:fBool("Show"),position:fEnum("Position",["top","bottom"]),color:fColor("Color","","theme text"),fontSize:fNum("Font size (px)")}},valueLabels:{type:"group",required:!1,description:"Per-point value labels.",meta:{ui:{label:"Value Labels",order:11,collapsedByDefault:!0}},fields:{show:fBool("Show"),format:fEnum("Format",["raw","compact","percent"]),decimals:fNum("Decimals"),color:fColor("Color","","theme text"),fontSize:fNum("Font size (px)")}},debugLayout:{type:"boolean",required:!1,description:"Dev-only: draw the layout contract (title / labels / legend fit their cells) instead of the chart.",meta:{ui:{label:"Debug layout",order:14}}},anim:{type:"group",required:!1,description:"Intro draw-on animation.",meta:{ui:{label:"Animation",order:12,collapsedByDefault:!0}},fields:{reduceMotion:fBool("Reduce motion","Skip motion; snap to final."),intro:{type:"group",required:!1,description:"Draw-on timing.",meta:{ui:{label:"Intro",collapsedByDefault:!0}},fields:{durationSec:fNum("Duration (s)"),delaySec:fNum("Delay (s)"),staggerSec:fNum("Stagger (s)"),ease:fEnum("Ease",["linear","smoothstep","easeInOut"])}}}},theme:{type:"group",required:!1,description:"Opt into a theme source. Reads the resolved preset's tokens by default; set a producer slug + namespace to pull shared design tokens (self-seeds when nothing is upstream).",meta:{ui:{label:"Theme",order:13,collapsedByDefault:!0}},fields:{slug:fStr("Producer slug",`Producer template to seed tokens from when the namespace isn't already on ctx (e.g. "@m0saic/theming/v1").`,"preset palette (no producer)"),preset:fStr("Preset","Producer preset/variant to request (e.g. light | dark | high-contrast for @m0saic/theming/v1; producer-defined).","producer default"),namespace:fStr("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:fBool("Force fetch","Re-seed via the slug even if the namespace is already populated.")}}});function flattenLineChartProps(e){var t,o,r,a,l,n,g,f,x,v,y,_,C,S,E,B,M,I,R,i,m,k,L,b,W,p,F,s,P,h,N,V,A;return{values:e.values,seriesLabels:e.seriesLabels,labels:e.labels,xValues:(t=e.domain)===null||t===void 0?void 0:t.xValues,minValue:(o=e.domain)===null||o===void 0?void 0:o.minValue,maxValue:(r=e.domain)===null||r===void 0?void 0:r.maxValue,minX:(a=e.domain)===null||a===void 0?void 0:a.minX,maxX:(l=e.domain)===null||l===void 0?void 0:l.maxX,preset:(n=e.appearance)===null||n===void 0?void 0:n.preset,backgroundColor:(g=e.appearance)===null||g===void 0?void 0:g.backgroundColor,backgroundImage:(f=e.appearance)===null||f===void 0?void 0:f.backgroundImage,cornerRadius:(x=e.appearance)===null||x===void 0?void 0:x.cornerRadius,border:(v=e.appearance)===null||v===void 0?void 0:v.border,padding:(y=e.appearance)===null||y===void 0?void 0:y.padding,xAxis:(_=e.axes)===null||_===void 0?void 0:_.xAxis,yAxis:(C=e.axes)===null||C===void 0?void 0:C.yAxis,lineColor:(S=e.line)===null||S===void 0?void 0:S.lineColor,strokeWidth:(E=e.line)===null||E===void 0?void 0:E.strokeWidth,lineStyle:(B=e.line)===null||B===void 0?void 0:B.lineStyle,curve:(M=e.line)===null||M===void 0?void 0:M.curve,lineCap:(I=e.line)===null||I===void 0?void 0:I.lineCap,lineJoin:(R=e.line)===null||R===void 0?void 0:R.lineJoin,area:(i=e.line)===null||i===void 0?void 0:i.area,showPoints:(m=e.points)===null||m===void 0?void 0:m.showPoints,pointRadius:(k=e.points)===null||k===void 0?void 0:k.pointRadius,pointColor:(L=e.points)===null||L===void 0?void 0:L.pointColor,pointShape:(b=e.points)===null||b===void 0?void 0:b.pointShape,pointBorder:(W=e.points)===null||W===void 0?void 0:W.pointBorder,highlightIndex:(p=e.points)===null||p===void 0?void 0:p.highlightIndex,highlightLast:(F=e.points)===null||F===void 0?void 0:F.highlightLast,title:(s=e.titles)===null||s===void 0?void 0:s.title,subtitle:(P=e.titles)===null||P===void 0?void 0:P.subtitle,titleColor:(h=e.titles)===null||h===void 0?void 0:h.titleColor,titleSize:(N=e.titles)===null||N===void 0?void 0:N.titleSize,titleAlign:(V=e.titles)===null||V===void 0?void 0:V.titleAlign,legend:e.legend,valueLabels:e.valueLabels,anim:e.anim,reduceMotion:(A=e.anim)===null||A===void 0?void 0:A.reduceMotion,theme:e.theme,debugLayout:e.debugLayout}}c(flattenLineChartProps,"flattenLineChartProps");function normalizeValues(e){return e.length===0?[]:Array.isArray(e[0])?e:[e]}c(normalizeValues,"normalizeValues");function resolveSeriesColors(e,t,o){const r=o.dataPalette,a=[];for(let l=0;l<e;l++)a.push(l===0?o.accent:r[l%r.length]);if(Array.isArray(t))for(let l=0;l<e;l++)a[l]=t[l%t.length];else typeof t=="string"&&(a[0]=t);return a}c(resolveSeriesColors,"resolveSeriesColors");function resolveStrokeWidths(e,t){const o=new Array(e).fill(defaults_1.DEFAULT_STROKE_WIDTH);if(Array.isArray(t))for(let r=0;r<e;r++)o[r]=t[r%t.length];else if(typeof t=="number")for(let r=0;r<e;r++)o[r]=t;return o}c(resolveStrokeWidths,"resolveStrokeWidths");function localThemeFromPreset(e){return{surfaceApp:e.bg,surface:e.card,surfaceRaised:e.card,surfaceInset:e.bg,border:e.border,borderStrong:e.axis,textPrimary:e.title,textSecondary:e.axisText,textMuted:e.axisText,eyebrow:e.axisText,accent:e.line,accentSoft:e.line,accentGlow:e.line,positive:"#16a34a",negative:"#dc2626",grid:e.grid,gridAlpha:1,axis:e.axis,axisAlpha:1,radius:defaults_1.DEFAULT_CORNER_RADIUS,dataPalette:defaults_1.SERIES_PALETTE}}c(localThemeFromPreset,"localThemeFromPreset");function themeAxis(e,t,o){var r,a,l,n;return{...e,color:(r=t?.color)!==null&&r!==void 0?r:o.axis,tickColor:(a=t?.tickColor)!==null&&a!==void 0?a:o.axis,labelColor:(l=t?.labelColor)!==null&&l!==void 0?l:o.textSecondary,gridColor:(n=t?.gridColor)!==null&&n!==void 0?n:o.grid}}c(themeAxis,"themeAxis"),exports.ChartsLineChart={id:(0,types_1.asTemplateId)("@m0saic/charts/line-chart/v1"),label:"Line Chart",version:1,description:"Canonical line-chart data-viz primitive: multi-series, full axis/line/point control, transparent/solid/image backgrounds.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","line-chart","animated","analysts","marketers","trend"],outputHints:{format:{kind:"video",container:"mp4"},width:1280,height:720,fps:30,durationMs:2e3},propsSchema,defaultProps:{valueLabels:{show:!1,format:"compact",decimals:0,fontSize:12},anim:{reduceMotion:!1,intro:{durationSec:1.1,delaySec:.1,staggerSec:.12,ease:"smoothstep"}},legend:{show:!0,position:"top",fontSize:13},axes:{xAxis:{show:!0,showLabels:!0,fontSize:13,showTicks:!1,tickLength:4,showGrid:!1,gridOpacity:1},yAxis:{show:!0,showLabels:!0,fontSize:13,showTicks:!1,tickLength:4,showGrid:!0,gridOpacity:1,format:"raw",decimals:0}},debugLayout:!1,theme:{forceFetch:!1},values:[1200,1900,2600,4100,6300,9800],labels:["Jan","Feb","Mar","Apr","May","Jun"],seriesLabels:["Renders"],titles:{titleAlign:"center",titleSize:22,title:"m0saic render growth",subtitle:"Mocked monthly renders generated by m0saic users."},appearance:{cornerRadius:.04,preset:"neutral"},line:{area:{show:!0,opacity:.22},lineJoin:"round",lineCap:"round",lineStyle:"solid",curve:"linear"},points:{highlightLast:!1,pointBorder:{width:0},pointShape:"circle",pointRadius:3,showPoints:!0}},async render(e,t){var o,r,a,l,n,g,f,x,v,y,_,C,S,E,B,M,I,R;const i=flattenLineChartProps(e),m=normalizeValues((o=i.values)!==null&&o!==void 0?o:[]);if(m.length===0||m.every(d=>d.length===0))return(0,template_utils_1.makeErrorMosaic)("values must be a non-empty number[] or number[][]",{title:`${this.id} props`,width:t.target.width,height:t.target.height});if(m.some(d=>d.some(u=>typeof u!="number"||!Number.isFinite(u))))return(0,template_utils_1.makeErrorMosaic)("values must be finite numbers (no NaN / blank entries)",{title:`${this.id} props`,width:t.target.width,height:t.target.height});const k=t.target.width,L=t.target.height,b=(r=i.preset)!==null&&r!==void 0?r:defaults_1.DEFAULT_PRESET,W=defaults_1.PRESET_TOKENS[b],p=await(0,template_utils_1.resolveThemeTokens)(localThemeFromPreset(W),t,i.theme),F=themeAxis((0,defaults_1.resolveAxis)(i.xAxis,"x",b),i.xAxis,p),s=themeAxis((0,defaults_1.resolveAxis)(i.yAxis,"y",b),i.yAxis,p),P={...(0,defaults_1.resolveLegend)(i.legend,b),color:(l=(a=i.legend)===null||a===void 0?void 0:a.color)!==null&&l!==void 0?l:p.textSecondary},h=(0,defaults_1.resolvePadding)(i.padding),N=Math.max(1,L-h.top-h.bottom),V=Math.max(3,Math.min(11,Math.floor(N/48)+1));let A=h;if(i.padding==null&&s.showLabels){const d={labels:["a"],series:normalizeValues((n=i.values)!==null&&n!==void 0?n:[]).map((T,$)=>({name:String($),values:T,color:"#000"}))},u=applyExplicitDomain((0,line_1.buildLineChartModel)(d,{width:k,height:L,padding:{left:h.left,right:h.right,top:h.top,bottom:h.bottom},beginAtZero:i.minValue==null,maxTicks:s.tickCount>0?s.tickCount:V}),i.minValue,i.maxValue),q=u.scale.ticks.map(T=>(0,format_1.formatAxisValue)(T,s.format,s.decimals,u.scale.max,s.prefix,s.suffix)),j=Math.max(1,...q.map(T=>(0,template_utils_1.textEmUnits)(T))),H=s.showTicks?s.tickLength:0,J=Math.ceil(j*.62*s.fontSize/.84)+H+8;A={...h,left:Math.min(Math.max(h.left,J),Math.round(k*.3))}}const ce=36,pe=P.show&&P.position==="bottom"&&m.length>0;pe&&(A={...A,bottom:A.bottom+ce});const O=(0,frame_1.computeFrame)(k,L,A),Y={left:O.plot.left,top:O.plot.top,right:k-O.plot.right,bottom:L-O.plot.bottom},fe={...(0,defaults_1.resolveBorder)(i.border,b),color:(f=(g=i.border)===null||g===void 0?void 0:g.color)!==null&&f!==void 0?f:p.border},Q=(0,defaults_1.resolveAnim)(i.anim,i.reduceMotion),ee=(0,axis_1.resolveBackground)({preset:b,backgroundColor:i.backgroundColor,backgroundImage:i.backgroundImage}),D=ee.mode==="preset"?{...ee,cardColor:p.surface,canvasColor:p.surfaceApp}:ee,te=m.length,ie=resolveSeriesColors(te,i.lineColor,p),ve=resolveStrokeWidths(te,i.strokeWidth),z=Math.max(1,...m.map(d=>d.length));let w=(x=i.labels)!==null&&x!==void 0?x:i.xValues?i.xValues.map(d=>String(d)):Array.from({length:z},(d,u)=>String(u+1));w.length<z?w=[...w,...Array.from({length:z-w.length},(d,u)=>String(w.length+u+1))]:w.length>z&&(w=w.slice(0,z));const be=(v=i.seriesLabels)!==null&&v!==void 0?v:ie.map((d,u)=>`Series ${u+1}`),xe={labels:w,series:m.map((d,u)=>{var q;return{name:(q=be[u])!==null&&q!==void 0?q:`Series ${u+1}`,values:d,color:ie[u]}})};let K=(0,line_1.buildLineChartModel)(xe,{width:k,height:L,padding:{left:Y.left,right:Y.right,top:Y.top,bottom:Y.bottom},beginAtZero:i.minValue==null,maxTicks:s.tickCount>0?s.tickCount:V});K=applyExplicitDomain(K,i.minValue,i.maxValue);const oe=(y=i.area)!==null&&y!==void 0?y:{},ye=(0,defaults_1.resolvePointBorder)(i.pointBorder),_e=i.highlightLast?z-1:(_=i.highlightIndex)!==null&&_!==void 0?_:-1,he=ie.map((d,u)=>{var q,j,H,J,T,$,se,ne,de,ue;return{color:d,strokeWidth:ve[u],lineStyle:(q=i.lineStyle)!==null&&q!==void 0?q:"solid",curve:(j=i.curve)!==null&&j!==void 0?j:"linear",lineCap:(H=i.lineCap)!==null&&H!==void 0?H:"round",lineJoin:(J=i.lineJoin)!==null&&J!==void 0?J:"round",area:{show:(T=oe.show)!==null&&T!==void 0?T:!1,color:oe.color,opacity:($=oe.opacity)!==null&&$!==void 0?$:.15},showPoints:(se=i.showPoints)!==null&&se!==void 0?se:!0,pointRadius:(ne=i.pointRadius)!==null&&ne!==void 0?ne:defaults_1.DEFAULT_POINT_RADIUS,pointColor:(de=i.pointColor)!==null&&de!==void 0?de:d,pointShape:(ue=i.pointShape)!==null&&ue!==void 0?ue:"circle",pointBorder:ye}}),Ce=(0,chrome_spec_1.buildChromeSpec)(K,O,{xAxis:F,yAxis:s,series:he,title:i.title,subtitle:i.subtitle,titleColor:(C=i.titleColor)!==null&&C!==void 0?C:p.textPrimary,titleSize:(S=i.titleSize)!==null&&S!==void 0?S:22,titleAlign:(E=i.titleAlign)!==null&&E!==void 0?E:"center",subtitleColor:p.textSecondary,legend:P,...pe?{legendBandPx:ce}:{}}),me={};me.chrome=await(0,template_utils_1.renderNestedTemplate)(chrome_1.CHROME_TEMPLATE_ID,{spec:Ce},t);const G=(0,card_1.buildCardBase)({mode:D.mode,cardColor:D.cardColor,backgroundImage:D.backgroundImage,cornerRadius:(B=i.cornerRadius)!==null&&B!==void 0?B:defaults_1.DEFAULT_CORNER_RADIUS,border:fe}),re=(0,anim_1.chromeFade)(Q),Z={type:"mosaic",ref:"chrome",...Q.reduceMotion?{}:{overlay:{startAtSec:re.startSec,alpha:(0,template_utils_1.fadeInExpr)(re.startSec,re.durSec)}}},ge=(0,defaults_1.resolveValueLabels)(i.valueLabels),U=(0,line_series_1.buildLineSeriesSources)(K,he,Q,{highlightIndex:_e,valueLabels:ge,plotBg:{mode:D.mode,color:D.cardColor},valuesBinding:{propKey:"values",nested:Array.isArray(((M=i.values)!==null&&M!==void 0?M:[])[0])}}),X=D.canvasColor?(0,template_utils_1.makeColorTile)(D.canvasColor):null;let le,ae;U?(le=X?`1{1{1{${U.m0}}}}`:`1{1{${U.m0}}}`,ae=X?[X,G.source,Z,...U.sources]:[G.source,Z,...U.sources]):(le=String((0,template_utils_1.buildOverlayStack)(X?3:2)),ae=X?[X,G.source,Z]:[G.source,Z]);const Se={kind:"mosaic_document",version:1,assets:G.assets,m0:le,children:me,sources:ae,backgroundColor:D.canvasColor};return(0,template_utils_1.withLayoutContract)(Se,t,{templateId:"@m0saic/charts/line-chart/v1",relations:[],constraints:[...i.title?[{label:"chart-title",textFits:{charWidthEm:.66}}]:[],...i.subtitle?[{label:"chart-subtitle",textFits:{charWidthEm:.62}}]:[],...P.show&&te>0?[{label:"legend-label",textFits:{charWidthEm:.62}}]:[],...s.showLabels?[{label:"y-tick",textFits:{charWidthEm:.62}}]:[],...F.showLabels&&((R=(I=i.labels)===null||I===void 0?void 0:I.length)!==null&&R!==void 0?R:z)>0?[{label:"x-label",textFits:{charWidthEm:.62}}]:[],...ge.show?[{label:"value-label",textFits:{charWidthEm:.62,padPx:0}}]:[]],debug:i.debugLayout===!0})},async renderCover(e,t){var o;const r=(0,onboarding_cover_1.brandedCoverHeroBox)(t,"band"),a={...t,target:{...t.target,width:r.width,height:r.height},output:{...t.output,width:r.width,height:r.height}},l=await exports.ChartsLineChart.render({...exports.ChartsLineChart.defaultProps,anim:{...(o=exports.ChartsLineChart.defaultProps.anim)!==null&&o!==void 0?o:{},reduceMotion:!0}},a);return(0,onboarding_cover_1.buildBrandedCover)({ctx:t,variant:"band",copy:{productName:"Line Chart",title:"A line chart."},hero:c(n=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(l),n.borderStrong),"hero"),heroAssets:l.assets,children:l.children})}};function applyExplicitDomain(e,t,o){if(t==null&&o==null)return e;const r=t??e.scale.min,a=o??e.scale.max;if(a<=r)return e;const l=(0,scale_1.linearScale)(r,a,{beginAtZero:!1,maxTicks:e.scale.ticks.length||11}),n=l.ticks.length?l.ticks:[r,a],g=Math.min(n[0],r),f=Math.max(n[n.length-1],a),x={...l,min:g,max:f},{plot:v}=e.layout,y=e.series.map(_=>_.values.map((C,S)=>({x:e.xs[S],y:(0,scale_1.project)(C,g,f,v.bottom,v.top)})));return{...e,scale:x,points:y}}c(applyExplicitDomain,"applyExplicitDomain"),(0,template_utils_1.registerTemplate)(exports.ChartsLineChart);
@@ -0,0 +1 @@
1
+ "use strict";var j=Object.defineProperty;var d=(e,o)=>j(e,"name",{value:o,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildLineSeriesSources=buildLineSeriesSources;const template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),format_1=require("./format"),geometry_1=require("./geometry"),frame_1=require("./frame"),anim_1=require("./anim"),EDGE_PAD=1.5,clampInt=d((e,o,n)=>Math.max(o,Math.min(n,Math.round(e))),"clampInt"),estTextW=d((e,o)=>e.length*o*.6,"estTextW"),fullRect=d(()=>({x:0,y:0,w:frame_1.BASIS_COL,h:frame_1.BASIS_ROW,claimant:"F"}),"fullRect");function snapAndPlace(e,o,n,r){const s=clampInt(Math.floor((n.minX-EDGE_PAD)/e*frame_1.BASIS_COL),0,frame_1.BASIS_COL-1),i=clampInt(Math.floor((n.minY-EDGE_PAD)/o*frame_1.BASIS_ROW),0,frame_1.BASIS_ROW-1),S=clampInt(Math.ceil((n.maxX+EDGE_PAD)/e*frame_1.BASIS_COL),s+1,frame_1.BASIS_COL),_=clampInt(Math.ceil((n.maxY+EDGE_PAD)/o*frame_1.BASIS_ROW),i+1,frame_1.BASIS_ROW),B=S-s,a=_-i,x=s/frame_1.BASIS_COL*e,f=i/frame_1.BASIS_ROW*o,P=B/frame_1.BASIS_COL*e,b=a/frame_1.BASIS_ROW*o;return{rect:{x:s,y:i,w:B,h:a,claimant:"F"},source:r(x,f,P,b)}}d(snapAndPlace,"snapAndPlace");function atlasPiece(e,o,n,r,s){const i=capStride(e.filter(Boolean),template_utils_1.MASK_SUBPATH_BUDGET);if(i.length===0)return null;const S=(0,template_utils_1.maskAtlasSource)(i,o,{width:n,height:r});return{rect:fullRect(),source:s?{...S,overlay:s}:S}}d(atlasPiece,"atlasPiece");function capStride(e,o){if(e.length<=o)return e;const n=[],r=e.length/o;for(let s=0;s<o;s++)n.push(e[Math.floor(s*r)]);return n}d(capStride,"capStride");function lineQuadPaths(e,o){if(e.length<2)return[];if(e.length-1>template_utils_1.MASK_SUBPATH_BUDGET)return(0,geometry_1.buildSweepSlivers)(e,o,{maxSlivers:template_utils_1.MASK_SUBPATH_BUDGET}).map(r=>(0,geometry_1.ribbonQuadPath)(r.a,r.b,o));const n=[];for(let r=0;r<e.length-1;r++)n.push((0,geometry_1.ribbonQuadPath)(e[r],e[r+1],o));return n}d(lineQuadPaths,"lineQuadPaths");function placeValueLabel(e,o,n,r,s,i,S,_){const B=Math.max(i*1.4,estTextW(s,i)),a=i*1.5,x={minX:n-B/2,minY:r-a,maxX:n+B/2,maxY:r};return snapAndPlace(e,o,x,()=>{const f={type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:s},style:{fontSize:i,fontColor:S},placement:{fit:"contain",hAlign:"center",vAlign:"middle"}}],..._?{overlay:_}:{}};return(0,template_utils_1.tag)(f,"value-label")})}d(placeValueLabel,"placeValueLabel");function buildLineSeriesSources(e,o,n,r={}){var s,i,S,_;const B=(s=r.highlightIndex)!==null&&s!==void 0?s:-1,a=r.valueLabels,x=r.valuesBinding,f=r.plotBg,{width:P,height:b,plot:w}=e.layout,O=n.reduceMotion,G=e.series.length,C=!!f&&(f.mode==="preset"||f.mode==="solid"),K=!O&&C,X=!O&&!C,R=[],k=[],L=[],q=[],W=[];let M=0;for(let u=0;u<G;u++){const t=o[u],l=e.points[u];if(!t||!l||l.length===0)continue;const{poly:v,vertexFracs:H}=(0,geometry_1.curvePolyline)(l,t.curve),h=X?{startAtSec:n.intro.delaySec,alpha:(0,template_utils_1.fadeInExpr)(n.intro.delaySec,n.intro.durationSec*.85)}:void 0;if(t.area.show){const c=clamp01(t.area.opacity),g=c>=1?h:h?.alpha?{...h,alpha:`(${h.alpha})*${c}`}:{...h??{},alpha:String(c)},A=atlasPiece([(0,geometry_1.areaPolygonPath)(v,w.bottom)],(i=t.area.color)!==null&&i!==void 0?i:t.color,P,b,g);A&&R.push(A)}const Y=t.lineStyle==="dashed"||t.lineStyle==="dotted"?(0,geometry_1.buildDashMarks)(v,t.strokeWidth,t.lineStyle,{maxMarks:template_utils_1.MASK_SUBPATH_BUDGET-8}).map(c=>(0,geometry_1.dashMarkPath)(c,t.strokeWidth,0,0)):lineQuadPaths(v,t.strokeWidth),E=atlasPiece(Y,t.color,P,b,h);if(E&&k.push(E),M=Math.max(M,t.strokeWidth/2),t.showPoints){const c=[],g=[],A=!!t.pointBorder.color&&t.pointBorder.width>0;for(let p=0;p<l.length;p++){const y=p===B?t.pointRadius*1.7:t.pointRadius;A&&c.push((0,geometry_1.markerPath)(l[p],y+t.pointBorder.width,t.pointShape)),g.push((0,geometry_1.markerPath)(l[p],y,t.pointShape)),M=Math.max(M,y+(A?t.pointBorder.width:0))}if(A){const p=atlasPiece(c,t.pointBorder.color,P,b,h);p&&L.push(p)}const I=atlasPiece(g,(S=t.pointColor)!==null&&S!==void 0?S:t.color,P,b,h);I&&q.push(I)}if(a?.show)for(let c=0;c<l.length;c++){const g=e.series[u].values[c];if(g==null||!Number.isFinite(g))continue;const A=t.showPoints?c===B?t.pointRadius*1.7:t.pointRadius:0,I=(0,format_1.formatValueLabel)(g,a.format,a.decimals),p=(_=a.color)!==null&&_!==void 0?_:t.color,y=O?void 0:{enable:`gte(t,${(0,anim_1.pointStartSec)(H[c],n).toFixed(3)})`},F=placeValueLabel(P,b,l[c].x,l[c].y-A-4,I,a.fontSize,p,y);x&&(0,template_utils_1.bindPropPath)(F.source,x.propKey,x.nested?[u,c]:[c],"number"),W.push(F)}}const T=[...R,...k,...L,...q],m=[...T];if(K&&f&&T.length>0){const u=(0,anim_1.buildCurtainColumns)(w,n,{padPx:Math.ceil(M+EDGE_PAD)}),t=(0,template_utils_1.curtainSource)(u,f.color);t&&m.push({rect:fullRect(),source:t})}if(m.push(...W),m.length===0)return null;const U=(0,dsl_stdlib_1.placeRects)({rootW:frame_1.BASIS_COL,rootH:frame_1.BASIS_ROW,rects:m.map(u=>u.rect)}),D=[];for(const u of U.layers){const t=[...u.rectIndices].sort((l,v)=>m[l].rect.y-m[v].rect.y||m[l].rect.x-m[v].rect.x);for(const l of t)D.push(m[l].source)}return{m0:String(U.m0),sources:D}}d(buildLineSeriesSources,"buildLineSeriesSources");function clamp01(e){return Math.max(0,Math.min(1,e))}d(clamp01,"clamp01");
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var e=(t,r)=>a(t,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.StatCard=void 0;var stat_card_1=require("./stat-card");Object.defineProperty(exports,"StatCard",{enumerable:!0,get:e(function(){return stat_card_1.StatCard},"get")});