@bendyline/squisq 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Doc-BeSeH2iX.d.ts → Doc-BsMkmzH8.d.ts} +838 -268
- package/dist/{ImageEditDoc-BTIvw0oq.d.ts → ImageEditDoc-DvoeHMP9.d.ts} +11 -4
- package/dist/{chunk-ZTX4PFFT.js → chunk-2OIBZYKP.js} +75 -2
- package/dist/chunk-2OIBZYKP.js.map +1 -0
- package/dist/chunk-2UQOHYE2.js +45 -0
- package/dist/chunk-2UQOHYE2.js.map +1 -0
- package/dist/{chunk-B4EEON3N.js → chunk-4AKUQPEE.js} +536 -103
- package/dist/chunk-4AKUQPEE.js.map +1 -0
- package/dist/chunk-4ZFRZBU2.js +6582 -0
- package/dist/chunk-4ZFRZBU2.js.map +1 -0
- package/dist/{chunk-57CVQCFX.js → chunk-7MQGNR76.js} +79 -3
- package/dist/chunk-7MQGNR76.js.map +1 -0
- package/dist/{chunk-5WFRKURX.js → chunk-DLXZMS5K.js} +4 -2
- package/dist/chunk-DLXZMS5K.js.map +1 -0
- package/dist/{chunk-MYIH7FWD.js → chunk-FBKP5CAO.js} +1 -1
- package/dist/chunk-FBKP5CAO.js.map +1 -0
- package/dist/chunk-KZNXZ5SM.js +333 -0
- package/dist/chunk-KZNXZ5SM.js.map +1 -0
- package/dist/{chunk-WMOI7FN3.js → chunk-LRCV7N7F.js} +12 -2
- package/dist/{chunk-WMOI7FN3.js.map → chunk-LRCV7N7F.js.map} +1 -1
- package/dist/{chunk-3K5OG6KI.js → chunk-OH43RPTP.js} +403 -187
- package/dist/chunk-OH43RPTP.js.map +1 -0
- package/dist/{chunk-H3AXU4MJ.js → chunk-OKJOQXK4.js} +149 -2
- package/dist/chunk-OKJOQXK4.js.map +1 -0
- package/dist/chunk-PGGGKYWG.js +1 -0
- package/dist/chunk-PGGGKYWG.js.map +1 -0
- package/dist/{chunk-7UDSRZKG.js → chunk-Q3ROPT5H.js} +35 -14
- package/dist/chunk-Q3ROPT5H.js.map +1 -0
- package/dist/chunk-QE7TWGVT.js +178 -0
- package/dist/chunk-QE7TWGVT.js.map +1 -0
- package/dist/chunk-RUDYOTA6.js +345 -0
- package/dist/chunk-RUDYOTA6.js.map +1 -0
- package/dist/chunk-TVSGLUID.js +596 -0
- package/dist/chunk-TVSGLUID.js.map +1 -0
- package/dist/chunk-ZLQKNOZQ.js +1 -0
- package/dist/chunk-ZLQKNOZQ.js.map +1 -0
- package/dist/doc/index.d.ts +5 -10
- package/dist/doc/index.js +263 -7
- package/dist/doc/index.js.map +1 -1
- package/dist/generate/index.d.ts +106 -7
- package/dist/generate/index.js +16 -3
- package/dist/generate/index.js.map +1 -1
- package/dist/icons/index.d.ts +62 -10
- package/dist/icons/index.js +29 -9
- package/dist/icons/index.js.map +1 -1
- package/dist/icons/inlineIconMarker.d.ts +1 -0
- package/dist/icons/inlineIconMarker.js +15 -0
- package/dist/icons/inlineIconMarker.js.map +1 -0
- package/dist/imageEdit/index.d.ts +219 -11
- package/dist/imageEdit/index.js +56 -21
- package/dist/imageEdit/index.js.map +1 -1
- package/dist/index.d.ts +24 -13
- package/dist/index.js +680 -12
- package/dist/index.js.map +1 -1
- package/dist/inlineIconMarker-CiE8Hlvz.d.ts +59 -0
- package/dist/jsonForm/index.d.ts +189 -12
- package/dist/jsonForm/index.js +26 -11
- package/dist/jsonForm/index.js.map +1 -1
- package/dist/markdown/index.d.ts +474 -19
- package/dist/markdown/index.js +72 -33
- package/dist/markdown/index.js.map +1 -1
- package/dist/random/index.d.ts +51 -2
- package/dist/random/index.js +9 -1
- package/dist/random/index.js.map +1 -1
- package/dist/recommend/index.d.ts +39 -13
- package/dist/recommend/index.js +10 -14
- package/dist/recommend/index.js.map +1 -1
- package/dist/schemas/index.d.ts +208 -15
- package/dist/schemas/index.js +150 -11
- package/dist/schemas/index.js.map +1 -1
- package/dist/spatial/index.d.ts +116 -3
- package/dist/spatial/index.js +24 -2
- package/dist/spatial/index.js.map +1 -1
- package/dist/storage/index.d.ts +159 -10
- package/dist/storage/index.js +20 -6
- package/dist/storage/index.js.map +1 -1
- package/dist/story/index.d.ts +906 -40
- package/dist/story/index.js +124 -6
- package/dist/{themeLibrary-BHjJ0Qx6.d.ts → themeLibrary-DQQKuRMx.d.ts} +1 -1
- package/dist/timing/index.d.ts +109 -4
- package/dist/timing/index.js +23 -2
- package/dist/timing/index.js.map +1 -1
- package/dist/transform/index.d.ts +213 -6
- package/dist/transform/index.js +26 -3
- package/dist/transform/index.js.map +1 -1
- package/dist/{types-BdZkdJ3z.d.ts → types-DlAZ7MW4.d.ts} +115 -1
- package/dist/versions/index.d.ts +123 -24
- package/dist/versions/index.js +34 -27
- package/dist/versions/index.js.map +1 -1
- package/package.json +6 -1
- package/src/__tests__/animationUtils.test.ts +40 -0
- package/src/__tests__/annotationCoercion.test.ts +243 -0
- package/src/__tests__/applyRenderStyle.test.ts +146 -0
- package/src/__tests__/atmosphereLayers.test.ts +108 -0
- package/src/__tests__/attrTokens.test.ts +162 -0
- package/src/__tests__/customTemplateSample.test.ts +83 -0
- package/src/__tests__/customTemplatesFrontmatter.test.ts +205 -0
- package/src/__tests__/customThemesFrontmatter.test.ts +118 -0
- package/src/__tests__/diagramBlock.test.ts +122 -0
- package/src/__tests__/diagramLayout.test.ts +134 -0
- package/src/__tests__/drawing.test.ts +109 -0
- package/src/__tests__/drawingBlock.test.ts +124 -0
- package/src/__tests__/drawingLayout.test.ts +171 -0
- package/src/__tests__/geohash.test.ts +6 -5
- package/src/__tests__/getLayers.test.ts +6 -2
- package/src/__tests__/getLayersFallback.test.ts +103 -0
- package/src/__tests__/imageEditExportSvg.test.ts +70 -0
- package/src/__tests__/imageEditVersions.test.ts +72 -0
- package/src/__tests__/inlineIconMarker.test.ts +36 -0
- package/src/__tests__/layoutBlock.test.ts +83 -0
- package/src/__tests__/layoutLayout.test.ts +169 -0
- package/src/__tests__/markdown.test.ts +23 -0
- package/src/__tests__/markdownSanitize.test.ts +64 -0
- package/src/__tests__/markdownToDoc.test.ts +223 -2
- package/src/__tests__/mediaAnnotations.test.ts +64 -0
- package/src/__tests__/mediaSchedule.test.ts +118 -0
- package/src/__tests__/pandocAttrParse.test.ts +187 -0
- package/src/__tests__/resolveDocTheme.test.ts +55 -0
- package/src/__tests__/rootExports.test.ts +43 -0
- package/src/__tests__/shapeGeometry.test.ts +89 -0
- package/src/__tests__/shapeVocabulary.test.ts +133 -0
- package/src/__tests__/structuredData.test.ts +179 -0
- package/src/__tests__/templateAnnotationParse.test.ts +108 -0
- package/src/__tests__/templateMetadata.test.ts +21 -0
- package/src/__tests__/templates.test.ts +145 -4
- package/src/__tests__/themeCompile.test.ts +42 -0
- package/src/__tests__/themeValidator.test.ts +6 -0
- package/src/__tests__/transformV2.test.ts +137 -0
- package/src/__tests__/transitionNormalize.test.ts +61 -0
- package/src/__tests__/validateDoc.test.ts +100 -0
- package/src/doc/customTemplatesFrontmatter.ts +308 -0
- package/src/doc/customThemesFrontmatter.ts +90 -0
- package/src/doc/docToMarkdown.ts +73 -4
- package/src/doc/getLayers.ts +40 -17
- package/src/doc/index.ts +35 -1
- package/src/doc/markdownToDoc.ts +333 -12
- package/src/doc/mediaAnnotations.ts +118 -0
- package/src/doc/resolveDocTheme.ts +55 -0
- package/src/doc/structuredData.ts +230 -0
- package/src/doc/templateInputs.ts +240 -0
- package/src/doc/templates/__tests__/customTemplate.test.ts +151 -0
- package/src/doc/templates/__tests__/customTemplateRegistry.test.ts +110 -0
- package/src/doc/templates/accentImage.ts +30 -6
- package/src/doc/templates/captionUtils.ts +23 -0
- package/src/doc/templates/comparisonBar.ts +26 -18
- package/src/doc/templates/coverBlock.ts +7 -4
- package/src/doc/templates/customTemplate.ts +45 -0
- package/src/doc/templates/dataTable.ts +37 -19
- package/src/doc/templates/dateEvent.ts +41 -20
- package/src/doc/templates/definitionCard.ts +26 -18
- package/src/doc/templates/diagramBlock.ts +204 -0
- package/src/doc/templates/diagramLayout.ts +159 -0
- package/src/doc/templates/drawingBlock.ts +325 -0
- package/src/doc/templates/drawingLayout.ts +539 -0
- package/src/doc/templates/factCard.ts +51 -25
- package/src/doc/templates/fallbackBlock.ts +123 -0
- package/src/doc/templates/featureBlock.ts +20 -13
- package/src/doc/templates/fullBleedQuote.ts +18 -8
- package/src/doc/templates/imageWithCaption.ts +22 -9
- package/src/doc/templates/index.ts +215 -46
- package/src/doc/templates/layoutBlock.ts +43 -0
- package/src/doc/templates/layoutLayout.ts +243 -0
- package/src/doc/templates/listBlock.ts +56 -30
- package/src/doc/templates/mapBlock.ts +15 -12
- package/src/doc/templates/metadata.ts +120 -0
- package/src/doc/templates/persistentLayers.ts +129 -11
- package/src/doc/templates/photoGrid.ts +23 -12
- package/src/doc/templates/pullQuote.ts +30 -12
- package/src/doc/templates/quoteBlock.ts +54 -29
- package/src/doc/templates/sectionHeader.ts +25 -11
- package/src/doc/templates/statHighlight.ts +39 -22
- package/src/doc/templates/titleBlock.ts +59 -21
- package/src/doc/templates/tokens/__tests__/resolveTokens.test.ts +221 -0
- package/src/doc/templates/tokens/resolveTokens.ts +0 -0
- package/src/doc/templates/twoColumn.ts +48 -30
- package/src/doc/templates/videoPullQuote.ts +22 -12
- package/src/doc/templates/videoWithCaption.ts +13 -8
- package/src/doc/utils/animationUtils.ts +267 -3
- package/src/doc/utils/applyRenderStyle.ts +113 -0
- package/src/doc/utils/imageTreatment.ts +70 -0
- package/src/doc/utils/shapeGeometry.ts +464 -0
- package/src/doc/utils/themeUtils.ts +75 -1
- package/src/doc/validate.ts +476 -0
- package/src/generate/slideshowGenerator.ts +7 -0
- package/src/icons/index.ts +8 -0
- package/src/icons/inlineIconMarker.ts +73 -0
- package/src/imageEdit/export.ts +85 -2
- package/src/imageEdit/index.ts +1 -0
- package/src/imageEdit/persistence.ts +51 -0
- package/src/index.ts +2 -0
- package/src/markdown/annotationCoercion.ts +295 -0
- package/src/markdown/attrTokens.ts +222 -0
- package/src/markdown/convert.ts +229 -26
- package/src/markdown/index.ts +36 -0
- package/src/markdown/sanitize.ts +298 -0
- package/src/markdown/stringify.ts +84 -3
- package/src/markdown/types.ts +66 -0
- package/src/markdown/utils.ts +49 -1
- package/src/recommend/templates.ts +24 -0
- package/src/schemas/BlockTemplates.ts +133 -4
- package/src/schemas/CustomTemplates.ts +74 -0
- package/src/schemas/Doc.ts +353 -29
- package/src/schemas/ImageEditDoc.ts +11 -4
- package/src/schemas/Media.ts +169 -0
- package/src/schemas/Theme.ts +23 -1
- package/src/schemas/Transitions.ts +224 -0
- package/src/schemas/colorUtils.ts +33 -0
- package/src/schemas/fontStacks.ts +5 -2
- package/src/schemas/index.ts +3 -0
- package/src/schemas/themeCompile.ts +23 -4
- package/src/schemas/themeValidator.ts +49 -11
- package/src/schemas/themes/cinematic.json +69 -12
- package/src/schemas/themes/documentary.json +58 -11
- package/src/schemas/themes/gezellig.json +60 -11
- package/src/schemas/themes/magazine.json +54 -9
- package/src/schemas/themes/morning-light.json +52 -9
- package/src/schemas/themes/standard-dark.json +48 -13
- package/src/schemas/themes/standard.json +44 -12
- package/src/schemas/themes/tech-dark.json +65 -12
- package/src/spatial/Geohash.ts +52 -21
- package/src/transform/applyTransform.ts +43 -4
- package/src/transform/index.ts +1 -0
- package/src/transform/registry.ts +44 -13
- package/src/transform/styles/dataDriven.ts +2 -1
- package/src/transform/styles/documentary.ts +2 -1
- package/src/transform/styles/magazine.ts +3 -1
- package/src/transform/styles/minimal.ts +2 -1
- package/src/transform/styles/narrative.ts +3 -1
- package/src/transform/templateSelector.ts +87 -11
- package/src/transform/types.ts +35 -2
- package/dist/__tests__/animationUtils.test.d.ts +0 -2
- package/dist/__tests__/animationUtils.test.d.ts.map +0 -1
- package/dist/__tests__/animationUtils.test.js +0 -60
- package/dist/__tests__/animationUtils.test.js.map +0 -1
- package/dist/__tests__/colorUtils.test.d.ts +0 -2
- package/dist/__tests__/colorUtils.test.d.ts.map +0 -1
- package/dist/__tests__/colorUtils.test.js +0 -94
- package/dist/__tests__/colorUtils.test.js.map +0 -1
- package/dist/__tests__/contentContainer.test.d.ts +0 -2
- package/dist/__tests__/contentContainer.test.d.ts.map +0 -1
- package/dist/__tests__/contentContainer.test.js +0 -234
- package/dist/__tests__/contentContainer.test.js.map +0 -1
- package/dist/__tests__/contentExtractor.test.d.ts +0 -2
- package/dist/__tests__/contentExtractor.test.d.ts.map +0 -1
- package/dist/__tests__/contentExtractor.test.js +0 -151
- package/dist/__tests__/contentExtractor.test.js.map +0 -1
- package/dist/__tests__/coverBlock.test.d.ts +0 -2
- package/dist/__tests__/coverBlock.test.d.ts.map +0 -1
- package/dist/__tests__/coverBlock.test.js +0 -197
- package/dist/__tests__/coverBlock.test.js.map +0 -1
- package/dist/__tests__/dataTable.test.d.ts +0 -2
- package/dist/__tests__/dataTable.test.d.ts.map +0 -1
- package/dist/__tests__/dataTable.test.js +0 -110
- package/dist/__tests__/dataTable.test.js.map +0 -1
- package/dist/__tests__/geohash.test.d.ts +0 -2
- package/dist/__tests__/geohash.test.d.ts.map +0 -1
- package/dist/__tests__/geohash.test.js +0 -87
- package/dist/__tests__/geohash.test.js.map +0 -1
- package/dist/__tests__/getLayers.test.d.ts +0 -2
- package/dist/__tests__/getLayers.test.d.ts.map +0 -1
- package/dist/__tests__/getLayers.test.js +0 -191
- package/dist/__tests__/getLayers.test.js.map +0 -1
- package/dist/__tests__/haversine.test.d.ts +0 -2
- package/dist/__tests__/haversine.test.d.ts.map +0 -1
- package/dist/__tests__/haversine.test.js +0 -56
- package/dist/__tests__/haversine.test.js.map +0 -1
- package/dist/__tests__/iconResolve.test.d.ts +0 -2
- package/dist/__tests__/iconResolve.test.d.ts.map +0 -1
- package/dist/__tests__/iconResolve.test.js +0 -99
- package/dist/__tests__/iconResolve.test.js.map +0 -1
- package/dist/__tests__/imageEditState.test.d.ts +0 -2
- package/dist/__tests__/imageEditState.test.d.ts.map +0 -1
- package/dist/__tests__/imageEditState.test.js +0 -61
- package/dist/__tests__/imageEditState.test.js.map +0 -1
- package/dist/__tests__/imageEditVersions.test.d.ts +0 -2
- package/dist/__tests__/imageEditVersions.test.d.ts.map +0 -1
- package/dist/__tests__/imageEditVersions.test.js +0 -141
- package/dist/__tests__/imageEditVersions.test.js.map +0 -1
- package/dist/__tests__/inferDocumentTitle.test.d.ts +0 -2
- package/dist/__tests__/inferDocumentTitle.test.d.ts.map +0 -1
- package/dist/__tests__/inferDocumentTitle.test.js +0 -42
- package/dist/__tests__/inferDocumentTitle.test.js.map +0 -1
- package/dist/__tests__/jsonForm.chooseControl.test.d.ts +0 -2
- package/dist/__tests__/jsonForm.chooseControl.test.d.ts.map +0 -1
- package/dist/__tests__/jsonForm.chooseControl.test.js +0 -74
- package/dist/__tests__/jsonForm.chooseControl.test.js.map +0 -1
- package/dist/__tests__/jsonForm.evaluateWhen.test.d.ts +0 -2
- package/dist/__tests__/jsonForm.evaluateWhen.test.d.ts.map +0 -1
- package/dist/__tests__/jsonForm.evaluateWhen.test.js +0 -51
- package/dist/__tests__/jsonForm.evaluateWhen.test.js.map +0 -1
- package/dist/__tests__/jsonForm.inferSchema.test.d.ts +0 -2
- package/dist/__tests__/jsonForm.inferSchema.test.d.ts.map +0 -1
- package/dist/__tests__/jsonForm.inferSchema.test.js +0 -23
- package/dist/__tests__/jsonForm.inferSchema.test.js.map +0 -1
- package/dist/__tests__/jsonForm.pointer.test.d.ts +0 -2
- package/dist/__tests__/jsonForm.pointer.test.d.ts.map +0 -1
- package/dist/__tests__/jsonForm.pointer.test.js +0 -94
- package/dist/__tests__/jsonForm.pointer.test.js.map +0 -1
- package/dist/__tests__/localForageAdapter.test.d.ts +0 -8
- package/dist/__tests__/localForageAdapter.test.d.ts.map +0 -1
- package/dist/__tests__/localForageAdapter.test.js +0 -130
- package/dist/__tests__/localForageAdapter.test.js.map +0 -1
- package/dist/__tests__/markdown.test.d.ts +0 -2
- package/dist/__tests__/markdown.test.d.ts.map +0 -1
- package/dist/__tests__/markdown.test.js +0 -715
- package/dist/__tests__/markdown.test.js.map +0 -1
- package/dist/__tests__/markdownIcons.test.d.ts +0 -2
- package/dist/__tests__/markdownIcons.test.d.ts.map +0 -1
- package/dist/__tests__/markdownIcons.test.js +0 -93
- package/dist/__tests__/markdownIcons.test.js.map +0 -1
- package/dist/__tests__/markdownToDoc.test.d.ts +0 -2
- package/dist/__tests__/markdownToDoc.test.d.ts.map +0 -1
- package/dist/__tests__/markdownToDoc.test.js +0 -458
- package/dist/__tests__/markdownToDoc.test.js.map +0 -1
- package/dist/__tests__/recommendTemplates.test.d.ts +0 -2
- package/dist/__tests__/recommendTemplates.test.d.ts.map +0 -1
- package/dist/__tests__/recommendTemplates.test.js +0 -158
- package/dist/__tests__/recommendTemplates.test.js.map +0 -1
- package/dist/__tests__/scopedContentContainer.test.d.ts +0 -2
- package/dist/__tests__/scopedContentContainer.test.d.ts.map +0 -1
- package/dist/__tests__/scopedContentContainer.test.js +0 -74
- package/dist/__tests__/scopedContentContainer.test.js.map +0 -1
- package/dist/__tests__/seededRandom.test.d.ts +0 -2
- package/dist/__tests__/seededRandom.test.d.ts.map +0 -1
- package/dist/__tests__/seededRandom.test.js +0 -125
- package/dist/__tests__/seededRandom.test.js.map +0 -1
- package/dist/__tests__/slideshowGenerator.test.d.ts +0 -2
- package/dist/__tests__/slideshowGenerator.test.d.ts.map +0 -1
- package/dist/__tests__/slideshowGenerator.test.js +0 -114
- package/dist/__tests__/slideshowGenerator.test.js.map +0 -1
- package/dist/__tests__/storage.test.d.ts +0 -2
- package/dist/__tests__/storage.test.d.ts.map +0 -1
- package/dist/__tests__/storage.test.js +0 -51
- package/dist/__tests__/storage.test.js.map +0 -1
- package/dist/__tests__/surface.test.d.ts +0 -2
- package/dist/__tests__/surface.test.d.ts.map +0 -1
- package/dist/__tests__/surface.test.js +0 -57
- package/dist/__tests__/surface.test.js.map +0 -1
- package/dist/__tests__/templateAnnotationParse.test.d.ts +0 -2
- package/dist/__tests__/templateAnnotationParse.test.d.ts.map +0 -1
- package/dist/__tests__/templateAnnotationParse.test.js +0 -42
- package/dist/__tests__/templateAnnotationParse.test.js.map +0 -1
- package/dist/__tests__/templates.test.d.ts +0 -2
- package/dist/__tests__/templates.test.d.ts.map +0 -1
- package/dist/__tests__/templates.test.js +0 -298
- package/dist/__tests__/templates.test.js.map +0 -1
- package/dist/__tests__/themeCompile.test.d.ts +0 -2
- package/dist/__tests__/themeCompile.test.d.ts.map +0 -1
- package/dist/__tests__/themeCompile.test.js +0 -134
- package/dist/__tests__/themeCompile.test.js.map +0 -1
- package/dist/__tests__/themeValidator.test.d.ts +0 -2
- package/dist/__tests__/themeValidator.test.d.ts.map +0 -1
- package/dist/__tests__/themeValidator.test.js +0 -107
- package/dist/__tests__/themeValidator.test.js.map +0 -1
- package/dist/__tests__/timing.test.d.ts +0 -2
- package/dist/__tests__/timing.test.d.ts.map +0 -1
- package/dist/__tests__/timing.test.js +0 -131
- package/dist/__tests__/timing.test.js.map +0 -1
- package/dist/__tests__/versions.test.d.ts +0 -2
- package/dist/__tests__/versions.test.d.ts.map +0 -1
- package/dist/__tests__/versions.test.js +0 -339
- package/dist/__tests__/versions.test.js.map +0 -1
- package/dist/chunk-3K5OG6KI.js.map +0 -1
- package/dist/chunk-57CVQCFX.js.map +0 -1
- package/dist/chunk-5WFRKURX.js.map +0 -1
- package/dist/chunk-7UDSRZKG.js.map +0 -1
- package/dist/chunk-B4EEON3N.js.map +0 -1
- package/dist/chunk-H3AXU4MJ.js.map +0 -1
- package/dist/chunk-KSWJR66U.js +0 -3706
- package/dist/chunk-KSWJR66U.js.map +0 -1
- package/dist/chunk-MYIH7FWD.js.map +0 -1
- package/dist/chunk-ZTX4PFFT.js.map +0 -1
- package/dist/doc/audioMapping.d.ts +0 -36
- package/dist/doc/audioMapping.d.ts.map +0 -1
- package/dist/doc/audioMapping.js +0 -350
- package/dist/doc/audioMapping.js.map +0 -1
- package/dist/doc/docToMarkdown.d.ts +0 -41
- package/dist/doc/docToMarkdown.d.ts.map +0 -1
- package/dist/doc/docToMarkdown.js +0 -88
- package/dist/doc/docToMarkdown.js.map +0 -1
- package/dist/doc/getLayers.d.ts +0 -65
- package/dist/doc/getLayers.d.ts.map +0 -1
- package/dist/doc/getLayers.js +0 -114
- package/dist/doc/getLayers.js.map +0 -1
- package/dist/doc/index.d.ts.map +0 -1
- package/dist/doc/markdownToDoc.d.ts +0 -75
- package/dist/doc/markdownToDoc.d.ts.map +0 -1
- package/dist/doc/markdownToDoc.js +0 -432
- package/dist/doc/markdownToDoc.js.map +0 -1
- package/dist/doc/templates/accentImage.d.ts +0 -59
- package/dist/doc/templates/accentImage.d.ts.map +0 -1
- package/dist/doc/templates/accentImage.js +0 -275
- package/dist/doc/templates/accentImage.js.map +0 -1
- package/dist/doc/templates/captionUtils.d.ts +0 -20
- package/dist/doc/templates/captionUtils.d.ts.map +0 -1
- package/dist/doc/templates/captionUtils.js +0 -29
- package/dist/doc/templates/captionUtils.js.map +0 -1
- package/dist/doc/templates/comparisonBar.d.ts +0 -13
- package/dist/doc/templates/comparisonBar.d.ts.map +0 -1
- package/dist/doc/templates/comparisonBar.js +0 -145
- package/dist/doc/templates/comparisonBar.js.map +0 -1
- package/dist/doc/templates/coverBlock.d.ts +0 -51
- package/dist/doc/templates/coverBlock.d.ts.map +0 -1
- package/dist/doc/templates/coverBlock.js +0 -153
- package/dist/doc/templates/coverBlock.js.map +0 -1
- package/dist/doc/templates/dataTable.d.ts +0 -14
- package/dist/doc/templates/dataTable.d.ts.map +0 -1
- package/dist/doc/templates/dataTable.js +0 -73
- package/dist/doc/templates/dataTable.js.map +0 -1
- package/dist/doc/templates/dateEvent.d.ts +0 -15
- package/dist/doc/templates/dateEvent.d.ts.map +0 -1
- package/dist/doc/templates/dateEvent.js +0 -114
- package/dist/doc/templates/dateEvent.js.map +0 -1
- package/dist/doc/templates/definitionCard.d.ts +0 -13
- package/dist/doc/templates/definitionCard.d.ts.map +0 -1
- package/dist/doc/templates/definitionCard.js +0 -117
- package/dist/doc/templates/definitionCard.js.map +0 -1
- package/dist/doc/templates/factCard.d.ts +0 -15
- package/dist/doc/templates/factCard.d.ts.map +0 -1
- package/dist/doc/templates/factCard.js +0 -104
- package/dist/doc/templates/factCard.js.map +0 -1
- package/dist/doc/templates/featureBlock.d.ts +0 -18
- package/dist/doc/templates/featureBlock.d.ts.map +0 -1
- package/dist/doc/templates/featureBlock.js +0 -180
- package/dist/doc/templates/featureBlock.js.map +0 -1
- package/dist/doc/templates/fullBleedQuote.d.ts +0 -25
- package/dist/doc/templates/fullBleedQuote.d.ts.map +0 -1
- package/dist/doc/templates/fullBleedQuote.js +0 -67
- package/dist/doc/templates/fullBleedQuote.js.map +0 -1
- package/dist/doc/templates/imageWithCaption.d.ts +0 -13
- package/dist/doc/templates/imageWithCaption.d.ts.map +0 -1
- package/dist/doc/templates/imageWithCaption.js +0 -146
- package/dist/doc/templates/imageWithCaption.js.map +0 -1
- package/dist/doc/templates/index.d.ts +0 -129
- package/dist/doc/templates/index.d.ts.map +0 -1
- package/dist/doc/templates/index.js +0 -478
- package/dist/doc/templates/index.js.map +0 -1
- package/dist/doc/templates/listBlock.d.ts +0 -13
- package/dist/doc/templates/listBlock.d.ts.map +0 -1
- package/dist/doc/templates/listBlock.js +0 -109
- package/dist/doc/templates/listBlock.js.map +0 -1
- package/dist/doc/templates/mapBlock.d.ts +0 -17
- package/dist/doc/templates/mapBlock.d.ts.map +0 -1
- package/dist/doc/templates/mapBlock.js +0 -115
- package/dist/doc/templates/mapBlock.js.map +0 -1
- package/dist/doc/templates/persistentLayers.d.ts +0 -39
- package/dist/doc/templates/persistentLayers.d.ts.map +0 -1
- package/dist/doc/templates/persistentLayers.js +0 -447
- package/dist/doc/templates/persistentLayers.js.map +0 -1
- package/dist/doc/templates/photoGrid.d.ts +0 -20
- package/dist/doc/templates/photoGrid.d.ts.map +0 -1
- package/dist/doc/templates/photoGrid.js +0 -175
- package/dist/doc/templates/photoGrid.js.map +0 -1
- package/dist/doc/templates/pullQuote.d.ts +0 -13
- package/dist/doc/templates/pullQuote.d.ts.map +0 -1
- package/dist/doc/templates/pullQuote.js +0 -113
- package/dist/doc/templates/pullQuote.js.map +0 -1
- package/dist/doc/templates/quoteBlock.d.ts +0 -15
- package/dist/doc/templates/quoteBlock.d.ts.map +0 -1
- package/dist/doc/templates/quoteBlock.js +0 -101
- package/dist/doc/templates/quoteBlock.js.map +0 -1
- package/dist/doc/templates/sectionHeader.d.ts +0 -14
- package/dist/doc/templates/sectionHeader.d.ts.map +0 -1
- package/dist/doc/templates/sectionHeader.js +0 -97
- package/dist/doc/templates/sectionHeader.js.map +0 -1
- package/dist/doc/templates/statHighlight.d.ts +0 -27
- package/dist/doc/templates/statHighlight.d.ts.map +0 -1
- package/dist/doc/templates/statHighlight.js +0 -114
- package/dist/doc/templates/statHighlight.js.map +0 -1
- package/dist/doc/templates/titleBlock.d.ts +0 -24
- package/dist/doc/templates/titleBlock.d.ts.map +0 -1
- package/dist/doc/templates/titleBlock.js +0 -103
- package/dist/doc/templates/titleBlock.js.map +0 -1
- package/dist/doc/templates/twoColumn.d.ts +0 -15
- package/dist/doc/templates/twoColumn.d.ts.map +0 -1
- package/dist/doc/templates/twoColumn.js +0 -225
- package/dist/doc/templates/twoColumn.js.map +0 -1
- package/dist/doc/templates/videoPullQuote.d.ts +0 -20
- package/dist/doc/templates/videoPullQuote.d.ts.map +0 -1
- package/dist/doc/templates/videoPullQuote.js +0 -122
- package/dist/doc/templates/videoPullQuote.js.map +0 -1
- package/dist/doc/templates/videoWithCaption.d.ts +0 -20
- package/dist/doc/templates/videoWithCaption.d.ts.map +0 -1
- package/dist/doc/templates/videoWithCaption.js +0 -107
- package/dist/doc/templates/videoWithCaption.js.map +0 -1
- package/dist/doc/utils/animationUtils.d.ts +0 -34
- package/dist/doc/utils/animationUtils.d.ts.map +0 -1
- package/dist/doc/utils/animationUtils.js +0 -110
- package/dist/doc/utils/animationUtils.js.map +0 -1
- package/dist/doc/utils/themeUtils.d.ts +0 -64
- package/dist/doc/utils/themeUtils.d.ts.map +0 -1
- package/dist/doc/utils/themeUtils.js +0 -136
- package/dist/doc/utils/themeUtils.js.map +0 -1
- package/dist/generate/contentExtractor.d.ts +0 -112
- package/dist/generate/contentExtractor.d.ts.map +0 -1
- package/dist/generate/contentExtractor.js +0 -638
- package/dist/generate/contentExtractor.js.map +0 -1
- package/dist/generate/index.d.ts.map +0 -1
- package/dist/generate/slideshowGenerator.d.ts +0 -72
- package/dist/generate/slideshowGenerator.d.ts.map +0 -1
- package/dist/generate/slideshowGenerator.js +0 -159
- package/dist/generate/slideshowGenerator.js.map +0 -1
- package/dist/generate/templateMapper.d.ts +0 -23
- package/dist/generate/templateMapper.d.ts.map +0 -1
- package/dist/generate/templateMapper.js +0 -114
- package/dist/generate/templateMapper.js.map +0 -1
- package/dist/icons/iconData.d.ts +0 -26
- package/dist/icons/iconData.d.ts.map +0 -1
- package/dist/icons/iconData.js +0 -12
- package/dist/icons/iconData.js.map +0 -1
- package/dist/icons/index.d.ts.map +0 -1
- package/dist/icons/resolve.d.ts +0 -61
- package/dist/icons/resolve.d.ts.map +0 -1
- package/dist/icons/resolve.js +0 -130
- package/dist/icons/resolve.js.map +0 -1
- package/dist/imageEdit/ImageEditVersionManager.d.ts +0 -31
- package/dist/imageEdit/ImageEditVersionManager.d.ts.map +0 -1
- package/dist/imageEdit/ImageEditVersionManager.js +0 -39
- package/dist/imageEdit/ImageEditVersionManager.js.map +0 -1
- package/dist/imageEdit/export.d.ts +0 -33
- package/dist/imageEdit/export.d.ts.map +0 -1
- package/dist/imageEdit/export.js +0 -253
- package/dist/imageEdit/export.js.map +0 -1
- package/dist/imageEdit/index.d.ts.map +0 -1
- package/dist/imageEdit/persistence.d.ts +0 -15
- package/dist/imageEdit/persistence.d.ts.map +0 -1
- package/dist/imageEdit/persistence.js +0 -49
- package/dist/imageEdit/persistence.js.map +0 -1
- package/dist/imageEdit/state.d.ts +0 -42
- package/dist/imageEdit/state.d.ts.map +0 -1
- package/dist/imageEdit/state.js +0 -98
- package/dist/imageEdit/state.js.map +0 -1
- package/dist/imageEdit/versionPaths.d.ts +0 -27
- package/dist/imageEdit/versionPaths.d.ts.map +0 -1
- package/dist/imageEdit/versionPaths.js +0 -57
- package/dist/imageEdit/versionPaths.js.map +0 -1
- package/dist/imageEdit/versions.d.ts +0 -67
- package/dist/imageEdit/versions.d.ts.map +0 -1
- package/dist/imageEdit/versions.js +0 -161
- package/dist/imageEdit/versions.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/jsonForm/chooseControl.d.ts +0 -20
- package/dist/jsonForm/chooseControl.d.ts.map +0 -1
- package/dist/jsonForm/chooseControl.js +0 -82
- package/dist/jsonForm/chooseControl.js.map +0 -1
- package/dist/jsonForm/evaluateWhen.d.ts +0 -12
- package/dist/jsonForm/evaluateWhen.d.ts.map +0 -1
- package/dist/jsonForm/evaluateWhen.js +0 -65
- package/dist/jsonForm/evaluateWhen.js.map +0 -1
- package/dist/jsonForm/index.d.ts.map +0 -1
- package/dist/jsonForm/inferSchema.d.ts +0 -12
- package/dist/jsonForm/inferSchema.d.ts.map +0 -1
- package/dist/jsonForm/inferSchema.js +0 -15
- package/dist/jsonForm/inferSchema.js.map +0 -1
- package/dist/jsonForm/pointer.d.ts +0 -26
- package/dist/jsonForm/pointer.d.ts.map +0 -1
- package/dist/jsonForm/pointer.js +0 -102
- package/dist/jsonForm/pointer.js.map +0 -1
- package/dist/jsonForm/types.d.ts +0 -120
- package/dist/jsonForm/types.d.ts.map +0 -1
- package/dist/jsonForm/types.js +0 -10
- package/dist/jsonForm/types.js.map +0 -1
- package/dist/markdown/convert.d.ts +0 -81
- package/dist/markdown/convert.d.ts.map +0 -1
- package/dist/markdown/convert.js +0 -975
- package/dist/markdown/convert.js.map +0 -1
- package/dist/markdown/htmlParse.d.ts +0 -26
- package/dist/markdown/htmlParse.d.ts.map +0 -1
- package/dist/markdown/htmlParse.js +0 -195
- package/dist/markdown/htmlParse.js.map +0 -1
- package/dist/markdown/index.d.ts.map +0 -1
- package/dist/markdown/parse.d.ts +0 -27
- package/dist/markdown/parse.d.ts.map +0 -1
- package/dist/markdown/parse.js +0 -90
- package/dist/markdown/parse.js.map +0 -1
- package/dist/markdown/stringify.d.ts +0 -32
- package/dist/markdown/stringify.d.ts.map +0 -1
- package/dist/markdown/stringify.js +0 -108
- package/dist/markdown/stringify.js.map +0 -1
- package/dist/markdown/types.d.ts +0 -531
- package/dist/markdown/types.d.ts.map +0 -1
- package/dist/markdown/types.js +0 -17
- package/dist/markdown/types.js.map +0 -1
- package/dist/markdown/utils.d.ts +0 -118
- package/dist/markdown/utils.d.ts.map +0 -1
- package/dist/markdown/utils.js +0 -308
- package/dist/markdown/utils.js.map +0 -1
- package/dist/random/SeededRandom.d.ts +0 -50
- package/dist/random/SeededRandom.d.ts.map +0 -1
- package/dist/random/SeededRandom.js +0 -115
- package/dist/random/SeededRandom.js.map +0 -1
- package/dist/random/index.d.ts.map +0 -1
- package/dist/recommend/index.d.ts.map +0 -1
- package/dist/recommend/templates.d.ts +0 -39
- package/dist/recommend/templates.d.ts.map +0 -1
- package/dist/recommend/templates.js +0 -235
- package/dist/recommend/templates.js.map +0 -1
- package/dist/schemas/BlockTemplates.d.ts +0 -638
- package/dist/schemas/BlockTemplates.d.ts.map +0 -1
- package/dist/schemas/BlockTemplates.js +0 -72
- package/dist/schemas/BlockTemplates.js.map +0 -1
- package/dist/schemas/Doc.d.ts +0 -503
- package/dist/schemas/Doc.d.ts.map +0 -1
- package/dist/schemas/Doc.js +0 -90
- package/dist/schemas/Doc.js.map +0 -1
- package/dist/schemas/ImageEditDoc.d.ts +0 -81
- package/dist/schemas/ImageEditDoc.d.ts.map +0 -1
- package/dist/schemas/ImageEditDoc.js +0 -20
- package/dist/schemas/ImageEditDoc.js.map +0 -1
- package/dist/schemas/LayoutStrategy.d.ts +0 -84
- package/dist/schemas/LayoutStrategy.d.ts.map +0 -1
- package/dist/schemas/LayoutStrategy.js +0 -123
- package/dist/schemas/LayoutStrategy.js.map +0 -1
- package/dist/schemas/MediaProvider.d.ts +0 -65
- package/dist/schemas/MediaProvider.d.ts.map +0 -1
- package/dist/schemas/MediaProvider.js +0 -13
- package/dist/schemas/MediaProvider.js.map +0 -1
- package/dist/schemas/Theme.d.ts +0 -233
- package/dist/schemas/Theme.d.ts.map +0 -1
- package/dist/schemas/Theme.js +0 -129
- package/dist/schemas/Theme.js.map +0 -1
- package/dist/schemas/Types.d.ts +0 -14
- package/dist/schemas/Types.d.ts.map +0 -1
- package/dist/schemas/Types.js +0 -5
- package/dist/schemas/Types.js.map +0 -1
- package/dist/schemas/Viewport.d.ts +0 -74
- package/dist/schemas/Viewport.d.ts.map +0 -1
- package/dist/schemas/Viewport.js +0 -63
- package/dist/schemas/Viewport.js.map +0 -1
- package/dist/schemas/colorUtils.d.ts +0 -51
- package/dist/schemas/colorUtils.d.ts.map +0 -1
- package/dist/schemas/colorUtils.js +0 -154
- package/dist/schemas/colorUtils.js.map +0 -1
- package/dist/schemas/fontStacks.d.ts +0 -57
- package/dist/schemas/fontStacks.d.ts.map +0 -1
- package/dist/schemas/fontStacks.js +0 -227
- package/dist/schemas/fontStacks.js.map +0 -1
- package/dist/schemas/index.d.ts.map +0 -1
- package/dist/schemas/themeCompile.d.ts +0 -45
- package/dist/schemas/themeCompile.d.ts.map +0 -1
- package/dist/schemas/themeCompile.js +0 -160
- package/dist/schemas/themeCompile.js.map +0 -1
- package/dist/schemas/themeLibrary.d.ts +0 -37
- package/dist/schemas/themeLibrary.d.ts.map +0 -1
- package/dist/schemas/themeLibrary.js +0 -49
- package/dist/schemas/themeLibrary.js.map +0 -1
- package/dist/schemas/themeValidator.d.ts +0 -26
- package/dist/schemas/themeValidator.d.ts.map +0 -1
- package/dist/schemas/themeValidator.js +0 -352
- package/dist/schemas/themeValidator.js.map +0 -1
- package/dist/schemas/themes/bold.json +0 -48
- package/dist/schemas/themes/cinematic.json +0 -54
- package/dist/schemas/themes/documentary.json +0 -49
- package/dist/schemas/themes/gezellig.json +0 -44
- package/dist/schemas/themes/index.d.ts +0 -26
- package/dist/schemas/themes/index.d.ts.map +0 -1
- package/dist/schemas/themes/index.js +0 -49
- package/dist/schemas/themes/index.js.map +0 -1
- package/dist/schemas/themes/magazine.json +0 -44
- package/dist/schemas/themes/minimalist.json +0 -45
- package/dist/schemas/themes/morning-light.json +0 -42
- package/dist/schemas/themes/standard-dark.json +0 -50
- package/dist/schemas/themes/standard.json +0 -42
- package/dist/schemas/themes/tech-dark.json +0 -48
- package/dist/schemas/themes/warm-earth.json +0 -50
- package/dist/spatial/Geohash.d.ts +0 -85
- package/dist/spatial/Geohash.d.ts.map +0 -1
- package/dist/spatial/Geohash.js +0 -142
- package/dist/spatial/Geohash.js.map +0 -1
- package/dist/spatial/Haversine.d.ts +0 -24
- package/dist/spatial/Haversine.d.ts.map +0 -1
- package/dist/spatial/Haversine.js +0 -48
- package/dist/spatial/Haversine.js.map +0 -1
- package/dist/spatial/index.d.ts.map +0 -1
- package/dist/storage/ContentContainer.d.ts +0 -87
- package/dist/storage/ContentContainer.d.ts.map +0 -1
- package/dist/storage/ContentContainer.js +0 -131
- package/dist/storage/ContentContainer.js.map +0 -1
- package/dist/storage/LocalForageAdapter.d.ts +0 -36
- package/dist/storage/LocalForageAdapter.d.ts.map +0 -1
- package/dist/storage/LocalForageAdapter.js +0 -82
- package/dist/storage/LocalForageAdapter.js.map +0 -1
- package/dist/storage/LocalStorageAdapter.d.ts +0 -16
- package/dist/storage/LocalStorageAdapter.d.ts.map +0 -1
- package/dist/storage/LocalStorageAdapter.js +0 -50
- package/dist/storage/LocalStorageAdapter.js.map +0 -1
- package/dist/storage/MediaProviderFromContainer.d.ts +0 -21
- package/dist/storage/MediaProviderFromContainer.d.ts.map +0 -1
- package/dist/storage/MediaProviderFromContainer.js +0 -79
- package/dist/storage/MediaProviderFromContainer.js.map +0 -1
- package/dist/storage/MemoryStorageAdapter.d.ts +0 -15
- package/dist/storage/MemoryStorageAdapter.d.ts.map +0 -1
- package/dist/storage/MemoryStorageAdapter.js +0 -34
- package/dist/storage/MemoryStorageAdapter.js.map +0 -1
- package/dist/storage/ScopedContentContainer.d.ts +0 -44
- package/dist/storage/ScopedContentContainer.d.ts.map +0 -1
- package/dist/storage/ScopedContentContainer.js +0 -94
- package/dist/storage/ScopedContentContainer.js.map +0 -1
- package/dist/storage/Storage.d.ts +0 -23
- package/dist/storage/Storage.d.ts.map +0 -1
- package/dist/storage/Storage.js +0 -9
- package/dist/storage/Storage.js.map +0 -1
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/timing/index.d.ts.map +0 -1
- package/dist/timing/narrationTiming.d.ts +0 -54
- package/dist/timing/narrationTiming.d.ts.map +0 -1
- package/dist/timing/narrationTiming.js +0 -190
- package/dist/timing/narrationTiming.js.map +0 -1
- package/dist/timing/readingTime.d.ts +0 -54
- package/dist/timing/readingTime.d.ts.map +0 -1
- package/dist/timing/readingTime.js +0 -49
- package/dist/timing/readingTime.js.map +0 -1
- package/dist/transform/applyTransform.d.ts +0 -22
- package/dist/transform/applyTransform.d.ts.map +0 -1
- package/dist/transform/applyTransform.js +0 -68
- package/dist/transform/applyTransform.js.map +0 -1
- package/dist/transform/blockAnalyzer.d.ts +0 -48
- package/dist/transform/blockAnalyzer.d.ts.map +0 -1
- package/dist/transform/blockAnalyzer.js +0 -135
- package/dist/transform/blockAnalyzer.js.map +0 -1
- package/dist/transform/index.d.ts.map +0 -1
- package/dist/transform/registry.d.ts +0 -19
- package/dist/transform/registry.d.ts.map +0 -1
- package/dist/transform/registry.js +0 -41
- package/dist/transform/registry.js.map +0 -1
- package/dist/transform/styles/dataDriven.d.ts +0 -4
- package/dist/transform/styles/dataDriven.d.ts.map +0 -1
- package/dist/transform/styles/dataDriven.js +0 -15
- package/dist/transform/styles/dataDriven.js.map +0 -1
- package/dist/transform/styles/documentary.d.ts +0 -4
- package/dist/transform/styles/documentary.d.ts.map +0 -1
- package/dist/transform/styles/documentary.js +0 -15
- package/dist/transform/styles/documentary.js.map +0 -1
- package/dist/transform/styles/index.d.ts +0 -6
- package/dist/transform/styles/index.d.ts.map +0 -1
- package/dist/transform/styles/index.js +0 -6
- package/dist/transform/styles/index.js.map +0 -1
- package/dist/transform/styles/magazine.d.ts +0 -4
- package/dist/transform/styles/magazine.d.ts.map +0 -1
- package/dist/transform/styles/magazine.js +0 -15
- package/dist/transform/styles/magazine.js.map +0 -1
- package/dist/transform/styles/minimal.d.ts +0 -4
- package/dist/transform/styles/minimal.d.ts.map +0 -1
- package/dist/transform/styles/minimal.js +0 -15
- package/dist/transform/styles/minimal.js.map +0 -1
- package/dist/transform/styles/narrative.d.ts +0 -4
- package/dist/transform/styles/narrative.d.ts.map +0 -1
- package/dist/transform/styles/narrative.js +0 -15
- package/dist/transform/styles/narrative.js.map +0 -1
- package/dist/transform/templateSelector.d.ts +0 -30
- package/dist/transform/templateSelector.d.ts.map +0 -1
- package/dist/transform/templateSelector.js +0 -218
- package/dist/transform/templateSelector.js.map +0 -1
- package/dist/transform/timingAllocator.d.ts +0 -21
- package/dist/transform/timingAllocator.d.ts.map +0 -1
- package/dist/transform/timingAllocator.js +0 -111
- package/dist/transform/timingAllocator.js.map +0 -1
- package/dist/transform/types.d.ts +0 -86
- package/dist/transform/types.d.ts.map +0 -1
- package/dist/transform/types.js +0 -9
- package/dist/transform/types.js.map +0 -1
- package/dist/versions/DocumentVersionManager.d.ts +0 -31
- package/dist/versions/DocumentVersionManager.d.ts.map +0 -1
- package/dist/versions/DocumentVersionManager.js +0 -33
- package/dist/versions/DocumentVersionManager.js.map +0 -1
- package/dist/versions/index.d.ts.map +0 -1
- package/dist/versions/operations.d.ts +0 -44
- package/dist/versions/operations.d.ts.map +0 -1
- package/dist/versions/operations.js +0 -190
- package/dist/versions/operations.js.map +0 -1
- package/dist/versions/paths.d.ts +0 -29
- package/dist/versions/paths.d.ts.map +0 -1
- package/dist/versions/paths.js +0 -66
- package/dist/versions/paths.js.map +0 -1
- package/dist/versions/timestamp.d.ts +0 -22
- package/dist/versions/timestamp.d.ts.map +0 -1
- package/dist/versions/timestamp.js +0 -44
- package/dist/versions/timestamp.js.map +0 -1
- package/dist/versions/types.d.ts +0 -92
- package/dist/versions/types.d.ts.map +0 -1
- package/dist/versions/types.js +0 -11
- package/dist/versions/types.js.map +0 -1
package/dist/story/index.d.ts
CHANGED
|
@@ -1,8 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
3
|
-
import {
|
|
1
|
+
import { a2 as PersistentLayer, ax as Theme, R as Layer, a3 as PersistentLayerConfig, aE as TitleBlockInput, as as TemplateContext, ag as SectionHeaderInput, am as StatHighlightInput, ab as QuoteBlockInput, H as FactCardInput, aG as TwoColumnInput, t as DateEventInput, P as ImageWithCaptionInput, T as LeftFeatureInput, ae as RightFeatureInput, W as MapBlockInput, al as StartBlockConfig, K as FullBleedQuoteInput, V as ListBlockInput, a7 as PhotoGridInput, v as DefinitionCardInput, n as ComparisonBarInput, aa as PullQuoteInput, aK as VideoWithCaptionInput, aJ as VideoPullQuoteInput, s as DataTableInput, w as DiagramBlockInput, B as Block, E as DrawingBlockInput, _ as MarkerStyle, ar as TemplateBlock, A as AccentImage, O as ImageTreatment, a as AccentPosition, aL as ViewportConfig, p as CustomTemplateDefinition, y as DocBlock, au as TemplateRegistry, c as Animation, d as AnimationType, az as ThemeColorScheme, x as Doc, z as DocDiagnostic } from '../Doc-BsMkmzH8.js';
|
|
2
|
+
export { F as FRONTMATTER_CUSTOM_TEMPLATES_KEY, G as FRONTMATTER_CUSTOM_THEMES_KEY, S as LayoutHints, ad as RenderStyle, ay as ThemeColorPalette, aC as ThemeStyle, aD as ThemeTypography, aH as VIEWPORT_PRESETS, aM as ViewportOrientation, aN as ViewportPreset, aS as createTemplateContext, aY as getLayoutHints, b0 as getTwoColumnPositions, b1 as getViewport, b2 as getViewportOrientation, b4 as isTemplateBlock, b9 as scaledFontSize } from '../Doc-BsMkmzH8.js';
|
|
3
|
+
import { I as MarkdownNode, $ as TransitionType, _ as TransitionDirection, M as MarkdownBlockNode, q as MarkdownHeading, m as MarkdownDocument, P as MarkdownTable, h as MarkdownCodeBlock } from '../types-DlAZ7MW4.js';
|
|
4
4
|
import { C as ContentContainer } from '../ContentContainer-DNx460y8.js';
|
|
5
|
-
export { D as DEFAULT_THEME, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-
|
|
5
|
+
export { D as DEFAULT_THEME, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-DQQKuRMx.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Canonical, framework-free UI metadata for every built-in block template.
|
|
9
|
+
*
|
|
10
|
+
* This is the single source of truth for the human-readable label and the
|
|
11
|
+
* one-sentence description of each template id in {@link templateRegistry}.
|
|
12
|
+
* The editor's `TemplatePicker` renders its gallery from this map (joining
|
|
13
|
+
* each id with a locally-defined SVG icon, which can't live in this
|
|
14
|
+
* framework-free package), so a template only has to be added here and to
|
|
15
|
+
* `templateRegistry` for it to surface in the editor.
|
|
16
|
+
*
|
|
17
|
+
* `templateMetadata.test.ts` asserts this map and `templateRegistry` stay
|
|
18
|
+
* exactly 1:1 — adding a template to one without the other fails the build.
|
|
19
|
+
*
|
|
20
|
+
* Order matters: pickers iterate this object's insertion order, so it doubles
|
|
21
|
+
* as the canonical gallery order.
|
|
22
|
+
*/
|
|
23
|
+
interface TemplateMetadata {
|
|
24
|
+
/** Human-readable label shown in pickers (e.g. "Image with Caption"). */
|
|
25
|
+
label: string;
|
|
26
|
+
/** One-sentence description of when to reach for this template. */
|
|
27
|
+
description: string;
|
|
28
|
+
}
|
|
29
|
+
declare const TEMPLATE_METADATA: Record<string, TemplateMetadata>;
|
|
6
30
|
|
|
7
31
|
/**
|
|
8
32
|
* Persistent Layers Expansion
|
|
@@ -20,7 +44,7 @@ export { D as DEFAULT_THEME, g as getAvailableThemes, b as getThemeSummaries, r
|
|
|
20
44
|
/**
|
|
21
45
|
* Expand all persistent layers in a config to raw Layer arrays.
|
|
22
46
|
*/
|
|
23
|
-
declare function expandPersistentLayers(layers: PersistentLayer[] | undefined): Layer[];
|
|
47
|
+
declare function expandPersistentLayers(layers: PersistentLayer[] | undefined, theme?: Theme): Layer[];
|
|
24
48
|
/** Legacy style preset names. Prefer using `Theme.persistentLayers` directly. */
|
|
25
49
|
type DocStylePreset = 'minimal' | 'documentary' | 'branded' | 'cinematic' | 'clean';
|
|
26
50
|
/**
|
|
@@ -31,12 +55,41 @@ type DocStylePreset = 'minimal' | 'documentary' | 'branded' | 'cinematic' | 'cle
|
|
|
31
55
|
* @param heroSrc - Optional hero image for cinematic style
|
|
32
56
|
*/
|
|
33
57
|
declare function getDocStyleConfig(preset: DocStylePreset, articleTitle: string, heroSrc?: string, subtitle?: string): PersistentLayerConfig;
|
|
58
|
+
/**
|
|
59
|
+
* Get persistent layers from a Theme. Returns the theme's baked-in
|
|
60
|
+
* persistentLayers config, or an empty config when the theme has none.
|
|
61
|
+
*/
|
|
62
|
+
declare function getPersistentLayersFromTheme(theme: Theme): PersistentLayerConfig;
|
|
63
|
+
/**
|
|
64
|
+
* Resolve the effective persistent-layer config for a doc: the doc's own
|
|
65
|
+
* config wins **wholesale** when present; only docs with no persistent
|
|
66
|
+
* layers inherit the theme's.
|
|
67
|
+
*
|
|
68
|
+
* Doc-wins-wholesale (rather than merging) protects pre-baked documents
|
|
69
|
+
* that carry their own background/branding layers — merging a theme's
|
|
70
|
+
* atmosphere on top of those would double up backgrounds and stack
|
|
71
|
+
* overlays the doc author never saw.
|
|
72
|
+
*/
|
|
73
|
+
declare function resolvePersistentLayers(doc: {
|
|
74
|
+
persistentLayers?: PersistentLayerConfig;
|
|
75
|
+
}, theme: Theme): PersistentLayerConfig | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Compose a block's layers between pre-expanded persistent bottom/top
|
|
78
|
+
* layers, honoring the per-block `useBottomLayer` / `useTopLayer` opt-outs.
|
|
79
|
+
* Single shared implementation for `expandDocBlocks` and `getLayers`.
|
|
80
|
+
*/
|
|
81
|
+
declare function wrapWithPersistentLayers(layers: Layer[], block: {
|
|
82
|
+
useBottomLayer?: boolean;
|
|
83
|
+
useTopLayer?: boolean;
|
|
84
|
+
}, bottomLayers: Layer[], topLayers: Layer[]): Layer[];
|
|
34
85
|
|
|
35
86
|
/**
|
|
36
87
|
* Title Block Template
|
|
37
88
|
*
|
|
38
89
|
* Large title with optional subtitle for doc intros.
|
|
39
|
-
* Centered text with fade-in animations
|
|
90
|
+
* Centered text with fade-in animations, composed as one lockup:
|
|
91
|
+
* accent rule, title, and subtitle are spaced from the title's
|
|
92
|
+
* estimated height instead of fixed slots that collide on wrap.
|
|
40
93
|
* Adapts font sizes and positioning for different viewports.
|
|
41
94
|
*
|
|
42
95
|
* This is shared code used by both site and efb-app doc renderers.
|
|
@@ -74,8 +127,10 @@ declare function statHighlight(input: StatHighlightInput, context: TemplateConte
|
|
|
74
127
|
/**
|
|
75
128
|
* Quote Block Template
|
|
76
129
|
*
|
|
77
|
-
* Large centered quote with optional attribution
|
|
78
|
-
*
|
|
130
|
+
* Large centered quote with optional attribution, composed as one
|
|
131
|
+
* vertically-centered lockup: the attribution hangs a fixed distance
|
|
132
|
+
* below the quote's estimated bottom edge instead of being pinned to a
|
|
133
|
+
* far-away layout slot.
|
|
79
134
|
* Adapts font sizes and positioning for different viewports.
|
|
80
135
|
*
|
|
81
136
|
* Supports optional accent images that appear as tasteful side/bottom strips.
|
|
@@ -88,8 +143,10 @@ declare function quoteBlock(input: QuoteBlockInput, context: TemplateContext): L
|
|
|
88
143
|
/**
|
|
89
144
|
* Fact Card Template
|
|
90
145
|
*
|
|
91
|
-
* Key fact with explanation and optional source
|
|
92
|
-
*
|
|
146
|
+
* Key fact with explanation and optional source, composed as one
|
|
147
|
+
* vertically-centered lockup: each element is placed relative to the
|
|
148
|
+
* estimated height of the one above it, so short content doesn't leave
|
|
149
|
+
* fixed-slot voids and long content doesn't collide.
|
|
93
150
|
* Adapts font sizes and positioning for different viewports.
|
|
94
151
|
*
|
|
95
152
|
* Supports optional accent images that appear as tasteful side/bottom strips.
|
|
@@ -206,6 +263,8 @@ interface CoverBlockInput {
|
|
|
206
263
|
heroCredit?: string;
|
|
207
264
|
/** License identifier */
|
|
208
265
|
heroLicense?: string;
|
|
266
|
+
/** Per-block override for the theme's photographic image grade. */
|
|
267
|
+
imageTreatment?: 'none' | 'mono' | 'duotone' | 'warm' | 'cool';
|
|
209
268
|
}
|
|
210
269
|
/**
|
|
211
270
|
* Generate cover block layers from StartBlockConfig.
|
|
@@ -347,6 +406,328 @@ declare function videoPullQuote(input: VideoPullQuoteInput, context: TemplateCon
|
|
|
347
406
|
|
|
348
407
|
declare function dataTable(input: DataTableInput, context: TemplateContext): Layer[];
|
|
349
408
|
|
|
409
|
+
/**
|
|
410
|
+
* Diagram block template.
|
|
411
|
+
*
|
|
412
|
+
* Renders the parent block's children as a node-and-edge diagram:
|
|
413
|
+
* - Each child becomes a rounded-rect node card with its title as label.
|
|
414
|
+
* - Each `child.connectsTo` entry becomes a path edge (cubic-bezier curve
|
|
415
|
+
* with an arrowhead at the target end).
|
|
416
|
+
* - Children with `x`/`y` set are placed at those coordinates; the rest
|
|
417
|
+
* are auto-laid out below in a square-ish grid (see `diagramLayout.ts`).
|
|
418
|
+
*
|
|
419
|
+
* Layout coordinates from `x=`/`y=` are author-defined units. The
|
|
420
|
+
* template computes a bounding box of all nodes and scales it to fit
|
|
421
|
+
* the block's viewport with padding, so users don't have to think about
|
|
422
|
+
* absolute pixel ranges.
|
|
423
|
+
*/
|
|
424
|
+
|
|
425
|
+
declare function diagramBlock(input: DiagramBlockInput, context: TemplateContext): Layer[];
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* Diagram layout — shared between the read-only SVG render path
|
|
429
|
+
* (`diagramBlock` template) and the interactive editor (React Flow in
|
|
430
|
+
* `@bendyline/squisq-editor-react`). Same children + same options always
|
|
431
|
+
* produce the same node positions and edge list, so previews and the
|
|
432
|
+
* editor stay visually consistent.
|
|
433
|
+
*
|
|
434
|
+
* Layout rules:
|
|
435
|
+
* 1. Children with both `x` and `y` set keep their authored coordinates.
|
|
436
|
+
* 2. Children missing either coordinate are auto-placed in a square-ish
|
|
437
|
+
* grid in declaration order, offset below the bounding box of the
|
|
438
|
+
* explicitly-positioned children.
|
|
439
|
+
* 3. Edges come from each child's `connectsTo`. Targets that don't match
|
|
440
|
+
* any sibling id are dropped (and counted in `warnings`).
|
|
441
|
+
*/
|
|
442
|
+
|
|
443
|
+
interface DiagramNodePosition {
|
|
444
|
+
/** Block id (matches `Block.id`). */
|
|
445
|
+
id: string;
|
|
446
|
+
/** Display label (block title or fallback to id). */
|
|
447
|
+
label: string;
|
|
448
|
+
/** Pixel x coordinate (canvas-relative). */
|
|
449
|
+
x: number;
|
|
450
|
+
/** Pixel y coordinate (canvas-relative). */
|
|
451
|
+
y: number;
|
|
452
|
+
/** True when the position came from `x=`/`y=` attributes; false when auto-laid out. */
|
|
453
|
+
pinned: boolean;
|
|
454
|
+
/** Optional `.class` tokens carried over from the heading. */
|
|
455
|
+
classes?: string[];
|
|
456
|
+
}
|
|
457
|
+
interface DiagramEdge {
|
|
458
|
+
/** Synthetic stable edge id. */
|
|
459
|
+
id: string;
|
|
460
|
+
/** Source node id. */
|
|
461
|
+
source: string;
|
|
462
|
+
/** Target node id. */
|
|
463
|
+
target: string;
|
|
464
|
+
/** Connection type from `connectsTo=target:type` (used as edge label). */
|
|
465
|
+
type?: string;
|
|
466
|
+
}
|
|
467
|
+
interface DiagramLayout {
|
|
468
|
+
nodes: DiagramNodePosition[];
|
|
469
|
+
edges: DiagramEdge[];
|
|
470
|
+
warnings: string[];
|
|
471
|
+
}
|
|
472
|
+
interface DiagramLayoutOptions {
|
|
473
|
+
/** Horizontal grid pitch between auto-laid-out nodes. Default: 260 (node width 180 + 80 air). */
|
|
474
|
+
gapX?: number;
|
|
475
|
+
/** Vertical grid pitch between auto-laid-out nodes. Default: 140. */
|
|
476
|
+
gapY?: number;
|
|
477
|
+
/** Padding around the explicit-positions bounding box before the grid starts. Default: 80. */
|
|
478
|
+
gridPad?: number;
|
|
479
|
+
/** Origin x for the grid when no explicit nodes anchor it. Default: 80. */
|
|
480
|
+
gridOriginX?: number;
|
|
481
|
+
/** Origin y for the grid when no explicit nodes anchor it. Default: 80. */
|
|
482
|
+
gridOriginY?: number;
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Compute node positions and edges for a diagram from a parent block's
|
|
486
|
+
* children. Pure function — same inputs always produce the same output.
|
|
487
|
+
*/
|
|
488
|
+
declare function computeDiagramLayout(children: readonly Block[], options?: DiagramLayoutOptions): DiagramLayout;
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* Drawing block template.
|
|
492
|
+
*
|
|
493
|
+
* Renders the parent block's children as free-form shapes on a canvas:
|
|
494
|
+
* - Each child becomes a shape (`rect`/`circle` → ShapeLayer, `line`/
|
|
495
|
+
* `arrow`/`path` → PathLayer, `text` → TextLayer) with its title as a
|
|
496
|
+
* centered label and its body text as an optional sublabel.
|
|
497
|
+
* - `line`/`arrow` children with `from`/`to` (and any child's
|
|
498
|
+
* `connectsTo`) become connectors clipped to the shapes they join.
|
|
499
|
+
*
|
|
500
|
+
* Coordinates from `x`/`y`/`width`/`height` are author-defined units; the
|
|
501
|
+
* template fits the bounding box of all shapes to the viewport with
|
|
502
|
+
* padding (same approach as `diagramBlock`), so authors don't think in
|
|
503
|
+
* absolute pixels.
|
|
504
|
+
*/
|
|
505
|
+
|
|
506
|
+
declare function drawingBlock(input: DrawingBlockInput, context: TemplateContext): Layer[];
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* shapeGeometry — pure SVG geometry for the drawing/diagram shape vocabulary.
|
|
510
|
+
*
|
|
511
|
+
* Three concerns, all deterministic and dependency-free:
|
|
512
|
+
* - `shapePath(kind, x, y, w, h)` → an SVG path `d` for a named shape inscribed
|
|
513
|
+
* in a bounding box. Returns null for the natively-rendered primitives
|
|
514
|
+
* (rect / circle / line / text / path) so the caller can keep using a
|
|
515
|
+
* `ShapeLayer` for those; everything else becomes a computed `PathLayer`.
|
|
516
|
+
* - `markerPath(style, dir)` → the `<marker>` path for a line end-style, in the
|
|
517
|
+
* standard 0–10 marker viewBox (shared by the SSR `PathLayer` renderer and the
|
|
518
|
+
* editor's edge renderer).
|
|
519
|
+
* - `connectorPath(routing, start, end)` + `clipEndpoints(a, b)` → the line/edge
|
|
520
|
+
* geometry between two shapes (straight / orthogonal / curved), lifted from the
|
|
521
|
+
* diagram template so drawings and diagrams draw identical connectors.
|
|
522
|
+
*/
|
|
523
|
+
|
|
524
|
+
/** Connector routing styles. */
|
|
525
|
+
type ConnectorRouting = 'straight' | 'orthogonal' | 'curved';
|
|
526
|
+
/**
|
|
527
|
+
* Shape kinds rendered as computed paths (everything except the primitives the
|
|
528
|
+
* renderer draws natively). Used by templates to decide ShapeLayer vs PathLayer.
|
|
529
|
+
*/
|
|
530
|
+
declare const PATH_SHAPE_KINDS: Set<string>;
|
|
531
|
+
/**
|
|
532
|
+
* SVG path `d` for a named shape inscribed in `[x, y, w, h]`, or null when the
|
|
533
|
+
* kind is rendered natively (rect / circle / line / text / path / arrow).
|
|
534
|
+
*/
|
|
535
|
+
declare function shapePath(kind: string, x: number, y: number, w: number, h: number): string | null;
|
|
536
|
+
/**
|
|
537
|
+
* The `<marker>` path for a line end-style, in the 0–10 marker viewBox.
|
|
538
|
+
* `dir` selects orientation (`end` points along +x; `start` is mirrored).
|
|
539
|
+
* Returns null for `'none'`. `filled` shapes paint with the stroke color;
|
|
540
|
+
* non-filled (`open`) draw as a stroked outline.
|
|
541
|
+
*/
|
|
542
|
+
declare function markerPath(style: MarkerStyle, dir: 'start' | 'end'): {
|
|
543
|
+
d: string;
|
|
544
|
+
filled: boolean;
|
|
545
|
+
} | null;
|
|
546
|
+
interface ClipBox {
|
|
547
|
+
cx: number;
|
|
548
|
+
cy: number;
|
|
549
|
+
rx: number;
|
|
550
|
+
ry: number;
|
|
551
|
+
}
|
|
552
|
+
/** Intersection of the center-to-center line with `from`'s bounding box. */
|
|
553
|
+
declare function clipPoint(from: ClipBox, to: ClipBox): {
|
|
554
|
+
x: number;
|
|
555
|
+
y: number;
|
|
556
|
+
};
|
|
557
|
+
/** Clip both endpoints of an edge to the two shapes it joins. */
|
|
558
|
+
declare function clipEndpoints(a: ClipBox, b: ClipBox): {
|
|
559
|
+
start: {
|
|
560
|
+
x: number;
|
|
561
|
+
y: number;
|
|
562
|
+
};
|
|
563
|
+
end: {
|
|
564
|
+
x: number;
|
|
565
|
+
y: number;
|
|
566
|
+
};
|
|
567
|
+
};
|
|
568
|
+
/** Build the SVG `d` for a connector between two clipped endpoints. */
|
|
569
|
+
declare function connectorPath(routing: ConnectorRouting, start: {
|
|
570
|
+
x: number;
|
|
571
|
+
y: number;
|
|
572
|
+
}, end: {
|
|
573
|
+
x: number;
|
|
574
|
+
y: number;
|
|
575
|
+
}): string;
|
|
576
|
+
/** Map a `lineStyle` (solid|dashed|dotted) to an SVG `stroke-dasharray`. */
|
|
577
|
+
declare function lineStyleDasharray(style: string | undefined): string | undefined;
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* Drawing layout — shared, pure derivation of shapes + connectors from a
|
|
581
|
+
* drawing block's child headings. Same children always produce the same
|
|
582
|
+
* shapes, so SSR previews, exports, and (eventually) the editor stay
|
|
583
|
+
* visually consistent. Mirrors `diagramLayout.ts` for the richer
|
|
584
|
+
* free-form shape vocabulary.
|
|
585
|
+
*
|
|
586
|
+
* Each child heading is one shape. Its `{[shape …]}` annotation names the
|
|
587
|
+
* primitive (`child.template`) and carries geometry/style as string params
|
|
588
|
+
* (`child.templateOverrides`); `child.id` makes it referenceable;
|
|
589
|
+
* `child.title` is the label.
|
|
590
|
+
*
|
|
591
|
+
* Layout rules (parallel to the diagram):
|
|
592
|
+
* 1. Shapes with both `x` and `y` keep their authored coordinates.
|
|
593
|
+
* 2. Shapes missing either are auto-placed in a square-ish grid below the
|
|
594
|
+
* bounding box of the explicitly-positioned shapes.
|
|
595
|
+
* 3. `line`/`arrow` shapes with `from`/`to` (or any shape's `connectsTo`)
|
|
596
|
+
* become connectors; endpoints that match no sibling id are dropped
|
|
597
|
+
* (and counted in `warnings`).
|
|
598
|
+
*/
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* The shape kinds a drawing can render. `rect`/`circle`/`line` render as a
|
|
602
|
+
* native `ShapeLayer`; everything else (and `path`/`arrow`) renders as a
|
|
603
|
+
* computed `PathLayer` (see `shapeGeometry.ts`). `text` is a `TextLayer`.
|
|
604
|
+
*/
|
|
605
|
+
type DrawingShapeKind = 'rect' | 'circle' | 'line' | 'arrow' | 'path' | 'text' | 'triangle' | 'right-triangle' | 'diamond' | 'pentagon' | 'hexagon' | 'octagon' | 'star' | 'star4' | 'star6' | 'parallelogram' | 'trapezoid' | 'plus' | 'chevron' | 'arrow-right' | 'arrow-left' | 'arrow-up' | 'arrow-down' | 'double-arrow' | 'callout' | 'cylinder' | 'cloud' | 'heart' | 'lightning';
|
|
606
|
+
/**
|
|
607
|
+
* Author-facing shape annotation names accepted on a drawing's children
|
|
608
|
+
* (the `{[…]}` token). Shared with validation so an unknown shape gets a
|
|
609
|
+
* "did you mean" suggestion. Aliases (`rectangle`→rect, `ellipse`→circle)
|
|
610
|
+
* are included.
|
|
611
|
+
*/
|
|
612
|
+
declare const SHAPE_NAMES: readonly ["rectangle", "rect", "square", "circle", "ellipse", "oval", "line", "arrow", "path", "text", "triangle", "right-triangle", "diamond", "rhombus", "pentagon", "hexagon", "octagon", "star", "star4", "star6", "parallelogram", "trapezoid", "plus", "cross", "chevron", "arrow-right", "arrow-left", "arrow-up", "arrow-down", "double-arrow", "callout", "speech", "cylinder", "cloud", "heart", "lightning", "bolt"];
|
|
613
|
+
/**
|
|
614
|
+
* Resolve a child's `{[…]}` annotation name to a shape kind, or `null`
|
|
615
|
+
* when it isn't a shape. Case-insensitive.
|
|
616
|
+
*/
|
|
617
|
+
declare function normalizeShapeKind(name: string | undefined): DrawingShapeKind | null;
|
|
618
|
+
/** True when `name` is an accepted shape annotation (any alias). */
|
|
619
|
+
declare function isShapeName(name: string | undefined): boolean;
|
|
620
|
+
/** A positioned shape in author-defined units (top-left origin). */
|
|
621
|
+
interface DrawingShape {
|
|
622
|
+
id: string;
|
|
623
|
+
kind: DrawingShapeKind;
|
|
624
|
+
x: number;
|
|
625
|
+
y: number;
|
|
626
|
+
width: number;
|
|
627
|
+
height: number;
|
|
628
|
+
/** True when position came from `x=`/`y=`; false when auto-laid out. */
|
|
629
|
+
pinned: boolean;
|
|
630
|
+
/** Heading text used as the shape's label ('' when none). */
|
|
631
|
+
label: string;
|
|
632
|
+
/** Body text under the heading, used as a sublabel (when present). */
|
|
633
|
+
sublabel?: string;
|
|
634
|
+
/** Text content for `text` shapes (`text=` param, else label, else body). */
|
|
635
|
+
text?: string;
|
|
636
|
+
/** Raw SVG path `d` for `path` shapes. */
|
|
637
|
+
d?: string;
|
|
638
|
+
fill?: string;
|
|
639
|
+
stroke?: string;
|
|
640
|
+
strokeWidth?: number;
|
|
641
|
+
borderRadius?: number;
|
|
642
|
+
dasharray?: string;
|
|
643
|
+
}
|
|
644
|
+
/** A connector joining two shapes by id. */
|
|
645
|
+
interface DrawingConnector {
|
|
646
|
+
id: string;
|
|
647
|
+
kind: 'line' | 'arrow';
|
|
648
|
+
/** Source shape id (resolved to an existing shape). */
|
|
649
|
+
from: string;
|
|
650
|
+
/** Target shape id (resolved to an existing shape). */
|
|
651
|
+
to: string;
|
|
652
|
+
/** Optional midpoint label (heading text, or `connectsTo` type). */
|
|
653
|
+
label?: string;
|
|
654
|
+
stroke?: string;
|
|
655
|
+
strokeWidth?: number;
|
|
656
|
+
dasharray?: string;
|
|
657
|
+
/** End-of-line markers (default: `arrow` kind → filled arrow at `to`). */
|
|
658
|
+
startMarker: MarkerStyle;
|
|
659
|
+
endMarker: MarkerStyle;
|
|
660
|
+
/** How the line is routed between the two shapes. Default: 'straight'. */
|
|
661
|
+
routing: ConnectorRouting;
|
|
662
|
+
}
|
|
663
|
+
interface DrawingLayout {
|
|
664
|
+
shapes: DrawingShape[];
|
|
665
|
+
connectors: DrawingConnector[];
|
|
666
|
+
warnings: string[];
|
|
667
|
+
}
|
|
668
|
+
interface DrawingLayoutOptions {
|
|
669
|
+
/** Horizontal spacing between auto-laid-out shapes. Default: 180. */
|
|
670
|
+
gapX?: number;
|
|
671
|
+
/** Vertical spacing between auto-laid-out shapes. Default: 140. */
|
|
672
|
+
gapY?: number;
|
|
673
|
+
/** Padding below the explicit bounding box before the grid starts. Default: 80. */
|
|
674
|
+
gridPad?: number;
|
|
675
|
+
/** Grid origin when no explicit shapes anchor it. Default: 80, 80. */
|
|
676
|
+
gridOriginX?: number;
|
|
677
|
+
gridOriginY?: number;
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
680
|
+
* Compute shapes + connectors for a drawing from its parent block's
|
|
681
|
+
* children. Pure — same inputs always produce the same output.
|
|
682
|
+
*/
|
|
683
|
+
declare function computeDrawingLayout(children: readonly Block[], options?: DrawingLayoutOptions): DrawingLayout;
|
|
684
|
+
|
|
685
|
+
/**
|
|
686
|
+
* Layout block template.
|
|
687
|
+
*
|
|
688
|
+
* Renders the parent block's children as free-form, **absolutely
|
|
689
|
+
* positioned** layers on a canvas (text boxes, shapes, images). Unlike
|
|
690
|
+
* `drawingBlock`, coordinates are used as-is — there is no fit-to-viewport
|
|
691
|
+
* scaling — because a layout is a fixed-canvas composition.
|
|
692
|
+
*
|
|
693
|
+
* Each child is one layer: `### {#id} {[<type> x=.. y=.. …]}`. A text box's
|
|
694
|
+
* content lives in its child body as markdown (see `computeLayoutLayers`).
|
|
695
|
+
* Children render in document order (first child = back-most layer).
|
|
696
|
+
*/
|
|
697
|
+
|
|
698
|
+
declare function layoutBlock(input: TemplateBlock, context: TemplateContext): Layer[];
|
|
699
|
+
|
|
700
|
+
interface LayoutLayersResult {
|
|
701
|
+
layers: Layer[];
|
|
702
|
+
warnings: string[];
|
|
703
|
+
}
|
|
704
|
+
interface LayoutLayerDefaults {
|
|
705
|
+
/**
|
|
706
|
+
* Default ink — text color and path/line stroke — used when the author
|
|
707
|
+
* omits `color=`/`stroke=`. `layoutBlock` passes the theme text color so
|
|
708
|
+
* un-styled text stays legible on dark themes; the editor's scene canvas
|
|
709
|
+
* omits it and gets the dark-slate default that suits its fixed light
|
|
710
|
+
* surface.
|
|
711
|
+
*/
|
|
712
|
+
ink?: string;
|
|
713
|
+
}
|
|
714
|
+
/** Minimal Block shape this derivation reads (subset of `Block`). */
|
|
715
|
+
interface LayoutChildBlock {
|
|
716
|
+
id: string;
|
|
717
|
+
template?: string;
|
|
718
|
+
templateOverrides?: Record<string, string>;
|
|
719
|
+
title?: string;
|
|
720
|
+
contents?: MarkdownNode[];
|
|
721
|
+
}
|
|
722
|
+
/**
|
|
723
|
+
* Map a layout block's children → positioned layers. Pure: same children
|
|
724
|
+
* always produce the same layers.
|
|
725
|
+
*/
|
|
726
|
+
declare function computeLayoutLayers(children: readonly LayoutChildBlock[], _viewport: {
|
|
727
|
+
width: number;
|
|
728
|
+
height: number;
|
|
729
|
+
}, defaults?: LayoutLayerDefaults): LayoutLayersResult;
|
|
730
|
+
|
|
350
731
|
/**
|
|
351
732
|
* Accent Image Utility
|
|
352
733
|
*
|
|
@@ -388,7 +769,7 @@ declare function getAccentLayout(position: AccentPosition): AccentLayout;
|
|
|
388
769
|
* Create layers for an accent image.
|
|
389
770
|
* Returns the image layer and any overlay/gradient layers needed.
|
|
390
771
|
*/
|
|
391
|
-
declare function createAccentLayers(accent: AccentImage, slideId: string): Layer[];
|
|
772
|
+
declare function createAccentLayers(accent: AccentImage, slideId: string, treatment?: ImageTreatment): Layer[];
|
|
392
773
|
/**
|
|
393
774
|
* Adjust a Y position value based on accent layout.
|
|
394
775
|
* Used by templates to shift content when bottom-strip is present.
|
|
@@ -435,10 +816,32 @@ declare const TEMPLATE_ALIASES: Readonly<Record<string, string>>;
|
|
|
435
816
|
* input unchanged when no alias is registered.
|
|
436
817
|
*/
|
|
437
818
|
declare function resolveTemplateName(name: string): string;
|
|
819
|
+
/**
|
|
820
|
+
* Container templates render their parent block by consuming the block's
|
|
821
|
+
* child headings (via `context.children`) — `diagram` draws them as nodes,
|
|
822
|
+
* `drawing` as shapes, `layout` as absolutely-positioned layers. Those
|
|
823
|
+
* children are therefore NOT independently renderable slides/sections;
|
|
824
|
+
* render paths use {@link isContainerTemplate} to skip descending into
|
|
825
|
+
* them (see `flattenRenderableBlocks`).
|
|
826
|
+
*/
|
|
827
|
+
declare const CONTAINER_TEMPLATES: ReadonlySet<string>;
|
|
828
|
+
/** True when `name` (or its alias) is a children-consuming container template. */
|
|
829
|
+
declare function isContainerTemplate(name: string | undefined): boolean;
|
|
830
|
+
/**
|
|
831
|
+
* Merge user-defined custom templates onto the built-in registry.
|
|
832
|
+
* Built-in names take precedence on collision — a user can't shadow
|
|
833
|
+
* `title` or `diagram` from a custom definition. Returns a frozen view
|
|
834
|
+
* so callers don't accidentally mutate the global registry.
|
|
835
|
+
*/
|
|
836
|
+
type RuntimeTemplateRegistry = Record<string, (input: TemplateBlock, ctx: TemplateContext) => Layer[]>;
|
|
837
|
+
declare function buildRegistry(custom?: readonly CustomTemplateDefinition[]): RuntimeTemplateRegistry;
|
|
438
838
|
/**
|
|
439
839
|
* Expand a template block into a full Block with layers.
|
|
840
|
+
*
|
|
841
|
+
* `registry` lets callers swap in a registry that includes user-defined
|
|
842
|
+
* custom templates. Defaults to the built-in registry when omitted.
|
|
440
843
|
*/
|
|
441
|
-
declare function expandTemplateBlock(templateBlock: TemplateBlock, context: TemplateContext): Block;
|
|
844
|
+
declare function expandTemplateBlock(templateBlock: TemplateBlock, context: TemplateContext, registry?: RuntimeTemplateRegistry): Block;
|
|
442
845
|
/**
|
|
443
846
|
* Audio segment timing info for aligning blocks with audio.
|
|
444
847
|
*/
|
|
@@ -464,18 +867,13 @@ interface ExpandDocBlocksOptions {
|
|
|
464
867
|
* ensuring proper synchronization with audio playback.
|
|
465
868
|
*/
|
|
466
869
|
audioSegments?: AudioSegmentTiming[];
|
|
870
|
+
/**
|
|
871
|
+
* User-defined custom templates to merge onto the built-in registry
|
|
872
|
+
* before expanding blocks. Typically passed straight from
|
|
873
|
+
* `Doc.customTemplates`. Built-in names take precedence on collision.
|
|
874
|
+
*/
|
|
875
|
+
customTemplates?: readonly CustomTemplateDefinition[];
|
|
467
876
|
}
|
|
468
|
-
/**
|
|
469
|
-
* Expand all template blocks in a doc, calculating start times.
|
|
470
|
-
* Injects persistent layers (bottom/top) based on per-block flags.
|
|
471
|
-
*
|
|
472
|
-
* When audioSegments is provided, blocks are timed relative to their audio segment's
|
|
473
|
-
* start time, ensuring blocks appear when their audio is playing. Blocks within each
|
|
474
|
-
* segment are distributed proportionally across the segment duration.
|
|
475
|
-
*
|
|
476
|
-
* @param blocks - Array of template or raw blocks
|
|
477
|
-
* @param options - Expansion options including theme, viewport, and persistent layers
|
|
478
|
-
*/
|
|
479
877
|
declare function expandDocBlocks(blocks: DocBlock[], options?: ExpandDocBlocksOptions): Block[];
|
|
480
878
|
/**
|
|
481
879
|
* Get list of available template names.
|
|
@@ -515,7 +913,7 @@ declare function getDefaultAnimationDuration(type: AnimationType): number;
|
|
|
515
913
|
/**
|
|
516
914
|
* Get transition class for slide entry/exit.
|
|
517
915
|
*/
|
|
518
|
-
declare function getTransitionClass(type: TransitionType, entering: boolean): string;
|
|
916
|
+
declare function getTransitionClass(type: TransitionType, entering: boolean, direction?: TransitionDirection): string;
|
|
519
917
|
/**
|
|
520
918
|
* Calculate animation progress (0-1) based on current time.
|
|
521
919
|
*/
|
|
@@ -563,6 +961,21 @@ declare function scaleAnimationDuration(baseDuration: number, context: TemplateC
|
|
|
563
961
|
* Returns `undefined` when the theme doesn't specify one (template picks its own).
|
|
564
962
|
*/
|
|
565
963
|
declare function getDefaultAnimation(context: TemplateContext, layerType: 'text' | 'image'): AnimationType | undefined;
|
|
964
|
+
/**
|
|
965
|
+
* Theme-aware entrance animation for a template layer.
|
|
966
|
+
*
|
|
967
|
+
* The theme's `renderStyle.defaultTextAnimation` / `defaultImageAnimation`
|
|
968
|
+
* overrides the entrance *type*; the template keeps its authored duration,
|
|
969
|
+
* delay, and stagger. Templates opt in per layer:
|
|
970
|
+
*
|
|
971
|
+
* ```ts
|
|
972
|
+
* animation: themedEntrance(context, 'text', { type: 'fadeIn', duration: 2 })
|
|
973
|
+
* ```
|
|
974
|
+
*
|
|
975
|
+
* `slowZoom` is excluded — it's an ambient treatment handled by the
|
|
976
|
+
* `applyRenderStyleToLayers` post-pass, not an entrance.
|
|
977
|
+
*/
|
|
978
|
+
declare function themedEntrance(context: TemplateContext, layerType: 'text' | 'image', fallback: Animation): Animation;
|
|
566
979
|
/**
|
|
567
980
|
* Whether the theme defaults to text shadows.
|
|
568
981
|
* Templates should consult this when choosing `shadow: true/false`.
|
|
@@ -572,6 +985,32 @@ declare function shouldUseShadow(context: TemplateContext): boolean;
|
|
|
572
985
|
* Get the theme's overlay opacity for image-backed blocks.
|
|
573
986
|
*/
|
|
574
987
|
declare function getOverlayOpacity(context: TemplateContext): number;
|
|
988
|
+
/**
|
|
989
|
+
* Resolve the effective photographic treatment for a block's imagery.
|
|
990
|
+
*
|
|
991
|
+
* Precedence: the block's `imageTreatment` override ('none' opts out, a
|
|
992
|
+
* type forces that grade) → the theme's `style.imageTreatment` → none.
|
|
993
|
+
* Duotone tints default to the theme primary. Templates pass the result
|
|
994
|
+
* straight into `ImageLayer.content.treatment`.
|
|
995
|
+
*/
|
|
996
|
+
declare function themedImageTreatment(context: TemplateContext, override?: 'none' | 'mono' | 'duotone' | 'warm' | 'cool'): ImageTreatment | undefined;
|
|
997
|
+
/**
|
|
998
|
+
* Theme-derived surface gradient for text-first templates.
|
|
999
|
+
*
|
|
1000
|
+
* Runs from the theme's alternate surface into a slightly deepened
|
|
1001
|
+
* background, staying inside the theme's own hue. Templates must use
|
|
1002
|
+
* this instead of hard-coding a dark endpoint (`#0f1520`, `#1e2030`, …):
|
|
1003
|
+
* hard-coded navy endpoints made light themes render dark panels and
|
|
1004
|
+
* warm themes drift cold halfway down the block.
|
|
1005
|
+
*/
|
|
1006
|
+
declare function themedSurfaceGradient(context: TemplateContext, angleDeg?: number): string;
|
|
1007
|
+
/**
|
|
1008
|
+
* Translucent overlay tint derived from the theme background, for text
|
|
1009
|
+
* bands/scrims painted over imagery. Light themes get a light scrim with
|
|
1010
|
+
* dark theme text on top; dark themes get the familiar dark scrim —
|
|
1011
|
+
* `theme.colors.text` stays legible on it by construction.
|
|
1012
|
+
*/
|
|
1013
|
+
declare function themedScrim(context: TemplateContext, alpha?: number): string;
|
|
575
1014
|
/**
|
|
576
1015
|
* Read a per-template hint from the theme's renderStyle.
|
|
577
1016
|
* Returns `fallback` when the hint isn't defined.
|
|
@@ -583,6 +1022,126 @@ declare function getOverlayOpacity(context: TemplateContext): number;
|
|
|
583
1022
|
*/
|
|
584
1023
|
declare function getTemplateHint<T extends string | number | boolean>(context: TemplateContext, templateName: string, key: string, fallback: T): T;
|
|
585
1024
|
|
|
1025
|
+
/**
|
|
1026
|
+
* Render-style post-pass — applies a theme's mechanical motion defaults to
|
|
1027
|
+
* template-generated layers.
|
|
1028
|
+
*
|
|
1029
|
+
* This is the intent-free half of theme motion (see `themedEntrance` in
|
|
1030
|
+
* [themeUtils.ts](./themeUtils.ts) for the intent-bearing half): it never
|
|
1031
|
+
* decides *what kind* of entrance a layer gets, only
|
|
1032
|
+
*
|
|
1033
|
+
* 1. scales existing animation durations/delays by the theme's
|
|
1034
|
+
* `style.animationSpeed` multiplier (1.4 = calmer/slower, 0.7 = snappier,
|
|
1035
|
+
* 1.0 = no-op), and
|
|
1036
|
+
* 2. gives full-bleed cover imagery with no authored animation a gentle,
|
|
1037
|
+
* deterministic Ken Burns when the theme opts into ambient motion.
|
|
1038
|
+
*
|
|
1039
|
+
* Applied ONLY to template-generated layers — raw authored `block.layers`
|
|
1040
|
+
* are never touched, and an explicit `animation` (including
|
|
1041
|
+
* `{ type: 'none' }`) always wins.
|
|
1042
|
+
*/
|
|
1043
|
+
|
|
1044
|
+
/**
|
|
1045
|
+
* Whether the theme asks for ambient Ken Burns on otherwise-static imagery.
|
|
1046
|
+
* `defaultImageAnimation: 'slowZoom'` is treated as an alias for the boolean
|
|
1047
|
+
* (that's what themes authoring it were reaching for).
|
|
1048
|
+
*/
|
|
1049
|
+
declare function themeWantsAmbientMotion(theme: Theme): boolean;
|
|
1050
|
+
/**
|
|
1051
|
+
* Apply the theme's mechanical motion defaults to a block's
|
|
1052
|
+
* template-generated layers. Pure: returns new layer objects where a change
|
|
1053
|
+
* applies and the original objects where none does.
|
|
1054
|
+
*
|
|
1055
|
+
* @param layers Template-generated layers (never raw authored layers)
|
|
1056
|
+
* @param block The source block — supplies the ambient-motion seed and duration
|
|
1057
|
+
* @param theme Resolved theme
|
|
1058
|
+
*/
|
|
1059
|
+
declare function applyRenderStyleToLayers(layers: Layer[], block: {
|
|
1060
|
+
id: string;
|
|
1061
|
+
duration?: number;
|
|
1062
|
+
}, theme: Theme): Layer[];
|
|
1063
|
+
|
|
1064
|
+
/**
|
|
1065
|
+
* Image treatment → CSS filter derivation.
|
|
1066
|
+
*
|
|
1067
|
+
* Treatments are theme-level photographic grades (see `ImageTreatment` in
|
|
1068
|
+
* [Doc.ts](../../schemas/Doc.ts)). They compile to plain CSS `filter`
|
|
1069
|
+
* functions so the same string works on a foreignObject `<img>`, an SVG
|
|
1070
|
+
* `<image>` element, and in headless frame capture — no SVG filter defs to
|
|
1071
|
+
* coordinate, no renderer-specific code paths.
|
|
1072
|
+
*/
|
|
1073
|
+
|
|
1074
|
+
/**
|
|
1075
|
+
* Build the CSS `filter` value for a treatment and/or blur.
|
|
1076
|
+
* Returns `undefined` when there is nothing to apply.
|
|
1077
|
+
*/
|
|
1078
|
+
declare function cssFilterForTreatment(treatment?: ImageTreatment, blur?: number): string | undefined;
|
|
1079
|
+
|
|
1080
|
+
/**
|
|
1081
|
+
* Template input derivation — build a template's required inputs from a
|
|
1082
|
+
* block's heading + markdown body.
|
|
1083
|
+
*
|
|
1084
|
+
* Used by:
|
|
1085
|
+
* - `markdownToDoc`'s content-aware auto template picking, so an
|
|
1086
|
+
* auto-picked `quote`/`statHighlight`/`leftFeature` block carries the
|
|
1087
|
+
* inputs its template needs through every render path (player, linear
|
|
1088
|
+
* view, exports).
|
|
1089
|
+
* - `LinearDocView` / editor previews, to render annotated blocks whose
|
|
1090
|
+
* authors didn't spell out every template param.
|
|
1091
|
+
*
|
|
1092
|
+
* Two modes:
|
|
1093
|
+
* - strict (default): returns `null` when an essential input can't be
|
|
1094
|
+
* derived (no image for a feature block, no table for dataTable…) —
|
|
1095
|
+
* auto-picking uses this to fall back to the structural default.
|
|
1096
|
+
* - placeholders: returns visible placeholder values instead of failing —
|
|
1097
|
+
* preview surfaces use this so a half-authored block still renders.
|
|
1098
|
+
*/
|
|
1099
|
+
|
|
1100
|
+
/** First image discovered in a block's body, with explicit dimensions when present. */
|
|
1101
|
+
interface FirstImage {
|
|
1102
|
+
src: string;
|
|
1103
|
+
alt: string;
|
|
1104
|
+
width?: number;
|
|
1105
|
+
height?: number;
|
|
1106
|
+
}
|
|
1107
|
+
/** Plain text of a block's body contents (excluding the heading). */
|
|
1108
|
+
declare function extractBodyPlainText(contents?: MarkdownBlockNode[]): string;
|
|
1109
|
+
/** Extract list items as plain text. */
|
|
1110
|
+
declare function extractListItems(contents?: MarkdownBlockNode[]): string[];
|
|
1111
|
+
/**
|
|
1112
|
+
* Find images referenced anywhere in block contents — both markdown
|
|
1113
|
+
* shorthand `` (type `image`) and raw HTML `<img>` tags
|
|
1114
|
+
* (type `htmlBlock`/`htmlInline`). The WYSIWYG editor emits the HTML form
|
|
1115
|
+
* whenever a user resizes an image, so missing that path silently breaks
|
|
1116
|
+
* every resized image.
|
|
1117
|
+
*
|
|
1118
|
+
* @param limit Stop after this many images (default: all).
|
|
1119
|
+
*/
|
|
1120
|
+
declare function extractImages(contents: MarkdownBlockNode[] | undefined, limit?: number): FirstImage[];
|
|
1121
|
+
/** First image in a block's body, or null. */
|
|
1122
|
+
declare function extractFirstImage(contents: MarkdownBlockNode[] | undefined): FirstImage | null;
|
|
1123
|
+
/** Extract table data (headers, rows, alignment) from block contents. */
|
|
1124
|
+
declare function extractTableFromContents(contents?: MarkdownBlockNode[]): {
|
|
1125
|
+
headers: string[];
|
|
1126
|
+
rows: string[][];
|
|
1127
|
+
align?: (('left' | 'right' | 'center') | null)[];
|
|
1128
|
+
} | null;
|
|
1129
|
+
/** First blockquote's plain text, or ''. */
|
|
1130
|
+
declare function extractBlockquoteText(contents?: MarkdownBlockNode[]): string;
|
|
1131
|
+
interface DeriveTemplateInputsOptions {
|
|
1132
|
+
/**
|
|
1133
|
+
* Return visible placeholder values instead of `null` when an essential
|
|
1134
|
+
* input can't be derived (preview surfaces). Default false (strict).
|
|
1135
|
+
*/
|
|
1136
|
+
placeholders?: boolean;
|
|
1137
|
+
}
|
|
1138
|
+
/**
|
|
1139
|
+
* Derive a template's inputs from a block's heading text and body nodes.
|
|
1140
|
+
* Returns the input fields to merge onto the block, or `null` in strict
|
|
1141
|
+
* mode when an essential input is missing.
|
|
1142
|
+
*/
|
|
1143
|
+
declare function deriveTemplateInputs(templateName: string, headingText: string, contents: MarkdownBlockNode[] | undefined, options?: DeriveTemplateInputsOptions): Record<string, unknown> | null;
|
|
1144
|
+
|
|
586
1145
|
/**
|
|
587
1146
|
* Markdown → Doc Conversion
|
|
588
1147
|
*
|
|
@@ -626,28 +1185,43 @@ interface MarkdownToDocOptions {
|
|
|
626
1185
|
* is used as the hero. Set to false to suppress automatic cover generation.
|
|
627
1186
|
*/
|
|
628
1187
|
generateCoverBlock?: boolean;
|
|
1188
|
+
/**
|
|
1189
|
+
* Timestamp recorded as `captions.generatedAt`. When omitted, the field
|
|
1190
|
+
* is left unset so that conversion is fully deterministic — the same
|
|
1191
|
+
* markdown always converts to an identical Doc (important for snapshot
|
|
1192
|
+
* tests, caching, and agents that verify their output by re-converting).
|
|
1193
|
+
*/
|
|
1194
|
+
captionsGeneratedAt?: string;
|
|
1195
|
+
/**
|
|
1196
|
+
* Content-aware template auto-picking for unannotated headings
|
|
1197
|
+
* (default: true). When a heading block carries a strong content signal
|
|
1198
|
+
* — a table, images, a blockquote, a list, a stat-looking line — the
|
|
1199
|
+
* matching template is applied (with inputs derived from the body)
|
|
1200
|
+
* instead of the structural `defaultTemplate`. Explicit `{[template]}`
|
|
1201
|
+
* annotations always win. Authors can also disable per document with
|
|
1202
|
+
* frontmatter `squisq-auto-templates: false`.
|
|
1203
|
+
*/
|
|
1204
|
+
autoTemplates?: boolean;
|
|
629
1205
|
}
|
|
630
|
-
/**
|
|
631
|
-
* Convert a MarkdownDocument into a Doc with a heading-driven Block hierarchy.
|
|
632
|
-
*
|
|
633
|
-
* **Algorithm:**
|
|
634
|
-
* 1. Walk the document's top-level children sequentially
|
|
635
|
-
* 2. Each MarkdownHeading starts a new block at its depth level
|
|
636
|
-
* 3. Non-heading nodes accumulate as `contents` on the current block
|
|
637
|
-
* 4. Sub-headings (deeper depth) nest as `children` of the current block
|
|
638
|
-
* 5. Same-level or shallower headings close the current block and start a sibling/ancestor
|
|
639
|
-
* 6. Content before the first heading goes into a "preamble" block with no sourceHeading
|
|
640
|
-
*
|
|
641
|
-
* @param markdownDoc - A parsed MarkdownDocument
|
|
642
|
-
* @param options - Conversion options
|
|
643
|
-
* @returns A Doc whose blocks mirror the markdown heading structure
|
|
644
|
-
*/
|
|
645
1206
|
declare function markdownToDoc(markdownDoc: MarkdownDocument, options?: MarkdownToDocOptions): Doc;
|
|
646
1207
|
/**
|
|
647
1208
|
* Flatten a nested block tree into a depth-first ordered array.
|
|
648
1209
|
* Useful for calculating sequential timing or iterating all blocks.
|
|
649
1210
|
*/
|
|
650
1211
|
declare function flattenBlocks(blocks: Block[]): Block[];
|
|
1212
|
+
/**
|
|
1213
|
+
* Flatten the block tree into the list of *independently renderable*
|
|
1214
|
+
* blocks — like {@link flattenBlocks}, but it does NOT descend into the
|
|
1215
|
+
* children of a container template (`diagram`, `drawing`; see
|
|
1216
|
+
* `isContainerTemplate`). Those children are consumed by the parent's
|
|
1217
|
+
* render (as nodes / shapes), so they must not also surface as their own
|
|
1218
|
+
* slides or sections.
|
|
1219
|
+
*
|
|
1220
|
+
* Use this anywhere a doc is flattened for rendering (slideshow, video,
|
|
1221
|
+
* static pages). Use {@link flattenBlocks} when you genuinely need every
|
|
1222
|
+
* block regardless of role — validation, timing, duplicate-id checks.
|
|
1223
|
+
*/
|
|
1224
|
+
declare function flattenRenderableBlocks(blocks: Block[]): Block[];
|
|
651
1225
|
/**
|
|
652
1226
|
* Count the total number of blocks in a nested tree (including children at all levels).
|
|
653
1227
|
*/
|
|
@@ -697,6 +1271,151 @@ declare function getBlockDepth(block: Block): number;
|
|
|
697
1271
|
*/
|
|
698
1272
|
declare function docToMarkdown(doc: Doc): MarkdownDocument;
|
|
699
1273
|
|
|
1274
|
+
/**
|
|
1275
|
+
* Frontmatter serialization for user-defined custom templates (layouts).
|
|
1276
|
+
*
|
|
1277
|
+
* Custom template definitions live in the document's YAML frontmatter
|
|
1278
|
+
* under the key `squisq-custom-templates`. They're stored as a single
|
|
1279
|
+
* **compact JSON** object keyed by template name:
|
|
1280
|
+
*
|
|
1281
|
+
* ```yaml
|
|
1282
|
+
* squisq-custom-templates: {"hero":{"lb":"Hero Section","ly":[{"ty":"text",…}]}}
|
|
1283
|
+
* ```
|
|
1284
|
+
*
|
|
1285
|
+
* Squisq's frontmatter parser is line-based; a JSON object literal
|
|
1286
|
+
* round-trips through it verbatim (no leading quote to strip, single
|
|
1287
|
+
* line), so the value is written **unquoted** and stays human-readable
|
|
1288
|
+
* and diffable — important for a codebase edited by people and agents.
|
|
1289
|
+
*
|
|
1290
|
+
* The JSON is kept small by:
|
|
1291
|
+
* - keying definitions by `name` (drops the `name` field + array wrapper),
|
|
1292
|
+
* - omitting the viewport when it's the 1920×1080 default,
|
|
1293
|
+
* - renaming well-known property names to two-letter codes via
|
|
1294
|
+
* {@link LONG_TO_SHORT} (e.g. `fontSize` → `fz`).
|
|
1295
|
+
*
|
|
1296
|
+
* The rename is a generic, recursive, bijective pass: **any property not
|
|
1297
|
+
* in the map passes through unchanged**, so the format is lossless even
|
|
1298
|
+
* as the Layer schema grows — new fields are simply stored under their
|
|
1299
|
+
* full name until (optionally) added to the map.
|
|
1300
|
+
*
|
|
1301
|
+
* Back-compat: the reader still accepts the historical base64-of-JSON
|
|
1302
|
+
* payload and a structured array, so older documents load unchanged.
|
|
1303
|
+
* The first save migrates them to the compact form.
|
|
1304
|
+
*
|
|
1305
|
+
* The `encodeLayersForFrontmatter` / `decodeLayersFromFrontmatter` pair
|
|
1306
|
+
* handles a single Layer array for the editor's `dataLayers="…"` Pandoc
|
|
1307
|
+
* param path; that path stays base64 (it's a different, per-block
|
|
1308
|
+
* mechanism) and is re-exported here for locality.
|
|
1309
|
+
*/
|
|
1310
|
+
|
|
1311
|
+
/**
|
|
1312
|
+
* Base64-encode a Layer array as JSON, UTF-8 safe. Used by the editor's
|
|
1313
|
+
* per-block `dataLayers="…"` Pandoc param (not the doc-level template
|
|
1314
|
+
* list, which uses the compact JSON above).
|
|
1315
|
+
*
|
|
1316
|
+
* `btoa` only accepts Latin1 strings — any character outside that range
|
|
1317
|
+
* (e.g. an em-dash in a description) throws — so we round through
|
|
1318
|
+
* `TextEncoder`. Works in Node ≥18 and browsers.
|
|
1319
|
+
*/
|
|
1320
|
+
declare function encodeLayersForFrontmatter(layers: readonly Layer[]): string;
|
|
1321
|
+
/** Inverse of {@link encodeLayersForFrontmatter}. Returns [] on parse failure. */
|
|
1322
|
+
declare function decodeLayersFromFrontmatter(encoded: string): Layer[];
|
|
1323
|
+
/**
|
|
1324
|
+
* Read the `squisq-custom-templates` frontmatter key and decode it into
|
|
1325
|
+
* an array of CustomTemplateDefinitions. Returns undefined when the key
|
|
1326
|
+
* is absent or unparseable so callers can omit the field from the Doc.
|
|
1327
|
+
*
|
|
1328
|
+
* Accepts, in order: the compact JSON object (current), a base64-JSON
|
|
1329
|
+
* string (legacy), and an already-structured array/object (in case a
|
|
1330
|
+
* richer YAML parser delivers it). Malformed payloads return undefined
|
|
1331
|
+
* rather than failing the whole doc load.
|
|
1332
|
+
*/
|
|
1333
|
+
declare function readCustomTemplatesFromFrontmatter(frontmatter: Record<string, unknown> | undefined): CustomTemplateDefinition[] | undefined;
|
|
1334
|
+
/**
|
|
1335
|
+
* Encode a list of custom template definitions into the compact JSON
|
|
1336
|
+
* object described in the module header. Returns undefined when the
|
|
1337
|
+
* input list is empty so callers can leave the key off the output.
|
|
1338
|
+
*/
|
|
1339
|
+
declare function writeCustomTemplatesToFrontmatter(templates: readonly CustomTemplateDefinition[] | undefined): string | undefined;
|
|
1340
|
+
|
|
1341
|
+
/**
|
|
1342
|
+
* Frontmatter serialization for user-defined custom themes.
|
|
1343
|
+
*
|
|
1344
|
+
* The theme analog of {@link ./customTemplatesFrontmatter.ts}. Custom Theme
|
|
1345
|
+
* definitions live in the document's YAML frontmatter under the key
|
|
1346
|
+
* `squisq-custom-themes`, stored as a single **compact JSON** object keyed
|
|
1347
|
+
* by theme id:
|
|
1348
|
+
*
|
|
1349
|
+
* ```yaml
|
|
1350
|
+
* squisq-custom-themes: {"my-brand":{"schemaVersion":"1","id":"my-brand",…}}
|
|
1351
|
+
* ```
|
|
1352
|
+
*
|
|
1353
|
+
* Squisq's frontmatter parser is line-based; a JSON object literal
|
|
1354
|
+
* round-trips through it verbatim (single line, no leading quote to strip),
|
|
1355
|
+
* so the value is written **unquoted** and stays human-readable and diffable
|
|
1356
|
+
* — the same mechanism the custom-templates codec relies on.
|
|
1357
|
+
*
|
|
1358
|
+
* Only one theme is *active* per doc (selected by id via the `squisq-theme`
|
|
1359
|
+
* frontmatter key / `Doc.themeId`), but the payload is a keyed map — parallel
|
|
1360
|
+
* to custom templates — so a doc can carry a small catalog and switch between
|
|
1361
|
+
* them, and `resolveThemeForDoc` can resolve any of them doc-scoped.
|
|
1362
|
+
*
|
|
1363
|
+
* Malformed entries are dropped (via `validateTheme`) rather than failing the
|
|
1364
|
+
* whole doc load, matching the tolerant behavior of the templates reader.
|
|
1365
|
+
*/
|
|
1366
|
+
|
|
1367
|
+
/**
|
|
1368
|
+
* Read the custom themes inlined into a document's frontmatter. Returns
|
|
1369
|
+
* undefined when the key is absent or holds no valid theme, so callers can
|
|
1370
|
+
* omit the field from the Doc.
|
|
1371
|
+
*/
|
|
1372
|
+
declare function readCustomThemesFromFrontmatter(frontmatter: Record<string, unknown> | undefined): Theme[] | undefined;
|
|
1373
|
+
/**
|
|
1374
|
+
* Encode a list of custom themes into the compact JSON object described in
|
|
1375
|
+
* the module header (keyed by theme id). Returns undefined when the input is
|
|
1376
|
+
* empty so callers can leave the key off the output.
|
|
1377
|
+
*/
|
|
1378
|
+
declare function writeCustomThemesToFrontmatter(themes: readonly Theme[] | undefined): string | undefined;
|
|
1379
|
+
|
|
1380
|
+
/**
|
|
1381
|
+
* Doc-scoped theme resolution.
|
|
1382
|
+
*
|
|
1383
|
+
* The theme analog of how `buildRegistry` resolves custom templates: pure and
|
|
1384
|
+
* doc-scoped, with no global state. `resolveThemeForDoc` looks up the active
|
|
1385
|
+
* theme id in the doc's own custom themes first, then falls back to the
|
|
1386
|
+
* built-in / globally-registered themes via `resolveTheme`.
|
|
1387
|
+
*
|
|
1388
|
+
* It accepts either a squisq `Doc` (which carries a typed `customThemes`
|
|
1389
|
+
* array) or anything with raw `frontmatter` — notably a `MarkdownDocument`,
|
|
1390
|
+
* which is the shape every export pipeline pivots through. In the latter case
|
|
1391
|
+
* the inline themes are decoded from the `squisq-custom-themes` frontmatter
|
|
1392
|
+
* payload. Either way, resolution needs no `registerTheme` call — an inline
|
|
1393
|
+
* custom theme ships with the doc, exactly like custom templates.
|
|
1394
|
+
*/
|
|
1395
|
+
|
|
1396
|
+
/**
|
|
1397
|
+
* The minimal shape `resolveThemeForDoc` needs. Satisfied by both the squisq
|
|
1398
|
+
* `Doc` (typed `customThemes` + `themeId`) and a `MarkdownDocument` (raw
|
|
1399
|
+
* `frontmatter` carrying the encoded payload).
|
|
1400
|
+
*/
|
|
1401
|
+
interface ThemeResolvable {
|
|
1402
|
+
themeId?: string;
|
|
1403
|
+
customThemes?: Theme[];
|
|
1404
|
+
frontmatter?: Record<string, unknown>;
|
|
1405
|
+
}
|
|
1406
|
+
/**
|
|
1407
|
+
* Resolve the Theme a document should render with.
|
|
1408
|
+
*
|
|
1409
|
+
* @param doc - the document (may carry inline custom themes plus a `themeId`
|
|
1410
|
+
* / `squisq-theme` frontmatter selector).
|
|
1411
|
+
* @param explicitId - an id that overrides the doc's own selection (e.g. the
|
|
1412
|
+
* editor's theme dropdown, or an export `--theme` option). When omitted, the
|
|
1413
|
+
* doc's `themeId` / frontmatter theme id is used.
|
|
1414
|
+
* @returns the matching inline custom theme (doc-scoped) when present, else
|
|
1415
|
+
* the built-in / registered theme for that id, else the default theme.
|
|
1416
|
+
*/
|
|
1417
|
+
declare function resolveThemeForDoc(doc: ThemeResolvable | null | undefined, explicitId?: string): Theme;
|
|
1418
|
+
|
|
700
1419
|
/**
|
|
701
1420
|
* getLayers — Compute visual layers for a block on demand.
|
|
702
1421
|
*
|
|
@@ -794,4 +1513,151 @@ declare function scoreTextSimilarity(a: string, b: string): number;
|
|
|
794
1513
|
*/
|
|
795
1514
|
declare function resolveAudioMapping(doc: Doc, container: ContentContainer): Promise<Doc>;
|
|
796
1515
|
|
|
797
|
-
|
|
1516
|
+
/**
|
|
1517
|
+
* Structured template data from markdown body content.
|
|
1518
|
+
*
|
|
1519
|
+
* Attribute strings on a heading annotation are fine for scalar params,
|
|
1520
|
+
* but tabular or nested inputs (dataTable rows, map markers, chart data)
|
|
1521
|
+
* don't pack well into a single quoted line. This module supplies the two
|
|
1522
|
+
* structured channels instead:
|
|
1523
|
+
*
|
|
1524
|
+
* 1. **Data fences** — a fenced code block whose info string is
|
|
1525
|
+
* `json data` or `yaml data`, placed in a heading's body content:
|
|
1526
|
+
*
|
|
1527
|
+
* ````markdown
|
|
1528
|
+
* ## Quarterly numbers {[dataTable]}
|
|
1529
|
+
*
|
|
1530
|
+
* ```json data
|
|
1531
|
+
* { "headers": ["Q", "Revenue"], "rows": [["Q1", "1.2M"], ["Q2", "1.4M"]] }
|
|
1532
|
+
* ```
|
|
1533
|
+
* ````
|
|
1534
|
+
*
|
|
1535
|
+
* The parsed object lands on `block.templateData` and merges into the
|
|
1536
|
+
* template input (after defaults, before `{[…]}` string overrides).
|
|
1537
|
+
* The `data` marker keeps ordinary ```json code samples — which should
|
|
1538
|
+
* render as code — out of the template input.
|
|
1539
|
+
*
|
|
1540
|
+
* 2. **GFM tables** — for the `dataTable` template, the first table in the
|
|
1541
|
+
* section body supplies `headers` / `rows` / `align` when the author
|
|
1542
|
+
* didn't provide them explicitly.
|
|
1543
|
+
*
|
|
1544
|
+
* YAML support is a documented subset (this package has no YAML
|
|
1545
|
+
* dependency): top-level `key: scalar`, `key: [inline, array]`, and
|
|
1546
|
+
* `key:` followed by an indented `- item` block sequence whose items are
|
|
1547
|
+
* scalars or inline arrays. Nested maps are rejected with a clear error —
|
|
1548
|
+
* use a `json data` fence for deeply nested input.
|
|
1549
|
+
*/
|
|
1550
|
+
|
|
1551
|
+
/**
|
|
1552
|
+
* Whether a code block is a structured-data fence: lang `json`/`yaml`/`yml`
|
|
1553
|
+
* with the word `data` in the fence meta (` ```json data `).
|
|
1554
|
+
*/
|
|
1555
|
+
declare function isDataFence(node: MarkdownCodeBlock): boolean;
|
|
1556
|
+
interface DataFenceParseResult {
|
|
1557
|
+
/** Parsed key→value map. Undefined when parsing failed. */
|
|
1558
|
+
data?: Record<string, unknown>;
|
|
1559
|
+
/** Parse failure description. Undefined when parsing succeeded. */
|
|
1560
|
+
error?: string;
|
|
1561
|
+
}
|
|
1562
|
+
/**
|
|
1563
|
+
* Parse a data fence's content into a key→value map. JSON fences must
|
|
1564
|
+
* contain a top-level object (arrays have no key to merge under); YAML
|
|
1565
|
+
* fences are parsed with {@link parseYamlSubset}.
|
|
1566
|
+
*/
|
|
1567
|
+
declare function parseDataFence(node: MarkdownCodeBlock): DataFenceParseResult;
|
|
1568
|
+
/**
|
|
1569
|
+
* Parse the supported YAML subset (see module doc) into a key→value map.
|
|
1570
|
+
* Throws an Error with a line-anchored message on anything outside the
|
|
1571
|
+
* subset, so callers can surface a precise diagnostic.
|
|
1572
|
+
*/
|
|
1573
|
+
declare function parseYamlSubset(src: string): Record<string, unknown>;
|
|
1574
|
+
interface ExtractedTableData {
|
|
1575
|
+
headers: string[];
|
|
1576
|
+
rows: string[][];
|
|
1577
|
+
align?: (('left' | 'right' | 'center') | null)[];
|
|
1578
|
+
}
|
|
1579
|
+
/** Find the first GFM table among a block's body contents. */
|
|
1580
|
+
declare function findFirstTable(contents: MarkdownBlockNode[] | undefined): MarkdownTable | undefined;
|
|
1581
|
+
/**
|
|
1582
|
+
* Extract `headers` / `rows` / `align` (the `dataTable` input shape) from a
|
|
1583
|
+
* GFM table node. The first row is the header row.
|
|
1584
|
+
*/
|
|
1585
|
+
declare function extractTableData(table: MarkdownTable): ExtractedTableData;
|
|
1586
|
+
|
|
1587
|
+
/**
|
|
1588
|
+
* Markdown document validation.
|
|
1589
|
+
*
|
|
1590
|
+
* `validateMarkdownSource()` gives authors and agents fast, structural
|
|
1591
|
+
* feedback on a squisq markdown document — the same checks the renderer
|
|
1592
|
+
* applies, surfaced as diagnostics instead of degraded slides:
|
|
1593
|
+
*
|
|
1594
|
+
* - unknown template names (with a did-you-mean suggestion)
|
|
1595
|
+
* - unknown drawing shapes, and shape annotations used outside a `{[drawing]}`
|
|
1596
|
+
* - `{[…]}` text that was not recognized as an annotation (bad quoting,
|
|
1597
|
+
* non-heading placement, unknown inline icon)
|
|
1598
|
+
* - malformed heading-attribute values (`x=abc`, bad `startTime`) and
|
|
1599
|
+
* non-numeric drawing-shape geometry
|
|
1600
|
+
* - `connectsTo` / drawing `from`/`to` targets that don't resolve,
|
|
1601
|
+
* duplicate block ids, unparseable data fences (reported by `markdownToDoc`)
|
|
1602
|
+
* - image references missing from the provided asset set (.dbk contents)
|
|
1603
|
+
*
|
|
1604
|
+
* The CLI exposes this as `squisq validate <input>`; agents can also call
|
|
1605
|
+
* it directly and iterate until the diagnostics list is empty.
|
|
1606
|
+
*/
|
|
1607
|
+
|
|
1608
|
+
interface ValidateOptions {
|
|
1609
|
+
/**
|
|
1610
|
+
* Known asset paths for image/video reference checks — typically the
|
|
1611
|
+
* file list of a .dbk container or the document's folder. Relative
|
|
1612
|
+
* references not present here produce a `missing-asset` warning.
|
|
1613
|
+
* When omitted, asset checks are skipped.
|
|
1614
|
+
*/
|
|
1615
|
+
assets?: ReadonlySet<string> | ((path: string) => boolean);
|
|
1616
|
+
/**
|
|
1617
|
+
* Additional template names to accept beyond the built-in registry and
|
|
1618
|
+
* the document's own `customTemplates` (e.g. app-registered templates).
|
|
1619
|
+
*/
|
|
1620
|
+
extraTemplates?: readonly string[];
|
|
1621
|
+
}
|
|
1622
|
+
interface MarkdownValidationResult {
|
|
1623
|
+
/** All findings, in source order where line information exists. */
|
|
1624
|
+
diagnostics: DocDiagnostic[];
|
|
1625
|
+
errorCount: number;
|
|
1626
|
+
warningCount: number;
|
|
1627
|
+
/** The converted Doc (conversion diagnostics are included above). */
|
|
1628
|
+
doc: Doc;
|
|
1629
|
+
}
|
|
1630
|
+
/**
|
|
1631
|
+
* Validate a squisq markdown source string. Parses, converts (collecting
|
|
1632
|
+
* the conversion's own diagnostics), and runs the structural checks above.
|
|
1633
|
+
*/
|
|
1634
|
+
declare function validateMarkdownSource(source: string, options?: ValidateOptions): MarkdownValidationResult;
|
|
1635
|
+
/**
|
|
1636
|
+
* Validate an already-parsed MarkdownDocument. See {@link validateMarkdownSource}.
|
|
1637
|
+
*/
|
|
1638
|
+
declare function validateMarkdownDoc(markdownDoc: MarkdownDocument, options?: ValidateOptions): MarkdownValidationResult;
|
|
1639
|
+
|
|
1640
|
+
/**
|
|
1641
|
+
* Fallback Block Rendering
|
|
1642
|
+
*
|
|
1643
|
+
* The graceful-degradation guarantee: a block whose template can't render —
|
|
1644
|
+
* unknown template name, template function threw, or returned a non-array —
|
|
1645
|
+
* still renders its heading and body text as a plain, readable card instead
|
|
1646
|
+
* of a blank slide. A small notice line names the problem so authors (and
|
|
1647
|
+
* agents reviewing screenshots) can see *why* the block degraded.
|
|
1648
|
+
*
|
|
1649
|
+
* This is intentionally not a registered template: it can't be requested by
|
|
1650
|
+
* name, only reached when a requested template fails. See `getLayers()`.
|
|
1651
|
+
*/
|
|
1652
|
+
|
|
1653
|
+
/**
|
|
1654
|
+
* Render a block's heading + body text as plain layers, with a notice line
|
|
1655
|
+
* describing why the requested template didn't render.
|
|
1656
|
+
*
|
|
1657
|
+
* @param block The block that failed to render via its template.
|
|
1658
|
+
* @param context Template context (theme, viewport).
|
|
1659
|
+
* @param notice Short problem description, e.g. `Unknown template "photGrid"`.
|
|
1660
|
+
*/
|
|
1661
|
+
declare function fallbackBlockLayers(block: DocBlock, context: TemplateContext, notice: string): Layer[];
|
|
1662
|
+
|
|
1663
|
+
export { type AccentLayout, type AudioSegmentTiming, CONTAINER_TEMPLATES, type ClipBox, type ConnectorRouting, type CoverBlockInput, DEFAULT_LAYOUT, type DataFenceParseResult, type DeriveTemplateInputsOptions, type DiagramEdge, type DiagramLayout, type DiagramLayoutOptions, type DiagramNodePosition, DocBlock, type DocStylePreset, type DrawingConnector, type DrawingLayout, type DrawingLayoutOptions, type DrawingShape, type DrawingShapeKind, type ExpandDocBlocksOptions, type ExtractedTableData, type FirstImage, type LayoutLayerDefaults, type LayoutLayersResult, type MarkdownToDocOptions, type MarkdownValidationResult, PATH_SHAPE_KINDS, PersistentLayerConfig, type RenderContext, type RuntimeTemplateRegistry, SHAPE_NAMES, TEMPLATE_ALIASES, TEMPLATE_METADATA, TemplateBlock, TemplateContext, type TemplateMetadata, Theme, ThemeColorScheme, type ValidateOptions, ViewportConfig, adjustY, applyRenderStyleToLayers, buildRegistry, clipEndpoints, clipPoint, comparisonBar, computeDiagramLayout, computeDrawingLayout, computeLayoutLayers, connectorPath, countBlocks, coverBlock, createAccentLayers, cssFilterForTreatment, dataTable, dateEvent, decodeLayersFromFrontmatter, definitionCard, deriveTemplateInputs, diagramBlock, docToMarkdown, drawingBlock, encodeLayersForFrontmatter, expandCoverBlock, expandDocBlocks, expandPersistentLayers, expandTemplateBlock, extractBlockquoteText, extractBodyPlainText, extractFirstImage, extractImages, extractListItems, extractTableData, extractTableFromContents, factCard, fallbackBlockLayers, findFirstTable, flattenBlocks, flattenRenderableBlocks, fullBleedQuote, getAccentLayout, getAnimationProgress, getAnimationStyle, getAvailableTemplates, getBlockDepth, getDefaultAnimation, getDefaultAnimationDuration, getDocStyleConfig, getLayers, getOverlayOpacity, getPersistentLayersFromTheme, getTemplateHint, getThemeFont, getTransitionClass, hasTemplate, imageWithCaption, isContainerTemplate, isDataFence, isShapeName, layoutBlock, leftFeature, lineStyleDasharray, listBlock, mapBlock, markdownToDoc, markerPath, normalizeShapeKind, parseDataFence, parseYamlSubset, photoGrid, pullQuote, quoteBlock, readCustomTemplatesFromFrontmatter, readCustomThemesFromFrontmatter, resolveAudioMapping, resolveColorScheme, resolvePersistentLayers, resolveTemplateName, resolveThemeForDoc, rightFeature, scaleAnimationDuration, scoreTextSimilarity, sectionHeader, shapePath, shouldUseShadow, statHighlight, templateRegistry, themeWantsAmbientMotion, themedEntrance, themedFontSize, themedImageTreatment, themedScrim, themedSurfaceGradient, titleBlock, twoColumn, validateMarkdownDoc, validateMarkdownSource, videoPullQuote, videoWithCaption, wrapWithPersistentLayers, writeCustomTemplatesToFrontmatter, writeCustomThemesToFrontmatter };
|