m0saic 0.0.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +126 -0
- package/README.md +162 -2
- package/dist/browseE2e.js +1 -0
- package/dist/connectionsFromEnv.js +1 -0
- package/dist/e2eTemplateVariants.js +1 -0
- package/dist/frontDoor.js +1 -0
- package/dist/index.js +2 -0
- package/dist/inlineDsl.js +1 -0
- package/dist/mosaicxRunner.js +1 -0
- package/dist/outputPattern.js +1 -0
- package/dist/showcaseFeed.js +1 -0
- package/dist/templateDoctor.js +1 -0
- package/dist/utils/checkFeasibility.js +1 -0
- package/dist/utils/collectRenderErrors.js +1 -0
- package/dist/utils/enrichImageAlphaFromDoc.js +1 -0
- package/dist/utils/ensureFfmpeg.js +1 -0
- package/dist/utils/extractLayoutMeta.js +1 -0
- package/dist/utils/failureHints.js +1 -0
- package/dist/utils/ffmpegProbe.js +1 -0
- package/dist/utils/formatM0saicForCli.js +1 -0
- package/dist/utils/hashFile.js +1 -0
- package/dist/utils/helpGroups.js +1 -0
- package/dist/utils/invocation.js +1 -0
- package/dist/utils/mosaicSpinner.js +1 -0
- package/dist/utils/parseDimensions.js +1 -0
- package/dist/utils/pathInfo.js +1 -0
- package/dist/utils/readJsonArg.js +1 -0
- package/dist/utils/renderOutcome.js +1 -0
- package/dist/utils/renderReport.js +1 -0
- package/dist/utils/renderSignals.js +1 -0
- package/dist/utils/renderWorkspace.js +1 -0
- package/dist/utils/setupFfmpeg.js +1 -0
- package/dist/utils/telemetry.js +1 -0
- package/dist/utils/telemetryFlushWorker.js +1 -0
- package/dist/utils/telemetryUpstream.js +1 -0
- package/dist/utils/telemetryUsage.js +1 -0
- package/dist/utils/toolchainConfig.js +1 -0
- package/dist/utils/tutorialDuration.js +1 -0
- package/dist/utils/updateCheck.js +1 -0
- package/dist/utils/updateCheckWorker.js +1 -0
- package/dist/utils/validateSourceCounts.js +1 -0
- package/dist/utils/versions.js +1 -0
- package/dist/webCustomizeLink.js +1 -0
- package/node_modules/@m0saic/community-m/CONTRIBUTING.md +108 -0
- package/node_modules/@m0saic/community-m/LICENSE +28 -0
- package/node_modules/@m0saic/community-m/README.md +102 -0
- package/node_modules/@m0saic/community-m/geometry/m-33-tiles.json +270 -0
- package/node_modules/@m0saic/community-m/geometry/m-33.m0c +265 -0
- package/node_modules/@m0saic/community-m/index.json +148 -0
- package/node_modules/@m0saic/community-m/ms/001/community-m-001.m0p +346 -0
- package/node_modules/@m0saic/community-m/ms/001/m.json +12 -0
- package/node_modules/@m0saic/community-m/ms/001/root/assets/.gitkeep +0 -0
- package/node_modules/@m0saic/community-m/ms/001/root/piece.mosaic +105 -0
- package/node_modules/@m0saic/community-m/ms/001/root/portrait.jpg +0 -0
- package/node_modules/@m0saic/community-m/ms/001/root/slot.json +18 -0
- package/node_modules/@m0saic/community-m/ms/001/root/slot.m0c +296 -0
- package/node_modules/@m0saic/community-m/ms/001/root/tile.png +0 -0
- package/node_modules/@m0saic/community-m/ms/002/community-m-002.m0p +324 -0
- package/node_modules/@m0saic/community-m/ms/002/m.json +7 -0
- package/node_modules/@m0saic/community-m/package.json +5 -0
- package/node_modules/@m0saic/community-m/release.json +4 -0
- package/node_modules/@m0saic/community-m/tools/assemble.mjs +87 -0
- package/node_modules/@m0saic/community-m/tools/claim-order.mjs +42 -0
- package/node_modules/@m0saic/community-m/tools/lib.mjs +208 -0
- package/node_modules/@m0saic/community-m/tools/new-slot.mjs +123 -0
- package/node_modules/@m0saic/community-m/tools/validate.mjs +203 -0
- package/node_modules/@m0saic/core/LICENSE +7 -0
- package/node_modules/@m0saic/core/assets/pill_mask_1024.png +0 -0
- package/node_modules/@m0saic/core/assets/rounded_mask_1024.png +0 -0
- package/node_modules/@m0saic/core/dist/core/buildChildMosaicSource.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildChunkCommands.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildEncodeCommands.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildLavfiSource.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildMediaSource.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildMosaicNode.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildMosaicPlanFromFile.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildSvgTextSource.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildTextRenderCommand.js +1 -0
- package/node_modules/@m0saic/core/dist/core/collectRefTargets.js +1 -0
- package/node_modules/@m0saic/core/dist/core/index.js +1 -0
- package/node_modules/@m0saic/core/dist/core/maskCacheDir.js +1 -0
- package/node_modules/@m0saic/core/dist/core/maskWorkerBridge.js +1 -0
- package/node_modules/@m0saic/core/dist/core/playbackPlaySpeed.js +1 -0
- package/node_modules/@m0saic/core/dist/core/prepareProps.js +1 -0
- package/node_modules/@m0saic/core/dist/core/primaryOutput.js +1 -0
- package/node_modules/@m0saic/core/dist/core/rasterizeMaskPng.js +1 -0
- package/node_modules/@m0saic/core/dist/core/rasterizeSvgMediaPng.js +1 -0
- package/node_modules/@m0saic/core/dist/core/refTargetTap.js +1 -0
- package/node_modules/@m0saic/core/dist/core/resolveMasks.js +1 -0
- package/node_modules/@m0saic/core/dist/core/resolveMasksSync.js +1 -0
- package/node_modules/@m0saic/core/dist/core/resolveStrokeRingsSync.js +1 -0
- package/node_modules/@m0saic/core/dist/core/roundedRectMask.js +1 -0
- package/node_modules/@m0saic/core/dist/core/strokeRing.js +1 -0
- package/node_modules/@m0saic/core/dist/core/svgRaster.js +1 -0
- package/node_modules/@m0saic/core/dist/defaults.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/backgroundImageInput.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/bufferGuard.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/ffmpegCommands.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBackdropBlur.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBlur.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBorderRadius.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyCamera.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyChromaKey.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyFade.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyGrade.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyMask.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyNoise.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyPixelize.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyRotate.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyStroke.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyTileEffects.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/coverCrop.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/index.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/sourceRectCrop.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/gridLowering.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/index.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/splitAvMux.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/threadGuard.js +1 -0
- package/node_modules/@m0saic/core/dist/flatten/index.js +1 -0
- package/node_modules/@m0saic/core/dist/fs/index.js +1 -0
- package/node_modules/@m0saic/core/dist/fs/tempWorkspace.js +1 -0
- package/node_modules/@m0saic/core/dist/index.js +1 -0
- package/node_modules/@m0saic/core/dist/media/buildAssetManifestFromInputs.js +1 -0
- package/node_modules/@m0saic/core/dist/media/buildMediaRegistryFromInput.js +1 -0
- package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromInvocationProps.js +1 -0
- package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromMosaicRenderableFile.js +1 -0
- package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromProps.js +1 -0
- package/node_modules/@m0saic/core/dist/media/index.js +1 -0
- package/node_modules/@m0saic/core/dist/media/internalMintAsset.js +1 -0
- package/node_modules/@m0saic/core/dist/media/remoteUrl.js +1 -0
- package/node_modules/@m0saic/core/dist/media/stageUnsafeFilenames.js +1 -0
- package/node_modules/@m0saic/core/dist/media/types.js +1 -0
- package/node_modules/@m0saic/core/dist/output/index.js +1 -0
- package/node_modules/@m0saic/core/dist/output/resolveOutputFormat.js +1 -0
- package/node_modules/@m0saic/core/dist/output/types.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/cellLuminanceProbe.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/extractSubtitleCues.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/helpers.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/index.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/luminanceProbe.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/probeMedia.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/runFFprobe.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/types.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/engineRedaction.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/ffmpegFailure.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/filterPreflight.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/hashFile.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/index.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/pathInfo.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/perfHeatmap.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/perfReport.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/pipelineM0p.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/renderCostModel.constants.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/renderCostModel.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/renderReport.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/renderSidecars.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/resolveMosaicx.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/runPlan.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/types.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/upstream.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/writeSidecars.js +1 -0
- package/node_modules/@m0saic/core/dist/types/chunk.js +1 -0
- package/node_modules/@m0saic/core/dist/types/index.js +1 -0
- package/node_modules/@m0saic/core/dist/types/mosaic-plan.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/assertTiming.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/command.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/createEngineContext.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/createTemplateRenderCache.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/ffmpegColor.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/formatDuration.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/fsSafeId.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/index.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/lowerRenderableToMosaicDocument.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/movSafeCodec.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/resolveBoxFrac.js +1 -0
- package/node_modules/@m0saic/core/dist/validate/index.js +1 -0
- package/node_modules/@m0saic/core/package.json +6 -0
- package/node_modules/@m0saic/core/scripts/mask-rasterize-core.js +1 -0
- package/node_modules/@m0saic/core/scripts/mask-rasterize-worker.js +1 -0
- package/node_modules/@m0saic/core/scripts/mask-worker-thread.js +1 -0
- package/node_modules/@m0saic/dictionary/LICENSE +13 -0
- package/node_modules/@m0saic/dictionary/dist/browser.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/__generated__.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0.json +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic.m0c +265 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_src.m0 +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual.txt +274 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual_areas.txt +272 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual_art.txt +272 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/metadata.json +300 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/preview.png +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/m0saic.m0 +9 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/metadata.json +54 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0.json +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic.m0c +205 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic_src.m0 +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/metadata.json +247 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/preview.png +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0.json +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic.m0c +366 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic_src.m0 +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/metadata.json +406 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/preview.png +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0.json +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic.m0c +24 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic_src.m0 +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic_pretty.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic_tree.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic_pretty.txt +14 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic_tree.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/metadata.json +53 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic_pretty.txt +12 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic_tree.txt +9 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic_pretty.txt +17 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic_tree.txt +13 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic_pretty.txt +26 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic_tree.txt +21 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic_pretty.txt +13 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic_tree.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic_pretty.txt +16 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic_tree.txt +11 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic_pretty.txt +20 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic_tree.txt +16 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic_pretty.txt +14 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic_tree.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic_pretty.txt +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic_tree.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/metadata.json +54 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1280x720.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic_pretty.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/metadata.json +54 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_2560x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic_pretty.txt +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic_tree.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/metadata.json +52 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic_pretty.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic_tree.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic_pretty.txt +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic_tree.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic_pretty.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic_pretty.txt +15 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic_tree.txt +11 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic_pretty.txt +12 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic_tree.txt +9 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic_pretty.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic_pretty.txt +14 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic_tree.txt +11 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/metadata.json +51 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/metadata.json +51 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic_pretty.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic_tree.txt +3 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic_pretty.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic_tree.txt +3 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/metadata.json +53 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_2560x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/metadata.json +54 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1350.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1920.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic_pretty.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic_pretty.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/metadata.json +53 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/aspectFit.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/aspectSafeGrid.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/barcodeGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/bentoGridGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/comparisonGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/goldenLayout.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/goldenSpiralGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/grid.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/labelTier.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/magazine.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/magazineGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/placeRect.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/qrCodeGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/quantizationFix.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/rankedListGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/safeCanvas.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/snapGrid.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/spotlightGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/types.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/loadEntryM0.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/operations/descriptors.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/operations/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/operations/types.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/registry.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/resolve.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/sourceOrder.js +1 -0
- package/node_modules/@m0saic/dictionary/package.json +6 -0
- package/node_modules/@m0saic/dsl/LICENSE +201 -0
- package/node_modules/@m0saic/dsl/NOTICE +13 -0
- package/node_modules/@m0saic/dsl/README.md +417 -0
- package/node_modules/@m0saic/dsl/dist/cjs/complexity/complexity.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/complexity/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/equality/equality.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/equality/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/errors/errors.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/errors/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/feasibility/computeFeasibility.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/feasibility/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/format/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/format/m0StringCompact.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/format/m0StringFormat.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/internal/m0LexUtils.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/parse/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/parse/m0StringParser.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/parse/sortDeferredOverlays.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/types.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/validate/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/validate/m0StringValidator.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/warnings/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/warnings/warnings.js +1 -0
- package/node_modules/@m0saic/dsl/package.json +14 -0
- package/node_modules/@m0saic/dsl-file-formats/LICENSE +201 -0
- package/node_modules/@m0saic/dsl-file-formats/NOTICE +13 -0
- package/node_modules/@m0saic/dsl-file-formats/README.md +241 -0
- package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0.svg +29 -0
- package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0c.svg +29 -0
- package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0p.svg +29 -0
- package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0v.svg +29 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/conversions.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/derive.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/edit/editFileMeta.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/edit/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/parseM0File.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/serializeM0File.js +3 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0Validation.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0c/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0c/m0cFile.js +5 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0p/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0p/m0pFile.js +2 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0v/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0v/m0vFile.js +2 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/types.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/types.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateFill.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateInsets.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateLabels.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validatePack.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/package.json +14 -0
- package/node_modules/@m0saic/dsl-stdlib/LICENSE +201 -0
- package/node_modules/@m0saic/dsl-stdlib/NOTICE +13 -0
- package/node_modules/@m0saic/dsl-stdlib/README.md +388 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/_internal/barSplit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/_internal/packLeafRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/aspectFit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/aspectSafeGrid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/bakeInsets.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/compactDocument.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/compactLossless.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/comparison.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/container.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/equalSplit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/golden.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/grid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeInsetRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeOptimizedRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeRect.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/rankedList.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/rebuildRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/safeCanvas.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/scale.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/snapGrid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/snapRectPrecision.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/spotlight.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/strip.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/weightedSplit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/weightedTokens.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/toM0FileText.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/toM0String.js +4 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeChannels.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToBars.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToM0c.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/code128.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/ean13.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/eanShared.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/upca.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/binaryGridToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/classifyPixels.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/despeckleGrid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/labelAreas.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/visualSidecars.js +13 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/mask-shapes/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/encoder.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/mask.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/matrix.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/packDarkCells.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrPayloads.js +2 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToM0c.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToMatrix.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/reedSolomon.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/version.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/customRankSet.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/customStableKeyRankSet.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/generateRankSet.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/generateStableKeyRankSet.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/rankFramesFromM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/enumerateSvgToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/extractGeometry.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/generateMasks.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/generateMasksByStableKey.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/inferGrid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/parseSvg.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/rectsToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/svgToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/mirroredTypes.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/evaluateM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/extractNodeByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/findFrames.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/getLayerCount.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/hasOverlayAtSpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/quantizationSpread.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/queryFrames.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/withinBounds.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/constants.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/lexUtils.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/output.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/resolveSpanByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/walkByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/compose.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/_internal/buildMeasureFragment.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/overlay/addOverlayToAllFrames.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/overlay/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/swap/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/swap/swapFramesByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/pipe.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/frame/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/frame/setFrameTypeByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayLayer.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removePureNullLayers.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/wrapBelowByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/_internal/buildSplitFragment.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/reduceSplitCounts.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/setTileTypeBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/setTileTypeByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/rewriteOverlayChains.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/addOverlay.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/measureSplit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/removeOverlay.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/replace.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/setTileType.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/split.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/swapFrames.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/withHistory.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/withInverse.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/abs-svg-path/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/is-svg-path/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/normalize-svg-path/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/parse-svg-path/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/svg-arc-to-cubic-bezier/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/svg-path-bounds/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/package.json +14 -0
- package/node_modules/@m0saic/momo-types/LICENSE +201 -0
- package/node_modules/@m0saic/momo-types/NOTICE +13 -0
- package/node_modules/@m0saic/momo-types/dist/agent.js +6 -0
- package/node_modules/@m0saic/momo-types/dist/candidate.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/category.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/context.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/index.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/party.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/region.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/scoring.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/session-summary.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/session.js +1 -0
- package/node_modules/@m0saic/momo-types/package.json +16 -0
- package/node_modules/@m0saic/platform/LICENSE +201 -0
- package/node_modules/@m0saic/platform/NOTICE +13 -0
- package/node_modules/@m0saic/platform/dist/cjs/asset/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/asset/resolveAsset.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/asset/slugifyAssetKey.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/bridges/protocol.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/claimOrder.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/mTiles.generated.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/node/hostCommunityDir.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/node/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/node/loadCommunityManifestFromDir.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/node/validateCommunityPiece.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/parseCommunityMManifest.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/placeholderArt.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/tileState.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/balance.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/compile.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/ffmpeg.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/guards.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/macros.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/overlay.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/time.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/window.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/host-connections/fileConnectionResolver.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/host-connections/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/jobs/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/jobs/types.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/language/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/language/language.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/media/expandFolder.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/media/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/absolutizeManifestPathsWeb.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/applyRectEditToMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/bakeDocumentInsets.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/rebuildDocumentGeometry.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/flatten/flattenMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/flatten/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/layoutFloors/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/layoutFloors/layoutFloors.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/loadMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/loadMosaicXDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/outputKind/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/outputKind/outputKind.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/propBindings.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/serializeMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateAssetManifest.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateLavfiSource.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicOutput.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicXDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateSerializedMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateSources.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateVariableSchema.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/output/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/output/validateOutputConfig.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/paths/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/paths/m0saicRoot.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/paths/tempPrefix.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/secrets/envSecretResolver.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/secrets/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/secrets/keychainSecretResolver.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/secrets/schemeSecretResolver.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/mosaicxLink.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/payloadCodec.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/portableProps.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/shareQuery.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/system/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/system/systemInfo.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/hostFingerprint.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/lifecycle.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/machineFactor.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/outbox.js +2 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/paths.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/preview.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/recordStore.js +3 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/recorder.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/redactor.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/renderRecord.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/rollup.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/scrambler.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/sender.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/settingsStore.js +2 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/status.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/summary.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/upstreamDefaults.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/usageRecorder.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/usageStore.js +3 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/depAllowlist.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/hostFirstResolution.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/loadTemplateRepoFromPath.js +6 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/resolveTemplatePreview.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/validateTemplateRoles.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/templateId/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/templateId/parseTemplateId.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/childEnv.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/defaultBinaries.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/baseline.json +211 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/install.js +2 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/release-dates.json +387 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/goldenFfmpeg.js +7 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/liveChildren.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/metadata.js +2 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/probe.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/probeChild.js +3 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/versionCompare.js +1 -0
- package/node_modules/@m0saic/platform/package.json +117 -0
- package/node_modules/@m0saic/product/LICENSE +7 -0
- package/node_modules/@m0saic/product/dist/communityRelease.js +1 -0
- package/node_modules/@m0saic/product/dist/freeTierLicense.js +1 -0
- package/node_modules/@m0saic/product/dist/index.js +1 -0
- package/node_modules/@m0saic/product/dist/licenseToken.js +1 -0
- package/node_modules/@m0saic/product/dist/postRenderWrapper.js +1 -0
- package/node_modules/@m0saic/product/dist/publicKeys.js +1 -0
- package/node_modules/@m0saic/product/dist/revokedKeys.js +1 -0
- package/node_modules/@m0saic/product/dist/upstreamDefaults.js +1 -0
- package/node_modules/@m0saic/product/package.json +6 -0
- package/node_modules/@m0saic/template-utils/LICENSE +201 -0
- package/node_modules/@m0saic/template-utils/NOTICE +13 -0
- package/node_modules/@m0saic/template-utils/README.md +3 -0
- package/node_modules/@m0saic/template-utils/assets/core/m-33_1024x1024.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder-blue.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder-gray.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder-green.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder-red.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder.mp4 +0 -0
- package/node_modules/@m0saic/template-utils/assets/starter/avatar.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/facecam.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/landscape.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/logo.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/portrait.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/square.svg +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/camera.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/keyframes.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/motion.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/timing.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/tracks.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/assertTiming.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/brandGlyphs.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/field-data.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/helloWorld.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/m-rects.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/wordmark.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/onboarding-cover.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-cover-assets.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-cover.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-tutorial.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/theme-tokens.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/barcodeToRenderable.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/makeQrEyeChildDoc.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/qrStampExpressions.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/qrToRenderable.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/stampQr.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/styledQr.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/data/connectionOptionsRegistry.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/data/hostConnectionRegistry.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/data/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/data/upstream.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/deprecated/gridCellInset.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/deprecated/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/deprecation.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/dev/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/dev/layoutFingerprintFs.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/dev/renderTemplatePackToMosaicFiles.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/dev/renderTemplateToMosaicFile.js +2 -0
- package/node_modules/@m0saic/template-utils/dist/ffexpr/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/alphaPerCell.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/bch.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/decoder.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/encoder.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/gf.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/mask.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/slotPlanner.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry/polyline.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/assertGeometry.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/checkDocGeometry.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/frameResolution.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/latticeRelations.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/layoutConstraint.js +2 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/types.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/violationWireframe.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/withGeometryContract.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/withLayoutContract.js +5 -0
- package/node_modules/@m0saic/template-utils/dist/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/lattice/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/lattice/latticeReport.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/lattice/smooth.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/lattice/splitCounts.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/latticeCellInset.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/parseMosaicLayout.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/placeInsetPieces.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/placeOptimizedPieces.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/assetPath.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/build-overlay-stack.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/loadSession.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/readLayoutFile.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/utils.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/buildStepNames.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/canvasRegions.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/computeFrameCount.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/defaultMedia.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/determineMediaType.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/timeRanges.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/timedCues.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/primitives/girdlines.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/primitives/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/primitives/lavfiStrip.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/primitives/transparentSlot.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/compliance.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/dieline.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/dpiCheck.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/latticeSnap.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/units.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/processRegistry.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/autoCompactRenderable.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/createDesignContext.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/finalizeRenderable.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderNestedTemplate.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderTemplateCover.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderTemplateLite.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderTemplateToRenderableFile.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderTemplateTutorial.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/stampOutput.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/seededRng.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/makeColorTile.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/makeErrorMosaic.js +2 -0
- package/node_modules/@m0saic/template-utils/dist/sources/makeStubMosaic.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/solidBackground.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/svgTextSource.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/stamp/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/stamp/stampLayout.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/stamp/stampOnMedia.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/stamp/stampWindows.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/auditDefaultProps.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/template/auditRenderedTemplate.js +5 -0
- package/node_modules/@m0saic/template-utils/dist/template/auditRepoConventions.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/auditSchemaConventions.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/defineMosaicTemplate.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/definePropsSchema.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/layoutFingerprintFile.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/resolveTemplateOutputHints.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/templateConventions.js +6 -0
- package/node_modules/@m0saic/template-utils/dist/template/templateOriginScope.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/templateRegistry.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/template/validateTemplateProps.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/text/fitText.js +10 -0
- package/node_modules/@m0saic/template-utils/dist/text/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/text/textToPath.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/text/wrapText.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/theming/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/theming/resolveThemeTokens.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/theming/theming.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/transitions.js +1 -0
- package/node_modules/@m0saic/template-utils/package.json +6 -0
- package/node_modules/@m0saic/templates/LICENSE +13 -0
- package/node_modules/@m0saic/templates/dist/freeze.js +8 -0
- package/node_modules/@m0saic/templates/dist/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/_shared/onboarding-cover.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/_shared/raster.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/_shared/svgRaster.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v1/commit-feed.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v1/trace-timeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-glyphs.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-theme.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v1/bar-graph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v1/commit-feed.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v2/commit-feed.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/assets/layout-lite.m0 +9 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/assets/layout-standard.m0 +9 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/contributor-table.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v1/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v2/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v3/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v1/heatmap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v2/heatmap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v1/kpi-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v2/kpi-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v1/leaderboard.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v1/line-chart.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v2/line-chart.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v1/progress-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v1/stat-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v1/timeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v2/timeline.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v1/treemap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v2/treemap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/battery/manifest.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/assets/m-logo.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/assets/sample-session/benchmark.json +41 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/report.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/benchmarkRun.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/confirmation.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/renderScenario.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/runner.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/back-catalog.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/business-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/layout.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/camera.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/caption.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/community-m.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/community-m.web.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/gen-seed-piece.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/imageSize.node.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/loadPiece.node.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/manifest.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/mark.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/paths.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/piece.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/preview.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/props.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/reveal.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/seedPiece.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/target.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/timing.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/webPiece.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/wordmark.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v1/logo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v2/logo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/logo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/logo_runner.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/brand-qr-with-logo.svg +8 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.static.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.static.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/still/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/windows.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/line.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/scale.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/axis.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/bar-graph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/defaults.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/format.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/labels.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/plot-area.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/types.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v2/bar-graph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v2/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v4/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v4/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/axis.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/chrome-spec.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/chrome.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/defaults.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/format.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/frame.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/line-chart.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/line-series.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/types.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v1/stat-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-diff.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-lexer.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-metrics.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-theme.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/chrome.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/plan.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/steps.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/snippet-morph.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/demo-fixture.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/emit.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/image-collage.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/candidates.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/classify.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/paging.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/score.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/solve.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/tiler.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/types.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/camera.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/timing.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/theme/tokens.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/_shared/cellLuminance.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/decode.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/report.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/verify.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/maskAsset.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/probeHost.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/client.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/connection.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/facts.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/week-math.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v1/year-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hello-world/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hello-world/v1/hello-world.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hello-world/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg-logo.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg_logo_480x480.svg +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/m-hero.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/qr-fin.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-desktop.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-layout.m0p +5146 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-mobile.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-square.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/title-layout.m0p +130 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v1/barcode.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/blur-regions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/plan.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/highlights.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/plan.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/default-logo.js +35 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/expressions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/layout.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/logo-animate.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/svg-source.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/format-date.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/_shared/brandMCenter.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/expressions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/qr-animate.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v2/qr-animate.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/basic/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/basic/v1/qr.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v1/qr-code.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/rounded/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/rounded/v1/qr-rounded.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/expressions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/gleamBand.js +19 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/internal/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/internal/info_pane.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v1/screencap-grid.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/assets/tutorial-sheet.jpg +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/assets/pair-sheet.jpg +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/motion.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/scroll-wall.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/plan.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/sidecars.js +7 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/trickplay.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/adaptive.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/content.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/geometry.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/pageGrid.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/watermark.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/camera-debug/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/camera-debug/v1/camera-debug.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/fixture-fetcher/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/hot-reload-smoke/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/assets/human.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/assets/robot.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/post-mortem.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/upstream-echo/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/upstream-echo/v1/upstream-echo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v1/grid.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v2/grid.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/layout.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/quote-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/captions.js +5 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/demo-fixture.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/kenburns.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/layout.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/pipeline.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/plan.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/props.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/scenes/body.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/scenes/card.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/theme.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/document.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/page.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/pages.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/placeholder.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/props.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/scrapbook.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/brand-m-glyph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/theme-tokens.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/theming.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/token-sheet.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/layout.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/page-skeleton.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/sample-capture.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/schema.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/animated/v1/animated-wireframe.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/animated/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v1/wireframe.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v2/wireframe.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/utils/paperGrid.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/utils/wireframeCell.js +2 -0
- package/node_modules/@m0saic/templates/dist/registry.js +1 -0
- package/node_modules/@m0saic/templates/dist/repo.js +1 -0
- package/node_modules/@m0saic/templates/dist/template-registry.js +1 -0
- package/node_modules/@m0saic/templates/dist/web.js +1 -0
- package/node_modules/@m0saic/templates/dist/webTemplateIds.js +1 -0
- package/node_modules/@m0saic/templates/package.json +6 -0
- package/node_modules/@m0saic/templates/template-manifest.json +2015 -0
- package/node_modules/@m0saic/templates/web-template-ids.json +84 -0
- package/node_modules/@m0saic/templates-advanced/LICENSE +13 -0
- package/node_modules/@m0saic/templates-advanced/README.md +5 -0
- package/node_modules/@m0saic/templates-advanced/dist/index.js +1 -0
- package/node_modules/@m0saic/templates-advanced/package.json +6 -0
- package/node_modules/@m0saic/text/LICENSE +201 -0
- package/node_modules/@m0saic/text/NOTICE +18 -0
- package/node_modules/@m0saic/text/README.md +34 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Bold.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-BoldItalic.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Italic.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-OFL-1.1.txt +93 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Regular.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-Bold.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-BoldItalic.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-Italic.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-Regular.LICENSE.txt +18 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-Regular.ttf +0 -0
- package/node_modules/@m0saic/text/dist/bundledFonts.js +1 -0
- package/node_modules/@m0saic/text/dist/fontCache.js +1 -0
- package/node_modules/@m0saic/text/dist/fontRegistry.js +1 -0
- package/node_modules/@m0saic/text/dist/index.js +1 -0
- package/node_modules/@m0saic/text/dist/runsToPaths.js +1 -0
- package/node_modules/@m0saic/text/dist/textToPath.js +3 -0
- package/node_modules/@m0saic/text/package.json +6 -0
- package/node_modules/@m0saic/types/LICENSE +201 -0
- package/node_modules/@m0saic/types/NOTICE +13 -0
- package/node_modules/@m0saic/types/README.md +28 -0
- package/node_modules/@m0saic/types/assets/icons/mosaic.svg +36 -0
- package/node_modules/@m0saic/types/assets/icons/mosaicx.svg +32 -0
- package/node_modules/@m0saic/types/dist/analytics/consent.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/event.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/index.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/redaction.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/redactor.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/sink.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/usageMetrics.js +1 -0
- package/node_modules/@m0saic/types/dist/asset/asset.js +1 -0
- package/node_modules/@m0saic/types/dist/asset/index.js +1 -0
- package/node_modules/@m0saic/types/dist/benchmark/index.js +1 -0
- package/node_modules/@m0saic/types/dist/benchmark/session.js +1 -0
- package/node_modules/@m0saic/types/dist/colors/ffmpegNamedColors.js +1 -0
- package/node_modules/@m0saic/types/dist/colors/index.js +1 -0
- package/node_modules/@m0saic/types/dist/colors/mosaicColor.js +1 -0
- package/node_modules/@m0saic/types/dist/colors/parseMosaicColors.js +1 -0
- package/node_modules/@m0saic/types/dist/community-m/community-m.js +1 -0
- package/node_modules/@m0saic/types/dist/community-m/index.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/audio.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/color.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/effects.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/index.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/media.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/output-target.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/pipeline.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/placement.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/text.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/timing.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/visual.js +1 -0
- package/node_modules/@m0saic/types/dist/diagnostic/diagnostic.js +1 -0
- package/node_modules/@m0saic/types/dist/diagnostic/index.js +1 -0
- package/node_modules/@m0saic/types/dist/dictionary/dictionary.js +1 -0
- package/node_modules/@m0saic/types/dist/dictionary/index.js +1 -0
- package/node_modules/@m0saic/types/dist/document/document-pipeline.js +1 -0
- package/node_modules/@m0saic/types/dist/document/document.js +1 -0
- package/node_modules/@m0saic/types/dist/document/index.js +1 -0
- package/node_modules/@m0saic/types/dist/document/mosaicx-document.js +1 -0
- package/node_modules/@m0saic/types/dist/document/pipeline-helpers.js +1 -0
- package/node_modules/@m0saic/types/dist/document/sidecars.js +1 -0
- package/node_modules/@m0saic/types/dist/document/xfadeModes.js +1 -0
- package/node_modules/@m0saic/types/dist/engine-context/engine-context.js +1 -0
- package/node_modules/@m0saic/types/dist/engine-context/index.js +1 -0
- package/node_modules/@m0saic/types/dist/host-connections/host-connections.js +1 -0
- package/node_modules/@m0saic/types/dist/host-connections/index.js +1 -0
- package/node_modules/@m0saic/types/dist/identifiers/identifiers.js +1 -0
- package/node_modules/@m0saic/types/dist/identifiers/index.js +1 -0
- package/node_modules/@m0saic/types/dist/index.js +1 -0
- package/node_modules/@m0saic/types/dist/language/index.js +1 -0
- package/node_modules/@m0saic/types/dist/language/language.js +1 -0
- package/node_modules/@m0saic/types/dist/luminance/LuminanceBucket.js +1 -0
- package/node_modules/@m0saic/types/dist/luminance/index.js +1 -0
- package/node_modules/@m0saic/types/dist/meta/index.js +1 -0
- package/node_modules/@m0saic/types/dist/meta/meta.js +1 -0
- package/node_modules/@m0saic/types/dist/output/audio-config.js +1 -0
- package/node_modules/@m0saic/types/dist/output/color-config.js +1 -0
- package/node_modules/@m0saic/types/dist/output/container-metadata.js +1 -0
- package/node_modules/@m0saic/types/dist/output/encode.js +1 -0
- package/node_modules/@m0saic/types/dist/output/format.js +1 -0
- package/node_modules/@m0saic/types/dist/output/index.js +1 -0
- package/node_modules/@m0saic/types/dist/output/output.js +1 -0
- package/node_modules/@m0saic/types/dist/output/target.js +1 -0
- package/node_modules/@m0saic/types/dist/primitives/index.js +1 -0
- package/node_modules/@m0saic/types/dist/primitives/primitives.js +1 -0
- package/node_modules/@m0saic/types/dist/secrets/index.js +1 -0
- package/node_modules/@m0saic/types/dist/secrets/secrets.js +1 -0
- package/node_modules/@m0saic/types/dist/source/effectKeys.js +1 -0
- package/node_modules/@m0saic/types/dist/source/index.js +1 -0
- package/node_modules/@m0saic/types/dist/source/source.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/category.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/emit.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/event.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/ffmpegFailure.js +4 -0
- package/node_modules/@m0saic/types/dist/telemetry/index.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/level.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/personas.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/record.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/sink.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/usage.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry-settings/index.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry-settings/mode.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry-settings/settings.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry-settings/upstream.js +1 -0
- package/node_modules/@m0saic/types/dist/template/forensic-watermark-check.js +1 -0
- package/node_modules/@m0saic/types/dist/template/forensic-watermark.js +1 -0
- package/node_modules/@m0saic/types/dist/template/index.js +1 -0
- package/node_modules/@m0saic/types/dist/template/region.js +1 -0
- package/node_modules/@m0saic/types/dist/template/template.js +1 -0
- package/node_modules/@m0saic/types/dist/template/time-range.js +1 -0
- package/node_modules/@m0saic/types/dist/template/time-window.js +1 -0
- package/node_modules/@m0saic/types/dist/template/timed-cue.js +1 -0
- package/node_modules/@m0saic/types/dist/template-repo/index.js +1 -0
- package/node_modules/@m0saic/types/dist/template-repo/template-repo.js +1 -0
- package/node_modules/@m0saic/types/dist/theme/index.js +1 -0
- package/node_modules/@m0saic/types/dist/theme/theme.js +1 -0
- package/node_modules/@m0saic/types/package.json +6 -0
- package/node_modules/@m0saic/types/schemas/mosaic.schema.json +771 -0
- package/node_modules/@m0saic/types-internal/LICENSE +7 -0
- package/node_modules/@m0saic/types-internal/dist/analytics/featureKeys.js +1 -0
- package/node_modules/@m0saic/types-internal/dist/analytics/webEvent.js +1 -0
- package/node_modules/@m0saic/types-internal/dist/index.js +1 -0
- package/node_modules/@m0saic/types-internal/package.json +6 -0
- package/package.json +49 -8
package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/contributor-table.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Dt=Object.defineProperty;var s=(e,o)=>Dt(e,"name",{value:o,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineContributorTable=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),alpine_card_1=require("../../_shared/alpine-card"),alpine_glyphs_1=require("../../_shared/alpine-glyphs"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),ACCENT="#3fb950",NEG="#f85149",GLYPH_COLOR="#0d1117",DEFAULT_PRESET="light",DEFAULT_RENDER_MODE="premium",DEFAULT_ANIM={renderMode:DEFAULT_RENDER_MODE,introFrac:.7,countUp:!0,easing:"easeOut",reduceMotion:!1},MAX_ROWS=8,PAD_W=3,RANK_W=5,CONTRIB_W_NOMINAL=42;function tcell(e,o,i,a){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:o,fontColor:i},placement:{fit:"contain",hAlign:a,vAlign:"middle"}}]}}s(tcell,"tcell");function fcell(e,o,i,a){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:o,fontColor:i},placement:{hAlign:a,vAlign:"middle"}}]}}s(fcell,"fcell");function exprCell(e,o,i,a){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:o,fontColor:i},placement:{hAlign:a,vAlign:"middle"}}]}}s(exprCell,"exprCell");function fadeIn(e,o,i,a){var r;if(!a)return e;const d=(r=e.overlay)!==null&&r!==void 0?r:{};return{...e,overlay:{...d,alpha:(0,template_utils_1.fadeInExpr)(o,i)}}}s(fadeIn,"fadeIn");function wrapFade(e,o,i,a){return a?{m0:e.m0,sources:e.sources.map(r=>{var d;return!((d=r.overlay)===null||d===void 0)&&d.alpha?r:fadeIn(r,o,i,!0)})}:e}s(wrapFade,"wrapFade");function wrapGate(e,o,i){return i?{m0:e.m0,sources:e.sources.map(a=>{var r;return!((r=a.overlay)===null||r===void 0)&&r.enable?a:(0,alpine_anim_1.revealGate)(a,o,!0)})}:e}s(wrapGate,"wrapGate");function blend(e,o,i){const a=parseInt(e.slice(1),16),r=parseInt(o.slice(1),16),d=s(g=>Math.round((a>>g&255)+((r>>g&255)-(a>>g&255))*i),"mix");return"#"+[d(16),d(8),d(0)].map(g=>g.toString(16).padStart(2,"0")).join("")}s(blend,"blend");function avatarDisc(e,o,i,a){var r;const d=((r=e.trim()[0])!==null&&r!==void 0?r:"?").toUpperCase(),g={type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:d},style:{fontSize:i,fontColor:"#0d1117"},placement:{hAlign:"center",vAlign:"middle"}}]},O=(0,template_utils_1.makeColorTile)(o,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.5}},...a?{placement:{inset:a}}:{}});return O.editor={label:"avatar"},(0,alpine_card_1.overlay)([(0,alpine_card_1.paint)(O),(0,alpine_card_1.paint)(a?{...g,placement:{inset:a}}:g)])}s(avatarDisc,"avatarDisc");function discInCell(e){return(0,alpine_card_1.rowSplit)([{weight:2,node:alpine_card_1.EMPTY},{weight:7,node:(0,alpine_card_1.colSplit)([{weight:2,node:alpine_card_1.EMPTY},{weight:7,node:e},{weight:2,node:alpine_card_1.EMPTY}])},{weight:2,node:alpine_card_1.EMPTY}])}s(discInCell,"discInCell");const AVATAR_HUES=["#3fb950","#2ea043","#56d364","#388bfd","#a371f7","#db61a2","#e3b341","#f0883e"],propsSchema=(0,template_utils_1.definePropsSchema)({rows:{type:"array",required:!0,description:"Table rows. Each: name, optional rank + avatar, and values[] index-aligned to columns.",meta:{control:{flavor:"jsonModal"},ui:{label:"Rows",order:1}}},columns:{type:"string[]",required:!0,description:"Value-column headers (index-aligned to each row's values).",meta:{control:{placeholder:"Commits"},ui:{label:"Columns",order:2}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., TOP CONTRIBUTORS"},ui:{label:"Title",order:3}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{ui:{label:"Subtitle",order:4}}},preset:{type:"string",required:!1,description:"Alpine theme variant (light default; dark = the FFmpeg hero look).",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:5}}},showHeader:{type:"boolean",required:!1,description:"Show the icon + title + subtitle band (default true). False when a parent chrome supplies the title.",meta:{ui:{label:"Show header",order:6}}},topTint:{type:"number",required:!1,description:"How many top rows get the accent wash (default 3).",meta:{constraints:{min:0,max:8},ui:{label:"Top tint rows",order:7}}},accent:{type:"string",required:!1,description:"Accent color (icon chip + top-row wash). Defaults to the theme primary.",meta:{constraints:{isColor:!0},control:{placeholder:"theme primary",colorPicker:!0,defaultColor:"#2563EB"},ui:{label:"Accent",order:8}}},backgroundColor:{type:"string",required:!1,description:'Card surface color. "black@0" \u2192 transparent (composed under a chrome).',meta:{constraints:{isColor:!0},control:{placeholder:"theme card",colorPicker:!0,defaultColor:"#FFFFFF"},ui:{label:"Card color",order:9}}},washColor:{type:"string",required:!1,description:"Solid color the row washes blend against (for transparent surfaces composed on a colored backdrop).",meta:{constraints:{isColor:!0},control:{placeholder:"card background",colorPicker:!0,defaultColor:"#FFFFFF"},ui:{label:"Wash base",order:10}}},anim:{type:"group",required:!1,description:"Reveal mode + row-cascade intro.",meta:{ui:{label:"Animation",order:13,collapsedByDefault:!0}},fields:{renderMode:(0,alpine_anim_1.fEnum)("Render mode",["premium","light"],'"premium" (default): rows cascade in via alpha fade \u2014 a geq per faded source. "light": the same cascade via free enable-gate pops \u2014 no geq, composable, cheap when nested.'),reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,countUp:(0,alpine_anim_1.fBool)("Count up","Count the value columns up during the intro."),easing:alpine_anim_1.ALPINE_ANIM_FIELDS.easing}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",meta:{ui:{label:"Theme",order:14,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}},icon:{type:"string",required:!1,description:"Named header glyph (shared alpine catalog). A derived HUMAN view of the raw iconPath agent prop: picking a name WRITES the SVG path into iconPath (the stored, code-friendly value); a bespoke agent-written path shows as no selection.",meta:{constraints:{oneOf:alpine_glyphs_1.ALPINE_GLYPH_NAMES},ui:{label:"Icon",order:11,consumer:"human"},control:{syncsTo:[{prop:"iconPath",map:{kind:"lookup",table:alpine_glyphs_1.ALPINE_GLYPHS}}]}}},iconPath:{type:"string",required:!1,description:"Header glyph SVG path d (24\xD724), drawn as a mask on the icon chip \u2014 the raw value behind the friendly `icon` knob.",meta:{ui:{label:"Icon path (SVG d)",order:15,consumer:"agent"}}},columnColors:{type:"array",required:!1,description:"Per-column value color (index-aligned to columns). Portrait layout tints secondary metrics (e.g. additions green / deletions red).",meta:{ui:{label:"Column colors",order:16,consumer:"agent"}}},columnSigns:{type:"string[]",required:!1,description:"Per-column sign prefix (index-aligned to columns), e.g. + / -. Portrait only.",meta:{ui:{label:"Column signs",order:17,consumer:"agent"}}},debugLayout:{type:"boolean",required:!1,description:"Dev-only layout contract view: renders the contract wireframe instead of the table \u2014 rows GREEN with the measured rule when every row/card is the same size, offenders RED when not. Deterministic default false; production never sets it.",meta:{ui:{label:"Debug layout",order:18,collapsedByDefault:!0}}}});exports.AlpineContributorTable={id:(0,types_1.asTemplateId)("@m0saic/alpine/contributor-table/v1"),label:"Alpine Contributor Table",version:1,description:'Alpine contributor table \u2014 friendly mobile-marketing card: a ranked multi-column table (rank \xB7 avatar \xB7 name + arbitrary right-aligned value columns), icon + title header, top-N accent wash, count-up values. Alpine-light by default; the FFmpeg Weekly Pulse uses preset:"dark".',capabilities:{tier:"core"},primitive:!0,tags:["data-viz","alpine","contributor-table","ranking","table","animated","developers","analysts","team","open-source"],outputHints:{format:{kind:"video",container:"mp4"},width:1280,height:720,fps:30,durationMs:3e3},propsSchema,defaultProps:{showHeader:!0,preset:"light",debugLayout:!1,theme:{forceFetch:!1},rows:[{rank:1,name:"Anton Khirnov",values:[23,4512,2103]},{rank:2,name:"Michael Niedermayer",values:[18,3204,1034]},{rank:3,name:"James Almer",values:[14,2193,812]},{rank:4,name:"Marton Balint",values:[11,1842,1201]},{rank:5,name:"Limin Wang",values:[9,1503,623]}],columns:["Commits","Additions","Deletions"],title:"TOP CONTRIBUTORS",subtitle:"This week",topTint:3,columnColors:[void 0,ACCENT,NEG],columnSigns:["","+","-"],iconPath:alpine_glyphs_1.ALPINE_GLYPHS.contributors,anim:DEFAULT_ANIM},async render(e,o){var i,a,r,d,g,O,Pe,xe,Te,ye,Se,Ce,Ee,ke,_e,Ae,Fe,Ne,Le;const c=Math.max(1,Math.round(o.target.width)),u=Math.max(1,Math.round(o.target.height)),nt=((i=e.rows)!==null&&i!==void 0?i:[]).map((t,m)=>({r:t,srcIndex:m})).filter(({r:t})=>t&&typeof t.name=="string").slice(0,MAX_ROWS),x=nt.map(t=>t.r),T=(a=e.columns)!==null&&a!==void 0?a:[];if(!x.length||!T.length)return(0,template_utils_1.makeErrorMosaic)("contributor-table needs rows[] + columns[]",{title:`${this.id} props`,width:c,height:u});const E=await(0,alpine_theme_1.resolveAlpineTheme)((r=e.preset)!==null&&r!==void 0?r:DEFAULT_PRESET,o,e.theme),at=E.card,rt=E.grid,ue=E.title,v=E.muted,Ye=E.label,Ie=(d=e.accent)!==null&&d!==void 0?d:E.primary,j=(g=e.backgroundColor)!==null&&g!==void 0?g:at,he=typeof j=="string"&&j.startsWith("#"),me=(O=e.washColor)!==null&&O!==void 0?O:he?j:at,P={...DEFAULT_ANIM,...(Pe=e.anim)!==null&&Pe!==void 0?Pe:{}},pe=!P.reduceMotion,ft=((xe=P.renderMode)!==null&&xe!==void 0?xe:DEFAULT_RENDER_MODE)==="light",k=s((t,m,M)=>pe?ft?wrapGate(t,m,!0):wrapFade(t,m,M,!0):t,"wrapReveal"),it=(Te=e.topTint)!==null&&Te!==void 0?Te:3,_=(ye=e.showHeader)!==null&&ye!==void 0?ye:!0,q=x.length,H=T.length,vt=Math.max(1,(0,template_utils_1.textEmUnits)((Se=e.title)!==null&&Se!==void 0?Se:"TOP CONTRIBUTORS")),Pt=Math.max(18,Math.min(Math.round(u*.05),Math.floor(c*.68/(vt*.62)))),xt=Math.max(1,(0,template_utils_1.textEmUnits)((Ce=e.subtitle)!==null&&Ce!==void 0?Ce:"This week")),Tt=Math.max(11,Math.min(Math.round(u*.026),Math.floor(c*.68/(xt*.62)))),Re=Math.max(8,Math.floor((100-PAD_W*2-RANK_W-CONTRIB_W_NOMINAL)/H)),Oe=100-PAD_W*2-RANK_W-Re*H,yt=Math.max(1,...T.map(t=>String(t).length),11),qe=Math.max(10,Math.min(Math.round(u*.024),Math.floor(c*(Re/100)*.92/(yt*.62)))),Gt=Math.max(12,Math.round(u*.032)),lt=Math.max(12,Math.round(u*.034)),St=Math.max(11,Math.round(u*.03)),Ct=Math.max(14,Math.round(u*.042)),Et=Math.max(.1,((Ee=o.target.durationMs)!==null&&Ee!==void 0?Ee:3e3)/1e3),st=Math.max(.1,Math.min(1,P.introFrac)*Et),U=Math.min(.15,st*.1),ct=.5,w=Math.max(.05,(st-U)/(1+ct*Math.max(0,q-1))),He=ct*w,K=s(t=>typeof t=="number"?Math.round(t).toLocaleString("en-US"):String(t??""),"fmt"),y=s((t,m,M,A,...F)=>(0,template_utils_1.bindPropPath)(t,"rows",[nt[m].srcIndex,M,...F],A),"bindRow"),dt=s(()=>{const t=(0,template_utils_1.makeColorTile)(Ie,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.28}}});return t.editor={label:"header-icon"},(0,template_utils_1.bindProp)(t,"accent")},"chipTile"),ut=(0,alpine_glyphs_1.resolveAlpineGlyph)(e.icon,e.iconPath,"@m0saic/alpine/contributor-table/v1"),ht=ut?(0,alpine_card_1.overlay)([(0,alpine_card_1.paint)(dt()),(0,alpine_card_1.paint)((0,template_utils_1.makeColorTile)(GLYPH_COLOR,{mask:{kind:"inline-mask",localPath:ut,bounds:{x:0,y:0,width:24,height:24}},placement:{inset:{x:.22,y:.22}}}))]):(0,alpine_card_1.paint)(dt());let ge;if(u>c*1.15){const t=Math.round(Math.min(c,u)*.045),m=Math.max(1,c-2*t),M=Math.max(1,u-2*t),A=_?Math.round(M*.13):0,F=_?Math.round(M*.025):0,X=Math.max(1,M-A-F),J=Math.max(8,Math.round(X*.02)),Ue=Math.max(1,Math.floor(X/q)),Q=Math.max(1,Ue-J),N=Math.round(m*.045),L=Math.round(Q*.07),b=Math.max(1,m-2*N),Z=Math.max(1,Q-2*L),B=Math.round(Z*.56),Be=Math.max(1,Z-B),W=Math.round(b*.09),D=B,G=Math.round(b*.02),V=Math.round(b*.22),ee=Math.max(40,b-W-D-G-V),te=W+D+G,Y=s((n,p,se,ce)=>Math.max(ce,Math.min(n,Math.floor(se/(Math.max(1,p)*.62)))),"cap"),We=Math.max(1,...x.map(n=>(0,template_utils_1.textEmUnits)(n.name))),De=Math.max(1,...x.map(n=>(0,template_utils_1.textEmUnits)(K(n.values[0]))));let $=1;for(const n of x)for(let p=1;p<H;p++)$=Math.max($,(0,template_utils_1.textEmUnits)(((_e=(ke=e.columnSigns)===null||ke===void 0?void 0:ke[p])!==null&&_e!==void 0?_e:"")+K(n.values[p])));const we=(Ae=e.title)!==null&&Ae!==void 0?Ae:"TOP CONTRIBUTORS",Me=Math.max(1,H-1),oe=Math.floor(Math.max(1,b-te)/Me),be=Math.max(12,Math.round(c*.042)),fe=Y(Math.round(c*.05),We,Math.round(ee*.94),12),l=s(n=>(0,alpine_card_1.fitEmUnits)(n,Math.max(2,ee*.94/(fe*.62))),"fitNameP"),f=Math.max(14,Math.min(Y(Math.round(c*.092),De,V,18),Math.round(B*.55))),S=Math.max(9,Math.round(c*.026)),I=Y(Math.round(c*.042),$,oe,11),Ge=Math.max(14,Math.round(c*.052)),Ve=Y(Math.round(c*.062),we.length,Math.round(m*.7),18),$e=Math.max(11,Math.round(c*.032)),ze=!!(e.columnColors||e.columnSigns),h=s(n=>Math.max(1,Math.round(n/4)),"q"),mt=s(n=>{var p,se,ce,Je,Qe,Ze;const de=x[n],et=U+n*He,_t=(0,alpine_card_1.paint)(y((0,alpine_card_1.tag)(fcell(String((p=de.rank)!==null&&p!==void 0?p:n+1),be,v,"center"),"rank"),n,"rank","number")),At=avatarDisc(de.name,AVATAR_HUES[n%AVATAR_HUES.length],Ge),Ft=(0,alpine_card_1.paint)(y((0,alpine_card_1.tag)(fcell(l(de.name),fe,ue,"left"),"row-name"),n,"name","string")),tt=K(de.values[0]),Nt=P.countUp&&pe&&/\d/.test(tt)?(0,alpine_card_1.paint)(y((0,alpine_card_1.tag)(exprCell((0,template_utils_1.animateNumbersInText)(tt,{startSec:et,durationSec:w,ease:P.easing}),f,Ye,"right"),"row-value"),n,"values","number",0)):(0,alpine_card_1.paint)(y((0,alpine_card_1.tag)(fcell(tt,f,Ye,"right"),"row-value"),n,"values","number",0)),Lt=(0,alpine_card_1.rowSplit)([{weight:64,node:Nt},{weight:36,node:(0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(fcell((se=T[0])!==null&&se!==void 0?se:"",S,v,"right"),"col-header"),"columns",0))}]),Yt=(0,alpine_card_1.colSplit)([{weight:h(W),node:_t},{weight:h(D),node:discInCell(At)},{weight:h(G),node:alpine_card_1.EMPTY},{weight:h(ee),node:Ft},{weight:h(V),node:Lt}]),gt=[{weight:h(te),node:alpine_card_1.EMPTY}];for(let R=1;R<H;R++){const ot=K(de.values[R]),Ut=(Je=(ce=e.columnSigns)===null||ce===void 0?void 0:ce[R])!==null&&Je!==void 0?Je:"",Mt=(Ze=(Qe=e.columnColors)===null||Qe===void 0?void 0:Qe[R])!==null&&Ze!==void 0?Ze:v,bt=ze?`${Ut}${ot}`:`${T[R]} ${ot}`,Bt=P.countUp&&pe&&/\d/.test(ot)?(0,alpine_card_1.paint)((0,alpine_card_1.tag)(exprCell((0,template_utils_1.animateNumbersInText)(bt,{startSec:et,durationSec:w,ease:P.easing}),I,Mt,"left"),"row-value")):(0,alpine_card_1.paint)((0,alpine_card_1.tag)(fcell(bt,I,Mt,"left"),"row-value")),Wt=R===H-1?Math.max(1,b-te-oe*(Me-1)):oe;gt.push({weight:h(Wt),node:Bt})}const It=(0,alpine_card_1.colSplit)(gt),Rt=(0,alpine_card_1.rowSplit)([{weight:h(B),node:Yt},{weight:h(Be),node:It}]),Ot=(0,alpine_card_1.rowSplit)([{weight:h(L),node:alpine_card_1.EMPTY},{weight:h(Z),node:(0,alpine_card_1.colSplit)([{weight:h(N),node:alpine_card_1.EMPTY},{weight:h(b),node:Rt},{weight:h(N),node:alpine_card_1.EMPTY}])},{weight:h(L),node:alpine_card_1.EMPTY}]),qt=n<it?blend(me,Ie,.1):blend(me,rt,.55),wt=(0,template_utils_1.makeColorTile)(qt,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.12}}});wt.editor={label:"row"};const Ht=(0,alpine_card_1.paint)((0,template_utils_1.bindProp)(wt,"washColor"));return k((0,alpine_card_1.overlay)([Ht,Ot]),et,w)},"cardNode"),je=Math.max(2,Math.round(2*Q/Math.max(1,J))),ne=[];for(let n=0;n<q;n++)ne.push({weight:1,node:(0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:je,node:mt(n)},{weight:1,node:alpine_card_1.EMPTY}])});const ve=(0,alpine_card_1.rowSplit)(ne),Ke=(0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:5,node:ht},{weight:2,node:alpine_card_1.EMPTY}]),pt=(0,alpine_card_1.rowSplit)([{weight:58,node:(0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(fcell(we,Ve,ue,"left"),"table-title"),"title"))},{weight:42,node:(0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(tcell((Fe=e.subtitle)!==null&&Fe!==void 0?Fe:"This week",$e,v,"left"),"table-subtitle"),"subtitle"))}]),C=Math.max(1,Math.round(A*(5/8))),z=Math.round(m*.04),ae=(0,alpine_card_1.colSplit)([{weight:C,node:Ke},{weight:z,node:alpine_card_1.EMPTY},{weight:Math.max(1,m-C-z),node:pt}]),re=k(ae,U,w),ie=_?(0,alpine_card_1.rowSplit)([{weight:A,node:re},{weight:F,node:alpine_card_1.EMPTY},{weight:X,node:ve}]):ve,le=(0,alpine_card_1.rowSplit)([{weight:t,node:alpine_card_1.EMPTY},{weight:M,node:(0,alpine_card_1.colSplit)([{weight:t,node:alpine_card_1.EMPTY},{weight:m,node:ie},{weight:t,node:alpine_card_1.EMPTY}])},{weight:t,node:alpine_card_1.EMPTY}]),Xe=k((0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,template_utils_1.makeColorTile)(j,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.04}}}),"backgroundColor")),0,w);ge=he?(0,alpine_card_1.overlay)([Xe,le]):le}else{const t=Math.round(Math.min(c,u)*.04),m=Re,M=Math.max(1,Math.round((c-2*t)*(Oe/100)*.72)),A=Math.max(1,...x.map(l=>(0,template_utils_1.textEmUnits)(l.name))),F=Math.max(11,Math.min(Math.round(u*.04),Math.floor(M/(A*.6)))),X=s(l=>(0,alpine_card_1.fitEmUnits)(l,Math.max(2,M/(F*.6))),"fitName"),J=s((l,f,S)=>(0,alpine_card_1.colSplit)([{weight:PAD_W,node:alpine_card_1.EMPTY},{weight:RANK_W,node:l},{weight:Oe,node:f},...S.map(I=>({weight:m,node:I})),{weight:PAD_W,node:alpine_card_1.EMPTY}]),"rowCols"),Ue=J((0,alpine_card_1.paint)((0,alpine_card_1.tag)(tcell("#",qe,v,"left"),"col-header")),(0,alpine_card_1.paint)((0,alpine_card_1.tag)(tcell("Contributor",qe,v,"left"),"col-header")),T.map((l,f)=>(0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(tcell(l,qe,v,"right"),"col-header"),"columns",f)))),Q=Math.max(1,(u-2*t)*((_?66:87)/100)),N=Math.max(1,Q/q*.8),L=Math.max(1,(c-2*t)*(Oe/100)*(4/20)),b=.64*Math.min(L,N),Z={x:Math.max(0,(L-b)/(2*L)),y:Math.max(0,(N-b)/(2*N))},B=Math.min(Ct,Math.max(10,Math.round(b*.6))),Be=s(l=>{var f;const S=x[l],I=U+l*He,Ge=(0,alpine_card_1.paint)(y((0,alpine_card_1.tag)(tcell(String((f=S.rank)!==null&&f!==void 0?f:l+1),St,v,"left"),"rank"),l,"rank","number")),Ve=avatarDisc(S.name,AVATAR_HUES[l%AVATAR_HUES.length],B,Z),$e=(0,alpine_card_1.colSplit)([{weight:4,node:Ve},{weight:1,node:alpine_card_1.EMPTY},{weight:15,node:(0,alpine_card_1.paint)(y((0,alpine_card_1.tag)(fcell(X(S.name),F,ue,"left"),"row-name"),l,"name","string"))}]),ze=T.map((pt,C)=>{var z,ae,re,ie;const le=K(S.values[C]),Xe=(ae=(z=e.columnSigns)===null||z===void 0?void 0:z[C])!==null&&ae!==void 0?ae:"",n=(ie=(re=e.columnColors)===null||re===void 0?void 0:re[C])!==null&&ie!==void 0?ie:Ye,p=`${Xe}${le}`;return P.countUp&&pe&&/\d/.test(le)?(0,alpine_card_1.paint)(y((0,alpine_card_1.tag)(exprCell((0,template_utils_1.animateNumbersInText)(p,{startSec:I,durationSec:w,ease:P.easing}),lt,n,"right"),"row-value"),l,"values","number",C)):(0,alpine_card_1.paint)(y((0,alpine_card_1.tag)(tcell(p,lt,n,"right"),"row-value"),l,"values","number",C))}),h=J(Ge,$e,ze),je=l<it?blend(me,Ie,.1):blend(me,rt,.55),ne=(0,template_utils_1.makeColorTile)(je,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.16}}});ne.editor={label:"row"};const ve=(0,alpine_card_1.paint)((0,template_utils_1.bindProp)(ne,"washColor")),Ke=(0,alpine_card_1.overlay)([ve,h]);return k(Ke,I,w)},"dataRow"),W=[];for(let l=0;l<q;l++)W.push({weight:1,node:(0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:8,node:Be(l)},{weight:1,node:alpine_card_1.EMPTY}])});const D=(0,alpine_card_1.rowSplit)(W),G=Math.max(1,c-2*t),V=Math.round(Math.max(1,u-2*t)*.18),ee=(0,alpine_card_1.rowSplit)([{weight:15,node:alpine_card_1.EMPTY},{weight:70,node:(0,alpine_card_1.colSplit)([{weight:15,node:alpine_card_1.EMPTY},{weight:70,node:ht},{weight:15,node:alpine_card_1.EMPTY}])},{weight:15,node:alpine_card_1.EMPTY}]),te=(0,alpine_card_1.rowSplit)([{weight:58,node:(0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(tcell((Ne=e.title)!==null&&Ne!==void 0?Ne:"TOP CONTRIBUTORS",Pt,ue,"left"),"table-title"),"title"))},{weight:42,node:(0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(tcell((Le=e.subtitle)!==null&&Le!==void 0?Le:"This week",Tt,v,"left"),"table-subtitle"),"subtitle"))}]),Y=Math.round(G*.015),We=(0,alpine_card_1.colSplit)([{weight:V,node:ee},{weight:Y,node:alpine_card_1.EMPTY},{weight:Math.max(1,G-V-Y),node:te}]),De=k(We,U,w),$=k(Ue,U+He*.5,w),we=_?(0,alpine_card_1.rowSplit)([{weight:18,node:De},{weight:4,node:alpine_card_1.EMPTY},{weight:8,node:$},{weight:4,node:alpine_card_1.EMPTY},{weight:66,node:D}]):(0,alpine_card_1.rowSplit)([{weight:9,node:$},{weight:4,node:alpine_card_1.EMPTY},{weight:87,node:D}]),Me=Math.max(1,c-2*t),oe=Math.max(1,u-2*t),be=(0,alpine_card_1.rowSplit)([{weight:t,node:alpine_card_1.EMPTY},{weight:oe,node:(0,alpine_card_1.colSplit)([{weight:t,node:alpine_card_1.EMPTY},{weight:Me,node:we},{weight:t,node:alpine_card_1.EMPTY}])},{weight:t,node:alpine_card_1.EMPTY}]),fe=k((0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,template_utils_1.makeColorTile)(j,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.04}}}),"backgroundColor")),0,w);ge=he?(0,alpine_card_1.overlay)([fe,be]):be}const kt={kind:"mosaic_document",version:1,assets:{},m0:ge.m0,sources:ge.sources,backgroundColor:he?E.canvas:"black@0",fps:o.target.fps,durationMs:o.target.durationMs,size:{width:c,height:u}};return Promise.resolve((0,template_utils_1.withLayoutContract)(kt,o,{templateId:"@m0saic/alpine/contributor-table/v1",relations:q>=2?[{label:"row",equal:"size",tolerance:.02,tolerancePx:1}]:[],constraints:[..._?[{label:"header-icon",aspect:1,aspectTolerance:.1}]:[],{label:"avatar",aspect:1,aspectTolerance:.25},..._?[{label:"table-title",textFits:{charWidthEm:.62}},{label:"table-subtitle",textFits:{charWidthEm:.62}}]:[],{label:"col-header",textFits:{charWidthEm:.62}},{label:"rank",textFits:{charWidthEm:.62}},{label:"row-name",textFits:{charWidthEm:.6}},...T.length>0?[{label:"row-value",textFits:{charWidthEm:.62}}]:[]],debug:e.debugLayout===!0}))},async renderCover(e,o){const i=(0,onboarding_cover_1.brandedCoverHeroBox)(o,"band"),a={...o,target:{...o.target,width:i.width,height:i.height},output:{...o.output,width:i.width,height:i.height}},r=await exports.AlpineContributorTable.render({...exports.AlpineContributorTable.defaultProps,anim:{...DEFAULT_ANIM,renderMode:"light",reduceMotion:!0}},a);return(0,onboarding_cover_1.buildBrandedCover)({ctx:o,variant:"band",copy:{productName:"Contributor Table",title:"A contributor table."},hero:s(d=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(r),d.borderStrong),"hero"),heroAssets:r.assets,children:r.children})}},(0,template_utils_1.registerTemplate)(exports.AlpineContributorTable);
|
|
@@ -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.AlpineContributorTable=void 0;var contributor_table_1=require("./contributor-table");Object.defineProperty(exports,"AlpineContributorTable",{enumerable:!0,get:e(function(){return contributor_table_1.AlpineContributorTable},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var H=Object.defineProperty;var f=(e,n)=>H(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineDonut=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("../../../charts/donut/v3/geometry"),anim_1=require("../../../charts/donut/v3/anim"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),DEFAULT_PRESET="light",DEFAULT_RENDER_MODE="premium",DEFAULT_THICKNESS=.42,DEFAULT_SEG_LABELS="percent",DEFAULT_LEGEND="right",DEFAULT_ANIM={renderMode:DEFAULT_RENDER_MODE,introFrac:.7,countUp:!0,easing:"easeOut",reduceMotion:!1},RADIUS_SCALE=.9,GAP_DEG=2,VALUE_FONT_FRAC=.26,CAPTION_FONT_FRAC=.1,SEG_LABEL_FONT_FRAC=.42,SEG_LABEL_MIN_SWEEP_DEG=16,EDGE_PAD=1.5,SNAP_PX=4,RING_FRAC_WITH_LEGEND=.56,clampInt=f((e,n,r)=>Math.max(n,Math.min(r,Math.round(e))),"clampInt");function placePiece(e,n,r,i){const c=f(M=>Math.floor((M-EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapDown"),h=f(M=>Math.ceil((M+EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapUp"),g=clampInt(c(r.minX),0,e-1),l=clampInt(c(r.minY),0,n-1),v=clampInt(h(r.maxX),g+SNAP_PX,e),d=clampInt(h(r.maxY),l+SNAP_PX,n);return{rect:{x:g,y:l,w:v-g,h:d-l,claimant:"F"},source:i(v-g,d-l,g,l)}}f(placePiece,"placePiece");function cellText(e,n,r){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:n,fontColor:r},placement:{hAlign:"center",vAlign:"middle"}}]}}f(cellText,"cellText");function cellExprText(e,n,r){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:n,fontColor:r},placement:{hAlign:"center",vAlign:"middle"}}]}}f(cellExprText,"cellExprText");function textBBox(e,n,r,i){const c=Math.max(i,r.length*i*.85+i),h=i*1.6;return{minX:e-c/2,minY:n-h/2,maxX:e+c/2,maxY:n+h/2}}f(textBBox,"textBBox");function labelColorFor(e,n,r){const i=/^#?([0-9a-f]{6})/i.exec(String(e));if(!i)return n;const c=parseInt(i[1],16);return(.2126*(c>>16&255)+.7152*(c>>8&255)+.0722*(c&255))/255>.6?r:n}f(labelColorFor,"labelColorFor");function buildRing(e){const{W:n,H:r,rx:i,ry:c,rw:h,rh:g,values:l,colors:v,theme:d}=e,M=e.renderMode==="light",x=f((t,a,s)=>e.reduceMotion?t:M?(0,alpine_anim_1.revealGate)(t,a):(0,alpine_anim_1.revealFade)(t,a,s),"revealText"),b=i+h/2,u=c+g/2,p=Math.min(h,g)/2*RADIUS_SCALE,o=p*(1-Math.max(.05,Math.min(.9,e.thicknessFrac))),A=o*2,E=(0,geometry_1.segmentsToAngles)(l,{gapDeg:l.length>1?GAP_DEG:0}),L=f(t=>v[t%v.length],"segColor"),w=[],k=[],D=[],I=f((t,a,s,m)=>{const S=placePiece(n,r,(0,geometry_1.annularSectorBBox)({cx:b,cy:u,rOuter:p,rInner:o,startDeg:a,endDeg:s}),(Y,U,B,O)=>(0,template_utils_1.makeColorTile)(L(t),{mask:{kind:"inline-mask",localPath:(0,geometry_1.annularSectorPath)({cx:b-B,cy:u-O,rOuter:p,rInner:o,startDeg:a,endDeg:s}),bounds:{x:0,y:0,width:Y,height:U}},...m?{overlay:m}:{}}));return S.rect.importance=0,S},"sectorPiece");if(e.reduceMotion)for(let t=0;t<E.length;t++)w.push(I(t,E[t].startDeg,E[t].endDeg));else{const t=Math.max(.1,e.introSec*.32);for(let a=0;a<E.length;a++){const s=E[a],m=Math.max(0,(e.introSec-t)*(0,anim_1.sweepInverseEase)(e.ease,s.startDeg/360)),S=M?{startAtSec:m,enable:`gte(t,${m.toFixed(3)})`}:{startAtSec:m,alpha:(0,template_utils_1.fadeInExpr)(m,t)};w.push(I(a,s.startDeg,s.endDeg,S))}}if(e.segLabels==="percent"){const t=p-o,a=Math.max(9,Math.round(t*SEG_LABEL_FONT_FRAC));for(let s=0;s<E.length;s++){const m=E[s];if(m.endDeg-m.startDeg<SEG_LABEL_MIN_SWEEP_DEG)continue;const{x:S,y:Y}=(0,geometry_1.sectorCentroid)({cx:b,cy:u,rOuter:p,rInner:o,startDeg:m.startDeg,endDeg:m.endDeg}),U=`${Math.round(m.frac*100)}%`,B=labelColorFor(L(s),d.card,d.title),O=placePiece(n,r,textBBox(S,Y,U,a),()=>x(cellText(U,a,B),e.introSec*.6,Math.max(.1,e.introSec*.3)));O.rect.importance=1,k.push(O)}}const P=e.centerValue,y=!!(e.centerLabel&&e.centerLabel.trim()),_=Math.max(10,Math.round(Math.min(A*VALUE_FONT_FRAC,A*.72/Math.max(1,P.length*.62)))),F=Math.max(9,Math.round(A*CAPTION_FONT_FRAC)),C=y?u-o*.12:u,G=e.countUp&&!e.reduceMotion&&/\d/.test(P),R=placePiece(n,r,textBBox(b,C,P,_),()=>G?cellExprText((0,template_utils_1.animateNumbersInText)(P,{durationSec:e.introSec,ease:e.ease}),_,d.title):cellText(P,_,d.title));if(R.rect.importance=1,D.push(R),y){const t=placePiece(n,r,textBBox(b,u+o*.44,e.centerLabel,F),()=>x(cellText(e.centerLabel,F,d.subtitle),e.introSec*.7,Math.max(.1,e.introSec*.3)));t.rect.importance=1,D.push(t)}const T=[...w,...k,...D],q=(0,dsl_stdlib_1.placeRects)({rootW:n,rootH:r,rects:T.map(t=>t.rect)}),N=[];for(const t of q.layers){const a=[...t.rectIndices].sort((s,m)=>T[s].rect.y-T[m].rect.y||T[s].rect.x-T[m].rect.x);for(const s of a)N.push(T[s].source)}return{m0:String(q.m0),sources:N}}f(buildRing,"buildRing");function legendNode(e){var n,r;const{labels:i,percents:c,colors:h,theme:g,font:l,cellH:v}=e,d=i.length,M=Math.max(l,Math.round(l*1.7)),x=Math.round(l*.5),b=d*M+(d-1)*x,u=Math.max(0,Math.round((v-b)/2)),p=[];u>0&&p.push({weight:u,node:alpine_card_1.EMPTY});for(let o=0;o<d;o++){const A=(0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:2,node:(0,alpine_card_1.paint)((0,template_utils_1.makeColorTile)(h[o%h.length],{effects:{rounding:{cornerStyle:"rounded",borderRadius:.4}}}))},{weight:1,node:alpine_card_1.EMPTY}]),E=(0,alpine_card_1.colSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:2,node:A},{weight:1,node:alpine_card_1.EMPTY},{weight:11,node:(0,alpine_card_1.paint)((0,alpine_card_1.textCell)((n=i[o])!==null&&n!==void 0?n:"",l,g.label,"left","middle"))},{weight:5,node:(0,alpine_card_1.paint)((0,alpine_card_1.textCell)((r=c[o])!==null&&r!==void 0?r:"",l,g.subtitle,"right","middle",{right:.1}))}]);p.push({weight:M,node:E}),o<d-1&&p.push({weight:x,node:alpine_card_1.EMPTY})}return u>0&&p.push({weight:u,node:alpine_card_1.EMPTY}),(0,alpine_card_1.rowSplit)(p)}f(legendNode,"legendNode");const propsSchema=(0,template_utils_1.definePropsSchema)({segments:{type:"array",required:!0,description:"Ring segments (clockwise 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:alpine_theme_1.ALPINE_PALETTE},ui:{label:"Segments",order:1}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., DONUT CHART"},ui:{label:"Title",order:2}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{control:{placeholder:"e.g., Revenue Mix"},ui:{label:"Subtitle",order:3}}},centerValue:{type:"string",required:!1,description:'Pre-formatted hole value (e.g. "$12,480"). Omit to derive the sum.',meta:{control:{placeholder:"e.g. $12,480"},ui:{label:"Center value",order:4}}},centerLabel:{type:"string",required:!1,description:'Small caption under the center value (e.g. "Total").',meta:{control:{placeholder:"e.g. Total"},ui:{label:"Center label",order:5}}},legend:{type:"string",required:!1,description:"Side legend: right or none.",meta:{constraints:{oneOf:["right","none"]},ui:{label:"Legend",order:6}}},segmentLabels:{type:"string",required:!1,description:"Per-segment labels: none or percent.",meta:{constraints:{oneOf:["none","percent"]},ui:{label:"Segment Labels",order:7}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:8}}},ringThicknessFrac:{type:"number",required:!1,description:"Ring thickness as a fraction of the outer radius.",meta:{constraints:{min:.05,max:.9},control:{flavor:"slider",step:.02},ui:{label:"Ring thickness",order:9}}},anim:{type:"group",required:!1,description:"Reveal mode + clockwise sweep intro.",meta:{ui:{label:"Animation",order:10,collapsedByDefault:!0}},fields:{renderMode:(0,alpine_anim_1.fEnum)("Render mode",["premium","light"],`"premium" (default): clockwise alpha-fade sweep \u2014 the softest look, but a per-pixel geq paid on every frame of a nesting parent's whole timeline. "light": clockwise enable-gate pop \u2014 no geq, composable, cheap when nested.`),reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,countUp:(0,alpine_anim_1.fBool)("Count up","Count the center value up during the intro."),easing:alpine_anim_1.ALPINE_ANIM_FIELDS.easing}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit segment colors still win.",meta:{ui:{label:"Theme",order:11,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}}});exports.AlpineDonut={id:(0,types_1.asTemplateId)("@m0saic/alpine/donut/v1"),label:"Alpine Donut Chart",version:1,description:"Alpine donut chart \u2014 friendly mobile-marketing card: proportional ring, center value + label, side legend, sweep + count-up animation.",capabilities:{tier:"core"},primitive:!0,deprecated:{reason:"Absolute-placement antipattern: each sector's tight bbox (+ the % labels + center text) is packed full-canvas via placeRects, so precision tracks the canvas (audit: ABSOLUTE, slope 1.04) and it pins its parent when nested. The sweep is already static per-segment masks (reveal on the overlay, not per-frame path carving), so v2 scopes the same single-coordinate-system idea to ONE ratio 'ring cell' \u2014 the sectors + labels + center text are masks/text filling that cell in ring-local coords, registering around the shared center while the cell is a ratio split \u2192 bounded precision. Composes at any canvas.",replacement:(0,types_1.asTemplateId)("@m0saic/alpine/donut/v2"),since:"2026-07-09"},tags:["alpine","donut","distribution","data-viz"],outputHints:{width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{theme:{forceFetch:!1},segments:[{label:"Enterprise",value:42,color:alpine_theme_1.ALPINE_PALETTE[0]},{label:"Pro",value:33,color:alpine_theme_1.ALPINE_PALETTE[1]},{label:"Free",value:25,color:alpine_theme_1.ALPINE_PALETTE[2]}],title:"DONUT CHART",subtitle:"Revenue Mix",centerValue:"$12,480",centerLabel:"Total",preset:DEFAULT_PRESET,ringThicknessFrac:DEFAULT_THICKNESS,segmentLabels:DEFAULT_SEG_LABELS,legend:DEFAULT_LEGEND,anim:DEFAULT_ANIM},async render(e,n){var r,i,c,h,g,l,v,d,M;const x=Math.max(1,Math.round(n.target.width)),b=Math.max(1,Math.round(n.target.height)),u=((r=e.segments)!==null&&r!==void 0?r:[]).slice(0,geometry_1.MAX_SEGMENTS).filter(t=>t&&Number.isFinite(t.value)&&t.value>0);if(u.length===0)return(0,template_utils_1.makeErrorMosaic)("segments[] must have at least one positive value",{title:`${this.id}`,width:x,height:b});const p=await(0,alpine_theme_1.resolveAlpineTheme)((i=e.preset)!==null&&i!==void 0?i:DEFAULT_PRESET,n,e.theme),o={...DEFAULT_ANIM,...(c=e.anim)!==null&&c!==void 0?c:{}},A=(h=o.renderMode)!==null&&h!==void 0?h:DEFAULT_RENDER_MODE,E=(g=e.legend)!==null&&g!==void 0?g:DEFAULT_LEGEND,L=u.map(t=>t.value),w=L.reduce((t,a)=>t+a,0),k=u.map((t,a)=>(0,alpine_card_1.resolveColor)(t.color,alpine_theme_1.ALPINE_PALETTE[a%alpine_theme_1.ALPINE_PALETTE.length])),D=L.map(t=>`${Math.round(t/w*100)}%`),I=Math.max(.1,((l=n.target.durationMs)!==null&&l!==void 0?l:2e3)/1e3),P=Math.max(.1,Math.min(1,o.introFrac)*I),y=(0,alpine_card_1.alpineCard)({theme:p,W:x,H:b,title:e.title,subtitle:e.subtitle}),_=y.contentRect,F=E==="right"&&u.length>0,C=F?Math.max(16,Math.round(_.w*RING_FRAC_WITH_LEGEND)):_.w,G=_.w-C,R=buildRing({W:x,H:b,rx:_.x,ry:_.y,rw:C,rh:_.h,values:L,colors:k,thicknessFrac:(v=e.ringThicknessFrac)!==null&&v!==void 0?v:DEFAULT_THICKNESS,segLabels:(d=e.segmentLabels)!==null&&d!==void 0?d:DEFAULT_SEG_LABELS,centerValue:(M=e.centerValue)!==null&&M!==void 0?M:String(Math.round(w)),centerLabel:e.centerLabel,theme:p,introSec:P,ease:o.easing,countUp:o.countUp,reduceMotion:o.reduceMotion,renderMode:A,fps:n.target.fps,durationMs:n.target.durationMs}),T=Math.max(11,Math.round(b*.024)),q=F?(0,alpine_card_1.colSplit)([{weight:C,node:alpine_card_1.EMPTY},{weight:G,node:legendNode({labels:u.map(t=>t.label),percents:D,colors:k,theme:p,font:T,cellH:_.h})}]):alpine_card_1.EMPTY,N=y.compose(q,R);return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:N.m0,sources:N.sources,backgroundColor:y.backgroundColor,fps:n.target.fps,durationMs:n.target.durationMs})}},(0,template_utils_1.registerTemplate)(exports.AlpineDonut);
|
|
@@ -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.AlpineDonut=void 0;var donut_1=require("./donut");Object.defineProperty(exports,"AlpineDonut",{enumerable:!0,get:e(function(){return donut_1.AlpineDonut},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var R=Object.defineProperty;var b=(e,t)=>R(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineDonutV2=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),geometry_1=require("../../../charts/donut/v3/geometry"),anim_1=require("../../../charts/donut/v3/anim"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),DEFAULT_PRESET="light",DEFAULT_RENDER_MODE="premium",DEFAULT_THICKNESS=.42,DEFAULT_SEG_LABELS="percent",DEFAULT_LEGEND="right",DEFAULT_ANIM={renderMode:DEFAULT_RENDER_MODE,introFrac:.7,countUp:!0,easing:"easeOut",reduceMotion:!1},RADIUS_SCALE=.9,GAP_DEG=2,VALUE_FONT_FRAC=.26,CAPTION_FONT_FRAC=.1,SEG_LABEL_FONT_FRAC=.42,SEG_LABEL_MIN_SWEEP_DEG=16,RING_FRAC_WITH_LEGEND=.56;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"}}]}}b(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"}}]}}b(cellExprText,"cellExprText");function textBBox(e,t,n,o){const d=Math.max(o,n.length*o*.85+o),i=o*1.6;return{minX:e-d/2,minY:t-i/2,maxX:e+d/2,maxY:t+i/2}}b(textBBox,"textBBox");function labelColorFor(e,t,n){const o=/^#?([0-9a-f]{6})/i.exec(String(e));if(!o)return t;const d=parseInt(o[1],16);return(.2126*(d>>16&255)+.7152*(d>>8&255)+.0722*(d&255))/255>.6?n:t}b(labelColorFor,"labelColorFor");const clampI=b((e,t,n)=>Math.max(t,Math.min(n,Math.round(e))),"clampI");function buildRingNode(e){const{cw:t,ch:n,values:o,colors:d,theme:i}=e,_=e.renderMode==="light",m=b((r,l,s)=>e.reduceMotion?r:_?(0,alpine_anim_1.revealGate)(r,l):(0,alpine_anim_1.revealFade)(r,l,s),"revealText"),M=t/2,u=n/2,v=Math.min(t,n)/2*RADIUS_SCALE,g=v*(1-Math.max(.05,Math.min(.9,e.thicknessFrac))),T=g*2,p={x:0,y:0,width:t,height:n},h=b((r,l)=>{const s=clampI(l.minX,0,t-2),f=clampI(l.minY,0,n-2),E=clampI(t-l.maxX,0,t-s-1),y=clampI(n-l.maxY,0,n-f-1);return(0,alpine_card_1.insetNode)(r,f,E,y,s,t,n)},"placeAt"),a=(0,geometry_1.segmentsToAngles)(o,{gapDeg:o.length>1?GAP_DEG:0}),x=b(r=>d[r%d.length],"segColor"),w=[],k=Math.max(.1,e.introSec*.32);for(let r=0;r<a.length;r++){const l=a[r];let s;if(!e.reduceMotion){const E=Math.max(0,(e.introSec-k)*(0,anim_1.sweepInverseEase)(e.ease,l.startDeg/360));s=_?{startAtSec:E,enable:`gte(t,${E.toFixed(3)})`}:{startAtSec:E,alpha:(0,template_utils_1.fadeInExpr)(E,k)}}const f=(0,template_utils_1.makeColorTile)(x(r),{mask:{kind:"inline-mask",localPath:(0,geometry_1.annularSectorPath)({cx:M,cy:u,rOuter:v,rInner:g,startDeg:l.startDeg,endDeg:l.endDeg}),bounds:p},...s?{overlay:s}:{}});w.push((0,alpine_card_1.paint)(f))}const P=[];if(e.segLabels==="percent"){const r=v-g,l=Math.max(9,Math.round(r*SEG_LABEL_FONT_FRAC));for(let s=0;s<a.length;s++){const f=a[s];if(f.endDeg-f.startDeg<SEG_LABEL_MIN_SWEEP_DEG)continue;const{x:E,y}=(0,geometry_1.sectorCentroid)({cx:M,cy:u,rOuter:v,rInner:g,startDeg:f.startDeg,endDeg:f.endDeg}),c=`${Math.round(f.frac*100)}%`,C=labelColorFor(x(s),i.card,i.title);P.push(h((0,alpine_card_1.paint)(m(cellText(c,l,C),e.introSec*.6,Math.max(.1,e.introSec*.3))),textBBox(E,y,c,l)))}}const L=e.centerValue,N=!!(e.centerLabel&&e.centerLabel.trim()),D=Math.max(10,Math.round(Math.min(T*VALUE_FONT_FRAC,T*.72/Math.max(1,L.length*.62)))),I=Math.max(9,Math.round(T*CAPTION_FONT_FRAC)),F=N?u-g*.12:u,A=e.countUp&&!e.reduceMotion&&/\d/.test(L),S=[];return S.push(h((0,alpine_card_1.paint)(A?cellExprText((0,template_utils_1.animateNumbersInText)(L,{durationSec:e.introSec,ease:e.ease}),D,i.title):cellText(L,D,i.title)),textBBox(M,F,L,D))),N&&S.push(h((0,alpine_card_1.paint)(m(cellText(e.centerLabel,I,i.subtitle),e.introSec*.7,Math.max(.1,e.introSec*.3))),textBBox(M,u+g*.44,e.centerLabel,I))),(0,alpine_card_1.overlay)([...w,...P,...S])}b(buildRingNode,"buildRingNode");function legendNode(e){var t,n;const{labels:o,percents:d,colors:i,theme:_,font:m,cellH:M}=e,u=o.length,v=Math.max(m,Math.round(m*1.7)),g=Math.round(m*.5),T=u*v+(u-1)*g,p=Math.max(0,Math.round((M-T)/2)),h=[];p>0&&h.push({weight:p,node:alpine_card_1.EMPTY});for(let a=0;a<u;a++){const x=(0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:2,node:(0,alpine_card_1.paint)((0,template_utils_1.makeColorTile)(i[a%i.length],{effects:{rounding:{cornerStyle:"rounded",borderRadius:.4}}}))},{weight:1,node:alpine_card_1.EMPTY}]),w=(0,alpine_card_1.colSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:2,node:x},{weight:1,node:alpine_card_1.EMPTY},{weight:11,node:(0,alpine_card_1.paint)((0,alpine_card_1.textCell)((t=o[a])!==null&&t!==void 0?t:"",m,_.label,"left","middle"))},{weight:5,node:(0,alpine_card_1.paint)((0,alpine_card_1.textCell)((n=d[a])!==null&&n!==void 0?n:"",m,_.subtitle,"right","middle",{right:.1}))}]);h.push({weight:v,node:w}),a<u-1&&h.push({weight:g,node:alpine_card_1.EMPTY})}return p>0&&h.push({weight:p,node:alpine_card_1.EMPTY}),(0,alpine_card_1.rowSplit)(h)}b(legendNode,"legendNode");const propsSchema=(0,template_utils_1.definePropsSchema)({segments:{type:"array",required:!0,description:"Ring segments (clockwise 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:alpine_theme_1.ALPINE_PALETTE},ui:{label:"Segments",order:1}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., DONUT CHART"},ui:{label:"Title",order:2}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{control:{placeholder:"e.g., Revenue Mix"},ui:{label:"Subtitle",order:3}}},centerValue:{type:"string",required:!1,description:'Pre-formatted hole value (e.g. "$12,480"). Omit to derive the sum.',meta:{control:{placeholder:"e.g. $12,480"},ui:{label:"Center value",order:4}}},centerLabel:{type:"string",required:!1,description:'Small caption under the center value (e.g. "Total").',meta:{control:{placeholder:"e.g. Total"},ui:{label:"Center label",order:5}}},legend:{type:"string",required:!1,description:"Side legend: right or none.",meta:{constraints:{oneOf:["right","none"]},ui:{label:"Legend",order:6}}},segmentLabels:{type:"string",required:!1,description:"Per-segment labels: none or percent.",meta:{constraints:{oneOf:["none","percent"]},ui:{label:"Segment Labels",order:7}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:8}}},ringThicknessFrac:{type:"number",required:!1,description:"Ring thickness as a fraction of the outer radius.",meta:{constraints:{min:.05,max:.9},control:{flavor:"slider",step:.02},ui:{label:"Ring thickness",order:9}}},anim:{type:"group",required:!1,description:"Reveal mode + clockwise sweep intro.",meta:{ui:{label:"Animation",order:10,collapsedByDefault:!0}},fields:{renderMode:(0,alpine_anim_1.fEnum)("Render mode",["premium","light"],`"premium" (default): clockwise alpha-fade sweep \u2014 the softest look, but a per-pixel geq paid on every frame of a nesting parent's whole timeline. "light": clockwise enable-gate pop \u2014 no geq, composable, cheap when nested.`),reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,countUp:(0,alpine_anim_1.fBool)("Count up","Count the center value up during the intro."),easing:alpine_anim_1.ALPINE_ANIM_FIELDS.easing}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit segment colors still win.",meta:{ui:{label:"Theme",order:11,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}}});exports.AlpineDonutV2={id:(0,types_1.asTemplateId)("@m0saic/alpine/donut/v2"),label:"Alpine Donut Chart",version:2,description:"Alpine donut chart \u2014 friendly mobile-marketing card: proportional ring, center value + label, side legend, sweep + count-up animation. v2 rebuilds the ring as a ratio cell (sectors are masks filling the cell in ring-local coords) so it composes at any canvas without the absolute-placement precision blowup.",capabilities:{tier:"core"},primitive:!0,deprecated:{reason:"Superseded by v3, which keeps this exact ratio ring but upgrades premium from a per-segment fade to the FULL clockwise radial SWEEP (self-framed coarse-quantize \u2014 smooth draw-on that still composes at any canvas). v2's per-segment mask-in-a-cell path lives on as v3's 'light' mode.",replacement:(0,types_1.asTemplateId)("@m0saic/alpine/donut/v3"),since:"2026-07-09"},tags:["alpine","donut","distribution","data-viz"],outputHints:{width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{theme:{forceFetch:!1},segments:[{label:"Enterprise",value:42,color:alpine_theme_1.ALPINE_PALETTE[0]},{label:"Pro",value:33,color:alpine_theme_1.ALPINE_PALETTE[1]},{label:"Free",value:25,color:alpine_theme_1.ALPINE_PALETTE[2]}],title:"DONUT CHART",subtitle:"Revenue Mix",centerValue:"$12,480",centerLabel:"Total",preset:DEFAULT_PRESET,ringThicknessFrac:DEFAULT_THICKNESS,segmentLabels:DEFAULT_SEG_LABELS,legend:DEFAULT_LEGEND,anim:DEFAULT_ANIM},async render(e,t){var n,o,d,i,_,m,M,u,v;const g=Math.max(1,Math.round(t.target.width)),T=Math.max(1,Math.round(t.target.height)),p=((n=e.segments)!==null&&n!==void 0?n:[]).slice(0,geometry_1.MAX_SEGMENTS).filter(c=>c&&Number.isFinite(c.value)&&c.value>0);if(p.length===0)return(0,template_utils_1.makeErrorMosaic)("segments[] must have at least one positive value",{title:`${this.id}`,width:g,height:T});const h=await(0,alpine_theme_1.resolveAlpineTheme)((o=e.preset)!==null&&o!==void 0?o:DEFAULT_PRESET,t,e.theme),a={...DEFAULT_ANIM,...(d=e.anim)!==null&&d!==void 0?d:{}},x=(i=a.renderMode)!==null&&i!==void 0?i:DEFAULT_RENDER_MODE,w=(_=e.legend)!==null&&_!==void 0?_:DEFAULT_LEGEND,k=p.map(c=>c.value),P=k.reduce((c,C)=>c+C,0),L=p.map((c,C)=>(0,alpine_card_1.resolveColor)(c.color,alpine_theme_1.ALPINE_PALETTE[C%alpine_theme_1.ALPINE_PALETTE.length])),N=k.map(c=>`${Math.round(c/P*100)}%`),D=Math.max(.1,((m=t.target.durationMs)!==null&&m!==void 0?m:2e3)/1e3),I=Math.max(.1,Math.min(1,a.introFrac)*D),F=(0,alpine_card_1.alpineCard)({theme:h,W:g,H:T,title:e.title,subtitle:e.subtitle}),A=F.contentRect,S=w==="right"&&p.length>0,r=S?Math.max(16,Math.round(A.w*RING_FRAC_WITH_LEGEND)):A.w,l=A.w-r,s=buildRingNode({cw:r,ch:A.h,values:k,colors:L,thicknessFrac:(M=e.ringThicknessFrac)!==null&&M!==void 0?M:DEFAULT_THICKNESS,segLabels:(u=e.segmentLabels)!==null&&u!==void 0?u:DEFAULT_SEG_LABELS,centerValue:(v=e.centerValue)!==null&&v!==void 0?v:String(Math.round(P)),centerLabel:e.centerLabel,theme:h,introSec:I,ease:a.easing,countUp:a.countUp,reduceMotion:a.reduceMotion,renderMode:x}),f=Math.max(11,Math.round(T*.024)),E=S?(0,alpine_card_1.colSplit)([{weight:r,node:s},{weight:l,node:legendNode({labels:p.map(c=>c.label),percents:N,colors:L,theme:h,font:f,cellH:A.h})}]):s,y=F.compose(E);return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:y.m0,sources:y.sources,backgroundColor:F.backgroundColor,fps:t.target.fps,durationMs:t.target.durationMs})}},(0,template_utils_1.registerTemplate)(exports.AlpineDonutV2);
|
|
@@ -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.AlpineDonutV2=void 0;var donut_1=require("./donut");Object.defineProperty(exports,"AlpineDonutV2",{enumerable:!0,get:e(function(){return donut_1.AlpineDonutV2},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var H=Object.defineProperty;var g=(e,n)=>H(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineDonutV3=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),geometry_1=require("../../../charts/donut/v3/geometry"),anim_1=require("../../../charts/donut/v3/anim"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),alpine_anim_1=require("../../_shared/alpine-anim"),DEFAULT_PRESET="light",DEFAULT_RENDER_MODE="premium",DEFAULT_THICKNESS=.42,DEFAULT_SEG_LABELS="percent",DEFAULT_LEGEND="right",DEFAULT_ANIM={renderMode:DEFAULT_RENDER_MODE,introFrac:.7,countUp:!0,easing:"easeOut",reduceMotion:!1},RADIUS_SCALE=.9,GAP_DEG=2,VALUE_FONT_FRAC=.26,CAPTION_FONT_FRAC=.1,SEG_LABEL_FONT_FRAC=.42,SEG_LABEL_MIN_SWEEP_DEG=16,RING_FRAC_WITH_LEGEND=.56;function cellText(e,n,r){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:n,fontColor:r},placement:{hAlign:"center",vAlign:"middle"}}]}}g(cellText,"cellText");function cellExprText(e,n,r){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:n,fontColor:r},placement:{hAlign:"center",vAlign:"middle"}}]}}g(cellExprText,"cellExprText");function textBBox(e,n,r,s){const c=Math.max(s,r.length*s*.85+s),u=s*1.6;return{minX:e-c/2,minY:n-u/2,maxX:e+c/2,maxY:n+u/2}}g(textBBox,"textBBox");function labelColorFor(e,n,r){const s=/^#?([0-9a-f]{6})/i.exec(String(e));if(!s)return n;const c=parseInt(s[1],16);return(.2126*(c>>16&255)+.7152*(c>>8&255)+.0722*(c&255))/255>.6?r:n}g(labelColorFor,"labelColorFor");const clampI=g((e,n,r)=>Math.max(n,Math.min(r,Math.round(e))),"clampI");function buildSegmentRing(e){var n;const{cw:r,ch:s,values:c,colors:u,theme:E,light:y}=e,N=g((t,l,h)=>e.reduceMotion?t:y?(0,alpine_anim_1.revealGate)(t,l):(0,alpine_anim_1.revealFade)(t,l,h),"revealText"),f=r/2,x=s/2,L=Math.min(r,s)/2*RADIUS_SCALE,_=L*(1-Math.max(.05,Math.min(.9,e.thicknessFrac))),P=_*2,R={x:0,y:0,width:r,height:s},M=g((t,l)=>{const h=clampI(l.minX,0,r-2),m=clampI(l.minY,0,s-2),v=clampI(r-l.maxX,0,r-h-1),d=clampI(s-l.maxY,0,s-m-1);return(0,alpine_card_1.insetNode)(t,m,v,d,h,r,s)},"placeAt"),o=(0,geometry_1.segmentsToAngles)(c,{gapDeg:c.length>1?GAP_DEG:0}),w=g(t=>u[t%u.length],"segColor"),q=2,G=!e.reduceMotion&&!y;let F;if(G){const t=o.length,l=Math.max(t,Math.min(14,20-t-2)),h=o.reduce((d,p)=>d+(p.endDeg-p.startDeg),0),m=o.map(d=>1);let v=l-t;for(;v>0;){let d=0,p=-1;for(let T=0;T<t;T++){const b=(o[T].endDeg-o[T].startDeg)/h*l-m[T];b>p&&(p=b,d=T)}m[d]++,v--}F=[];for(let d=0;d<t;d++){const p=o[d],T=m[d],i=(p.endDeg-p.startDeg)/T;for(let b=0;b<T;b++){const B=p.startDeg+b*i;F.push({segIdx:d,startDeg:b>0?Math.max(p.startDeg,B-q):B,endDeg:p.startDeg+(b+1)*i,fadeStartDeg:B})}}}else F=o.map((t,l)=>({segIdx:l,startDeg:t.startDeg,endDeg:t.endDeg,fadeStartDeg:t.startDeg}));const I=[];for(const t of F){let l;if(!e.reduceMotion){const h=Math.max(.01,(t.endDeg-t.fadeStartDeg)/360),m=Math.max(.12,e.introSec*h*1.15),v=Math.max(0,(e.introSec-m)*(0,anim_1.sweepInverseEase)(e.ease,t.fadeStartDeg/360));l=y?{startAtSec:v,enable:`gte(t,${v.toFixed(3)})`}:{startAtSec:v,alpha:(0,template_utils_1.fadeInExpr)(v,m)}}I.push((0,alpine_card_1.paint)((0,template_utils_1.bindPropPath)((0,template_utils_1.makeColorTile)(w(t.segIdx),{mask:{kind:"inline-mask",localPath:(0,geometry_1.annularSectorPath)({cx:f,cy:x,rOuter:L,rInner:_,startDeg:t.startDeg,endDeg:t.endDeg}),bounds:R},...l?{overlay:l}:{}}),"segments",[e.srcIndices[t.segIdx],"color"],"color")))}const U=[],W=L-_;if(e.segLabels==="percent"&&W>=14){const t=Math.max(9,Math.round(W*SEG_LABEL_FONT_FRAC));for(let l=0;l<o.length;l++){const h=o[l];if(h.endDeg-h.startDeg<SEG_LABEL_MIN_SWEEP_DEG)continue;const{x:m,y:v}=(0,geometry_1.sectorCentroid)({cx:f,cy:x,rOuter:L,rInner:_,startDeg:h.startDeg,endDeg:h.endDeg}),d=`${Math.round(h.frac*100)}%`;U.push(M((0,alpine_card_1.paint)(N((0,template_utils_1.bindPropPath)((0,alpine_card_1.tag)(cellText(d,t,labelColorFor(w(l),E.card,E.title)),"seg-label"),"segments",[e.srcIndices[l],"value"],"number"),e.introSec*.6,Math.max(.1,e.introSec*.3))),textBBox(m,v,d,t)))}}const S=e.centerValue,C=!!(e.centerLabel&&e.centerLabel.trim()),D=Math.max(10,Math.round(Math.min(P*VALUE_FONT_FRAC,P*.72/Math.max(1,S.length*.62)))),O=(n=e.centerLabel)!==null&&n!==void 0?n:"",A=Math.max(8,Math.min(Math.round(P*CAPTION_FONT_FRAC),Math.floor(P*.8/Math.max(1,O.length*.62)))),V=C?x-_*.12:x,k=e.countUp&&!e.reduceMotion&&/\d/.test(S),a=[M((0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(k?cellExprText((0,template_utils_1.animateNumbersInText)(S,{durationSec:e.introSec,ease:e.ease}),D,E.title):cellText(S,D,E.title),"center-value"),"centerValue")),textBBox(f,V,S,D))];return C&&a.push(M((0,alpine_card_1.paint)(N((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(cellText(e.centerLabel,A,E.subtitle),"center-label"),"centerLabel"),e.introSec*.7,Math.max(.1,e.introSec*.3))),textBBox(f,x+_*.44,e.centerLabel,A))),(0,alpine_card_1.overlay)([...I,...U,...a])}g(buildSegmentRing,"buildSegmentRing");function legendNode(e){var n,r;const{labels:s,percents:c,srcIndices:u,colors:E,theme:y,cellH:N,cellW:f}=e,x=s.length,L=g((a,t)=>Math.ceil(Math.max(1,a)*.62*t*1.08)+2,"need"),_=Math.max(1,...s.map(a=>(a??"").length)),P=Math.max(1,...c.map(a=>(a??"").length)),R=g((a,t)=>Math.ceil(Math.max(1,a)*.85*t),"needPct"),M=g(a=>Math.round(a*1.1)+2*Math.round(a*.55)+L(_,a)+R(P,a),"rowWAt");let o=e.font;M(o)>f&&(o=Math.max(9,Math.floor(o*(f/M(o)))));const w=Math.round(o*1.1),q=Math.round(o*.55),G=L(_,o),F=R(P,o),I=w+q+G+q+F,U=Math.max(o,Math.round(o*1.7)),W=Math.round(o*.5),S=x*(U+W),C=Math.max(0,Math.round((N-S)/2)),D=g(a=>Math.max(1,Math.round(a/4)),"q"),O=Math.max(2,Math.round(2*U/Math.max(1,W))),A=[];for(let a=0;a<x;a++){const t=(0,template_utils_1.makeColorTile)(E[a%E.length],{effects:{rounding:{cornerStyle:"rounded",borderRadius:.4}},placement:{inset:{y:.25}}});t.editor={label:"legend-swatch"},(0,template_utils_1.bindPropPath)(t,"segments",[u[a],"color"],"color");const l=(0,alpine_card_1.colSplit)([{weight:D(w),node:(0,alpine_card_1.paint)(t)},{weight:D(q),node:alpine_card_1.EMPTY},{weight:D(G),node:(0,alpine_card_1.paint)((0,template_utils_1.bindPropPath)((0,alpine_card_1.tag)((0,alpine_card_1.textCell)((n=s[a])!==null&&n!==void 0?n:"",o,y.label,"left","middle"),"legend-label"),"segments",[u[a],"label"],"string"))},{weight:D(q),node:alpine_card_1.EMPTY},{weight:D(F),node:(0,alpine_card_1.paint)((0,template_utils_1.bindPropPath)((0,alpine_card_1.tag)((0,alpine_card_1.textCell)((r=c[a])!==null&&r!==void 0?r:"",o,y.subtitle,"right","middle"),"legend-pct"),"segments",[u[a],"value"],"number"))},...f-I>4?[{weight:D(f-I),node:alpine_card_1.EMPTY}]:[]]);A.push((0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:O,node:l},{weight:1,node:alpine_card_1.EMPTY}]))}const V=(0,alpine_card_1.rowSplit)(A.map(a=>({weight:1,node:a}))),k=[];return C>0&&k.push({weight:C,node:alpine_card_1.EMPTY}),k.push({weight:S,node:V}),C>0&&k.push({weight:C,node:alpine_card_1.EMPTY}),(0,alpine_card_1.rowSplit)(k)}g(legendNode,"legendNode");const propsSchema=(0,template_utils_1.definePropsSchema)({segments:{type:"array",required:!0,description:"Ring segments (clockwise 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:alpine_theme_1.ALPINE_PALETTE},ui:{label:"Segments",order:1}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., DONUT CHART"},ui:{label:"Title",order:2}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{control:{placeholder:"e.g., Revenue Mix"},ui:{label:"Subtitle",order:3}}},centerValue:{type:"string",required:!1,description:'Pre-formatted hole value (e.g. "$12,480"). Omit to derive the sum.',meta:{control:{placeholder:"e.g. $12,480"},ui:{label:"Center value",order:4}}},centerLabel:{type:"string",required:!1,description:'Small caption under the center value (e.g. "Total").',meta:{control:{placeholder:"e.g. Total"},ui:{label:"Center label",order:5}}},legend:{type:"string",required:!1,description:"Side legend: right or none.",meta:{constraints:{oneOf:["right","none"]},ui:{label:"Legend",order:6}}},segmentLabels:{type:"string",required:!1,description:"Per-segment labels: none or percent.",meta:{constraints:{oneOf:["none","percent"]},ui:{label:"Segment Labels",order:7}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:8}}},ringThicknessFrac:{type:"number",required:!1,description:"Ring thickness as a fraction of the outer radius.",meta:{constraints:{min:.05,max:.9},control:{flavor:"slider",step:.02},ui:{label:"Ring thickness",order:9}}},anim:{type:"group",required:!1,description:"Reveal mode + clockwise sweep intro.",meta:{ui:{label:"Animation",order:10,collapsedByDefault:!0}},fields:{renderMode:(0,alpine_anim_1.fEnum)("Render mode",["premium","light"],'"premium" (default): smooth clockwise radial SWEEP (per-sliver alpha fade) \u2014 the softest look, head/standalone use. "light": composable per-segment enable-gate pop \u2014 no geq, cheap when nested.'),reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,countUp:(0,alpine_anim_1.fBool)("Count up","Count the center value up during the intro."),easing:alpine_anim_1.ALPINE_ANIM_FIELDS.easing}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit segment colors still win.",meta:{ui:{label:"Theme",order:11,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}},debugLayout:{type:"boolean",required:!1,description:"Dev-only layout contract view: renders the contract wireframe instead of the chart \u2014 legend swatches GREEN with the measured rule when all equal-size, offenders RED when not. Deterministic false default; production never sets it.",meta:{ui:{label:"Debug layout",order:12}}}});exports.AlpineDonutV3={id:(0,types_1.asTemplateId)("@m0saic/alpine/donut/v3"),label:"Alpine Donut Chart",version:3,description:"Alpine donut chart \u2014 friendly mobile-marketing card: proportional ring, center value + label, side legend. v3's premium mode does the full clockwise radial SWEEP (self-framed coarse-quantize) \u2014 smooth draw-on that still composes at any canvas; light mode stays the composable per-segment path.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","alpine","donut","distribution","animated","analysts","marketers","dashboard","share"],outputHints:{format:{kind:"video",container:"mp4"},width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{debugLayout:!1,theme:{forceFetch:!1},segments:[{label:"Enterprise",value:42,color:alpine_theme_1.ALPINE_PALETTE[0]},{label:"Pro",value:33,color:alpine_theme_1.ALPINE_PALETTE[1]},{label:"Free",value:25,color:alpine_theme_1.ALPINE_PALETTE[2]}],title:"DONUT CHART",subtitle:"Revenue Mix",centerValue:"$12,480",centerLabel:"Total",preset:DEFAULT_PRESET,ringThicknessFrac:DEFAULT_THICKNESS,segmentLabels:DEFAULT_SEG_LABELS,legend:DEFAULT_LEGEND,anim:DEFAULT_ANIM},async render(e,n){var r,s,c,u,E,y,N,f,x,L;const _=Math.max(1,Math.round(n.target.width)),P=Math.max(1,Math.round(n.target.height)),R=((r=e.segments)!==null&&r!==void 0?r:[]).map((i,b)=>({s:i,srcIndex:b})).slice(0,geometry_1.MAX_SEGMENTS).filter(({s:i})=>i&&Number.isFinite(i.value)&&i.value>0),M=R.map(i=>i.s);if(M.length===0)return(0,template_utils_1.makeErrorMosaic)("segments[] must have at least one positive value",{title:`${this.id}`,width:_,height:P});const o=await(0,alpine_theme_1.resolveAlpineTheme)((s=e.preset)!==null&&s!==void 0?s:DEFAULT_PRESET,n,e.theme),w={...DEFAULT_ANIM,...(c=e.anim)!==null&&c!==void 0?c:{}},q=(u=w.renderMode)!==null&&u!==void 0?u:DEFAULT_RENDER_MODE,G=(E=w.reduceMotion)!==null&&E!==void 0?E:!1,F=(y=e.legend)!==null&&y!==void 0?y:DEFAULT_LEGEND,I=M.map(i=>i.value),U=I.reduce((i,b)=>i+b,0),W=M.map((i,b)=>(0,alpine_card_1.resolveColor)(i.color,alpine_theme_1.ALPINE_PALETTE[b%alpine_theme_1.ALPINE_PALETTE.length])),S=I.map(i=>`${Math.round(i/U*100)}%`),C=Math.max(.1,((N=n.target.durationMs)!==null&&N!==void 0?N:2e3)/1e3),D=Math.max(.1,Math.min(1,w.introFrac)*C),O=(0,alpine_card_1.alpineCard)({theme:o,W:_,H:P,title:e.title,subtitle:e.subtitle}),A=O.contentRect,V=F==="right"&&M.length>0,k=V?Math.max(16,Math.round(A.w*RING_FRAC_WITH_LEGEND)):A.w,a=A.w-k,t=((f=e.centerValue)!==null&&f!==void 0?f:"").trim()||String(Math.round(U)),l=w.countUp&&!G&&/\d/.test(t),h={cw:k,ch:A.h,values:I,colors:W,srcIndices:R.map(i=>i.srcIndex),thicknessFrac:(x=e.ringThicknessFrac)!==null&&x!==void 0?x:DEFAULT_THICKNESS,segLabels:(L=e.segmentLabels)!==null&&L!==void 0?L:DEFAULT_SEG_LABELS,centerValue:t,centerLabel:e.centerLabel,theme:o,introSec:D,ease:w.easing,countUp:w.countUp},m=buildSegmentRing({...h,reduceMotion:G,light:q==="light"}),v=Math.max(11,Math.round(P*.024)),d=V?(0,alpine_card_1.colSplit)([{weight:k,node:m},{weight:a,node:legendNode({labels:M.map(i=>i.label),percents:S,srcIndices:R.map(i=>i.srcIndex),colors:W,theme:o,font:v,cellH:A.h,cellW:a})}]):m,p=O.compose(d),T={kind:"mosaic_document",version:1,assets:{},m0:p.m0,sources:p.sources,backgroundColor:O.backgroundColor,fps:n.target.fps,durationMs:n.target.durationMs};return Promise.resolve((0,template_utils_1.withLayoutContract)(T,n,{templateId:"@m0saic/alpine/donut/v3",relations:V&&M.length>=2?[{label:"legend-swatch",equal:"size",tolerance:.02,tolerancePx:1}]:[],constraints:l?[]:[...O.constraints,...V?[{label:"legend-label",textFits:{charWidthEm:.62,padPx:0}},{label:"legend-pct",textFits:{charWidthEm:.62,padPx:0}}]:[],{label:"center-value",textFits:{charWidthEm:.62,padPx:0}},...e.centerLabel&&e.centerLabel.trim()?[{label:"center-label",textFits:{charWidthEm:.62,padPx:0}}]:[]],debug:e.debugLayout===!0}))},async renderCover(e,n){const r=(0,onboarding_cover_1.brandedCoverHeroBox)(n,"band"),s={...n,target:{...n.target,width:r.width,height:r.height},output:{...n.output,width:r.width,height:r.height}},c=await exports.AlpineDonutV3.render({...exports.AlpineDonutV3.defaultProps,anim:{...DEFAULT_ANIM,renderMode:"light",reduceMotion:!0}},s);return(0,onboarding_cover_1.buildBrandedCover)({ctx:n,variant:"band",copy:{productName:"Donut",title:"A donut chart."},hero:g(u=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(c),u.borderStrong),"hero"),heroAssets:c.assets})}},(0,template_utils_1.registerTemplate)(exports.AlpineDonutV3);
|
|
@@ -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.AlpineDonutV3=void 0;var donut_1=require("./donut");Object.defineProperty(exports,"AlpineDonutV3",{enumerable:!0,get:e(function(){return donut_1.AlpineDonutV3},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Ie=Object.defineProperty;var s=(t,a)=>Ie(t,"name",{value:a,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineHeatmap=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),DEFAULT_PRESET="light",DEFAULT_RENDER_MODE="premium",DEFAULT_ANIM={renderMode:DEFAULT_RENDER_MODE,introFrac:.7,easing:"easeOut",reduceMotion:!1},DEFAULT_LEVELS=5,MAX_ROWS=14,MAX_COLS=30,SNAP_PX=4,EDGE_PAD=1.5,EMPTY_LIGHT="#EBEEF2",EMPTY_DARK="#1B2434";function hexToRgb(t){const a=/^#?([0-9a-f]{6})/i.exec(String(t));if(!a)return[0,0,0];const o=parseInt(a[1],16);return[o>>16&255,o>>8&255,o&255]}s(hexToRgb,"hexToRgb");function rgbToHex(t,a,o){const l=s(i=>Math.max(0,Math.min(255,Math.round(i))).toString(16).padStart(2,"0"),"c");return`#${l(t)}${l(a)}${l(o)}`}s(rgbToHex,"rgbToHex");function mix(t,a,o){const[l,i,c]=hexToRgb(t),[d,u,m]=hexToRgb(a),h=Math.max(0,Math.min(1,o));return rgbToHex(l+(d-l)*h,i+(u-i)*h,c+(m-c)*h)}s(mix,"mix");function luminance(t){const[a,o,l]=hexToRgb(t);return(.2126*a+.7152*o+.0722*l)/255}s(luminance,"luminance");function onColor(t,a,o){return luminance(t)>.6?o:a}s(onColor,"onColor");const clampInt=s((t,a,o)=>Math.max(a,Math.min(o,Math.round(t))),"clampInt"),snapGrid=s(t=>Math.round(t/SNAP_PX)*SNAP_PX,"snapGrid");function rectPiece(t,a,o,l,i,c,d,u){const m=clampInt(snapGrid(o),0,t-SNAP_PX),h=clampInt(snapGrid(l),0,a-SNAP_PX),k=clampInt(snapGrid(o+i),m+SNAP_PX,t),x=clampInt(snapGrid(l+c),h+SNAP_PX,a);return{rect:{x:m,y:h,w:k-m,h:x-h,claimant:"F",importance:u},source:d}}s(rectPiece,"rectPiece");function placeText(t,a,o,l,i){const c=s(x=>Math.floor((x-EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapDown"),d=s(x=>Math.ceil((x+EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapUp"),u=clampInt(c(o.minX),0,t-1),m=clampInt(c(o.minY),0,a-1),h=clampInt(d(o.maxX),u+SNAP_PX,t),k=clampInt(d(o.maxY),m+SNAP_PX,a);return{rect:{x:u,y:m,w:h-u,h:k-m,claimant:"F",importance:i},source:l}}s(placeText,"placeText");function cellText(t,a,o,l="center"){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t||" "},style:{fontSize:a,fontColor:o},placement:{hAlign:l,vAlign:"middle"}}]}}s(cellText,"cellText");function compactNum(t){const a=Math.round(t),o=Math.abs(a),l=s((i,c)=>`${i.toFixed(1).replace(/\.0$/,"")}${c}`,"fmt");return o<1e3?String(a):o<1e6?l(a/1e3,"K"):o<1e9?l(a/1e6,"M"):l(a/1e9,"B")}s(compactNum,"compactNum");function textBBox(t,a,o,l,i){const c=Math.max(l,o.length*l*.62+l*.5),d=l*1.6,u=i==="left"?t:i==="right"?t-c:t-c/2;return{minX:u,minY:a-d/2,maxX:u+c,maxY:a+d/2}}s(textBBox,"textBBox");function parseValues(t){return Array.isArray(t)?t.map(a=>Number.isFinite(a)?Number(a):0):typeof t=="string"?t.split(/[\s,]+/).map(a=>a.trim()).filter(a=>a!=="").map(a=>{const o=Number(a);return Number.isFinite(o)?o:0}):[]}s(parseValues,"parseValues");const propsSchema=(0,template_utils_1.definePropsSchema)({rows:{type:"array",required:!0,description:"Matrix rows. Each: an optional label + its cell values (left\u2192right; number[] or a comma list).",meta:{control:{flavor:"objectRows",columns:[{label:"Label",key:"label",kind:"text",placeholder:"Mon"},{label:"Values",key:"values",kind:"text",placeholder:"3, 5, 1, 0, 8"}]},ui:{label:"Rows",order:1}}},colLabels:{type:"string[]",required:!1,description:"Column headers along the top (index-aligned to columns).",meta:{control:{placeholder:"W1"},ui:{label:"Column Labels",order:2}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., CONTRIBUTIONS"},ui:{label:"Title",order:3}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{ui:{label:"Subtitle",order:4}}},color:{type:"string",required:!1,description:"Full-intensity hue of the scale. Defaults to the theme primary.",meta:{constraints:{isColor:!0},control:{placeholder:"theme primary",colorPicker:!0,defaultColor:"#2563EB"},ui:{label:"Scale color",order:5}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:6}}},levels:{type:"number",required:!1,description:"Intensity buckets incl. empty (GitHub uses 5).",meta:{constraints:{min:2,max:9},ui:{label:"Levels",order:7}}},showValues:{type:"boolean",required:!1,description:"Print each cell's value inside it.",meta:{ui:{label:"Show values",order:8}}},showLegend:{type:"boolean",required:!1,description:"Show the Less\u2192More legend.",meta:{ui:{label:"Show legend",order:9}}},scale:{type:"group",required:!1,description:"Scale bounds + cell fine-tuning (auto-fits when unset).",meta:{ui:{label:"Scale",order:10,collapsedByDefault:!0}},fields:{min:(0,alpine_anim_1.fNum)("Min","Scale minimum (default 0)."),max:(0,alpine_anim_1.fNum)("Max","Scale maximum (default = the largest value).",{placeholder:"largest cell value"}),emptyColor:{type:"string",required:!1,description:"Color of the lowest (zero) bucket.",meta:{constraints:{isColor:!0},control:{placeholder:"theme lowest-bucket tone",colorPicker:!0},ui:{label:"Empty color"}}},cellRadius:(0,alpine_anim_1.fNum)("Cell radius","Cell corner radius (0..0.5).",{flavor:"slider",step:.05},{min:0,max:.5})}},anim:{type:"group",required:!1,description:"Reveal mode + diagonal cascade intro.",meta:{ui:{label:"Animation",order:11,collapsedByDefault:!0}},fields:{renderMode:(0,alpine_anim_1.fEnum)("Render mode",["premium","light"],`"premium" (default): diagonal alpha-fade cascade \u2014 the softest look, but one per-pixel geq PER CELL, paid every frame of a nesting parent's whole timeline (the pack's heaviest geq load). "light": the same cascade via free enable-gate pops \u2014 no geq, composable, cheap when nested.`),reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,easing:alpine_anim_1.ALPINE_ANIM_FIELDS.easing}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",meta:{ui:{label:"Theme",order:12,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}}});exports.AlpineHeatmap={id:(0,types_1.asTemplateId)("@m0saic/alpine/heatmap/v1"),label:"Alpine Heatmap",version:1,description:"Alpine heatmap \u2014 friendly mobile-marketing card: a rows\xD7cols grid of rounded cells colored on a single-hue intensity scale, with row/column labels and a Less\u2192More legend. Generalizes the GitHub contribution calendar. Standalone Alpine brand flavor.",capabilities:{tier:"core"},primitive:!0,deprecated:{reason:"Absolute-placement antipattern: every cell/label/legend swatch is a tight rect packed full-canvas via placeRects on a per-pixel SNAP grid, so precision tracks the canvas \u2014 coprime cell pitches pin it to ~100% (30k+ node m0, seconds/canvas in the precision sweep). Kept as the canonical 'absolute grid' example. Use v2 \u2014 the SAME picture rebuilt as a RATIO layout: a gutterless grid() whose precision is the cell COUNT, with the inter-cell gap riding as a per-cell source inset (gridCellInset). Composes at any canvas; ~13\xD7 smaller m0, ~5\xD7 faster render.",replacement:(0,types_1.asTemplateId)("@m0saic/alpine/heatmap/v2"),since:"2026-07-09"},tags:["alpine","heatmap","matrix","data-viz"],outputHints:{width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{theme:{forceFetch:!1},rows:[{label:"Mon",values:[0,2,1,4,3,5,2,6]},{label:"Tue",values:[1,3,2,5,4,6,3,7]},{label:"Wed",values:[2,4,3,6,5,8,4,9]},{label:"Thu",values:[1,2,4,5,7,6,5,8]},{label:"Fri",values:[3,5,6,8,9,7,8,10]},{label:"Sat",values:[0,1,0,2,1,3,1,2]},{label:"Sun",values:[0,0,1,1,0,2,0,1]}],colLabels:["W1","W2","W3","W4","W5","W6","W7","W8"],title:"CONTRIBUTIONS",subtitle:"Commits by day",preset:DEFAULT_PRESET,levels:DEFAULT_LEVELS,showLegend:!0,showValues:!1,scale:{min:0,cellRadius:.25},anim:DEFAULT_ANIM},async render(t,a){var o,l,i,c,d,u,m,h,k,x,O,H,U;const v=Math.max(1,Math.round(a.target.width)),f=Math.max(1,Math.round(a.target.height)),w=((o=t.rows)!==null&&o!==void 0?o:[]).map(e=>({label:typeof e?.label=="string"?e.label:"",values:parseValues(e?.values)})).filter(e=>e.values.length>0).slice(0,MAX_ROWS);if(w.length===0)return(0,template_utils_1.makeErrorMosaic)("rows[] must have at least one row with values",{title:`${this.id} props`,width:v,height:f});const F=Math.min(MAX_COLS,Math.max(...w.map(e=>e.values.length))),T=w.length,_=await(0,alpine_theme_1.resolveAlpineTheme)((l=t.preset)!==null&&l!==void 0?l:DEFAULT_PRESET,a,t.theme),he=((i=t.preset)!==null&&i!==void 0?i:DEFAULT_PRESET)==="dark",X={...DEFAULT_ANIM,...(c=t.anim)!==null&&c!==void 0?c:{}},Y=!X.reduceMotion,Q=((d=X.renderMode)!==null&&d!==void 0?d:DEFAULT_RENDER_MODE)==="light",Z=(u=t.showLegend)!==null&&u!==void 0?u:!0,pe=(m=t.showValues)!==null&&m!==void 0?m:!1,L=Math.max(2,Math.min(9,Math.round((h=t.levels)!==null&&h!==void 0?h:DEFAULT_LEVELS))),y=(k=t.scale)!==null&&k!==void 0?k:{},G=t.color&&String(t.color).trim()&&String(t.color).toLowerCase()!=="none"?t.color:_.primary,fe=y.emptyColor&&String(y.emptyColor).trim()&&String(y.emptyColor).toLowerCase()!=="none"?y.emptyColor:he?EMPTY_DARK:EMPTY_LIGHT,ge=mix(G,_.card,.78),be=w.flatMap(e=>e.values),Me=Math.max(...be),A=Number.isFinite(y.min)?y.min:0,ve=Number.isFinite(y.max)?y.max:Math.max(A+1,Me),xe=s(e=>{if(e<=A)return 0;const n=(e-A)/Math.max(1e-6,ve-A);return Math.max(1,Math.min(L-1,1+Math.floor(n*(L-1)*.99999)))},"bucketOf"),ee=s(e=>e<=0?fe:L<=2?G:mix(ge,G,(e-1)/(L-2)),"bucketColor"),te=Math.max(0,Math.min(.5,(x=y.cellRadius)!==null&&x!==void 0?x:.25)),V=(0,alpine_card_1.alpineCard)({theme:_,W:v,H:f,title:t.title,subtitle:t.subtitle}),g=V.contentRect,ae=!!(t.colLabels&&t.colLabels.some(e=>e&&e.trim())),oe=w.some(e=>e.label&&e.label.trim()),E=Math.max(10,Math.round(f*.022)),S=Math.max(9,Math.round(f*.02)),$=ae?Math.round(E*1.7):0,ne=Z?Math.round(S*2.2):0,q=oe?Math.round(Math.max(...w.map(e=>{var n;return((n=e.label)!==null&&n!==void 0?n:"").length}))*E*.62+E*.8):0,qe=g.x+q,le=g.y+$,re=g.w-q,j=g.h-$-ne,R=Math.max(SNAP_PX,snapGrid(Math.min(re/F,j/T)*.12)),I=Math.max(SNAP_PX*2,snapGrid(Math.min((re-R)/F,(j-R)/T))),C=I-R,ye=F*I-R,we=T*I-R,_e=q+ye,se=snapGrid(g.x+Math.max(0,(g.w-_e)/2)+q),Le=snapGrid(le+Math.max(0,(j-we)/2)),Se=Math.max(.1,((O=a.target.durationMs)!==null&&O!==void 0?O:2e3)/1e3),ie=Math.max(.1,Math.min(1,X.introFrac)*Se),Ce=Math.max(1,T+F-2),D=Math.max(.08,ie*.35),z=s(e=>se+e*I,"cellX"),K=s(e=>Le+e*I,"cellY"),ke=s(e=>Y?Q?{startAtSec:e,enable:`gte(t,${e.toFixed(3)})`}:{startAtSec:e,alpha:(0,template_utils_1.fadeInExpr)(e,D)}:{},"cellReveal"),Ee=s((e,n,r)=>Y?Q?(0,alpine_anim_1.revealGate)(e,n):(0,alpine_anim_1.revealFade)(e,n,r):e,"revealText"),p=[];for(let e=0;e<T;e++){const n=w[e].values;for(let r=0;r<F;r++){const b=r<n.length?n[r]:A,N=xe(b),W=ee(N),B=Y?(ie-D)*((e+r)/Ce):0,M=ke(B),P=(0,template_utils_1.makeColorTile)(W,{effects:{rounding:{cornerStyle:"rounded",borderRadius:te}},...Object.keys(M).length?{overlay:M}:{}}),Te=rectPiece(v,f,z(r),K(e),C,C,P,0);if(p.push(Te),pe&&b>A){const J=compactNum(b),me=Math.max(8,Math.min(Math.round(C*.42),Math.round(C*.76/Math.max(1,J.length*.62)))),Ae=onColor(W,"#FFFFFF",_.title),Re=z(r)+C/2,Ne=K(e)+C/2,Pe=placeText(v,f,textBBox(Re,Ne,J,me,"center"),Ee(cellText(J,me,Ae,"center"),B+D*.5,D),1);p.push(Pe)}}}if(oe)for(let e=0;e<T;e++){const n=(H=w[e].label)!==null&&H!==void 0?H:"";if(!n.trim())continue;const r=K(e)+C/2,b=se-R*1.5;p.push(placeText(v,f,textBBox(b,r,n,E,"right"),cellText(n,E,_.label,"right"),1))}if(ae){const e=(U=t.colLabels)!==null&&U!==void 0?U:[];for(let n=0;n<F;n++){const r=e[n];if(!r||!r.trim())continue;const b=z(n)+C/2,N=le-$/2;p.push(placeText(v,f,textBBox(b,N,r,E,"center"),cellText(r,E,_.muted,"center"),1))}}if(Z){const e=Math.max(SNAP_PX*2,Math.round(S*1.1)),n=Math.max(2,Math.round(e*.28)),r=g.y+g.h-ne/2,b=L*e+(L-1)*n,N=Math.round(textBBoxWidth("Less",S)),W=Math.round(textBBoxWidth("More",S)),B=N+n*2+b+n*2+W;let M=g.x+g.w-B;M<g.x&&(M=g.x),p.push(placeText(v,f,textBBox(M,r,"Less",S,"left"),cellText("Less",S,_.muted,"left"),1)),M+=N+n*2;for(let P=0;P<L;P++)p.push(rectPiece(v,f,M,Math.round(r-e/2),e,e,(0,template_utils_1.makeColorTile)(ee(P),{effects:{rounding:{cornerStyle:"rounded",borderRadius:te}}}),1)),M+=e+(P<L-1?n:0);M+=n*2,p.push(placeText(v,f,textBBox(M,r,"More",S,"left"),cellText("More",S,_.muted,"left"),1))}const ce=(0,dsl_stdlib_1.placeRects)({rootW:v,rootH:f,rects:p.map(e=>e.rect)}),ue=[];for(const e of ce.layers){const n=[...e.rectIndices].sort((r,b)=>p[r].rect.y-p[b].rect.y||p[r].rect.x-p[b].rect.x);for(const r of n)ue.push(p[r].source)}const Fe={m0:String(ce.m0),sources:ue},de=V.compose(alpine_card_1.EMPTY,Fe);return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:de.m0,sources:de.sources,backgroundColor:V.backgroundColor,fps:a.target.fps,durationMs:a.target.durationMs})}};function textBBoxWidth(t,a){return Math.max(a,t.length*a*.62+a*.5)}s(textBBoxWidth,"textBBoxWidth"),(0,template_utils_1.registerTemplate)(exports.AlpineHeatmap);
|
|
@@ -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.AlpineHeatmap=void 0;var heatmap_1=require("./heatmap");Object.defineProperty(exports,"AlpineHeatmap",{enumerable:!0,get:e(function(){return heatmap_1.AlpineHeatmap},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var We=Object.defineProperty;var r=(t,e)=>We(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineHeatmapV2=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),DEFAULT_PRESET="light",DEFAULT_RENDER_MODE="premium",DEFAULT_ANIM={renderMode:DEFAULT_RENDER_MODE,introFrac:.7,easing:"easeOut",reduceMotion:!1},DEFAULT_LEVELS=5,MAX_ROWS=14,MAX_COLS=30,SNAP_PX=4,EDGE_PAD=1.5,EMPTY_LIGHT="#EBEEF2",EMPTY_DARK="#1B2434";function hexToRgb(t){const e=/^#?([0-9a-f]{6})/i.exec(String(t));if(!e)return[0,0,0];const o=parseInt(e[1],16);return[o>>16&255,o>>8&255,o&255]}r(hexToRgb,"hexToRgb");function rgbToHex(t,e,o){const l=r(i=>Math.max(0,Math.min(255,Math.round(i))).toString(16).padStart(2,"0"),"c");return`#${l(t)}${l(e)}${l(o)}`}r(rgbToHex,"rgbToHex");function mix(t,e,o){const[l,i,c]=hexToRgb(t),[u,h,p]=hexToRgb(e),d=Math.max(0,Math.min(1,o));return rgbToHex(l+(u-l)*d,i+(h-i)*d,c+(p-c)*d)}r(mix,"mix");function luminance(t){const[e,o,l]=hexToRgb(t);return(.2126*e+.7152*o+.0722*l)/255}r(luminance,"luminance");function onColor(t,e,o){return luminance(t)>.6?o:e}r(onColor,"onColor");const clampInt=r((t,e,o)=>Math.max(e,Math.min(o,Math.round(t))),"clampInt"),snapGrid=r(t=>Math.round(t/SNAP_PX)*SNAP_PX,"snapGrid");function rectPiece(t,e,o,l,i,c,u,h){const p=clampInt(snapGrid(o),0,t-SNAP_PX),d=clampInt(snapGrid(l),0,e-SNAP_PX),M=clampInt(snapGrid(o+i),p+SNAP_PX,t),w=clampInt(snapGrid(l+c),d+SNAP_PX,e);return{rect:{x:p,y:d,w:M-p,h:w-d,claimant:"F",importance:h},source:u}}r(rectPiece,"rectPiece");function placeText(t,e,o,l,i){const c=r(w=>Math.floor((w-EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapDown"),u=r(w=>Math.ceil((w+EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapUp"),h=clampInt(c(o.minX),0,t-1),p=clampInt(c(o.minY),0,e-1),d=clampInt(u(o.maxX),h+SNAP_PX,t),M=clampInt(u(o.maxY),p+SNAP_PX,e);return{rect:{x:h,y:p,w:d-h,h:M-p,claimant:"F",importance:i},source:l}}r(placeText,"placeText");function cellText(t,e,o,l="center"){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t||" "},style:{fontSize:e,fontColor:o},placement:{hAlign:l,vAlign:"middle"}}]}}r(cellText,"cellText");function compactNum(t){const e=Math.round(t),o=Math.abs(e),l=r((i,c)=>`${i.toFixed(1).replace(/\.0$/,"")}${c}`,"fmt");return o<1e3?String(e):o<1e6?l(e/1e3,"K"):o<1e9?l(e/1e6,"M"):l(e/1e9,"B")}r(compactNum,"compactNum");function textBBox(t,e,o,l,i){const c=Math.max(l,o.length*l*.62+l*.5),u=l*1.6,h=i==="left"?t:i==="right"?t-c:t-c/2;return{minX:h,minY:e-u/2,maxX:h+c,maxY:e+u/2}}r(textBBox,"textBBox");function parseValues(t){return Array.isArray(t)?t.map(e=>Number.isFinite(e)?Number(e):0):typeof t=="string"?t.split(/[\s,]+/).map(e=>e.trim()).filter(e=>e!=="").map(e=>{const o=Number(e);return Number.isFinite(o)?o:0}):[]}r(parseValues,"parseValues");const propsSchema=(0,template_utils_1.definePropsSchema)({rows:{type:"array",required:!0,description:"Matrix rows. Each: an optional label + its cell values (left\u2192right; number[] or a comma list).",meta:{control:{flavor:"objectRows",columns:[{label:"Label",key:"label",kind:"text",placeholder:"Mon"},{label:"Values",key:"values",kind:"text",placeholder:"3, 5, 1, 0, 8"}]},ui:{label:"Rows",order:1}}},colLabels:{type:"string[]",required:!1,description:"Column headers along the top (index-aligned to columns).",meta:{control:{placeholder:"W1"},ui:{label:"Column Labels",order:2}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., CONTRIBUTIONS"},ui:{label:"Title",order:3}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{ui:{label:"Subtitle",order:4}}},color:{type:"string",required:!1,description:"Full-intensity hue of the scale. Defaults to the theme primary.",meta:{constraints:{isColor:!0},control:{placeholder:"theme primary",colorPicker:!0,defaultColor:"#2563EB"},ui:{label:"Scale color",order:5}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:6}}},levels:{type:"number",required:!1,description:"Intensity buckets incl. empty (GitHub uses 5).",meta:{constraints:{min:2,max:9},ui:{label:"Levels",order:7}}},showValues:{type:"boolean",required:!1,description:"Print each cell's value inside it.",meta:{ui:{label:"Show values",order:8}}},showLegend:{type:"boolean",required:!1,description:"Show the Less\u2192More legend.",meta:{ui:{label:"Show legend",order:9}}},scale:{type:"group",required:!1,description:"Scale bounds + cell fine-tuning (auto-fits when unset).",meta:{ui:{label:"Scale",order:10,collapsedByDefault:!0}},fields:{min:(0,alpine_anim_1.fNum)("Min","Scale minimum (default 0)."),max:(0,alpine_anim_1.fNum)("Max","Scale maximum (default = the largest value).",{placeholder:"largest cell value"}),emptyColor:{type:"string",required:!1,description:"Color of the lowest (zero) bucket.",meta:{constraints:{isColor:!0},control:{placeholder:"theme lowest-bucket tone",colorPicker:!0},ui:{label:"Empty color"}}},cellRadius:(0,alpine_anim_1.fNum)("Cell radius","Cell corner radius (0..0.5).",{flavor:"slider",step:.05},{min:0,max:.5})}},anim:{type:"group",required:!1,description:"Reveal mode + diagonal cascade intro.",meta:{ui:{label:"Animation",order:11,collapsedByDefault:!0}},fields:{renderMode:(0,alpine_anim_1.fEnum)("Render mode",["premium","light"],`"premium" (default): diagonal alpha-fade cascade \u2014 the softest look, but one per-pixel geq PER CELL, paid every frame of a nesting parent's whole timeline (the pack's heaviest geq load). "light": the same cascade via free enable-gate pops \u2014 no geq, composable, cheap when nested.`),reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,easing:alpine_anim_1.ALPINE_ANIM_FIELDS.easing}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",meta:{ui:{label:"Theme",order:12,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}},debugLayout:{type:"boolean",required:!1,description:"Dev-only layout contract view: renders the contract wireframe instead of the board \u2014 cells GREEN with the measured rule when all equal-size, offenders RED when not. Deterministic false default; production never sets it.",meta:{ui:{label:"Debug layout",order:13}}}});exports.AlpineHeatmapV2={id:(0,types_1.asTemplateId)("@m0saic/alpine/heatmap/v2"),label:"Alpine Heatmap",version:2,description:"Alpine heatmap \u2014 friendly mobile-marketing card: a rows\xD7cols grid of rounded cells colored on a single-hue intensity scale, with row/column labels and a Less\u2192More legend. v2 rebuilds the geometry as a RATIO layout (clean grid() cells; gaps applied as lattice-retargeted source insets, exact at every canvas), so it composes anywhere without the coprime-pixel precision blowup. Generalizes the GitHub contribution calendar.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","alpine","heatmap","matrix","animated","analysts","developers","activity","calendar"],outputHints:{format:{kind:"video",container:"mp4"},width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{debugLayout:!1,theme:{forceFetch:!1},rows:[{label:"Mon",values:[0,2,1,4,3,5,2,6]},{label:"Tue",values:[1,3,2,5,4,6,3,7]},{label:"Wed",values:[2,4,3,6,5,8,4,9]},{label:"Thu",values:[1,2,4,5,7,6,5,8]},{label:"Fri",values:[3,5,6,8,9,7,8,10]},{label:"Sat",values:[0,1,0,2,1,3,1,2]},{label:"Sun",values:[0,0,1,1,0,2,0,1]}],colLabels:["W1","W2","W3","W4","W5","W6","W7","W8"],title:"CONTRIBUTIONS",subtitle:"Commits by day",preset:DEFAULT_PRESET,levels:DEFAULT_LEVELS,showLegend:!0,showValues:!1,scale:{min:0,cellRadius:.25},anim:DEFAULT_ANIM},async render(t,e){var o,l,i,c,u,h,p,d,M,w,k,y;const A=Math.max(1,Math.round(e.target.width)),_=Math.max(1,Math.round(e.target.height)),x=((o=t.rows)!==null&&o!==void 0?o:[]).map((a,s)=>({label:typeof a?.label=="string"?a.label:"",values:parseValues(a?.values),srcIndex:s,cellLeaves:Array.isArray(a?.values)})).filter(a=>a.values.length>0).slice(0,MAX_ROWS);if(x.length===0)return(0,template_utils_1.makeErrorMosaic)("rows[] must have at least one row with values",{title:`${this.id} props`,width:A,height:_});const v=Math.min(MAX_COLS,Math.max(...x.map(a=>a.values.length))),P=x.length,n=await(0,alpine_theme_1.resolveAlpineTheme)((l=t.preset)!==null&&l!==void 0?l:DEFAULT_PRESET,e,t.theme),m=((i=t.preset)!==null&&i!==void 0?i:DEFAULT_PRESET)==="dark",te={...DEFAULT_ANIM,...(c=t.anim)!==null&&c!==void 0?c:{}},ae=!te.reduceMotion,ue=((u=te.renderMode)!==null&&u!==void 0?u:DEFAULT_RENDER_MODE)==="light",U=(h=t.showLegend)!==null&&h!==void 0?h:!0,Pe=(p=t.showValues)!==null&&p!==void 0?p:!1,S=Math.max(2,Math.min(9,Math.round((d=t.levels)!==null&&d!==void 0?d:DEFAULT_LEVELS))),E=(M=t.scale)!==null&&M!==void 0?M:{},oe=t.color&&String(t.color).trim()&&String(t.color).toLowerCase()!=="none"?t.color:n.primary,Ee=E.emptyColor&&String(E.emptyColor).trim()&&String(E.emptyColor).toLowerCase()!=="none"?E.emptyColor:m?EMPTY_DARK:EMPTY_LIGHT,Le=mix(oe,n.card,.78),_e=x.flatMap(a=>a.values),Se=Math.max(..._e),R=Number.isFinite(E.min)?E.min:0,Ce=Number.isFinite(E.max)?E.max:Math.max(R+1,Se),he=r(a=>{if(a<=R)return 0;const s=(a-R)/Math.max(1e-6,Ce-R);return Math.max(1,Math.min(S-1,1+Math.floor(s*(S-1)*.99999)))},"bucketOf"),me=r(a=>a<=0?Ee:S<=2?oe:mix(Le,oe,(a-1)/(S-2)),"bucketColor"),pe=Math.max(0,Math.min(.5,(w=E.cellRadius)!==null&&w!==void 0?w:.25)),$=(0,alpine_card_1.alpineCard)({theme:n,W:A,H:_,title:t.title,subtitle:t.subtitle}),C=$.contentRect,ne=!!(t.colLabels&&t.colLabels.some(a=>a&&a.trim())),z=x.some(a=>a.label&&a.label.trim()),T=Math.max(10,Math.round(_*.022)),N=Math.max(9,Math.round(_*.02)),j=ne?Math.round(T*1.7):0,q=U?Math.round(N*2.2):0,le=Math.max(0,...x.map(a=>{var s;return((s=a.label)!==null&&s!==void 0?s:"").length}))*T*.62,I=z?le>3*T?Math.round((le+T*.5)*6/5):Math.round(le+T*.8):0,ge=C.w-I,fe=C.h-j-q,K=Math.max(SNAP_PX,snapGrid(Math.min(ge/v,fe/P))),F=v*K,re=P*K,Te=Math.max(SNAP_PX,snapGrid(K*.14)),D=Math.max(0,Math.round((ge-F)/2)),se=Math.max(0,Math.round((fe-re)/2)),Fe=Math.max(.1,((k=e.target.durationMs)!==null&&k!==void 0?k:2e3)/1e3),be=Math.max(.1,Math.min(1,te.introFrac)*Fe),ke=Math.max(1,P+v-2),H=Math.max(.08,be*.35),Ae=r(a=>ae?ue?{startAtSec:a,enable:`gte(t,${a.toFixed(3)})`}:{startAtSec:a,alpha:(0,template_utils_1.fadeInExpr)(a,H)}:{},"cellReveal"),Me=String((0,dsl_stdlib_1.grid)({rows:P,cols:v}).m0),ie=[],J=[];let Q=!1;for(let a=0;a<P;a++){const s=x[a].values,{srcIndex:g,cellLeaves:O}=x[a],V=r((f,b)=>O?(0,template_utils_1.bindPropPath)(f,"rows",[g,"values",b],"number"):f,"bindCell");for(let f=0;f<v;f++){const b=f<s.length?s[f]:R,Z=me(he(b)),X=ae?(be-H)*((a+f)/ke):0,G=Ae(X),B=(0,template_utils_1.makeColorTile)(Z,{effects:{rounding:{cornerStyle:"rounded",borderRadius:pe}},...Object.keys(G).length?{overlay:G}:{}});if(B.editor={label:"cell"},he(b)===0?(0,template_utils_1.bindProps)(B,[...O?[{propKey:"rows",path:[g,"values",f],kind:"number"}]:[],{propKey:"scale.emptyColor"}]):V(B,f),ie.push(B),Pe&&b>R){Q=!0;const ee=compactNum(b),L=Math.max(8,Math.round(K*.34)),W=onColor(Z,"#FFFFFF",n.title),de=V((0,alpine_card_1.tag)(cellText(ee,L,W,"center"),"cell-value"),f);J.push(ae?ue?(0,alpine_anim_1.revealGate)(de,X+H*.5):(0,alpine_anim_1.revealFade)(de,X+H*.5,H):de)}else J.push(cellText(" ",8,"black@0","center"))}}const we={m0:Me,sources:ie},Re=Q?(0,alpine_card_1.overlay)([we,{m0:Me,sources:J}]):we,Ne=z?(0,alpine_card_1.rowSplit)(x.map(a=>{var s,g;return{weight:1,node:((s=a.label)!==null&&s!==void 0?s:"").trim()?(0,alpine_card_1.colSplit)([{weight:5,node:(0,alpine_card_1.paint)((0,template_utils_1.bindPropPath)((0,alpine_card_1.tag)(cellText((g=a.label)!==null&&g!==void 0?g:"",T,n.label,"right"),"row-label"),"rows",[a.srcIndex,"label"],"string"))},{weight:1,node:alpine_card_1.EMPTY}]):alpine_card_1.EMPTY}})):alpine_card_1.EMPTY,qe=(0,alpine_card_1.colSplit)([...D>0?[{weight:D,node:alpine_card_1.EMPTY}]:[],...z?[{weight:I,node:Ne}]:[],{weight:F,node:Re},...C.w-D-I-F>0?[{weight:C.w-D-I-F,node:alpine_card_1.EMPTY}]:[]]),xe=(y=t.colLabels)!==null&&y!==void 0?y:[],Ie=Math.max(1,...xe.map(a=>(a??"").length)),De=Math.max(9,Math.min(T,Math.floor(F/v*.94/(Ie*.62)))),Ye=ne?(0,alpine_card_1.colSplit)([{weight:I+D,node:alpine_card_1.EMPTY},{weight:F,node:(0,alpine_card_1.colSplit)(Array.from({length:v},(a,s)=>{const g=xe[s];return{weight:1,node:g&&g.trim()?(0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(cellText(g,De,n.muted,"center"),"col-label"),"colLabels",s)):alpine_card_1.EMPTY}}))},{weight:Math.max(1,C.w-I-D-F),node:alpine_card_1.EMPTY}]):alpine_card_1.EMPTY;let ve=alpine_card_1.EMPTY;if(U){const a=Math.max(SNAP_PX*2,Math.round(N*1.1)),s=Math.max(2,Math.round(a*.28)),g=Math.max(1,Math.round(textBBoxWidth("Less",N))),O=Math.max(1,Math.round(textBBoxWidth("More",N))),V=S*(a+s),f=g+s*2+V+s*2+O,b=r(L=>Math.max(1,Math.round(L/4)),"q"),Z=a+s,X=s/(2*Z),G=[];for(let L=0;L<S;L++){const W=(0,template_utils_1.makeColorTile)(me(L),{effects:{rounding:{cornerStyle:"rounded",borderRadius:pe}},placement:{inset:{x:X}}});W.editor={label:"legend-swatch"},L===0?(0,template_utils_1.bindProp)(W,"scale.emptyColor"):L===S-1&&(0,template_utils_1.bindProp)(W,"color"),G.push({weight:1,node:(0,alpine_card_1.paint)(W)})}const B=(0,alpine_card_1.colSplit)([{weight:b(Math.max(1,C.w-f)),node:alpine_card_1.EMPTY},{weight:b(g),node:(0,alpine_card_1.paint)((0,alpine_card_1.tag)(cellText("Less",N,n.muted,"left"),"legend-caption"))},{weight:b(s*2),node:alpine_card_1.EMPTY},{weight:b(V),node:(0,alpine_card_1.colSplit)(G)},{weight:b(s*2),node:alpine_card_1.EMPTY},{weight:b(O),node:(0,alpine_card_1.paint)((0,alpine_card_1.tag)(cellText("More",N,n.muted,"left"),"legend-caption"))}]),ee=Math.max(0,Math.round((q-a)/2));ve=(0,alpine_card_1.rowSplit)([{weight:Math.max(1,ee),node:alpine_card_1.EMPTY},{weight:a,node:B},{weight:Math.max(1,q-a-ee),node:alpine_card_1.EMPTY}])}const ye=Math.max(0,C.h-q-se-j-re),Y=[];se>0&&Y.push({weight:se,node:alpine_card_1.EMPTY}),j>0&&Y.push({weight:j,node:Ye}),Y.push({weight:re,node:qe}),ye>0&&Y.push({weight:ye,node:alpine_card_1.EMPTY}),q>0&&Y.push({weight:q,node:ve});const ce=$.compose((0,alpine_card_1.rowSplit)(Y));applyLatticeGapInsets({root:ce,cellSources:ie,valueSources:Q?J:null,nRows:P,nCols:v,gapPx:Te,W:A,H:_});const Be={kind:"mosaic_document",version:1,assets:{},m0:ce.m0,sources:ce.sources,backgroundColor:$.backgroundColor,fps:e.target.fps,durationMs:e.target.durationMs};return Promise.resolve((0,template_utils_1.withLayoutContract)(Be,e,{templateId:"@m0saic/alpine/heatmap/v2",relations:[...P*v>=2?[{label:"cell",equal:"size",tolerance:.02,tolerancePx:1}]:[],...U?[{label:"legend-swatch",equal:"size",tolerance:.02,tolerancePx:1}]:[]],constraints:[...$.constraints,...Q?[{label:"cell-value",textFits:{charWidthEm:.62,padPx:0}}]:[],...z?[{label:"row-label",textFits:{charWidthEm:.62,padPx:0}}]:[],...ne?[{label:"col-label",textFits:{charWidthEm:.62,padPx:0}}]:[],...U?[{label:"legend-caption",textFits:{charWidthEm:.62,padPx:0}}]:[]],debug:t.debugLayout===!0}))},async renderCover(t,e){const o=(0,onboarding_cover_1.brandedCoverHeroBox)(e,"band"),l={...e,target:{...e.target,width:o.width,height:o.height},output:{...e.output,width:o.width,height:o.height}},i=await exports.AlpineHeatmapV2.render({...exports.AlpineHeatmapV2.defaultProps,anim:{...DEFAULT_ANIM,renderMode:"light",reduceMotion:!0}},l);return(0,onboarding_cover_1.buildBrandedCover)({ctx:e,variant:"band",copy:{productName:"Heatmap",title:"A heatmap."},hero:r(c=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(i),c.borderStrong),"hero"),heroAssets:i.assets,children:i.children})}};function textBBoxWidth(t,e){return Math.max(e,t.length*e*.62+e*.5)}r(textBBoxWidth,"textBBoxWidth");function applyLatticeGapInsets(t){const{root:e,cellSources:o,valueSources:l,nRows:i,nCols:c,gapPx:u,W:h,H:p}=t;if(u<=0||o.length===0)return;const d=i*c;try{const M=e.sources.indexOf(o[0]);if(M<0||e.sources[M+d-1]!==o[d-1])return;const w=(0,dsl_1.parseM0StringToRenderFrames)(e.m0,h,p),k=[];for(const n of w)k[n.logicalIndex]=n;const y=[];for(let n=0;n<d;n++){const m=k[M+n];if(!m||m.width<1||m.height<1)return;y.push({x:m.x,y:m.y,w:m.width,h:m.height})}const A=Math.min(...y.map(n=>n.x)),_=Math.min(...y.map(n=>n.y)),x=Math.max(...y.map(n=>n.x+n.w)),v=Math.max(...y.map(n=>n.y+n.h)),P=(0,template_utils_1.latticeCellInset)({cols:c,rows:i,canvasW:x-A,canvasH:v-_,gutterXPx:u,gutterYPx:u,marginPx:0,cells:y.map((n,m)=>({unit:{c0:m%c,r0:Math.floor(m/c),cs:1,rs:1},raw:{x:n.x-A,y:n.y-_,w:n.w,h:n.h}}))});for(let n=0;n<d;n++){const m=P.insetAt(n);m&&(o[n].placement={inset:m},l&&(l[n].placement={inset:m}))}}catch{}}r(applyLatticeGapInsets,"applyLatticeGapInsets"),(0,template_utils_1.registerTemplate)(exports.AlpineHeatmapV2);
|
|
@@ -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.AlpineHeatmapV2=void 0;var heatmap_1=require("./heatmap");Object.defineProperty(exports,"AlpineHeatmapV2",{enumerable:!0,get:e(function(){return heatmap_1.AlpineHeatmapV2},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var p=Object.defineProperty;var u=(t,e)=>p(t,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:u(function(){return e[r]},"get")}),Object.defineProperty(t,i,o)}):(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("./donut/v1"),exports),__exportStar(require("./donut/v2"),exports),__exportStar(require("./donut/v3"),exports),__exportStar(require("./line-chart/v1"),exports),__exportStar(require("./line-chart/v2"),exports),__exportStar(require("./kpi-card/v1"),exports),__exportStar(require("./kpi-card/v2"),exports),__exportStar(require("./stat-card/v1"),exports),__exportStar(require("./contributor-table/v1"),exports),__exportStar(require("./commit-feed/v1"),exports),__exportStar(require("./commit-feed/v2"),exports),__exportStar(require("./progress-card/v1"),exports),__exportStar(require("./leaderboard/v1"),exports),__exportStar(require("./heatmap/v1"),exports),__exportStar(require("./heatmap/v2"),exports),__exportStar(require("./timeline/v1"),exports),__exportStar(require("./timeline/v2"),exports),__exportStar(require("./treemap/v1"),exports),__exportStar(require("./treemap/v2"),exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var t=Object.defineProperty;var e=(r,i)=>t(r,"name",{value:i,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineKpiCard=void 0;var kpi_card_1=require("./kpi-card");Object.defineProperty(exports,"AlpineKpiCard",{enumerable:!0,get:e(function(){return kpi_card_1.AlpineKpiCard},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var te=Object.defineProperty;var u=(e,t)=>te(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineKpiCard=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("../../../charts/line-chart/v1/geometry"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),DEFAULT_PRESET="light",DEFAULT_RENDER_MODE="premium",DEFAULT_DIRECTION="up",DEFAULT_ANIM={renderMode:DEFAULT_RENDER_MODE,introFrac:.7,countUp:!0,easing:"easeOut",reduceMotion:!1},SNAP_PX=4,EDGE_PAD=1.5,ASC_TREND=[10,14,12,18,16,23,21,28,26,34];function defaultSpark(e){return e==="down"?ASC_TREND.slice().reverse():e==="flat"?[20,22,19,21,20,22,19,21,20,21]:ASC_TREND.slice()}u(defaultSpark,"defaultSpark");const LABEL_W=13,VALUE_W=34,DELTA_W=14,SPARK_W=30,GAP_W=3;function leftText(e,t,a){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:t,fontColor:a},placement:{fit:"contain",hAlign:"left",vAlign:"middle"}}]}}u(leftText,"leftText");function leftExprText(e,t,a){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:t,fontColor:a},placement:{hAlign:"left",vAlign:"middle"}}]}}u(leftExprText,"leftExprText");function centerText(e,t,a){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:t,fontColor:a},placement:{fit:"contain",hAlign:"center",vAlign:"middle"}}]}}u(centerText,"centerText");function fadeIn(e,t,a,h){var s;if(!h)return e;const i=(s=e.overlay)!==null&&s!==void 0?s:{};return{...e,overlay:{...i,alpha:(0,template_utils_1.fadeInExpr)(t,a)}}}u(fadeIn,"fadeIn");function triangleSource(e,t,a,h){const s=Math.min(a,h)*.7,i=a/2,p=h/2,c=s/2,d=s*.866,l=p-d/2,r=p+d/2,n=u(m=>Math.round(m*10)/10,"n"),y=e==="up"?`M ${n(i)} ${n(l)} L ${n(i+c)} ${n(r)} L ${n(i-c)} ${n(r)} Z`:`M ${n(i-c)} ${n(l)} L ${n(i+c)} ${n(l)} L ${n(i)} ${n(r)} Z`;return(0,template_utils_1.makeColorTile)(t,{mask:{kind:"inline-mask",localPath:y,bounds:{x:0,y:0,width:a,height:h}}})}u(triangleSource,"triangleSource");const clampInt=u((e,t,a)=>Math.max(t,Math.min(a,Math.round(e))),"clampInt");function placePiece(e,t,a,h,s){const i=u(n=>Math.floor((n-EDGE_PAD)/SNAP_PX)*SNAP_PX,"sd"),p=u(n=>Math.ceil((n+EDGE_PAD)/SNAP_PX)*SNAP_PX,"su"),c=clampInt(i(a.minX),0,e-1),d=clampInt(i(a.minY),0,t-1),l=clampInt(p(a.maxX),c+SNAP_PX,e),r=clampInt(p(a.maxY),d+SNAP_PX,t);return{rect:{x:c,y:d,w:l-c,h:r-d,claimant:"F",importance:h},source:s(l-c,r-d,c,d)}}u(placePiece,"placePiece");function maskPiece(e,t,a,h,s,i,p){return placePiece(e,t,a,h,(c,d,l,r)=>(0,template_utils_1.makeColorTile)(s,{mask:{kind:"inline-mask",localPath:i(l,r),bounds:{x:0,y:0,width:c,height:d}},...p?{overlay:p}:{}}))}u(maskPiece,"maskPiece");function sparklineNode(e){const{W:t,H:a,rx:h,ry:s,rw:i,rh:p,values:c,color:d}=e,l=c.filter(o=>Number.isFinite(o));if(l.length<2)return alpine_card_1.EMPTY;const r=Math.min(...l),n=Math.max(...l),y=n-r||1,m=Math.max(2,Math.round(p*.06)),P=m+2,A=u(o=>h+o/(l.length-1)*i,"xAt"),I=u(o=>s+P+(1-(o-r)/y)*(p-2*P),"yAt"),_=l.map((o,v)=>({x:A(v),y:I(o)})),w=s+p,{poly:U}=(0,geometry_1.curvePolyline)(_,"smooth"),k=U.map(o=>({x:o.x,y:Math.max(s,Math.min(w,o.y))})),S=e.animate&&!e.light,$=S?`(${(0,template_utils_1.fadeInExpr)(0,Math.max(.12,e.introSec*.5))})*0.16`:"0.16",x=S?(0,template_utils_1.fadeInExpr)(0,Math.max(.12,e.introSec*.5)):void 0,f=[maskPiece(t,a,(0,geometry_1.areaBBox)(k,w),0,d,(o,v)=>(0,geometry_1.areaPolygonPath)(k.map(b=>(0,geometry_1.local)(b,o,v)),w-v),{alpha:$}),maskPiece(t,a,(0,geometry_1.polylineStrokeBBox)(k,m),1,d,(o,v)=>(0,geometry_1.polylineStrokePath)(k.map(b=>(0,geometry_1.local)(b,o,v)),m),x?{alpha:x}:void 0)],F=(0,dsl_stdlib_1.placeRects)({rootW:t,rootH:a,rects:f.map(o=>o.rect)}),E=[];for(const o of F.layers){const v=[...o.rectIndices].sort((b,M)=>f[b].rect.y-f[M].rect.y||f[b].rect.x-f[M].rect.x);for(const b of v)E.push(f[b].source)}return{m0:String(F.m0),sources:E}}u(sparklineNode,"sparklineNode");const propsSchema=(0,template_utils_1.definePropsSchema)({label:{type:"string",required:!0,description:'Metric label (e.g. "Monthly Revenue").',meta:{control:{placeholder:"e.g. Monthly Revenue"},ui:{label:"Label",order:1}}},value:{type:"string",required:!0,description:'Headline KPI value, pre-formatted (e.g. "$48.2K", "86%").',meta:{control:{placeholder:"e.g. $48.2K"},ui:{label:"Value",order:2}}},delta:{type:"string",required:!1,description:'Signed change, pre-formatted (e.g. "+12.5%"). Omit for no delta pill.',meta:{control:{placeholder:"e.g. +12.5%"},ui:{label:"Delta",order:3}}},sublabel:{type:"string",required:!1,description:'Muted caption next to the delta (e.g. "vs last month").',meta:{control:{placeholder:"e.g. vs last month"},ui:{label:"Sublabel",order:4}}},title:{type:"string",required:!1,description:"Optional card title (context above the KPI).",meta:{control:{placeholder:"none"},ui:{label:"Title",order:5}}},subtitle:{type:"string",required:!1,description:"Optional card subtitle.",meta:{control:{placeholder:"none"},ui:{label:"Subtitle",order:6}}},direction:{type:"string",required:!1,description:"Delta direction \u2014 arrow + color (green up / red down / muted flat).",meta:{constraints:{oneOf:["up","down","flat"]},ui:{label:"Direction",order:7}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:8}}},valueColor:{type:"string",required:!1,description:"Value text color. Defaults to the theme title color.",meta:{constraints:{isColor:!0},control:{placeholder:"theme title color",colorPicker:!0,defaultColor:"#0F172A"},ui:{label:"Value Color",order:9}}},sparkline:{type:"number[]",required:!1,description:"Optional trend series \u2192 a soft sparkline along the card bottom.",meta:{control:{flavor:"numberList"},ui:{label:"Sparkline",order:10}}},anim:{type:"group",required:!1,description:"Reveal mode + intro (count-up + soft fades).",meta:{ui:{label:"Animation",order:11,collapsedByDefault:!0}},fields:{renderMode:(0,alpine_anim_1.fEnum)("Render mode",["premium","light"],'"premium" (default): soft alpha fades of the pill / sublabel / sparkline \u2014 a per-pixel geq each. "light": the same via free enable-gate pops \u2014 no geq, composable, cheap when nested.'),reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,countUp:(0,alpine_anim_1.fBool)("Count up","Count the value up on intro."),easing:alpine_anim_1.ALPINE_ANIM_FIELDS.easing}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",meta:{ui:{label:"Theme",order:12,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}}});exports.AlpineKpiCard={id:(0,types_1.asTemplateId)("@m0saic/alpine/kpi-card/v1"),label:"Alpine KPI Card",version:1,description:"Alpine KPI / stat card \u2014 friendly mobile-marketing card: muted label, count-up value, soft delta pill (arrow + change), sublabel, optional sparkline. Standalone Alpine brand flavor.",capabilities:{tier:"core"},primitive:!0,deprecated:{reason:"The ratio chrome (label/value/delta) was already fine, but the sparkline is placed via placeRects on tight pixel bboxes, so its precision floor tracks the canvas (audit: ABSOLUTE, slope 1.04) \u2014 the card pins its parent near its own render canvas when nested. Use v2 \u2014 the SAME picture with the sparkline rebuilt as a RATIO band (two inline-masks that fill the band cell in band-local coords, so the connected curve stays exact but precision is bounded). Composes at any canvas.",replacement:(0,types_1.asTemplateId)("@m0saic/alpine/kpi-card/v2"),since:"2026-07-09"},tags:["alpine","kpi","stat-card","data-viz"],outputHints:{width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{theme:{forceFetch:!1},label:"MONTHLY REVENUE",value:"$48,250",delta:"+12.5%",direction:"up",sublabel:"vs last month",preset:DEFAULT_PRESET,anim:DEFAULT_ANIM},async render(e,t){var a,h,s,i,p,c;const d=Math.max(1,Math.round(t.target.width)),l=Math.max(1,Math.round(t.target.height));if(!e.value||!String(e.value).trim())return(0,template_utils_1.makeErrorMosaic)("value is required",{title:`${this.id} props`,width:d,height:l});const r=await(0,alpine_theme_1.resolveAlpineTheme)((a=e.preset)!==null&&a!==void 0?a:DEFAULT_PRESET,t,e.theme),n={...DEFAULT_ANIM,...(h=e.anim)!==null&&h!==void 0?h:{}},y=((s=n.renderMode)!==null&&s!==void 0?s:DEFAULT_RENDER_MODE)==="light",m=(i=e.direction)!==null&&i!==void 0?i:DEFAULT_DIRECTION,P=(0,alpine_card_1.resolveColor)(e.valueColor,r.title),A=m==="up"?r.positive:m==="down"?r.negative:r.subtitle,I=!!(e.delta&&e.delta.trim()),_=I&&(m==="up"||m==="down"),w=!!(e.sublabel&&e.sublabel.trim()),k=(e.sparkline!==void 0?(p=e.sparkline)!==null&&p!==void 0?p:[]:defaultSpark(m)).filter(g=>Number.isFinite(g)),S=k.length>=2,$=Math.max(.1,((c=t.target.durationMs)!==null&&c!==void 0?c:2e3)/1e3),x=Math.max(.1,Math.min(1,n.introFrac)*$),f=!n.reduceMotion,F=n.countUp&&f&&/\d/.test(e.value),E=(0,alpine_card_1.alpineCard)({theme:r,W:d,H:l,title:e.title,subtitle:e.subtitle}),o=E.contentRect,v=Math.max(11,Math.round(l*.032)),b=Math.max(28,Math.round(l*.15)),M=Math.max(12,Math.round(l*.034)),D=Math.max(10,Math.round(l*.026)),G=F?leftExprText((0,template_utils_1.animateNumbersInText)(e.value,{durationSec:x,ease:n.easing}),b,P):leftText(e.value,b,P),q=x*.5,B=Math.max(.1,x*.35),L=u(g=>f?y?(0,alpine_anim_1.revealGate)(g,q):fadeIn(g,q,B,!0):g,"ff");let R=alpine_card_1.EMPTY;if(I){const g=Math.round(M*1.9),T=_?Math.round(g*.8):0,N=_?Math.round(M*.3):0,Y=Math.round(M*.62*e.delta.length+M),C=Math.round(M*.6),X=_?[{weight:T,node:(0,alpine_card_1.paint)(L(triangleSource(m,A,T,g)))},{weight:N,node:alpine_card_1.EMPTY}]:[],Z=(0,alpine_card_1.colSplit)([{weight:C,node:alpine_card_1.EMPTY},...X,{weight:Y,node:(0,alpine_card_1.paint)(L(centerText(e.delta,M,A)))},{weight:C,node:alpine_card_1.EMPTY}]),z=f?y?{alpha:"0.14",enable:`gte(t,${q.toFixed(3)})`}:{alpha:`(${(0,template_utils_1.fadeInExpr)(q,B)})*0.14`}:{alpha:"0.14"},j=(0,alpine_card_1.paint)((0,template_utils_1.makeColorTile)(A,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.5}},overlay:z})),J=C*2+T+N+Y,Q=(0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:g,node:(0,alpine_card_1.overlay)([j,Z])},{weight:1,node:alpine_card_1.EMPTY}]),ee=w?[{weight:Math.round(M*.6),node:alpine_card_1.EMPTY},{weight:Math.round(D*.62*e.sublabel.length+D),node:(0,alpine_card_1.paint)(L(leftText(e.sublabel,D,r.muted)))}]:[];R=(0,alpine_card_1.colSplit)([{weight:J,node:Q},...ee,{weight:1,node:alpine_card_1.EMPTY}])}else w&&(R=(0,alpine_card_1.colSplit)([{weight:1,node:(0,alpine_card_1.paint)(L(leftText(e.sublabel,D,r.muted)))}]));const K=leftText(e.label,v,r.subtitle),O=[{weight:LABEL_W,node:(0,alpine_card_1.paint)(f&&!y?fadeIn(K,0,Math.max(.1,x*.25),!0):K)},{weight:GAP_W,node:alpine_card_1.EMPTY},{weight:VALUE_W,node:(0,alpine_card_1.paint)(G)},{weight:GAP_W,node:alpine_card_1.EMPTY},{weight:DELTA_W,node:R}];S&&(O.push({weight:GAP_W,node:alpine_card_1.EMPTY}),O.push({weight:SPARK_W,node:alpine_card_1.EMPTY}));const H=(0,alpine_card_1.rowSplit)(O);let W=alpine_card_1.EMPTY;if(S){const g=LABEL_W+VALUE_W+DELTA_W+SPARK_W+GAP_W*3,T=(LABEL_W+VALUE_W+DELTA_W+GAP_W*3)/g,N=o.y+T*o.h,Y=SPARK_W/g*o.h,C=m==="up"?r.positive:m==="down"?r.negative:r.primary;W=sparklineNode({W:d,H:l,rx:o.x,ry:N,rw:o.w,rh:Y,values:k,color:C,introSec:x,animate:f,light:y})}const V=E.compose(H,W);return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:V.m0,sources:V.sources,backgroundColor:E.backgroundColor,fps:t.target.fps,durationMs:t.target.durationMs})}},(0,template_utils_1.registerTemplate)(exports.AlpineKpiCard);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var t=Object.defineProperty;var e=(r,i)=>t(r,"name",{value:i,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineKpiCardV2=void 0;var kpi_card_1=require("./kpi-card");Object.defineProperty(exports,"AlpineKpiCardV2",{enumerable:!0,get:e(function(){return kpi_card_1.AlpineKpiCardV2},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var ve=Object.defineProperty;var i=(e,t)=>ve(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineKpiCardV2=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),geometry_1=require("../../../charts/line-chart/v1/geometry"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),DEFAULT_PRESET="light",DEFAULT_RENDER_MODE="premium",DEFAULT_DIRECTION="up",DEFAULT_ANIM={renderMode:DEFAULT_RENDER_MODE,introFrac:.7,countUp:!0,easing:"easeOut",reduceMotion:!1},ASC_TREND=[10,14,12,18,16,23,21,28,26,34];function defaultSpark(e){return e==="down"?ASC_TREND.slice().reverse():e==="flat"?[20,22,19,21,20,22,19,21,20,21]:ASC_TREND.slice()}i(defaultSpark,"defaultSpark");const LABEL_W=13,VALUE_W=34,DELTA_W=14,SPARK_W=30,GAP_W=3;function leftText(e,t,a){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:t,fontColor:a},placement:{fit:"contain",hAlign:"left",vAlign:"middle"}}]}}i(leftText,"leftText");function leftExprText(e,t,a){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:t,fontColor:a},placement:{hAlign:"left",vAlign:"middle"}}]}}i(leftExprText,"leftExprText");function centerText(e,t,a){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:t,fontColor:a},placement:{fit:"contain",hAlign:"center",vAlign:"middle"}}]}}i(centerText,"centerText");function fadeIn(e,t,a,s){var n;if(!s)return e;const r=(n=e.overlay)!==null&&n!==void 0?n:{};return{...e,overlay:{...r,alpha:(0,template_utils_1.fadeInExpr)(t,a)}}}i(fadeIn,"fadeIn");function triangleSource(e,t,a,s){const n=Math.min(a,s)*.7,r=a/2,v=s/2,u=n/2,m=n*.866,h=v-m/2,c=v+m/2,o=i(b=>Math.round(b*10)/10,"n"),g=e==="up"?`M ${o(r)} ${o(h)} L ${o(r+u)} ${o(c)} L ${o(r-u)} ${o(c)} Z`:`M ${o(r-u)} ${o(h)} L ${o(r+u)} ${o(h)} L ${o(r)} ${o(c)} Z`;return(0,template_utils_1.makeColorTile)(t,{mask:{kind:"inline-mask",localPath:g,bounds:{x:0,y:0,width:a,height:s}}})}i(triangleSource,"triangleSource");function sparklineBand(e){const{bandW:t,bandH:a,color:s}=e,n=e.values.filter(d=>Number.isFinite(d));if(n.length<2||t<=0||a<=0)return alpine_card_1.EMPTY;const r=Math.min(...n),v=Math.max(...n),u=v-r||1,m=Math.max(2,Math.round(a*.06)),h=m+2,c=i(d=>d/(n.length-1)*t,"xAt"),o=i(d=>h+(1-(d-r)/u)*(a-2*h),"yAt"),g=n.map((d,L)=>({x:c(L),y:o(d)})),b=a,{poly:p}=(0,geometry_1.curvePolyline)(g,"smooth"),P=p.map(d=>({x:d.x,y:Math.max(0,Math.min(b,d.y))})),k=e.animate&&!e.light,C=k?`(${(0,template_utils_1.fadeInExpr)(0,Math.max(.12,e.introSec*.5))})*0.16`:"0.16",f=k?(0,template_utils_1.fadeInExpr)(0,Math.max(.12,e.introSec*.5)):void 0,w={x:0,y:0,width:t,height:a},O=(0,template_utils_1.makeColorTile)(s,{mask:{kind:"inline-mask",localPath:(0,geometry_1.areaPolygonPath)(P,b),bounds:w},overlay:{alpha:C}}),S=(0,template_utils_1.makeColorTile)(s,{mask:{kind:"inline-mask",localPath:(0,geometry_1.polylineStrokePath)(P,m),bounds:w},...f?{overlay:{alpha:f}}:{}});return(0,alpine_card_1.overlay)([(0,alpine_card_1.paint)(O),(0,alpine_card_1.paint)(S)])}i(sparklineBand,"sparklineBand");const propsSchema=(0,template_utils_1.definePropsSchema)({label:{type:"string",required:!0,description:'Metric label (e.g. "Monthly Revenue").',meta:{control:{placeholder:"e.g. Monthly Revenue"},ui:{label:"Label",order:1}}},value:{type:"string",required:!0,description:'Headline KPI value, pre-formatted (e.g. "$48.2K", "86%").',meta:{control:{placeholder:"e.g. $48.2K"},ui:{label:"Value",order:2}}},delta:{type:"string",required:!1,description:'Signed change, pre-formatted (e.g. "+12.5%"). Omit for no delta pill.',meta:{control:{placeholder:"e.g. +12.5%"},ui:{label:"Delta",order:3}}},sublabel:{type:"string",required:!1,description:'Muted caption next to the delta (e.g. "vs last month").',meta:{control:{placeholder:"e.g. vs last month"},ui:{label:"Sublabel",order:4}}},title:{type:"string",required:!1,description:"Optional card title (context above the KPI).",meta:{control:{placeholder:"none"},ui:{label:"Title",order:5}}},subtitle:{type:"string",required:!1,description:"Optional card subtitle.",meta:{control:{placeholder:"none"},ui:{label:"Subtitle",order:6}}},direction:{type:"string",required:!1,description:"Delta direction \u2014 arrow + color (green up / red down / muted flat).",meta:{constraints:{oneOf:["up","down","flat"]},ui:{label:"Direction",order:7}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:8}}},valueColor:{type:"string",required:!1,description:"Value text color. Defaults to the theme title color.",meta:{constraints:{isColor:!0},control:{placeholder:"theme title color",colorPicker:!0,defaultColor:"#0F172A"},ui:{label:"Value Color",order:9}}},sparkline:{type:"number[]",required:!1,description:"Optional trend series \u2192 a soft sparkline along the card bottom.",meta:{control:{flavor:"numberList"},ui:{label:"Sparkline",order:10}}},anim:{type:"group",required:!1,description:"Reveal mode + intro (count-up + soft fades).",meta:{ui:{label:"Animation",order:11,collapsedByDefault:!0}},fields:{renderMode:(0,alpine_anim_1.fEnum)("Render mode",["premium","light"],'"premium" (default): soft alpha fades of the pill / sublabel / sparkline \u2014 a per-pixel geq each. "light": the same via free enable-gate pops \u2014 no geq, composable, cheap when nested.'),reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,countUp:(0,alpine_anim_1.fBool)("Count up","Count the value up on intro."),easing:alpine_anim_1.ALPINE_ANIM_FIELDS.easing}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",meta:{ui:{label:"Theme",order:12,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}},debugLayout:{type:"boolean",required:!1,description:"Dev-only layout contract view: renders the contract wireframe instead of the card \u2014 the delta pill GREEN at its intended aspect, RED when stretched. Deterministic false default; production never sets it.",meta:{ui:{label:"Debug layout",order:12}}}});exports.AlpineKpiCardV2={id:(0,types_1.asTemplateId)("@m0saic/alpine/kpi-card/v2"),label:"Alpine KPI Card",version:2,description:"Alpine KPI / stat card \u2014 friendly mobile-marketing card: muted label, count-up value, soft delta pill (arrow + change), sublabel, optional sparkline. Standalone Alpine brand flavor. v2 rebuilds the sparkline as a ratio band (masks fill the cell in band-local coords) so the whole card composes at any canvas without the absolute-placement precision blowup.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","alpine","kpi","stat-card","animated","analysts","marketers","metric","dashboard"],outputHints:{format:{kind:"video",container:"mp4"},width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{debugLayout:!1,theme:{forceFetch:!1},label:"MONTHLY REVENUE",value:"$48,250",delta:"+12.5%",direction:"up",sublabel:"vs last month",preset:DEFAULT_PRESET,anim:DEFAULT_ANIM},async render(e,t){var a,s,n,r,v,u,m;const h=Math.max(1,Math.round(t.target.width)),c=Math.max(1,Math.round(t.target.height));if(!e.value||!String(e.value).trim())return(0,template_utils_1.makeErrorMosaic)("value is required",{title:`${this.id} props`,width:h,height:c});const o=await(0,alpine_theme_1.resolveAlpineTheme)((a=e.preset)!==null&&a!==void 0?a:DEFAULT_PRESET,t,e.theme),g={...DEFAULT_ANIM,...(s=e.anim)!==null&&s!==void 0?s:{}},b=((n=g.renderMode)!==null&&n!==void 0?n:DEFAULT_RENDER_MODE)==="light",p=(r=e.direction)!==null&&r!==void 0?r:DEFAULT_DIRECTION,P=(0,alpine_card_1.resolveColor)(e.valueColor,o.title),k=p==="up"?o.positive:p==="down"?o.negative:o.subtitle,C=!!(e.delta&&e.delta.trim()),f=C&&(p==="up"||p==="down"),w=!!(e.sublabel&&e.sublabel.trim()),S=(e.sparkline!==void 0?(v=e.sparkline)!==null&&v!==void 0?v:[]:defaultSpark(p)).filter(l=>Number.isFinite(l)),d=S.length>=2,L=Math.max(.1,((u=t.target.durationMs)!==null&&u!==void 0?u:2e3)/1e3),E=Math.max(.1,Math.min(1,g.introFrac)*L),_=!g.reduceMotion,re=g.countUp&&_&&/\d/.test(e.value),N=(0,alpine_card_1.alpineCard)({theme:o,W:h,H:c,title:e.title,subtitle:e.subtitle}),A=N.contentRect,le=Math.max(11,Math.round(c*.032)),U=Math.max(28,Math.min(Math.round(c*.15),Math.floor(A.w*.94/(Math.max(1,e.value.length)*.62)))),M=Math.max(12,Math.round(c*.034)),T=Math.max(10,Math.round(c*.026)),ie=(0,template_utils_1.bindProps)(re?leftExprText((0,template_utils_1.animateNumbersInText)(e.value,{durationSec:E,ease:g.easing}),U,P):(0,alpine_card_1.tag)(leftText(e.value,U,P),"kpi-value"),[{propKey:"value"},{propKey:"valueColor"}]),F=E*.5,V=Math.max(.1,E*.35),I=i(l=>_?b?(0,alpine_anim_1.revealGate)(l,F):fadeIn(l,F,V,!0):l,"ff");let $=alpine_card_1.EMPTY,D=0;if(C){const l=Math.round(M*1.9),Z=f?Math.round(l*.8):0,j=f?Math.round(M*.3):0,z=Math.round(M*.62*e.delta.length+M),x=Math.round(M*.6),B=f?2*x+l:0,J=(f?B:x)+z+x,q=i(y=>Math.max(1,Math.round(y/J*100)),"wq");let Q=[];if(f){const y=triangleSource(p,k,l,l),fe=x/B;y.placement={inset:{x:fe}},y.editor={label:"delta-arrow"},Q=[{weight:q(B),node:(0,alpine_card_1.paint)(I(y))}]}const ce=(0,alpine_card_1.colSplit)([...f?[]:[{weight:q(x),node:alpine_card_1.EMPTY}],...Q,{weight:q(z),node:(0,alpine_card_1.paint)(I((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(centerText(e.delta,M,k),"kpi-delta"),"delta")))},{weight:q(x),node:alpine_card_1.EMPTY}]),ue=_?b?{alpha:"0.14",enable:`gte(t,${F.toFixed(3)})`}:{alpha:`(${(0,template_utils_1.fadeInExpr)(F,V)})*0.14`}:{alpha:"0.14"},ee=(0,template_utils_1.makeColorTile)(k,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.5}},overlay:ue});ee.editor={label:"delta-pill"};const he=(0,alpine_card_1.paint)(ee),K=J;D=K/Math.max(1,h);const pe=LABEL_W+GAP_W+VALUE_W+GAP_W+DELTA_W+(d?GAP_W+SPARK_W:0),te=Math.max(l,Math.round(DELTA_W/pe*A.h)),W=i(y=>Math.max(1,Math.round(y/2)),"q2"),Y=Math.max(0,Math.round((te-l)/2)),ae=Math.max(0,te-l-Y),me=(0,alpine_card_1.rowSplit)([...Y>2?[{weight:W(Y),node:alpine_card_1.EMPTY}]:[],{weight:W(l),node:(0,alpine_card_1.overlay)([he,ce])},...ae>2?[{weight:W(ae),node:alpine_card_1.EMPTY}]:[]]),oe=Math.round(M*.6),ne=Math.round(T*.62*((m=e.sublabel)!==null&&m!==void 0?m:"").length+T),ge=w?[{weight:oe,node:alpine_card_1.EMPTY},{weight:ne,node:(0,alpine_card_1.paint)(I((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(leftText(e.sublabel,T,o.muted),"kpi-sublabel"),"sublabel")))}]:[],be=Math.max(1,Math.round(A.w)-K-(w?oe+ne:0));$=(0,alpine_card_1.colSplit)([{weight:K,node:me},...ge,{weight:be,node:alpine_card_1.EMPTY}])}else w&&($=(0,alpine_card_1.colSplit)([{weight:1,node:(0,alpine_card_1.paint)(I((0,template_utils_1.bindProp)((0,alpine_card_1.tag)(leftText(e.sublabel,T,o.muted),"kpi-sublabel"),"sublabel")))}]));let H=alpine_card_1.EMPTY;if(d){const l=LABEL_W+VALUE_W+DELTA_W+SPARK_W+GAP_W*3,Z=Math.max(1,Math.round(SPARK_W/l*A.h)),j=p==="up"?o.positive:p==="down"?o.negative:o.primary;H=sparklineBand({bandW:Math.round(A.w),bandH:Z,values:S,color:j,introSec:E,animate:_,light:b})}const G=(0,template_utils_1.bindProp)((0,alpine_card_1.tag)(leftText(e.label,le,o.subtitle),"kpi-label"),"label"),R=[{weight:LABEL_W,node:(0,alpine_card_1.paint)(_&&!b?fadeIn(G,0,Math.max(.1,E*.25),!0):G)},{weight:GAP_W,node:alpine_card_1.EMPTY},{weight:VALUE_W,node:(0,alpine_card_1.paint)(ie)},{weight:GAP_W,node:alpine_card_1.EMPTY},{weight:DELTA_W,node:$}];d&&(R.push({weight:GAP_W,node:alpine_card_1.EMPTY}),R.push({weight:SPARK_W,node:H}));const se=(0,alpine_card_1.rowSplit)(R),X=N.compose(se),de={kind:"mosaic_document",version:1,assets:{},m0:X.m0,sources:X.sources,backgroundColor:N.backgroundColor,fps:t.target.fps,durationMs:t.target.durationMs};return Promise.resolve((0,template_utils_1.withLayoutContract)(de,t,{templateId:"@m0saic/alpine/kpi-card/v2",relations:[],constraints:[...D>0?[{label:"delta-pill",minWidthFrac:Math.max(.005,D*.7),maxWidthFrac:Math.min(1,D*1.3)}]:[]],debug:e.debugLayout===!0}))},async renderCover(e,t){const a=(0,onboarding_cover_1.brandedCoverHeroBox)(t,"band"),s={...t,target:{...t.target,width:a.width,height:a.height},output:{...t.output,width:a.width,height:a.height}},n=await exports.AlpineKpiCardV2.render({...exports.AlpineKpiCardV2.defaultProps,anim:{...DEFAULT_ANIM,renderMode:"light",reduceMotion:!0}},s);return(0,onboarding_cover_1.buildBrandedCover)({ctx:t,variant:"band",copy:{productName:"KPI Card",title:"A KPI card."},hero:i(r=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(n),r.borderStrong),"hero"),heroAssets:n.assets,children:n.children})}},(0,template_utils_1.registerTemplate)(exports.AlpineKpiCardV2);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var t=Object.defineProperty;var e=(r,d)=>t(r,"name",{value:d,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineLeaderboard=void 0;var leaderboard_1=require("./leaderboard");Object.defineProperty(exports,"AlpineLeaderboard",{enumerable:!0,get:e(function(){return leaderboard_1.AlpineLeaderboard},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var _e=Object.defineProperty;var s=(t,a)=>_e(t,"name",{value:a,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineLeaderboard=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),DEFAULT_PRESET="light",DEFAULT_RENDER_MODE="premium",DEFAULT_ANIM={renderMode:DEFAULT_RENDER_MODE,introFrac:.7,countUp:!0,easing:"easeOut",reduceMotion:!1},MAX_ROWS=8,MEDALS_LIGHT=["#F59E0B","#1E293B","#B45309"],MEDALS_DARK=["#F59E0B","#64748B","#D97706"],REST_LIGHT="#E2E8F0",REST_DARK="#334155";function tcell(t,a,o,l){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t||" "},style:{fontSize:a,fontColor:o},placement:{fit:"contain",hAlign:l,vAlign:"middle"}}]}}s(tcell,"tcell");function exprCell(t,a,o,l){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:t,eval:"frame"},style:{fontSize:a,fontColor:o},placement:{hAlign:l,vAlign:"middle"}}]}}s(exprCell,"exprCell");function fadeIn(t,a,o,l){var n;if(!l)return t;const u=(n=t.overlay)!==null&&n!==void 0?n:{};return{...t,overlay:{...u,alpha:(0,template_utils_1.fadeInExpr)(a,o)}}}s(fadeIn,"fadeIn");function onColor(t,a,o){const l=/^#?([0-9a-f]{6})/i.exec(String(t));if(!l)return a;const n=parseInt(l[1],16);return(.2126*(n>>16&255)+.7152*(n>>8&255)+.0722*(n&255))/255>.6?o:a}s(onColor,"onColor");const propsSchema=(0,template_utils_1.definePropsSchema)({items:{type:"array",required:!0,description:"Leaderboard rows. Each: name, value, optional Display label + color. Auto-sorted by value unless preSorted.",meta:{control:{flavor:"objectRows",columns:[{label:"Name",key:"name",kind:"text",placeholder:"Entry"},{label:"Value",key:"value",kind:"number"},{label:"Display",key:"valueLabel",kind:"text",placeholder:"auto"},{label:"Color",key:"color",kind:"color"}]},ui:{label:"Items",order:1}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., TOP CONTRIBUTORS"},ui:{label:"Title",order:2}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{ui:{label:"Subtitle",order:3}}},valuePrefix:{type:"string",required:!1,description:'Prepended to derived values (e.g. "$").',meta:{control:{placeholder:"none"},ui:{label:"Value Prefix",order:4}}},valueSuffix:{type:"string",required:!1,description:'Appended to derived values (e.g. " pts").',meta:{control:{placeholder:"none"},ui:{label:"Value Suffix",order:5}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:6}}},showValue:{type:"boolean",required:!1,description:"Show the per-row value.",meta:{ui:{label:"Show value",order:7}}},podiumTint:{type:"boolean",required:!1,description:"Soft medal-tint the top-3 rows.",meta:{ui:{label:"Podium tint",order:8}}},preSorted:{type:"boolean",required:!1,description:"Keep input order instead of auto-sorting by value (desc).",meta:{ui:{label:"Pre-sorted",order:9}}},anim:{type:"group",required:!1,description:"Reveal mode + row-cascade intro.",meta:{ui:{label:"Animation",order:10,collapsedByDefault:!0}},fields:{renderMode:(0,alpine_anim_1.fEnum)("Render mode",["premium","light"],'"premium" (default): rows cascade in via alpha fade \u2014 a geq per faded leaf. "light": the same via free enable-gate pops \u2014 no geq, composable, cheap when nested.'),reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,countUp:(0,alpine_anim_1.fBool)("Count up","Count each value up on intro."),easing:alpine_anim_1.ALPINE_ANIM_FIELDS.easing}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",meta:{ui:{label:"Theme",order:11,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}},debugLayout:{type:"boolean",required:!1,description:"Dev-only layout contract view: renders the contract wireframe instead of the board \u2014 rows GREEN with the measured rule when all equal-size, offenders RED when not. Deterministic false default; production never sets it.",meta:{ui:{label:"Debug layout",order:12}}}});exports.AlpineLeaderboard={id:(0,types_1.asTemplateId)("@m0saic/alpine/leaderboard/v1"),label:"Alpine Leaderboard",version:1,description:"Alpine leaderboard \u2014 friendly mobile-marketing card: a ranked list with gold/silver/bronze rank badges, names, count-up values, and a soft podium tint. Standalone Alpine brand flavor.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","alpine","leaderboard","ranking","animated","analysts","creators","top-10"],outputHints:{format:{kind:"video",container:"mp4"},width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{preSorted:!1,debugLayout:!1,theme:{forceFetch:!1},items:[{name:"Ava Chen",value:2840},{name:"Liam Patel",value:2615},{name:"Noah Kim",value:2390},{name:"Mia Garcia",value:1975},{name:"Ethan Wright",value:1640}],title:"TOP CONTRIBUTORS",subtitle:"This month",preset:DEFAULT_PRESET,podiumTint:!0,showValue:!0,anim:DEFAULT_ANIM},async render(t,a){var o,l,n,u,x,T,k,A;const b=Math.max(1,Math.round(a.target.width)),m=Math.max(1,Math.round(a.target.height)),P=((o=t.items)!==null&&o!==void 0?o:[]).map((e,r)=>({it:e,srcIndex:r})).filter(({it:e})=>e&&typeof e.name=="string"&&Number.isFinite(e.value));if(P.length===0)return(0,template_utils_1.makeErrorMosaic)("items[] must have at least one row",{title:`${this.id} props`,width:b,height:m});const g=await(0,alpine_theme_1.resolveAlpineTheme)((l=t.preset)!==null&&l!==void 0?l:DEFAULT_PRESET,a,t.theme),v={...DEFAULT_ANIM,...(n=t.anim)!==null&&n!==void 0?n:{}},B=!v.reduceMotion,Z=((u=v.renderMode)!==null&&u!==void 0?u:DEFAULT_RENDER_MODE)==="light",w=(x=t.showValue)!==null&&x!==void 0?x:!0,O=(T=t.podiumTint)!==null&&T!==void 0?T:!0,U=((k=t.preset)!==null&&k!==void 0?k:DEFAULT_PRESET)==="dark",ee=U?MEDALS_DARK:MEDALS_LIGHT,te=U?REST_DARK:REST_LIGHT,W=(t.preSorted?P.slice():P.slice().sort((e,r)=>r.it.value-e.it.value)).slice(0,MAX_ROWS),c=W.map(e=>e.it),h=c.length,C=s((e,r,i,d)=>(0,template_utils_1.bindPropPath)(e,"items",[W[r].srcIndex,i],d),"bindItem"),M=s(e=>{var r,i;return e.valueLabel!=null&&e.valueLabel!==""?e.valueLabel:`${(r=t.valuePrefix)!==null&&r!==void 0?r:""}${Math.round(e.value).toLocaleString("en-US")}${(i=t.valueSuffix)!==null&&i!==void 0?i:""}`},"valueText"),ae=s(e=>(0,alpine_card_1.resolveColor)(c[e].color,e<3?ee[e]:te),"badgeColor"),re=Math.max(.1,((A=a.target.durationMs)!==null&&A!==void 0?A:2e3)/1e3),Y=Math.max(.1,Math.min(1,v.introFrac)*re),H=Math.min(.12,Y*.08),G=.5,F=Math.max(.05,(Y-H)/(1+G*Math.max(0,h-1))),oe=G*F,y=(0,alpine_card_1.alpineCard)({theme:g,W:b,H:m,title:t.title,subtitle:t.subtitle}),L=y.contentRect,D=L.h,ne=Math.max(13,Math.round(m*.03)),ie=Math.max(1,...c.map(e=>M(e).length)),le=(b-2*Math.round(Math.min(b,m)*.055))*.2*.92,V=Math.max(11,Math.min(Math.round(m*.032),Math.floor(le/(ie*.62)))),se=Math.max(11,Math.round(m*.026)),_=s(e=>Math.max(8,Math.round(e/8)*8),"snap8"),p=_(Math.min(m*.11,(D-_(D*.02)*(h-1))/h)),I=_(Math.max(8,p*.22)),de=h*(p+I),E=Math.max(0,_((D-de)/2)),q=s(e=>Math.max(1,Math.round(e/L.w*100)),"wWeight"),N=q(p*.2),$=q(p*.78),z=q(p*.42),K=w?20:0,j=Math.max(10,100-N*2-$-z-K),ue=Math.max(1,...c.map(e=>{var r;return((r=e.name)!==null&&r!==void 0?r:"").length})),ce=Math.max(11,Math.min(ne,Math.floor(L.w*j/100*.88/(ue*.62)))),me=s(e=>{const r=H+e*oe,i=ae(e),d=e<3?onColor(i,"#FFFFFF",g.title):g.label,f=(0,alpine_card_1.overlay)([(0,alpine_card_1.paint)((0,template_utils_1.makeColorTile)(i,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.32}}})),(0,alpine_card_1.paint)((0,alpine_card_1.tag)(tcell(String(e+1),se,d,"center"),"rank"))]),be=(0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:3,node:f},{weight:1,node:alpine_card_1.EMPTY}]),we=(0,alpine_card_1.paint)(C((0,alpine_card_1.tag)(tcell(c[e].name,ce,g.title,"left"),"row-name"),e,"name","string")),Me=w?v.countUp&&B&&/\d/.test(M(c[e]))?(0,alpine_card_1.paint)(C((0,alpine_card_1.tag)(exprCell((0,template_utils_1.animateNumbersInText)(M(c[e]),{startSec:r,durationSec:F,ease:v.easing}),V,g.subtitle,"right"),"row-value"),e,"value","number")):(0,alpine_card_1.paint)(C((0,alpine_card_1.tag)(tcell(M(c[e]),V,g.subtitle,"right"),"row-value"),e,"value","number")):alpine_card_1.EMPTY,J=(0,alpine_card_1.colSplit)([{weight:N,node:alpine_card_1.EMPTY},{weight:$,node:be},{weight:z,node:alpine_card_1.EMPTY},{weight:j,node:we},...w?[{weight:K,node:Me}]:[],{weight:N,node:alpine_card_1.EMPTY}]),ye=e<3?.12:.55,Q=(0,template_utils_1.makeColorTile)(i,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.18}},overlay:{alpha:`${ye}`}});Q.editor={label:"row"};const R=O?(0,alpine_card_1.overlay)([(0,alpine_card_1.paint)(Q),J]):J;return B?Z?fe(R,r):ve(R,r,F):R},"row"),he=Math.max(2,Math.round(2*p/Math.max(1,I))),pe=(0,alpine_card_1.rowSplit)(Array.from({length:h},(e,r)=>({weight:1,node:(0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:he,node:me(r)},{weight:1,node:alpine_card_1.EMPTY}])}))),S=[];E>0&&S.push({weight:E,node:alpine_card_1.EMPTY}),S.push({weight:h*(p+I),node:pe}),E>0&&S.push({weight:E,node:alpine_card_1.EMPTY});const X=y.compose((0,alpine_card_1.rowSplit)(S)),ge={kind:"mosaic_document",version:1,assets:{},m0:X.m0,sources:X.sources,backgroundColor:y.backgroundColor,fps:a.target.fps,durationMs:a.target.durationMs};return Promise.resolve((0,template_utils_1.withLayoutContract)(ge,a,{templateId:"@m0saic/alpine/leaderboard/v1",relations:O&&h>=2?[{label:"row",equal:"size",tolerance:.02,tolerancePx:1}]:[],constraints:[...y.constraints,{label:"rank",textFits:{charWidthEm:.62}},{label:"row-name",textFits:{charWidthEm:.62}},...w?[{label:"row-value",textFits:{charWidthEm:.62}}]:[]],debug:t.debugLayout===!0}));function ve(e,r,i){return{m0:e.m0,sources:e.sources.map(d=>{var f;return!((f=d.overlay)===null||f===void 0)&&f.alpha?d:fadeIn(d,r,i,!0)})}}function fe(e,r){return{m0:e.m0,sources:e.sources.map(i=>{var d;return!((d=i.overlay)===null||d===void 0)&&d.enable?i:(0,alpine_anim_1.revealGate)(i,r,!0)})}}},async renderCover(t,a){const o=(0,onboarding_cover_1.brandedCoverHeroBox)(a,"band"),l={...a,target:{...a.target,width:o.width,height:o.height},output:{...a.output,width:o.width,height:o.height}},n=await exports.AlpineLeaderboard.render({...exports.AlpineLeaderboard.defaultProps,anim:{...DEFAULT_ANIM,renderMode:"light",reduceMotion:!0}},l);return(0,onboarding_cover_1.buildBrandedCover)({ctx:a,variant:"band",copy:{productName:"Leaderboard",title:"A leaderboard."},hero:s(u=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(n),u.borderStrong),"hero"),heroAssets:n.assets,children:n.children})}},(0,template_utils_1.registerTemplate)(exports.AlpineLeaderboard);
|
|
@@ -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.AlpineLineChart=void 0;var line_chart_1=require("./line-chart");Object.defineProperty(exports,"AlpineLineChart",{enumerable:!0,get:e(function(){return line_chart_1.AlpineLineChart},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var _e=Object.defineProperty;var h=(e,t)=>_e(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineLineChart=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("../../../charts/line-chart/v1/geometry"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),DEFAULT_PRESET="light",DEFAULT_CURVE="smooth",DEFAULT_GRID={show:!0,count:4},DEFAULT_AREA={show:!0,opacity:.14},DEFAULT_POINTS={show:!0},DEFAULT_ANIM={introFrac:.7,ease:"easeOut",reduceMotion:!1},SNAP_PX=4,EDGE_PAD=1.5;function niceAxis(e,t,a){if(t===e){const d=Math.abs(e)>0?Math.abs(e)*.1:1;return{min:e-d,max:t+d,step:d,ticks:[e-d,e,t+d]}}const i=Math.abs(t-e)/Math.max(1,a-1),o=!Number.isFinite(i)||i<=0?1:(0,dsl_stdlib_1.niceNum)(i,[1,2,2.5,5]),s=Math.floor(e/o)*o,u=Math.ceil(t/o)*o,p=[],g=o*1e-6;for(let d=s;d<=u+g;d+=o)p.push(Number(d.toFixed(6)));return{min:s,max:u,step:o,ticks:p}}h(niceAxis,"niceAxis");function formatCompact(e){const t=Math.abs(e),a=e<0?"-":"",r=h(i=>i.replace(/\.0+$/,""),"trim");return t>=1e9?a+r((t/1e9).toFixed(1))+"B":t>=1e6?a+r((t/1e6).toFixed(1))+"M":t>=1e3?a+r((t/1e3).toFixed(1))+"K":t>=100?a+Math.round(t).toString():a+r(t.toFixed(t<10?1:0))}h(formatCompact,"formatCompact");const clampInt=h((e,t,a)=>Math.max(t,Math.min(a,Math.round(e))),"clampInt");function placePiece(e,t,a,r,i){const o=h(w=>Math.floor((w-EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapDown"),s=h(w=>Math.ceil((w+EDGE_PAD)/SNAP_PX)*SNAP_PX,"snapUp"),u=clampInt(o(a.minX),0,e-1),p=clampInt(o(a.minY),0,t-1),g=clampInt(s(a.maxX),u+SNAP_PX,e),d=clampInt(s(a.maxY),p+SNAP_PX,t);return{rect:{x:u,y:p,w:g-u,h:d-p,claimant:"F",importance:r},source:i(g-u,d-p,u,p)}}h(placePiece,"placePiece");function maskPiece(e,t,a,r,i,o,s={}){return placePiece(e,t,a,r,(u,p,g,d)=>(0,template_utils_1.makeColorTile)(i,{mask:{kind:"inline-mask",localPath:o(g,d),bounds:{x:0,y:0,width:u,height:p}},...s.overlay?{overlay:s.overlay}:{}}))}h(maskPiece,"maskPiece");function packLayers(e,t,a){return a.length===0?[]:(0,dsl_stdlib_1.placeRects)({rootW:e,rootH:t,rects:a.map(i=>i.rect)}).layers.map(i=>{const o=[...i.rectIndices].sort((s,u)=>a[s].rect.y-a[u].rect.y||a[s].rect.x-a[u].rect.x);return{m0:String(i.m0),sources:o.map(s=>a[s].source)}})}h(packLayers,"packLayers");function chainLayers(e){if(e.length===0)return alpine_card_1.EMPTY;let t=e[e.length-1].m0;for(let a=e.length-2;a>=0;a--)t=`${e[a].m0}{${t}}`;return{m0:t,sources:e.flatMap(a=>a.sources)}}h(chainLayers,"chainLayers");function textBBox(e,t,a,r){const i=Math.max(r*1.5,a.length*r*.78+r),o=r*1.7;return{minX:e-i/2,minY:t-o/2,maxX:e+i/2,maxY:t+o/2}}h(textBBox,"textBBox");function textPiece(e,t,a,r,i,o,s,u,p,g){return placePiece(e,t,textBBox(r,i,o,s),a,()=>{const d=(0,alpine_card_1.textCell)(o,s,u,p,"middle");return g&&(d.overlay=g),d})}h(textPiece,"textPiece");function unionBBox(e){let t=1/0,a=1/0,r=-1/0,i=-1/0;for(const o of e)t=Math.min(t,o.minX),a=Math.min(a,o.minY),r=Math.max(r,o.maxX),i=Math.max(i,o.maxY);return{minX:t,minY:a,maxX:r,maxY:i}}h(unionBBox,"unionBBox");const r2=h(e=>Math.round(e*100)/100,"r2");function rectLocal(e,t,a,r){return`M ${r2(e)} ${r2(t)} L ${r2(e+a)} ${r2(t)} L ${r2(e+a)} ${r2(t+r)} L ${r2(e)} ${r2(t+r)} Z`}h(rectLocal,"rectLocal");function circlePolyLocal(e,t,a,r=28){let i="";for(let o=0;o<r;o++){const s=o/r*Math.PI*2,u=e+Math.cos(s)*a,p=t+Math.sin(s)*a;i+=`${o===0?"M":"L"} ${r2(u)} ${r2(p)} `}return i+"Z"}h(circlePolyLocal,"circlePolyLocal");const propsSchema=(0,template_utils_1.definePropsSchema)({values:{type:"number[]",required:!0,description:"Numeric series driving the line (left\u2192right).",meta:{constraints:{minItems:1},control:{flavor:"numberList"},ui:{label:"Values",order:1}}},labels:{type:"string[]",required:!1,description:"Category labels (index-aligned to values) along the x-axis.",meta:{ui:{label:"Category Labels",order:2,primary:!0}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., LINE CHART"},ui:{label:"Title",order:3}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{control:{placeholder:"e.g., Monthly Active Users"},ui:{label:"Subtitle",order:4}}},curve:{type:"string",required:!1,description:"Interpolation between points.",meta:{constraints:{oneOf:["smooth","linear","stepped"]},ui:{label:"Curve",order:5}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:6}}},lineColor:{type:"string",required:!1,description:"Line + marker color. Defaults to the resolved theme primary.",meta:{constraints:{isColor:!0},control:{placeholder:"theme primary",colorPicker:!0,defaultColor:"#2563EB"},ui:{label:"Line Color",order:7}}},grid:{type:"group",required:!1,description:"Gridlines + value ticks behind the line.",meta:{ui:{label:"Grid",order:8,collapsedByDefault:!0}},fields:{show:(0,alpine_anim_1.fBool)("Show","Draw horizontal gridlines + value ticks."),count:(0,alpine_anim_1.fNum)("Tick count","Number of horizontal gridlines/ticks.",{flavor:"slider",step:1},{min:2,max:8})}},area:{type:"group",required:!1,description:"Soft area fill under the line.",meta:{ui:{label:"Area",order:9,collapsedByDefault:!0}},fields:{show:(0,alpine_anim_1.fBool)("Show","Fill under the line."),opacity:(0,alpine_anim_1.fFrac)("Opacity","Area fill opacity (0..1).")}},points:{type:"group",required:!1,description:"Point markers at each data vertex.",meta:{ui:{label:"Points",order:10,collapsedByDefault:!0}},fields:{show:(0,alpine_anim_1.fBool)("Show","Draw a dot at each data vertex.")}},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:11,collapsedByDefault:!0}},fields:{minValue:(0,alpine_anim_1.fNum)("Min Value","Explicit domain minimum. Auto-derived when unset.",{placeholder:"data min"}),maxValue:(0,alpine_anim_1.fNum)("Max Value","Explicit domain maximum. Auto-derived when unset.",{placeholder:"data max"})}},anim:{type:"group",required:!1,description:"Left\u2192right draw-on intro.",meta:{ui:{label:"Animation",order:12,collapsedByDefault:!0}},fields:{reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,ease:(0,alpine_anim_1.fEnum)("Easing",["easeOut","smoothstep","easeInOut","linear"],"Intro draw-on easing curve.")}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",meta:{ui:{label:"Theme",order:13,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}}});exports.AlpineLineChart={id:(0,types_1.asTemplateId)("@m0saic/alpine/line-chart/v1"),label:"Alpine Line Chart",version:1,description:"Alpine line/area chart \u2014 friendly mobile-marketing card: soft area fill, rounded line, point markers, value rail, left\u2192right draw-on. Standalone Alpine brand flavor.",capabilities:{tier:"core"},primitive:!0,deprecated:{reason:"Absolute-placement antipattern: every mark (gridlines, axis, area, line, markers, labels) is a tight cell-local inline-mask placed DIRECTLY on the full canvas via placeRects, so a single coordinate system aligns them \u2014 but precision tracks the canvas (audit: ABSOLUTE, slope 1.08) and it pins its parent when nested. Use v2 \u2014 the SAME single-coordinate-system idea scoped to a RATIO plot cell: the marks are masks that fill that cell in plot-local coords (so they still register exactly), while the cell is a ratio split \u2192 bounded precision. Composes at any canvas.",replacement:(0,types_1.asTemplateId)("@m0saic/alpine/line-chart/v2"),since:"2026-07-09"},tags:["alpine","line-chart","chart","data-viz"],outputHints:{width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{theme:{forceFetch:!1},values:[12,19,15,25,22,30,28,36],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],title:"LINE CHART",subtitle:"Monthly Active Users",curve:DEFAULT_CURVE,preset:DEFAULT_PRESET,grid:DEFAULT_GRID,area:DEFAULT_AREA,points:DEFAULT_POINTS,anim:DEFAULT_ANIM},async render(e,t){var a,r,i,o,s,u,p,g,d,w,X,O;const f=Math.max(1,Math.round(t.target.width)),m=Math.max(1,Math.round(t.target.height)),I=((a=e.values)!==null&&a!==void 0?a:[]).filter(n=>Number.isFinite(n));if(I.length===0)return(0,template_utils_1.makeErrorMosaic)("values[] must be non-empty",{title:`${this.id} props`,width:f,height:m});const x=await(0,alpine_theme_1.resolveAlpineTheme)((r=e.preset)!==null&&r!==void 0?r:DEFAULT_PRESET,t,e.theme),H=(0,alpine_card_1.resolveColor)(e.lineColor,x.primary),me=(i=e.curve)!==null&&i!==void 0?i:DEFAULT_CURVE,q={...DEFAULT_GRID,...(o=e.grid)!==null&&o!==void 0?o:{}},Q={...DEFAULT_AREA,...(s=e.area)!==null&&s!==void 0?s:{}},ee={...DEFAULT_POINTS,...(u=e.points)!==null&&u!==void 0?u:{}},W={...DEFAULT_ANIM,...(p=e.anim)!==null&&p!==void 0?p:{}},Y=(g=e.labels)!==null&&g!==void 0?g:[],te=Y.length>0,S=I.length,E=(d=e.domain)!==null&&d!==void 0?d:{},he=Math.min(...I),pe=Math.max(...I),fe=E.minValue!=null&&E.maxValue!=null;let A,B,P;if(fe)A=E.minValue,B=E.maxValue,P=Math.max(1,q.count);else{const n=niceAxis((w=E.minValue)!==null&&w!==void 0?w:he,(X=E.maxValue)!==null&&X!==void 0?X:pe,q.count+1);A=n.min,B=n.max,P=Math.max(1,n.ticks.length-1)}const ge=B-A||1,j=(0,alpine_card_1.alpineCard)({theme:x,W:f,H:m,title:e.title,subtitle:e.subtitle}),y=j.contentRect,ae=Math.max(10,Math.round(m*.019)),T=Math.max(10,Math.round(m*.02)),ne=q.show,oe=ne?Math.max(Math.round(y.w*.07),ae*3):Math.round(y.w*.01),re=te?Math.round(T*2):0,C=Math.max(2,Math.round(Math.min(y.w,y.h)*.009)),G=Math.max(3,Math.round(C*1.5)),R=G+Math.max(1,Math.round(C*.6)),ie=(ee.show?R:C)+3,xe=Math.max(Math.round(m*.03),ie),v=y.x+oe,D=y.y+xe,M=y.x+y.w-v,z=y.y+y.h-re-D;if(M<24||z<24)return Promise.resolve((0,template_utils_1.makeErrorMosaic)("plot area too small",{title:`${this.id}`,width:f,height:m}));const J=Math.min(ie,M*.45),se=h(n=>S===1?v+M/2:v+J+n/(S-1)*(M-2*J),"xAt"),Z=h(n=>D+(1-Math.max(0,Math.min(1,(n-A)/ge)))*z,"yAt"),F=I.map((n,c)=>({x:se(c),y:Z(n)})),_=D+z,{poly:Me}=(0,geometry_1.curvePolyline)(F,me),$=Me.map(n=>({x:n.x,y:Math.max(D,Math.min(_,n.y))})),ye=Math.max(.1,((O=t.target.durationMs)!==null&&O!==void 0?O:2e3)/1e3),ve=Math.max(.1,Math.min(1,W.introFrac)*ye),be=!W.reduceMotion,le=$.length>=2,L=[],V=Math.max(1,Math.round(m*.0016)),U=Math.max(1,Math.round(m*.0022)),ke=Math.max(0,Math.min(1,Q.opacity));if(q.show&&P>=1){const n=Array.from({length:P+1},(l,b)=>Z(A+b/P*(B-A))),c=unionBBox(n.map(l=>({minX:v,maxX:v+M,minY:l-V/2,maxY:l+V/2})));L.push(maskPiece(f,m,c,0,x.grid,(l,b)=>n.map(N=>rectLocal(v-l,N-b-V/2,M,V)).join(" "),x.gridAlpha<1?{overlay:{alpha:`${x.gridAlpha}`}}:{}))}if(L.push(maskPiece(f,m,{minX:v,maxX:v+M,minY:_-U/2,maxY:_+U/2},1,x.axis,(n,c)=>rectLocal(v-n,_-c-U/2,M,U),x.axisAlpha<1?{overlay:{alpha:`${x.axisAlpha}`}}:{})),Q.show&&le){const n=h((c,l)=>$.map(b=>(0,geometry_1.local)(b,c,l)),"localPts");L.push(maskPiece(f,m,(0,geometry_1.areaBBox)($,_),2,H,(c,l)=>(0,geometry_1.areaPolygonPath)(n(c,l),_-l),{overlay:{alpha:`${ke}`}}))}le&&L.push(maskPiece(f,m,(0,geometry_1.polylineStrokeBBox)($,C),3,H,(n,c)=>(0,geometry_1.polylineStrokePath)($.map(l=>(0,geometry_1.local)(l,n,c)),C))),ee.show&&F.length>0&&(L.push(maskPiece(f,m,unionBBox(F.map(n=>(0,geometry_1.markerBBox)(n,R))),4,x.card,(n,c)=>F.map(l=>circlePolyLocal(l.x-n,l.y-c,R)).join(" "))),L.push(maskPiece(f,m,unionBBox(F.map(n=>(0,geometry_1.markerBBox)(n,G))),5,H,(n,c)=>F.map(l=>circlePolyLocal(l.x-n,l.y-c,G)).join(" "))));const K=[];if(ne)for(let n=0;n<=P;n++){const c=A+n/P*(B-A),l=Z(c);K.push(textPiece(f,m,0,y.x+oe*.5,l,formatCompact(c),ae,x.muted,"center"))}if(te){const n=_+re*.5,c=S>1?(M-2*J)/(S-1):M,b=Y.reduce((k,de)=>de?Math.max(k,de.length):k,0)*T*.62+T,N=Math.max(1,Math.ceil((b+T*.5)/Math.max(1,c)));for(let k=0;k<S;k++)k%N===0&&Y[k]&&K.push(textPiece(f,m,0,se(k),n,Y[k],T,x.label,"center"))}const ce=[];if(be){const n=clampInt(D-(R+3),0,m-1),c=clampInt(_+C+2-n,1,m-n),l=(0,template_utils_1.easingExpr)(W.ease,`min(1,max(0,t/${ve}))`),b=`(${M})*(${l})`,N={rect:{x:v,y:n,w:M,h:c,claimant:"F",importance:0},source:(0,template_utils_1.makeColorTile)(x.card,{overlay:{xExpr:b}})};ce.push(...packLayers(f,m,[N]))}const Ae=chainLayers([...packLayers(f,m,L),...packLayers(f,m,K),...ce]),ue=j.compose(alpine_card_1.EMPTY,Ae);return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:ue.m0,sources:ue.sources,backgroundColor:j.backgroundColor,fps:t.target.fps,durationMs:t.target.durationMs})}},(0,template_utils_1.registerTemplate)(exports.AlpineLineChart);
|
|
@@ -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.AlpineLineChartV2=void 0;var line_chart_1=require("./line-chart");Object.defineProperty(exports,"AlpineLineChartV2",{enumerable:!0,get:e(function(){return line_chart_1.AlpineLineChartV2},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var We=Object.defineProperty;var m=(t,a)=>We(t,"name",{value:a,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineLineChartV2=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("../../../charts/line-chart/v1/geometry"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),DEFAULT_PRESET="light",DEFAULT_CURVE="smooth",DEFAULT_GRID={show:!0,count:4},DEFAULT_AREA={show:!0,opacity:.22},DEFAULT_POINTS={show:!0},DEFAULT_ANIM={introFrac:.7,ease:"easeOut",reduceMotion:!1};function niceAxis(t,a,o){if(a===t){const p=Math.abs(t)>0?Math.abs(t)*.1:1;return{min:t-p,max:a+p,step:p,ticks:[t-p,t,a+p]}}const s=Math.abs(a-t)/Math.max(1,o-1),n=!Number.isFinite(s)||s<=0?1:(0,dsl_stdlib_1.niceNum)(s,[1,2,2.5,5]),g=Math.floor(t/n)*n,S=Math.ceil(a/n)*n,F=[],V=n*1e-6;for(let p=g;p<=S+V;p+=n)F.push(Number(p.toFixed(6)));return{min:g,max:S,step:n,ticks:F}}m(niceAxis,"niceAxis");function formatCompact(t){const a=Math.abs(t),o=t<0?"-":"",r=m(s=>s.replace(/\.0+$/,""),"trim");return a>=1e9?o+r((a/1e9).toFixed(1))+"B":a>=1e6?o+r((a/1e6).toFixed(1))+"M":a>=1e3?o+r((a/1e3).toFixed(1))+"K":a>=100?o+Math.round(a).toString():o+r(a.toFixed(a<10?1:0))}m(formatCompact,"formatCompact");const r2=m(t=>Math.round(t*100)/100,"r2");function rectLocal(t,a,o,r){return`M ${r2(t)} ${r2(a)} L ${r2(t+o)} ${r2(a)} L ${r2(t+o)} ${r2(a+r)} L ${r2(t)} ${r2(a+r)} Z`}m(rectLocal,"rectLocal");function circlePolyLocal(t,a,o,r=28){let s="";for(let n=0;n<r;n++){const g=n/r*Math.PI*2;s+=`${n===0?"M":"L"} ${r2(t+Math.cos(g)*o)} ${r2(a+Math.sin(g)*o)} `}return s+"Z"}m(circlePolyLocal,"circlePolyLocal");const propsSchema=(0,template_utils_1.definePropsSchema)({values:{type:"number[]",required:!0,description:"Numeric series driving the line (left\u2192right).",meta:{constraints:{minItems:1},control:{flavor:"numberList"},ui:{label:"Values",order:1}}},labels:{type:"string[]",required:!1,description:"Category labels (index-aligned to values) along the x-axis.",meta:{ui:{label:"Category Labels",order:2,primary:!0}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., LINE CHART"},ui:{label:"Title",order:3}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{control:{placeholder:"e.g., Monthly Active Users"},ui:{label:"Subtitle",order:4}}},curve:{type:"string",required:!1,description:"Interpolation between points.",meta:{constraints:{oneOf:["smooth","linear","stepped"]},ui:{label:"Curve",order:5}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:6}}},lineColor:{type:"string",required:!1,description:"Line + marker color. Defaults to the resolved theme primary.",meta:{constraints:{isColor:!0},control:{placeholder:"theme primary",colorPicker:!0,defaultColor:"#2563EB"},ui:{label:"Line Color",order:7}}},grid:{type:"group",required:!1,description:"Gridlines + value ticks behind the line.",meta:{ui:{label:"Grid",order:8,collapsedByDefault:!0}},fields:{show:(0,alpine_anim_1.fBool)("Show","Draw horizontal gridlines + value ticks."),count:(0,alpine_anim_1.fNum)("Tick count","Number of horizontal gridlines/ticks.",{flavor:"slider",step:1},{min:2,max:8})}},area:{type:"group",required:!1,description:"Soft area fill under the line.",meta:{ui:{label:"Area",order:9,collapsedByDefault:!0}},fields:{show:(0,alpine_anim_1.fBool)("Show","Fill under the line."),opacity:(0,alpine_anim_1.fFrac)("Opacity","Area fill opacity (0..1).")}},points:{type:"group",required:!1,description:"Point markers at each data vertex.",meta:{ui:{label:"Points",order:10,collapsedByDefault:!0}},fields:{show:(0,alpine_anim_1.fBool)("Show","Draw a dot at each data vertex.")}},showTicks:{type:"boolean",required:!1,description:"Small vertical ticks on the x-axis at each labeled data point (classic chart look). Default true.",meta:{ui:{label:"Axis ticks",order:10}}},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:11,collapsedByDefault:!0}},fields:{minValue:(0,alpine_anim_1.fNum)("Min Value","Explicit domain minimum. Auto-derived when unset.",{placeholder:"data min"}),maxValue:(0,alpine_anim_1.fNum)("Max Value","Explicit domain maximum. Auto-derived when unset.",{placeholder:"data max"})}},anim:{type:"group",required:!1,description:"Left\u2192right draw-on intro.",meta:{ui:{label:"Animation",order:12,collapsedByDefault:!0}},fields:{reduceMotion:alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,introFrac:alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,ease:(0,alpine_anim_1.fEnum)("Easing",["easeOut","smoothstep","easeInOut","linear"],"Intro draw-on easing curve.")}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",meta:{ui:{label:"Theme",order:13,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}},debugLayout:{type:"boolean",required:!1,description:"Dev-only layout contract view: renders the contract wireframe instead of the chart \u2014 x-axis ticks GREEN when each sits on its data point's x, offenders RED. Deterministic false default; production never sets it.",meta:{ui:{label:"Debug layout",order:13}}}});exports.AlpineLineChartV2={id:(0,types_1.asTemplateId)("@m0saic/alpine/line-chart/v2"),label:"Alpine Line Chart",version:2,description:"Alpine line/area chart \u2014 friendly mobile-marketing card: soft area fill, rounded line, point markers, value rail, left\u2192right draw-on. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (plot marks are masks filling a ratio plot cell in plot-local coords) so it composes at any canvas without the absolute-placement precision blowup.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","alpine","line-chart","animated","analysts","developers","trend","dashboard"],outputHints:{format:{kind:"video",container:"mp4"},width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{showTicks:!0,debugLayout:!1,theme:{forceFetch:!1},values:[12,19,15,25,22,30,28,36],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],title:"LINE CHART",subtitle:"Monthly Active Users",curve:DEFAULT_CURVE,preset:DEFAULT_PRESET,grid:DEFAULT_GRID,area:DEFAULT_AREA,points:DEFAULT_POINTS,anim:DEFAULT_ANIM},async render(t,a){var o,r,s,n,g,S,F,V,p,X,Q,ee;const te=Math.max(1,Math.round(a.target.width)),x=Math.max(1,Math.round(a.target.height)),$=((o=t.values)!==null&&o!==void 0?o:[]).filter(e=>Number.isFinite(e));if($.length===0)return(0,template_utils_1.makeErrorMosaic)("values[] must be non-empty",{title:`${this.id} props`,width:te,height:x});const u=await(0,alpine_theme_1.resolveAlpineTheme)((r=t.preset)!==null&&r!==void 0?r:DEFAULT_PRESET,a,t.theme),ae=(0,alpine_card_1.resolveColor)(t.lineColor,u.primary),_e=(s=t.curve)!==null&&s!==void 0?s:DEFAULT_CURVE,U={...DEFAULT_GRID,...(n=t.grid)!==null&&n!==void 0?n:{}},he={...DEFAULT_AREA,...(g=t.area)!==null&&g!==void 0?g:{}},H={...DEFAULT_POINTS,...(S=t.points)!==null&&S!==void 0?S:{}},oe={...DEFAULT_ANIM,...(F=t.anim)!==null&&F!==void 0?F:{}},D=(V=t.labels)!==null&&V!==void 0?V:[],B=D.length>0,A=$.length,N=(p=t.domain)!==null&&p!==void 0?p:{},Le=Math.min(...$),Pe=Math.max(...$),Ee=N.minValue!=null&&N.maxValue!=null;let b,R,P;if(Ee)b=N.minValue,R=N.maxValue,P=Math.max(1,U.count);else{const e=niceAxis((X=N.minValue)!==null&&X!==void 0?X:Le,(Q=N.maxValue)!==null&&Q!==void 0?Q:Pe,U.count+1);b=e.min,R=e.max,P=Math.max(1,e.ticks.length-1)}const Te=R-b||1,Y=(0,alpine_card_1.alpineCard)({theme:u,W:te,H:x,title:t.title,subtitle:t.subtitle}),M=Y.contentRect,ne=Math.max(10,Math.round(x*.019)),v=Math.max(10,Math.round(x*.02)),W=U.show,E=W?Math.max(Math.round(M.w*.07),ne*3):Math.round(M.w*.01),O=B?Math.round(v*2):0,q=Math.max(2,Math.round(Math.min(M.w,M.h)*.009)),ue=Math.max(3,Math.round(q*1.5)),K=ue+Math.max(1,Math.round(q*.6)),pe=Math.max(Math.round(x*.03),(H.show?K:q)+3),i=Math.max(1,M.w-E),Se=t.showTicks!==!1,y=Math.max(1,M.h-pe-O);if(i<24||y<24)return Promise.resolve((0,template_utils_1.makeErrorMosaic)("plot area too small",{title:`${this.id}`,width:te,height:x}));const ie=H.show?K+1:q,j=Math.min((H.show?K:q)+2,i*.45),re=m(e=>A===1?i/2:j+e/(A-1)*(i-2*j),"xAt"),G=m(e=>ie+(1-Math.max(0,Math.min(1,(e-b)/Te)))*(y-2*ie),"yAt"),z=$.map((e,d)=>({x:re(d),y:G(e)})),J=G(b),{poly:Fe}=(0,geometry_1.curvePolyline)(z,_e),se=Fe.map(e=>({x:e.x,y:Math.max(ie,Math.min(J,e.y))})),me=se.length>=2,De=Math.max(.1,((ee=a.target.durationMs)!==null&&ee!==void 0?ee:2e3)/1e3),Ne=Math.max(.1,Math.min(1,oe.introFrac)*De),qe=!oe.reduceMotion,Ie={x:0,y:0,width:i,height:y},I=m((e,d,h)=>(0,template_utils_1.makeColorTile)(e,{mask:{kind:"inline-mask",localPath:d,bounds:Ie},...h?{overlay:h}:{}}),"plotMask"),Me=Math.max(1,Math.round(x*.0016)),le=Math.max(1,Math.round(x*.0022)),Ve=Math.max(0,Math.min(1,he.opacity)),w=[];if(U.show&&P>=1){const e=Array.from({length:P+1},(d,h)=>G(b+h/P*(R-b)));w.push((0,alpine_card_1.paint)(I(u.grid,e.map(d=>rectLocal(0,d-Me/2,i,Me)).join(" "),u.gridAlpha<1?{alpha:`${u.gridAlpha}`}:void 0)))}if(w.push((0,alpine_card_1.paint)(I(u.axis,rectLocal(0,J-le/2,i,le),u.axisAlpha<1?{alpha:`${u.axisAlpha}`}:void 0))),he.show&&me&&w.push((0,alpine_card_1.paint)((0,template_utils_1.bindProp)(I(ae,(0,geometry_1.areaPolygonPath)(se,J),{alpha:`${Ve}`}),"lineColor"))),me&&w.push((0,alpine_card_1.paint)((0,template_utils_1.bindProp)(I(ae,(0,geometry_1.polylineStrokePath)(se,q)),"lineColor"))),H.show&&z.length>0&&(w.push((0,alpine_card_1.paint)(I(u.card,z.map(e=>circlePolyLocal(e.x,e.y,K)).join(" ")))),w.push((0,alpine_card_1.paint)((0,template_utils_1.bindProp)(I(ae,z.map(e=>circlePolyLocal(e.x,e.y,ue)).join(" ")),"lineColor")))),qe){const e=(0,template_utils_1.easingExpr)(oe.ease,`min(1,max(0,t/${Ne}))`);w.push((0,alpine_card_1.paint)((0,template_utils_1.makeColorTile)(u.card,{overlay:{xExpr:`(w)*(${e})`}})))}const Z=[];if(B){const e=A>1?(i-2*j)/(A-1):i,h=D.reduce((l,_)=>_?Math.max(l,_.length):l,0)*v*.72+v,C=Math.max(1,Math.ceil((h+v*.5)/Math.max(1,e)));for(let l=0;l<A;l++)l%C===0&&D[l]&&Z.push(l)}const f=120,T=[],fe=[];if(Se&&Z.length>=2){const e=Math.max(6,Math.round(x*.012)),d=Math.max(0,Math.min(f-2,Math.round((J+le/2)/y*f))),h=Math.max(2,Math.round(e/y*f)),C=i/f,l=Math.max(0,Math.min(.45,(1-3/Math.max(3,C))/2));for(const _ of Z){const c=Math.max(0,Math.min(f-1,Math.round(re(_)/i*f-.5)));T.push(c+.5);const k=(0,template_utils_1.makeColorTile)(u.axis,{overlay:{alpha:`${u.axisAlpha}`},...l>0?{placement:{inset:{x:l}}}:{}});k.editor={label:"x-tick"};const L=(0,alpine_card_1.colSplit)([...c>0?[{weight:c,node:alpine_card_1.EMPTY}]:[],{weight:1,node:(0,alpine_card_1.paint)(k)},...f-1-c>0?[{weight:f-1-c,node:alpine_card_1.EMPTY}]:[]]);fe.push((0,alpine_card_1.rowSplit)([...d>0?[{weight:d,node:alpine_card_1.EMPTY}]:[],{weight:h,node:L},...f-d-h>0?[{weight:f-d-h,node:alpine_card_1.EMPTY}]:[]]))}}for(const e of fe)w.push(e);const ge=(0,alpine_card_1.overlay)(w),ce=Math.round(ne*1.8),$e=W?(0,alpine_card_1.overlay)(Array.from({length:P+1},(e,d)=>{const h=b+d/P*(R-b),C=G(h),l=Math.max(0,Math.min(y-ce,Math.round(C-ce/2)));return(0,alpine_card_1.insetNode)((0,alpine_card_1.paint)((0,alpine_card_1.tag)((0,alpine_card_1.textCell)(formatCompact(h),ne,u.muted,"right"),"y-tick-label")),l,Math.round(E*.16),y-l-ce,0,E,y)})):alpine_card_1.EMPTY;let xe=alpine_card_1.EMPTY;if(B){const e=A>1?(i-2*j)/(A-1):i,h=D.reduce((c,k)=>k?Math.max(c,k.length):c,0)*v*.72+v,C=Math.max(1,Math.ceil((h+v*.5)/Math.max(1,e))),l=Math.max(v*2,Math.round(e*C)),_=[];for(let c=0;c<A;c++){if(c%C!==0||!D[c])continue;const k=re(c),L=l,we=k<L/2,ke=k>i-L/2,Ae=we?0:ke?i-L:Math.max(0,Math.min(i-L,Math.round(k-L/2))),Ye=we?"left":ke?"right":"center",Ce=(0,alpine_card_1.textCell)(D[c],v,u.label,Ye);Ce.editor={label:"x-label"},_.push((0,alpine_card_1.insetNode)((0,alpine_card_1.paint)((0,template_utils_1.bindProp)(Ce,"labels",c)),0,i-Ae-L,0,Ae,i,O))}xe=_.length?(0,alpine_card_1.overlay)(_):alpine_card_1.EMPTY}const de=m(e=>Math.max(1,Math.round(e/M.h*100)),"wH"),Be=W?(0,alpine_card_1.colSplit)([{weight:Math.max(1,Math.round(E/M.w*100)),node:$e},{weight:Math.max(1,100-Math.round(E/M.w*100)),node:ge}]):ge,Re=B?(0,alpine_card_1.colSplit)([{weight:Math.max(1,Math.round(E/M.w*100)),node:alpine_card_1.EMPTY},{weight:Math.max(1,100-Math.round(E/M.w*100)),node:xe}]):alpine_card_1.EMPTY,be=[{weight:de(pe),node:alpine_card_1.EMPTY},{weight:de(y),node:Be}];O>0&&be.push({weight:de(O),node:Re});const Ue=(0,alpine_card_1.rowSplit)(be),ve=Y.compose(Ue),He={kind:"mosaic_document",version:1,assets:{},m0:ve.m0,sources:ve.sources,backgroundColor:Y.backgroundColor,fps:a.target.fps,durationMs:a.target.durationMs},ye=T.length>=2?T.map(e=>(e-T[0])/Math.max(1e-6,T[T.length-1]-T[0])):[];return Promise.resolve((0,template_utils_1.withLayoutContract)(He,a,{templateId:"@m0saic/alpine/line-chart/v2",relations:[],constraints:[...ye.length?[{label:"x-tick",xCentersFrac:ye,centerToleranceFrac:.06}]:[],...Y.constraints,...B&&Z.length>0?[{label:"x-label",textFits:{}}]:[],...W?[{label:"y-tick-label",textFits:{charWidthEm:.62}}]:[]],debug:t.debugLayout===!0}))},async renderCover(t,a){const o=(0,onboarding_cover_1.brandedCoverHeroBox)(a,"band"),r={...a,target:{...a.target,width:o.width,height:o.height},output:{...a.output,width:o.width,height:o.height}},s=await exports.AlpineLineChartV2.render({...exports.AlpineLineChartV2.defaultProps,anim:{...DEFAULT_ANIM,reduceMotion:!0}},r);return(0,onboarding_cover_1.buildBrandedCover)({ctx:a,variant:"band",copy:{productName:"Line Chart",title:"A line chart."},hero:m(n=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(s),n.borderStrong),"hero"),heroAssets:s.assets,children:s.children})}},(0,template_utils_1.registerTemplate)(exports.AlpineLineChartV2);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var t=Object.defineProperty;var e=(r,s)=>t(r,"name",{value:s,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineProgressCard=void 0;var progress_card_1=require("./progress-card");Object.defineProperty(exports,"AlpineProgressCard",{enumerable:!0,get:e(function(){return progress_card_1.AlpineProgressCard},"get")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var ke=Object.defineProperty;var l=(t,r)=>ke(t,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlpineProgressCard=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),alpine_card_1=require("../../_shared/alpine-card"),alpine_theme_1=require("../../_shared/alpine-theme"),alpine_anim_1=require("../../_shared/alpine-anim"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),DEFAULT_PRESET="light",DEFAULT_RADIUS=.5,DEFAULT_ANIM={introFrac:.7,countUp:!0,easing:"easeOut",reduceMotion:!1},MAX_ITEMS=8;function rightText(t,r,n){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t||" "},style:{fontSize:r,fontColor:n},placement:{fit:"contain",hAlign:"right",vAlign:"middle"}}]}}l(rightText,"rightText");function rightExprText(t,r,n){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:t,eval:"frame"},style:{fontSize:r,fontColor:n},placement:{hAlign:"right",vAlign:"middle"}}]}}l(rightExprText,"rightExprText");function leftText(t,r,n){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t||" "},style:{fontSize:r,fontColor:n},placement:{fit:"contain",hAlign:"left",vAlign:"middle"}}]}}l(leftText,"leftText");function clamp01(t){return Math.max(0,Math.min(1,t))}l(clamp01,"clamp01");function deriveValueLabel(t,r){return t.valueLabel!=null&&t.valueLabel!==""?t.valueLabel:`${Math.round(r*100)}%`}l(deriveValueLabel,"deriveValueLabel");const propsSchema=(0,template_utils_1.definePropsSchema)({items:{type:"array",required:!0,description:'Progress rows. Each: label, value (bare = 0\u2013100 %), optional max (value/max \u2192 %), optional Display (overrides the % with any text e.g. "$680K", "680 / 1000 GB"), optional color.',meta:{control:{flavor:"objectRows",columns:[{label:"Label",key:"label",kind:"text",placeholder:"Goal"},{label:"Value",key:"value",kind:"number"},{label:"Max",key:"max",kind:"number"},{label:"Display",key:"valueLabel",kind:"text",placeholder:"auto (%)"},{label:"Color",key:"color",kind:"color"}],palette:alpine_theme_1.ALPINE_PALETTE},ui:{label:"Items",order:1}}},title:{type:"string",required:!1,description:"Card title.",meta:{control:{placeholder:"e.g., QUARTERLY GOALS"},ui:{label:"Title",order:2}}},subtitle:{type:"string",required:!1,description:"Card subtitle.",meta:{ui:{label:"Subtitle",order:3}}},preset:{type:"string",required:!1,description:"Alpine theme variant.",meta:{constraints:{oneOf:["light","dark"]},ui:{label:"Preset",order:4}}},showValue:{type:"boolean",required:!1,description:"Show the per-row value label.",meta:{ui:{label:"Show value",order:5}}},barColor:{type:"string",required:!1,description:"Bar color for ALL rows (per-item color still wins). Defaults to the Alpine palette per row.",meta:{constraints:{isColor:!0},control:{placeholder:"palette (per item)",colorPicker:!0,defaultColor:"#2563EB"},ui:{label:"Bar Color",order:6}}},trackColor:{type:"string",required:!1,description:"Track (unfilled) color. Defaults to a soft theme grid tone.",meta:{constraints:{isColor:!0},control:{placeholder:"theme grid tone",colorPicker:!0,defaultColor:"#E2E8F0"},ui:{label:"Track Color",order:7}}},bars:{type:"group",required:!1,description:"Bar geometry.",meta:{ui:{label:"Bars",order:8,collapsedByDefault:!0}},fields:{cornerRadius:(0,alpine_anim_1.fFrac)("Bar rounding","Bar/track rounding (0..1).")}},anim:{type:"group",required:!1,description:"Fill-in intro (count-up + geq-free bar grow).",meta:{ui:{label:"Animation",order:9,collapsedByDefault:!0}},fields:{...alpine_anim_1.ALPINE_ANIM_FIELDS,countUp:(0,alpine_anim_1.fBool)("Count up","Count the value up on intro.")}},theme:{type:"group",required:!1,description:"Opt into a theme source. Uses the preset palette by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",meta:{ui:{label:"Theme",order:10,collapsedByDefault:!0}},fields:{slug:(0,alpine_anim_1.fStr)("Producer slug",'Producer template to seed tokens from (e.g. "@m0saic/theming/v1").',"preset palette (no producer)"),preset:(0,alpine_anim_1.fStr)("Preset","Producer preset/variant (light | dark | high-contrast; producer-defined).","producer default"),namespace:(0,alpine_anim_1.fStr)("Namespace",'Upstream alias to read tokens from. Default "theme".',"theme"),forceFetch:(0,alpine_anim_1.fBool)("Force fetch","Re-seed via the slug even if the namespace is populated.")}},debugLayout:{type:"boolean",required:!1,description:"Dev-only: draw the layout contract (tracks equal-size, text fits its slot) instead of the card.",meta:{ui:{label:"Debug layout",order:11}}}});exports.AlpineProgressCard={id:(0,types_1.asTemplateId)("@m0saic/alpine/progress-card/v1"),label:"Alpine Progress Card",version:1,description:"Alpine progress card \u2014 friendly mobile-marketing card: a list of goal rows, each a label + value over a rounded track with a colored fill grown to its fraction. Standalone Alpine brand flavor.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","alpine","progress","goals","animated","analysts","marketers","goal","milestone"],outputHints:{format:{kind:"video",container:"mp4"},width:1280,height:800,fps:30,durationMs:2e3},propsSchema,defaultProps:{debugLayout:!1,theme:{forceFetch:!1},items:[{label:"Q4 Sales",value:68},{label:"New Users",value:84},{label:"Retention",value:92},{label:"NPS Target",value:45}],title:"QUARTERLY GOALS",subtitle:"Progress to target",preset:DEFAULT_PRESET,bars:{cornerRadius:DEFAULT_RADIUS},showValue:!0,anim:DEFAULT_ANIM},async render(t,r){var n,b,d,f,P,E,A;const T=Math.max(1,Math.round(r.target.width)),u=Math.max(1,Math.round(r.target.height)),_=((n=t.items)!==null&&n!==void 0?n:[]).map((e,o)=>({it:e,srcIndex:o})).filter(({it:e})=>e&&typeof e.label=="string").slice(0,MAX_ITEMS),s=_.map(e=>e.it);if(s.length===0)return Promise.resolve((0,template_utils_1.makeErrorMosaic)("items[] must have at least one row",{title:`${this.id} props`,width:T,height:u}));const v=await(0,alpine_theme_1.resolveAlpineTheme)((b=t.preset)!==null&&b!==void 0?b:DEFAULT_PRESET,r,t.theme),m={...DEFAULT_ANIM,...(d=t.anim)!==null&&d!==void 0?d:{}},N=Math.max(0,Math.min(1,(P=(f=t.bars)===null||f===void 0?void 0:f.cornerRadius)!==null&&P!==void 0?P:DEFAULT_RADIUS)),w=(E=t.showValue)!==null&&E!==void 0?E:!0,ne=(0,alpine_card_1.resolveColor)(t.trackColor,v.grid),g=!m.reduceMotion,p=s.length,Y=s.map(e=>e.max&&e.max>0?clamp01(e.value/e.max):clamp01(e.value/100)),ie=s.map((e,o)=>{var a;return(0,alpine_card_1.resolveColor)((a=e.color)!==null&&a!==void 0?a:t.barColor,alpine_theme_1.ALPINE_PALETTE[o%alpine_theme_1.ALPINE_PALETTE.length])}),M=s.map((e,o)=>deriveValueLabel(e,Y[o])),H=l((e,o,a,i)=>(0,template_utils_1.bindPropPath)(e,"items",[_[o].srcIndex,a],i),"bindItem"),se=l(e=>e.valueLabel!=null&&e.valueLabel!==""?{field:"valueLabel",kind:"string"}:e.max&&e.max>0?null:{field:"value",kind:"number"},"valueLeaf"),V=l((e,o)=>{const a=se(s[o]);return a?H(e,o,a.field,a.kind):e},"bindValueText"),ce=Math.max(.1,((A=r.target.durationMs)!==null&&A!==void 0?A:2e3)/1e3),G=Math.max(.1,Math.min(1,m.introFrac)*ce),S=Math.min(.15,G*.08),O=.45,L=Math.max(.05,(G-S)/(1+O*Math.max(0,p-1))),$=O*L,x=(0,alpine_card_1.alpineCard)({theme:v,W:T,H:u,title:t.title,subtitle:t.subtitle}),y=x.contentRect,U=y.h;if(y.w<60||U<40)return Promise.resolve((0,template_utils_1.makeErrorMosaic)("content area too small",{title:`${this.id}`,width:T,height:u}));const de=Math.max(1,...s.map(e=>(0,template_utils_1.textEmUnits)(e.label))),ue=Math.max(1,...M.map(e=>(0,template_utils_1.textEmUnits)(e))),K=y.w*(w?.7:1)*.88,Q=y.w*.3*.88,q=Math.max(11,Math.min(Math.round(u*.026),Math.floor(K/(de*.62)))),D=Math.max(11,Math.min(Math.round(u*.026),Math.floor(Q/(ue*.62)))),j=l((e,o,a)=>{const i=Math.max(2,o/(a*.62));if((0,template_utils_1.textEmUnits)(e)<=i)return e;let c="",h=1;for(const ae of e){const le=(0,template_utils_1.textEmUnits)(ae);if(h+le>i)break;c+=ae,h+=le}return`${c}\u2026`},"fitTo"),pe=l(e=>j(e,K,q),"fitLabel"),z=l(e=>j(e,Q,D),"fitValue"),k=l(e=>Math.max(8,Math.round(e/8)*8),"snap8"),W=k(u*.03),X=k(q*1.5),J=k(u*.012),C=X+J+W,Z=k(Math.max(C*.4,(U-p*C)/Math.max(1,p+1))),ee=p*C+(p-1)*Z,B=Math.max(0,k((U-ee)/2)),F=100,he=(0,template_utils_1.easingExpr)(m.easing,(0,template_utils_1.u01)(L)),me=l((e,o)=>{const a=ie[e],i={rounding:{cornerStyle:"rounded",borderRadius:N}},c=g?(0,template_utils_1.makeColorTile)(a,{effects:i,overlay:{startAtSec:o,xExpr:`-(w*(1-(${he})))`}}):(0,template_utils_1.makeColorTile)(a,{effects:i}),h=_[e].srcIndex;return(0,alpine_card_1.paint)((0,template_utils_1.bindProps)(c,[{propKey:"items",path:[h,"value"],kind:"number"},s[e].color!=null?{propKey:"items",path:[h,"color"],kind:"color"}:{propKey:"barColor"}]))},"fillTile"),ge=l(e=>{const o=S+e*$,a=Math.max(0,Math.min(F,Math.round(Y[e]*F))),i=F-a,c=(0,alpine_card_1.paint)((0,template_utils_1.bindProp)((0,alpine_card_1.tag)((0,template_utils_1.makeColorTile)(ne,{effects:{rounding:{cornerStyle:"rounded",borderRadius:N}}}),"track"),"trackColor")),h=a>0?(0,alpine_card_1.colSplit)([{weight:a,node:me(e,o)},...i>0?[{weight:i,node:alpine_card_1.EMPTY}]:[]]):alpine_card_1.EMPTY;return(0,alpine_card_1.overlay)([c,h])},"barRow"),be=l(e=>{const o=S+e*$,a=(0,alpine_card_1.paint)(H((0,alpine_anim_1.revealGate)((0,alpine_card_1.tag)(leftText(pe(s[e].label),q,v.label),"row-label"),o,g),e,"label","string")),i=w?m.countUp&&g&&/\d/.test(M[e])?(0,alpine_card_1.paint)(V((0,alpine_card_1.tag)(rightExprText((0,template_utils_1.animateNumbersInText)(z(M[e]),{startSec:o,durationSec:L,ease:m.easing}),D,v.title),"row-value"),e)):(0,alpine_card_1.paint)(V((0,alpine_anim_1.revealGate)((0,alpine_card_1.tag)(rightText(z(M[e]),D,v.title),"row-value"),o,g),e)):alpine_card_1.EMPTY,c=w?(0,alpine_card_1.colSplit)([{weight:7,node:a},{weight:3,node:i}]):a;return(0,alpine_card_1.rowSplit)([{weight:X,node:c},{weight:J,node:alpine_card_1.EMPTY},{weight:W,node:ge(e)}])},"rowBlock"),fe=Math.max(2,Math.round(2*C/Math.max(1,Z))),ve=l(e=>(0,alpine_card_1.rowSplit)([{weight:1,node:alpine_card_1.EMPTY},{weight:fe,node:be(e)},{weight:1,node:alpine_card_1.EMPTY}]),"rowBand"),te=(0,alpine_card_1.rowSplit)(Array.from({length:p},(e,o)=>({weight:1,node:ve(o)}))),I=B>0?(0,alpine_card_1.rowSplit)([{weight:B,node:alpine_card_1.EMPTY},{weight:ee,node:te},{weight:B,node:alpine_card_1.EMPTY}]):te,R={};let re=I;g&&(R.plot={kind:"mosaic_document",version:1,assets:{},m0:I.m0,sources:I.sources,fps:r.target.fps,durationMs:r.target.durationMs},re={m0:"F",sources:[{type:"mosaic",ref:"plot"}]});const oe=x.compose(re),we={kind:"mosaic_document",version:1,assets:{},m0:oe.m0,sources:oe.sources,...Object.keys(R).length?{children:R}:{},backgroundColor:x.backgroundColor,fps:r.target.fps,durationMs:r.target.durationMs},Me=m.countUp&&g&&w&&M.some(e=>/\d/.test(e));return Promise.resolve((0,template_utils_1.withLayoutContract)(we,r,{templateId:"@m0saic/alpine/progress-card/v1",relations:p>=2?[{label:"track",equal:"size",tolerance:.02,tolerancePx:1}]:[],constraints:Me?[]:[...x.constraints,{label:"row-label",textFits:{charWidthEm:.62}},...w?[{label:"row-value",textFits:{charWidthEm:.62}}]:[]],debug:t.debugLayout===!0}))},async renderCover(t,r){const n=(0,onboarding_cover_1.brandedCoverHeroBox)(r,"band"),b={...r,target:{...r.target,width:n.width,height:n.height},output:{...r.output,width:n.width,height:n.height}},d=await exports.AlpineProgressCard.render({...exports.AlpineProgressCard.defaultProps,anim:{...DEFAULT_ANIM,reduceMotion:!0}},b);return(0,onboarding_cover_1.buildBrandedCover)({ctx:r,variant:"band",copy:{productName:"Progress Card",title:"A progress card."},hero:l(f=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(d),f.borderStrong),"hero"),heroAssets:d.assets,children:d.children})}},(0,template_utils_1.registerTemplate)(exports.AlpineProgressCard);
|
|
@@ -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.AlpineStatCard=void 0;var stat_card_1=require("./stat-card");Object.defineProperty(exports,"AlpineStatCard",{enumerable:!0,get:e(function(){return stat_card_1.AlpineStatCard},"get")});
|