@bendyline/squisq 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE.md +24 -0
- package/README.md +8 -8
- package/dist/{ContentContainer-BXUlIf18.d.ts → ContentContainer-B2w9sUoL.d.ts} +15 -0
- package/dist/{Doc-DynJleo-.d.ts → Doc-COe-rPQB.d.ts} +7 -5
- package/dist/{ImageEditDoc-Ca4Tr9uN.d.ts → ImageEditDoc-dtKahVyD.d.ts} +1 -1
- package/dist/{annotationCoercion-Dr_DY9Hx.d.ts → annotationCoercion-PtRQhk5V.d.ts} +1 -1
- package/dist/{chunk-VWCJ2WXC.js → chunk-2ZWIXGAC.js} +0 -1
- package/dist/{chunk-VYFRI7R6.js → chunk-32R2RZAO.js} +72 -3
- package/dist/chunk-3IGPAPQ7.js +645 -0
- package/dist/{chunk-QE7TWGVT.js → chunk-4VOD55SX.js} +0 -1
- package/dist/{chunk-3E5F2XMR.js → chunk-67L6WRJN.js} +0 -1
- package/dist/{chunk-5DKBFXPY.js → chunk-6ECMNUIP.js} +26 -18
- package/dist/{chunk-DBS6RIFL.js → chunk-7N4G32LG.js} +0 -1
- package/dist/{chunk-JOQYPRDZ.js → chunk-7YEZFHLS.js} +10 -8
- package/dist/{chunk-2UQOHYE2.js → chunk-7ZAAICW4.js} +0 -1
- package/dist/{chunk-66QO7XFB.js → chunk-ACZOVWX3.js} +117 -7
- package/dist/{chunk-5J4HKRJF.js → chunk-BAOV476U.js} +0 -1
- package/dist/chunk-BCCXTMN5.js +699 -0
- package/dist/{chunk-JHZWYRSW.js → chunk-C33GTPUZ.js} +11 -4
- package/dist/{chunk-XNLB57UD.js → chunk-EK446BUE.js} +18 -2
- package/dist/{chunk-VR7UPJ7C.js → chunk-FCG3BIZN.js} +12 -1
- package/dist/{chunk-JI77MGAK.js → chunk-GIIOY6XR.js} +2178 -1291
- package/dist/{chunk-Q7LROV2H.js → chunk-NKNMGIIN.js} +0 -1
- package/dist/chunk-OPO5K4DZ.js +241 -0
- package/dist/{chunk-TUWMK62B.js → chunk-PUS54YU6.js} +45 -2
- package/dist/{chunk-OTKVFVL6.js → chunk-QNTQIEIV.js} +130 -47
- package/dist/{chunk-5UYI3RJB.js → chunk-QWCFK5FN.js} +55 -40
- package/dist/{chunk-GZY66SDN.js → chunk-R3KTTOMS.js} +0 -1
- package/dist/{chunk-ILWDXLUK.js → chunk-RS5AP3J4.js} +49 -10
- package/dist/{chunk-QUUPYOSP.js → chunk-SPTY4C6F.js} +136 -5
- package/dist/{chunk-4X3JQXNM.js → chunk-XOFT65EX.js} +1 -2
- package/dist/{chunk-FVTQSNR7.js → chunk-XRW6P7IF.js} +13 -5
- package/dist/{chunk-R2YZTCLO.js → chunk-ZQKZSJAX.js} +1 -2
- package/dist/doc/index.d.ts +311 -13
- package/dist/doc/index.js +25 -17
- package/dist/generate/index.d.ts +2 -2
- package/dist/generate/index.js +1 -3
- package/dist/icons/index.js +2 -4
- package/dist/icons/inlineIconMarker.js +1 -2
- package/dist/imageEdit/index.d.ts +48 -17
- package/dist/imageEdit/index.js +3 -4
- package/dist/index.d.ts +13 -13
- package/dist/index.js +67 -33
- package/dist/jsonForm/index.d.ts +10 -3
- package/dist/jsonForm/index.js +8 -7
- package/dist/markdown/index.d.ts +75 -11
- package/dist/markdown/index.js +32 -7
- package/dist/{materializePageSection-DDzubQXo.d.ts → materializePageSection-BSMOocve.d.ts} +2 -2
- package/dist/narration/index.d.ts +16 -3
- package/dist/narration/index.js +12 -14
- package/dist/random/index.d.ts +11 -2
- package/dist/random/index.js +1 -3
- package/dist/recommend/index.d.ts +1 -1
- package/dist/recommend/index.js +2 -4
- package/dist/schemas/index.d.ts +18 -6
- package/dist/schemas/index.js +7 -6
- package/dist/spatial/index.d.ts +2 -1
- package/dist/spatial/index.js +1 -2
- package/dist/storage/index.d.ts +4 -2
- package/dist/storage/index.js +1 -2
- package/dist/{themeLibrary-B72m0W1y.d.ts → themeLibrary-BUTWjufL.d.ts} +1 -1
- package/dist/timing/index.js +2 -4
- package/dist/transform/index.d.ts +3 -3
- package/dist/transform/index.js +6 -7
- package/dist/{types-C4kiRn_k.d.ts → types-8QjefM9J.d.ts} +38 -2
- package/dist/{types-BwMPl2CB.d.ts → types-CUNc9biN.d.ts} +24 -1
- package/dist/versions/index.d.ts +14 -11
- package/dist/versions/index.js +2 -3
- package/package.json +8 -3
- package/dist/chunk-2UQOHYE2.js.map +0 -1
- package/dist/chunk-3E5F2XMR.js.map +0 -1
- package/dist/chunk-4X3JQXNM.js.map +0 -1
- package/dist/chunk-5DKBFXPY.js.map +0 -1
- package/dist/chunk-5J4HKRJF.js.map +0 -1
- package/dist/chunk-5UYI3RJB.js.map +0 -1
- package/dist/chunk-66QO7XFB.js.map +0 -1
- package/dist/chunk-AMIR72JP.js +0 -380
- package/dist/chunk-AMIR72JP.js.map +0 -1
- package/dist/chunk-DBS6RIFL.js.map +0 -1
- package/dist/chunk-DNJKBAI7.js +0 -1
- package/dist/chunk-DNJKBAI7.js.map +0 -1
- package/dist/chunk-ET53IIEP.js +0 -1
- package/dist/chunk-ET53IIEP.js.map +0 -1
- package/dist/chunk-FVTQSNR7.js.map +0 -1
- package/dist/chunk-GZY66SDN.js.map +0 -1
- package/dist/chunk-ILWDXLUK.js.map +0 -1
- package/dist/chunk-JHZWYRSW.js.map +0 -1
- package/dist/chunk-JI77MGAK.js.map +0 -1
- package/dist/chunk-JOQYPRDZ.js.map +0 -1
- package/dist/chunk-OTKVFVL6.js.map +0 -1
- package/dist/chunk-PGGGKYWG.js +0 -1
- package/dist/chunk-PGGGKYWG.js.map +0 -1
- package/dist/chunk-Q7LROV2H.js.map +0 -1
- package/dist/chunk-QE7TWGVT.js.map +0 -1
- package/dist/chunk-QUUPYOSP.js.map +0 -1
- package/dist/chunk-R2GC6RLD.js +0 -344
- package/dist/chunk-R2GC6RLD.js.map +0 -1
- package/dist/chunk-R2YZTCLO.js.map +0 -1
- package/dist/chunk-S7A5D7ZJ.js +0 -174
- package/dist/chunk-S7A5D7ZJ.js.map +0 -1
- package/dist/chunk-TUWMK62B.js.map +0 -1
- package/dist/chunk-V543AI2F.js +0 -1
- package/dist/chunk-V543AI2F.js.map +0 -1
- package/dist/chunk-VR7UPJ7C.js.map +0 -1
- package/dist/chunk-VWCJ2WXC.js.map +0 -1
- package/dist/chunk-VYFRI7R6.js.map +0 -1
- package/dist/chunk-XNLB57UD.js.map +0 -1
- package/dist/chunk-ZLQKNOZQ.js +0 -1
- package/dist/chunk-ZLQKNOZQ.js.map +0 -1
- package/dist/doc/index.js.map +0 -1
- package/dist/generate/index.js.map +0 -1
- package/dist/icons/index.js.map +0 -1
- package/dist/icons/inlineIconMarker.js.map +0 -1
- package/dist/imageEdit/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jsonForm/index.js.map +0 -1
- package/dist/markdown/index.js.map +0 -1
- package/dist/narration/index.js.map +0 -1
- package/dist/random/index.js.map +0 -1
- package/dist/recommend/index.js.map +0 -1
- package/dist/schemas/index.js.map +0 -1
- package/dist/spatial/index.js.map +0 -1
- package/dist/storage/index.js.map +0 -1
- package/dist/timing/index.js.map +0 -1
- package/dist/transform/index.js.map +0 -1
- package/dist/versions/index.js.map +0 -1
- package/src/__tests__/animationUtils.test.ts +0 -117
- package/src/__tests__/annotationCoercion.test.ts +0 -243
- package/src/__tests__/applyNarrationTiming.test.ts +0 -190
- package/src/__tests__/applyRenderStyle.test.ts +0 -146
- package/src/__tests__/asciiDiagramBattle.test.ts +0 -246
- package/src/__tests__/asciiDiagramDetect.test.ts +0 -162
- package/src/__tests__/asciiDiagramMapping.test.ts +0 -38
- package/src/__tests__/asciiDiagramParse.test.ts +0 -233
- package/src/__tests__/asciiDiagramPipeline.test.ts +0 -273
- package/src/__tests__/asciiDiagramRender.test.ts +0 -162
- package/src/__tests__/asciiDiagramRepair.test.ts +0 -84
- package/src/__tests__/asciiTimelineDetect.test.ts +0 -157
- package/src/__tests__/asciiTimelineParse.test.ts +0 -205
- package/src/__tests__/asciiTimelinePipeline.test.ts +0 -349
- package/src/__tests__/asciiTimelineRender.test.ts +0 -376
- package/src/__tests__/atmosphereLayers.test.ts +0 -108
- package/src/__tests__/attrTokens.test.ts +0 -167
- package/src/__tests__/colorUtils.test.ts +0 -112
- package/src/__tests__/contentContainer.test.ts +0 -325
- package/src/__tests__/contentExtractor.test.ts +0 -243
- package/src/__tests__/coverBlock.test.ts +0 -310
- package/src/__tests__/customTemplateSample.test.ts +0 -144
- package/src/__tests__/customTemplatesFrontmatter.test.ts +0 -221
- package/src/__tests__/customThemesFrontmatter.test.ts +0 -146
- package/src/__tests__/dataTable.test.ts +0 -145
- package/src/__tests__/diagramBlock.test.ts +0 -122
- package/src/__tests__/diagramLayout.test.ts +0 -134
- package/src/__tests__/diagramText.test.ts +0 -26
- package/src/__tests__/docToMarkdownMedia.test.ts +0 -83
- package/src/__tests__/drawing.test.ts +0 -109
- package/src/__tests__/drawingBlock.test.ts +0 -124
- package/src/__tests__/drawingLayout.test.ts +0 -171
- package/src/__tests__/fixtures/asciiDiagramBattle.ts +0 -512
- package/src/__tests__/fixtures/asciiDiagrams.ts +0 -287
- package/src/__tests__/fixtures/asciiTimelines.ts +0 -35
- package/src/__tests__/fixtures/treeviewFixtures.ts +0 -243
- package/src/__tests__/geohash.test.ts +0 -110
- package/src/__tests__/getLayers.test.ts +0 -243
- package/src/__tests__/getLayersFallback.test.ts +0 -103
- package/src/__tests__/haversine.test.ts +0 -63
- package/src/__tests__/iconResolve.test.ts +0 -122
- package/src/__tests__/imageEditExportSvg.test.ts +0 -70
- package/src/__tests__/imageEditState.test.ts +0 -74
- package/src/__tests__/imageEditVersions.test.ts +0 -243
- package/src/__tests__/inferDocumentTitle.test.ts +0 -50
- package/src/__tests__/inlineIconMarker.test.ts +0 -36
- package/src/__tests__/inputDescriptors.test.ts +0 -162
- package/src/__tests__/jsonForm.chooseControl.test.ts +0 -86
- package/src/__tests__/jsonForm.evaluateWhen.test.ts +0 -59
- package/src/__tests__/jsonForm.inferSchema.test.ts +0 -25
- package/src/__tests__/jsonForm.pointer.test.ts +0 -149
- package/src/__tests__/jsonForm.tokens.test.ts +0 -84
- package/src/__tests__/layoutBlock.test.ts +0 -83
- package/src/__tests__/layoutLayout.test.ts +0 -169
- package/src/__tests__/localForageAdapter.test.ts +0 -155
- package/src/__tests__/majorApiTypes.test.ts +0 -18
- package/src/__tests__/markdown.test.ts +0 -1009
- package/src/__tests__/markdownIcons.test.ts +0 -104
- package/src/__tests__/markdownSanitize.test.ts +0 -81
- package/src/__tests__/markdownToDoc.test.ts +0 -957
- package/src/__tests__/matchFontFamily.test.ts +0 -114
- package/src/__tests__/materializeBlockLayers.test.ts +0 -167
- package/src/__tests__/materializePageSections.test.ts +0 -404
- package/src/__tests__/materializeTestUtils.ts +0 -17
- package/src/__tests__/mediaAnnotations.test.ts +0 -91
- package/src/__tests__/mediaSchedule.test.ts +0 -118
- package/src/__tests__/narrationAlign.test.ts +0 -150
- package/src/__tests__/narrationFeatures.test.ts +0 -71
- package/src/__tests__/narrationNuclei.test.ts +0 -45
- package/src/__tests__/narrationPacing.test.ts +0 -189
- package/src/__tests__/narrationScript.test.ts +0 -149
- package/src/__tests__/narrationSessionRepro.test.ts +0 -62
- package/src/__tests__/narrationSidecar.test.ts +0 -88
- package/src/__tests__/narrationSyllables.test.ts +0 -65
- package/src/__tests__/narrationTestSignals.ts +0 -167
- package/src/__tests__/narrationVad.test.ts +0 -66
- package/src/__tests__/pageStyle.test.ts +0 -258
- package/src/__tests__/pandocAttrParse.test.ts +0 -187
- package/src/__tests__/recommendTemplates.test.ts +0 -183
- package/src/__tests__/resolveDocTheme.test.ts +0 -69
- package/src/__tests__/rootExports.test.ts +0 -61
- package/src/__tests__/scopedContentContainer.test.ts +0 -109
- package/src/__tests__/seededRandom.test.ts +0 -142
- package/src/__tests__/shapeGeometry.test.ts +0 -138
- package/src/__tests__/shapeVocabulary.test.ts +0 -133
- package/src/__tests__/storage.test.ts +0 -60
- package/src/__tests__/structuredData.test.ts +0 -249
- package/src/__tests__/surface.test.ts +0 -68
- package/src/__tests__/templateAnnotationParse.test.ts +0 -173
- package/src/__tests__/templateInputs.test.ts +0 -69
- package/src/__tests__/templateMetadata.test.ts +0 -32
- package/src/__tests__/templates.test.ts +0 -710
- package/src/__tests__/themeCompile.test.ts +0 -225
- package/src/__tests__/themeValidator.test.ts +0 -131
- package/src/__tests__/timing.test.ts +0 -167
- package/src/__tests__/transformProvenance.test.ts +0 -160
- package/src/__tests__/transformV2.test.ts +0 -163
- package/src/__tests__/transitionNormalize.test.ts +0 -61
- package/src/__tests__/treeviewBattle.test.ts +0 -76
- package/src/__tests__/treeviewDetect.test.ts +0 -168
- package/src/__tests__/treeviewParse.test.ts +0 -118
- package/src/__tests__/treeviewPipeline.test.ts +0 -183
- package/src/__tests__/treeviewRender.test.ts +0 -91
- package/src/__tests__/validateDoc.test.ts +0 -260
- package/src/__tests__/versions.test.ts +0 -459
- package/src/doc/annotationBlocks.ts +0 -117
- package/src/doc/applyNarrationTiming.ts +0 -244
- package/src/doc/asciiDiagram/chars.ts +0 -210
- package/src/doc/asciiDiagram/detect.ts +0 -175
- package/src/doc/asciiDiagram/index.ts +0 -38
- package/src/doc/asciiDiagram/mapping.ts +0 -225
- package/src/doc/asciiDiagram/parse.ts +0 -1095
- package/src/doc/asciiDiagram/render.ts +0 -963
- package/src/doc/asciiDiagram/repair.ts +0 -400
- package/src/doc/asciiDiagram/types.ts +0 -65
- package/src/doc/asciiTimeline/detect.ts +0 -138
- package/src/doc/asciiTimeline/index.ts +0 -26
- package/src/doc/asciiTimeline/mapping.ts +0 -43
- package/src/doc/asciiTimeline/parse.ts +0 -870
- package/src/doc/asciiTimeline/render.ts +0 -427
- package/src/doc/asciiTimeline/types.ts +0 -73
- package/src/doc/asciiTimeline/wrappedFlow.ts +0 -427
- package/src/doc/audioMapping.ts +0 -442
- package/src/doc/customTemplatesFrontmatter.ts +0 -273
- package/src/doc/customThemesFrontmatter.ts +0 -95
- package/src/doc/docToMarkdown.ts +0 -284
- package/src/doc/index.ts +0 -161
- package/src/doc/markdownToDoc.ts +0 -1054
- package/src/doc/materializeBlockLayers.ts +0 -465
- package/src/doc/mediaAnnotations.ts +0 -120
- package/src/doc/page/PageSection.ts +0 -174
- package/src/doc/page/materializePageSection.ts +0 -616
- package/src/doc/page/resolvePageBlock.ts +0 -108
- package/src/doc/page/sectionExtractors.ts +0 -466
- package/src/doc/pageCss.ts +0 -628
- package/src/doc/resolveDocTheme.ts +0 -56
- package/src/doc/standaloneAnnotation.ts +0 -58
- package/src/doc/structuredData.ts +0 -301
- package/src/doc/templateInputs.ts +0 -424
- package/src/doc/templates/__tests__/customTemplate.test.ts +0 -170
- package/src/doc/templates/__tests__/customTemplateRegistry.test.ts +0 -124
- package/src/doc/templates/__tests__/listBlock.test.ts +0 -64
- package/src/doc/templates/accentImage.ts +0 -362
- package/src/doc/templates/captionUtils.ts +0 -56
- package/src/doc/templates/comparisonBar.ts +0 -173
- package/src/doc/templates/coverBlock.ts +0 -255
- package/src/doc/templates/customTemplate.ts +0 -51
- package/src/doc/templates/dataTable.ts +0 -102
- package/src/doc/templates/dateEvent.ts +0 -147
- package/src/doc/templates/definitionCard.ts +0 -140
- package/src/doc/templates/diagramBlock.ts +0 -403
- package/src/doc/templates/diagramLayout.ts +0 -159
- package/src/doc/templates/drawingBlock.ts +0 -325
- package/src/doc/templates/drawingLayout.ts +0 -539
- package/src/doc/templates/factCard.ts +0 -146
- package/src/doc/templates/fallbackBlock.ts +0 -123
- package/src/doc/templates/featureBlock.ts +0 -209
- package/src/doc/templates/fullBleedQuote.ts +0 -83
- package/src/doc/templates/imageWithCaption.ts +0 -186
- package/src/doc/templates/index.ts +0 -642
- package/src/doc/templates/inputDescriptors.ts +0 -451
- package/src/doc/templates/layoutBlock.ts +0 -43
- package/src/doc/templates/layoutLayout.ts +0 -243
- package/src/doc/templates/listBlock.ts +0 -207
- package/src/doc/templates/mapBlock.ts +0 -138
- package/src/doc/templates/metadata.ts +0 -130
- package/src/doc/templates/persistentLayers.ts +0 -526
- package/src/doc/templates/photoGrid.ts +0 -190
- package/src/doc/templates/pullQuote.ts +0 -141
- package/src/doc/templates/quoteBlock.ts +0 -141
- package/src/doc/templates/registry.ts +0 -88
- package/src/doc/templates/sectionHeader.ts +0 -120
- package/src/doc/templates/statHighlight.ts +0 -146
- package/src/doc/templates/templateNames.ts +0 -22
- package/src/doc/templates/timelineBlock.ts +0 -613
- package/src/doc/templates/titleBlock.ts +0 -150
- package/src/doc/templates/tokens/__tests__/resolveTokens.test.ts +0 -487
- package/src/doc/templates/tokens/resolveTokens.ts +0 -453
- package/src/doc/templates/treeBlock.ts +0 -131
- package/src/doc/templates/twoColumn.ts +0 -263
- package/src/doc/templates/videoPullQuote.ts +0 -142
- package/src/doc/templates/videoWithCaption.ts +0 -135
- package/src/doc/treeview/chars.ts +0 -72
- package/src/doc/treeview/detect.ts +0 -145
- package/src/doc/treeview/index.ts +0 -30
- package/src/doc/treeview/mapping.ts +0 -95
- package/src/doc/treeview/parse.ts +0 -201
- package/src/doc/treeview/render.ts +0 -41
- package/src/doc/treeview/types.ts +0 -43
- package/src/doc/utils/animationUtils.ts +0 -399
- package/src/doc/utils/applyRenderStyle.ts +0 -106
- package/src/doc/utils/diagramText.ts +0 -78
- package/src/doc/utils/imageTreatment.ts +0 -70
- package/src/doc/utils/nearest.ts +0 -59
- package/src/doc/utils/shapeGeometry.ts +0 -614
- package/src/doc/utils/themeUtils.ts +0 -243
- package/src/doc/validate.ts +0 -575
- package/src/generate/contentExtractor.ts +0 -921
- package/src/generate/index.ts +0 -18
- package/src/generate/templateMapper.ts +0 -177
- package/src/icons/iconData.ts +0 -31
- package/src/icons/index.ts +0 -26
- package/src/icons/inlineIconMarker.ts +0 -73
- package/src/icons/resolve.ts +0 -139
- package/src/imageEdit/ImageEditVersionManager.ts +0 -73
- package/src/imageEdit/export.ts +0 -410
- package/src/imageEdit/index.ts +0 -72
- package/src/imageEdit/persistence.ts +0 -113
- package/src/imageEdit/state.ts +0 -112
- package/src/imageEdit/versionPaths.ts +0 -44
- package/src/imageEdit/versions.ts +0 -152
- package/src/index.ts +0 -15
- package/src/internal/immutable.ts +0 -58
- package/src/jsonForm/chooseControl.ts +0 -88
- package/src/jsonForm/evaluateWhen.ts +0 -59
- package/src/jsonForm/index.ts +0 -32
- package/src/jsonForm/inferSchema.ts +0 -25
- package/src/jsonForm/pointer.ts +0 -154
- package/src/jsonForm/tokens.ts +0 -78
- package/src/jsonForm/types.ts +0 -167
- package/src/markdown/annotationCoercion.ts +0 -295
- package/src/markdown/attrTokens.ts +0 -243
- package/src/markdown/convert.ts +0 -1353
- package/src/markdown/htmlParse.ts +0 -212
- package/src/markdown/index.ts +0 -152
- package/src/markdown/parse.ts +0 -103
- package/src/markdown/sanitize.ts +0 -318
- package/src/markdown/stringify.ts +0 -207
- package/src/markdown/types.ts +0 -710
- package/src/markdown/utils.ts +0 -459
- package/src/narration/align.ts +0 -514
- package/src/narration/features.ts +0 -231
- package/src/narration/index.ts +0 -86
- package/src/narration/nuclei.ts +0 -118
- package/src/narration/pacing.ts +0 -211
- package/src/narration/script.ts +0 -239
- package/src/narration/session.ts +0 -100
- package/src/narration/sidecar.ts +0 -187
- package/src/narration/syllables.ts +0 -85
- package/src/narration/trace.ts +0 -50
- package/src/narration/types.ts +0 -299
- package/src/narration/vad.ts +0 -131
- package/src/ngeohash.d.ts +0 -11
- package/src/random/SeededRandom.ts +0 -127
- package/src/random/index.ts +0 -1
- package/src/recommend/index.ts +0 -16
- package/src/recommend/numberHighlight.ts +0 -25
- package/src/recommend/templates.ts +0 -393
- package/src/schemas/BlockTemplates.ts +0 -1046
- package/src/schemas/CustomTemplates.ts +0 -126
- package/src/schemas/Doc.ts +0 -1073
- package/src/schemas/ImageEditDoc.ts +0 -102
- package/src/schemas/LayoutStrategy.ts +0 -178
- package/src/schemas/Media.ts +0 -179
- package/src/schemas/MediaProvider.ts +0 -70
- package/src/schemas/PageStyle.ts +0 -213
- package/src/schemas/Theme.ts +0 -413
- package/src/schemas/Transitions.ts +0 -224
- package/src/schemas/Types.ts +0 -15
- package/src/schemas/Viewport.ts +0 -91
- package/src/schemas/colorUtils.ts +0 -219
- package/src/schemas/fontStacks.ts +0 -339
- package/src/schemas/index.ts +0 -31
- package/src/schemas/pageStyleDefaults.ts +0 -204
- package/src/schemas/themeCompile.ts +0 -244
- package/src/schemas/themeConstants.ts +0 -2
- package/src/schemas/themeLibrary.ts +0 -60
- package/src/schemas/themeValidator.ts +0 -609
- package/src/schemas/themes/bold.json +0 -77
- package/src/schemas/themes/cinematic.json +0 -143
- package/src/schemas/themes/documentary.json +0 -125
- package/src/schemas/themes/gezellig.json +0 -123
- package/src/schemas/themes/index.ts +0 -53
- package/src/schemas/themes/magazine.json +0 -126
- package/src/schemas/themes/minimalist.json +0 -74
- package/src/schemas/themes/morning-light.json +0 -117
- package/src/schemas/themes/standard-dark.json +0 -109
- package/src/schemas/themes/standard.json +0 -98
- package/src/schemas/themes/tech-dark.json +0 -143
- package/src/schemas/themes/warm-earth.json +0 -74
- package/src/spatial/Geohash.ts +0 -196
- package/src/spatial/Haversine.ts +0 -59
- package/src/spatial/index.ts +0 -2
- package/src/storage/ContentContainer.ts +0 -220
- package/src/storage/LocalForageAdapter.ts +0 -103
- package/src/storage/LocalStorageAdapter.ts +0 -57
- package/src/storage/MediaProviderFromContainer.ts +0 -92
- package/src/storage/MemoryStorageAdapter.ts +0 -37
- package/src/storage/ScopedContentContainer.ts +0 -143
- package/src/storage/Storage.ts +0 -28
- package/src/storage/index.ts +0 -9
- package/src/timing/index.ts +0 -17
- package/src/timing/narrationTiming.ts +0 -220
- package/src/timing/readingTime.ts +0 -94
- package/src/transform/applyTransform.ts +0 -122
- package/src/transform/blockAnalyzer.ts +0 -181
- package/src/transform/index.ts +0 -23
- package/src/transform/registry.ts +0 -217
- package/src/transform/styles/dataDriven.ts +0 -18
- package/src/transform/styles/documentary.ts +0 -18
- package/src/transform/styles/index.ts +0 -5
- package/src/transform/styles/magazine.ts +0 -19
- package/src/transform/styles/minimal.ts +0 -18
- package/src/transform/styles/narrative.ts +0 -19
- package/src/transform/templateSelector.ts +0 -389
- package/src/transform/timingAllocator.ts +0 -257
- package/src/transform/types.ts +0 -158
- package/src/versions/DocumentVersionManager.ts +0 -70
- package/src/versions/gitignore.ts +0 -34
- package/src/versions/index.ts +0 -56
- package/src/versions/operations.ts +0 -144
- package/src/versions/paths.ts +0 -51
- package/src/versions/snapshotStore.ts +0 -202
- package/src/versions/timestamp.ts +0 -48
- package/src/versions/types.ts +0 -93
|
@@ -6,11 +6,12 @@ import {
|
|
|
6
6
|
pruneSnapshots,
|
|
7
7
|
readTextSnapshot,
|
|
8
8
|
saveTextSnapshot
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OPO5K4DZ.js";
|
|
10
10
|
import {
|
|
11
|
+
bytesToBase64,
|
|
11
12
|
markerPath,
|
|
12
13
|
shapePath
|
|
13
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-PUS54YU6.js";
|
|
14
15
|
|
|
15
16
|
// src/imageEdit/state.ts
|
|
16
17
|
var IMAGE_EDIT_STATE_FILENAME = "state.json";
|
|
@@ -99,21 +100,21 @@ async function writeImageEditDoc(container, doc, filename = IMAGE_EDIT_STATE_FIL
|
|
|
99
100
|
const text = JSON.stringify(doc, null, 2);
|
|
100
101
|
await container.writeFile(filename, encoder.encode(text), "application/json");
|
|
101
102
|
}
|
|
102
|
-
function assertImageEditDoc(value, filename) {
|
|
103
|
+
function assertImageEditDoc(value, filename, context = "readImageEditDoc") {
|
|
103
104
|
if (!value || typeof value !== "object") {
|
|
104
|
-
throw new Error(
|
|
105
|
+
throw new Error(`${context}: ${filename} root must be an object`);
|
|
105
106
|
}
|
|
106
107
|
const v = value;
|
|
107
108
|
if (v.version !== 1) {
|
|
108
109
|
throw new Error(
|
|
109
|
-
|
|
110
|
+
`${context}: ${filename} has unsupported schema version ${String(v.version)} (expected 1)`
|
|
110
111
|
);
|
|
111
112
|
}
|
|
112
113
|
if (!v.canvas || typeof v.canvas.width !== "number" || typeof v.canvas.height !== "number") {
|
|
113
|
-
throw new Error(
|
|
114
|
+
throw new Error(`${context}: ${filename} canvas.width/height must be numbers`);
|
|
114
115
|
}
|
|
115
116
|
if (!Array.isArray(v.layers)) {
|
|
116
|
-
throw new Error(
|
|
117
|
+
throw new Error(`${context}: ${filename} layers must be an array`);
|
|
117
118
|
}
|
|
118
119
|
v.layers.forEach((layer, i) => assertLayer(layer, i, filename));
|
|
119
120
|
}
|
|
@@ -179,7 +180,16 @@ async function readImageEditVersionText(container, version) {
|
|
|
179
180
|
async function readImageEditVersion(container, version) {
|
|
180
181
|
const text = await readImageEditVersionText(container, version);
|
|
181
182
|
if (text === null) return null;
|
|
182
|
-
|
|
183
|
+
const path = typeof version === "string" ? version : version.path;
|
|
184
|
+
let parsed;
|
|
185
|
+
try {
|
|
186
|
+
parsed = JSON.parse(text);
|
|
187
|
+
} catch (err) {
|
|
188
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
189
|
+
throw new Error(`readImageEditVersion: ${path} is not valid JSON: ${msg}`);
|
|
190
|
+
}
|
|
191
|
+
assertImageEditDoc(parsed, path, "readImageEditVersion");
|
|
192
|
+
return parsed;
|
|
183
193
|
}
|
|
184
194
|
async function saveImageEditVersion(container, options = {}) {
|
|
185
195
|
const stateFilename = options.stateFilename ?? IMAGE_EDIT_STATE_FILENAME;
|
|
@@ -200,11 +210,16 @@ async function saveImageEditVersion(container, options = {}) {
|
|
|
200
210
|
async function revertToImageEditVersion(container, version, options = {}) {
|
|
201
211
|
const doc = await readImageEditVersion(container, version);
|
|
202
212
|
if (!doc) {
|
|
203
|
-
return { reverted: false, snapshotted: null };
|
|
213
|
+
return { reverted: false, snapshotted: null, reason: "missing-snapshot" };
|
|
204
214
|
}
|
|
205
215
|
let snapshotted = null;
|
|
206
216
|
if (options.snapshotCurrent !== false) {
|
|
207
|
-
const
|
|
217
|
+
const saveOptions = { stateFilename: options.stateFilename };
|
|
218
|
+
if (options.doc !== void 0) saveOptions.doc = options.doc;
|
|
219
|
+
const result = await saveImageEditVersion(container, saveOptions);
|
|
220
|
+
if (!result.saved && result.reason !== "unchanged") {
|
|
221
|
+
return { reverted: false, snapshotted: null, reason: "snapshot-failed" };
|
|
222
|
+
}
|
|
208
223
|
snapshotted = result.version;
|
|
209
224
|
}
|
|
210
225
|
await writeImageEditDoc(container, doc, options.stateFilename);
|
|
@@ -401,13 +416,7 @@ async function loadAssetAsDataUrl(container, src) {
|
|
|
401
416
|
}
|
|
402
417
|
function arrayBufferToDataUrl(data, mime) {
|
|
403
418
|
const bytes = new Uint8Array(data);
|
|
404
|
-
|
|
405
|
-
const CHUNK = 32768;
|
|
406
|
-
for (let i = 0; i < bytes.length; i += CHUNK) {
|
|
407
|
-
binary += String.fromCharCode.apply(null, Array.from(bytes.subarray(i, i + CHUNK)));
|
|
408
|
-
}
|
|
409
|
-
const b64 = typeof btoa === "function" ? btoa(binary) : Buffer.from(bytes).toString("base64");
|
|
410
|
-
return `data:${mime};base64,${b64}`;
|
|
419
|
+
return `data:${mime};base64,${bytesToBase64(bytes)}`;
|
|
411
420
|
}
|
|
412
421
|
function guessMime(path) {
|
|
413
422
|
const dot = path.lastIndexOf(".");
|
|
@@ -500,4 +509,3 @@ export {
|
|
|
500
509
|
exportImageEditDoc,
|
|
501
510
|
buildSvgString
|
|
502
511
|
};
|
|
503
|
-
//# sourceMappingURL=chunk-5DKBFXPY.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
pruneSnapshots,
|
|
7
7
|
readTextSnapshot,
|
|
8
8
|
saveTextSnapshot
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OPO5K4DZ.js";
|
|
10
10
|
|
|
11
11
|
// src/versions/paths.ts
|
|
12
12
|
var VERSIONS_PREFIX = ".versions/";
|
|
@@ -49,9 +49,6 @@ async function saveVersion(container, options = {}) {
|
|
|
49
49
|
if (content === null || content === void 0) {
|
|
50
50
|
return { saved: false, version: null, reason: "no-document" };
|
|
51
51
|
}
|
|
52
|
-
if (content.length === 0) {
|
|
53
|
-
return { saved: false, version: null, reason: "empty" };
|
|
54
|
-
}
|
|
55
52
|
const basename = await resolveBasename(container, options.basename);
|
|
56
53
|
if (!basename) {
|
|
57
54
|
return { saved: false, version: null, reason: "no-document" };
|
|
@@ -67,11 +64,17 @@ async function saveVersion(container, options = {}) {
|
|
|
67
64
|
async function revertToVersion(container, version, options = {}) {
|
|
68
65
|
const content = await readVersion(container, version);
|
|
69
66
|
if (content === null) {
|
|
70
|
-
return { reverted: false, snapshotted: null };
|
|
67
|
+
return { reverted: false, snapshotted: null, reason: "missing-snapshot" };
|
|
71
68
|
}
|
|
72
69
|
let snapshotted = null;
|
|
73
70
|
if (options.snapshotCurrent !== false) {
|
|
74
|
-
const
|
|
71
|
+
const saveOptions = {};
|
|
72
|
+
if (options.content !== void 0) saveOptions.content = options.content;
|
|
73
|
+
if (options.basename !== void 0) saveOptions.basename = options.basename;
|
|
74
|
+
const result = await saveVersion(container, saveOptions);
|
|
75
|
+
if (!result.saved && result.reason !== "unchanged") {
|
|
76
|
+
return { reverted: false, snapshotted: null, reason: "snapshot-failed" };
|
|
77
|
+
}
|
|
75
78
|
snapshotted = result.version;
|
|
76
79
|
}
|
|
77
80
|
const docPath = await resolveDocPath(container);
|
|
@@ -101,7 +104,7 @@ var DocumentVersionManager = class {
|
|
|
101
104
|
return readVersion(this.container, version);
|
|
102
105
|
}
|
|
103
106
|
revertToVersion(version, options) {
|
|
104
|
-
return revertToVersion(this.container, version, options);
|
|
107
|
+
return revertToVersion(this.container, version, { basename: this.basename, ...options });
|
|
105
108
|
}
|
|
106
109
|
pruneVersions(policy) {
|
|
107
110
|
return pruneVersions(this.container, policy, this.basename);
|
|
@@ -124,4 +127,3 @@ export {
|
|
|
124
127
|
coalesceVersions,
|
|
125
128
|
DocumentVersionManager
|
|
126
129
|
};
|
|
127
|
-
//# sourceMappingURL=chunk-JOQYPRDZ.js.map
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
quoteAttrValue,
|
|
6
6
|
splitKeyValueToken,
|
|
7
7
|
tokenizeAttrTokens
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ZQKZSJAX.js";
|
|
9
9
|
import {
|
|
10
10
|
resolveIcon
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7N4G32LG.js";
|
|
12
12
|
import {
|
|
13
13
|
parseFrontmatter,
|
|
14
14
|
parseHtmlToNodes
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-BCCXTMN5.js";
|
|
16
16
|
|
|
17
17
|
// src/markdown/convert.ts
|
|
18
18
|
function convertPosition(pos) {
|
|
@@ -923,15 +923,26 @@ function inlineToMdast(node) {
|
|
|
923
923
|
return { type: "text", value: "" };
|
|
924
924
|
}
|
|
925
925
|
}
|
|
926
|
+
function escapeHtmlText(value) {
|
|
927
|
+
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
928
|
+
}
|
|
929
|
+
function nodeTreeText(node) {
|
|
930
|
+
if (!node || typeof node !== "object") return "";
|
|
931
|
+
const candidate = node;
|
|
932
|
+
if (typeof candidate.value === "string") return candidate.value;
|
|
933
|
+
if (Array.isArray(candidate.children)) return candidate.children.map(nodeTreeText).join("");
|
|
934
|
+
return "";
|
|
935
|
+
}
|
|
926
936
|
function definitionListToHtml(list) {
|
|
927
937
|
let html = "<dl>\n";
|
|
928
938
|
for (const child of list.children) {
|
|
929
939
|
if (child.type === "definitionTerm") {
|
|
930
|
-
const text = child.children.map(
|
|
931
|
-
html += ` <dt>${text}</dt>
|
|
940
|
+
const text = (child.children ?? []).map(nodeTreeText).join("");
|
|
941
|
+
html += ` <dt>${escapeHtmlText(text)}</dt>
|
|
932
942
|
`;
|
|
933
943
|
} else if (child.type === "definitionDescription") {
|
|
934
|
-
|
|
944
|
+
const text = (child.children ?? []).map(nodeTreeText).join(" ").trim();
|
|
945
|
+
html += ` <dd>${escapeHtmlText(text)}</dd>
|
|
935
946
|
`;
|
|
936
947
|
}
|
|
937
948
|
}
|
|
@@ -939,6 +950,98 @@ function definitionListToHtml(list) {
|
|
|
939
950
|
return html;
|
|
940
951
|
}
|
|
941
952
|
|
|
953
|
+
// src/markdown/limits.ts
|
|
954
|
+
var DEFAULT_MARKDOWN_SAFETY_LIMITS = Object.freeze({
|
|
955
|
+
maxSourceBytes: 16 * 1024 * 1024,
|
|
956
|
+
maxNodes: 25e4,
|
|
957
|
+
maxDepth: 128,
|
|
958
|
+
maxTableCells: 1e5
|
|
959
|
+
});
|
|
960
|
+
var MarkdownLimitError = class extends RangeError {
|
|
961
|
+
constructor(code, message) {
|
|
962
|
+
super(message);
|
|
963
|
+
this.name = "MarkdownLimitError";
|
|
964
|
+
this.code = code;
|
|
965
|
+
}
|
|
966
|
+
};
|
|
967
|
+
function assertMarkdownSourceWithinLimits(source, limits) {
|
|
968
|
+
if (limits === false) return;
|
|
969
|
+
const resolved = resolveMarkdownSafetyLimits(limits);
|
|
970
|
+
if (utf8ByteLength(source, resolved.maxSourceBytes) > resolved.maxSourceBytes) {
|
|
971
|
+
throw new MarkdownLimitError(
|
|
972
|
+
"SOURCE_BYTES",
|
|
973
|
+
`Markdown source exceeds the ${resolved.maxSourceBytes}-byte safety limit`
|
|
974
|
+
);
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
function assertMarkdownDocumentWithinLimits(document, limits, signal) {
|
|
978
|
+
if (limits === false) return;
|
|
979
|
+
const resolved = resolveMarkdownSafetyLimits(limits);
|
|
980
|
+
const stack = [{ value: document, depth: 0 }];
|
|
981
|
+
let nodes = 0;
|
|
982
|
+
let tableCells = 0;
|
|
983
|
+
while (stack.length > 0) {
|
|
984
|
+
if ((nodes & 1023) === 0) signal?.throwIfAborted();
|
|
985
|
+
const current = stack.pop();
|
|
986
|
+
if (!current.value || typeof current.value !== "object") continue;
|
|
987
|
+
const node = current.value;
|
|
988
|
+
if (typeof node.type !== "string") continue;
|
|
989
|
+
nodes += 1;
|
|
990
|
+
if (nodes > resolved.maxNodes) {
|
|
991
|
+
throw new MarkdownLimitError(
|
|
992
|
+
"NODES",
|
|
993
|
+
`Markdown document exceeds the ${resolved.maxNodes}-node safety limit`
|
|
994
|
+
);
|
|
995
|
+
}
|
|
996
|
+
if (current.depth > resolved.maxDepth) {
|
|
997
|
+
throw new MarkdownLimitError(
|
|
998
|
+
"DEPTH",
|
|
999
|
+
`Markdown document exceeds the ${resolved.maxDepth}-level nesting safety limit`
|
|
1000
|
+
);
|
|
1001
|
+
}
|
|
1002
|
+
if (node.type === "tableCell" && ++tableCells > resolved.maxTableCells) {
|
|
1003
|
+
throw new MarkdownLimitError(
|
|
1004
|
+
"TABLE_CELLS",
|
|
1005
|
+
`Markdown document exceeds the ${resolved.maxTableCells}-table-cell safety limit`
|
|
1006
|
+
);
|
|
1007
|
+
}
|
|
1008
|
+
pushChildren(stack, node.children, current.depth + 1);
|
|
1009
|
+
pushChildren(stack, node.htmlChildren, current.depth + 1);
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
function resolveMarkdownSafetyLimits(limits) {
|
|
1013
|
+
const resolved = { ...DEFAULT_MARKDOWN_SAFETY_LIMITS, ...limits };
|
|
1014
|
+
for (const [name, value] of Object.entries(resolved)) {
|
|
1015
|
+
if (!Number.isSafeInteger(value) || value < 0) {
|
|
1016
|
+
throw new RangeError(`${name} must be a non-negative safe integer`);
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
return resolved;
|
|
1020
|
+
}
|
|
1021
|
+
function pushChildren(stack, children, depth) {
|
|
1022
|
+
if (!Array.isArray(children)) return;
|
|
1023
|
+
for (let index = children.length - 1; index >= 0; index--) {
|
|
1024
|
+
stack.push({ value: children[index], depth });
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
function utf8ByteLength(value, stopAfter) {
|
|
1028
|
+
let bytes = 0;
|
|
1029
|
+
for (let index = 0; index < value.length; index++) {
|
|
1030
|
+
const code = value.charCodeAt(index);
|
|
1031
|
+
if (code < 128) bytes += 1;
|
|
1032
|
+
else if (code < 2048) bytes += 2;
|
|
1033
|
+
else if (code >= 55296 && code <= 56319 && index + 1 < value.length) {
|
|
1034
|
+
const next = value.charCodeAt(index + 1);
|
|
1035
|
+
if (next >= 56320 && next <= 57343) {
|
|
1036
|
+
bytes += 4;
|
|
1037
|
+
index += 1;
|
|
1038
|
+
} else bytes += 3;
|
|
1039
|
+
} else bytes += 3;
|
|
1040
|
+
if (bytes > stopAfter) return bytes;
|
|
1041
|
+
}
|
|
1042
|
+
return bytes;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
942
1045
|
// src/markdown/parse.ts
|
|
943
1046
|
import { unified } from "unified";
|
|
944
1047
|
import remarkParse from "remark-parse";
|
|
@@ -948,6 +1051,8 @@ import remarkDirective from "remark-directive";
|
|
|
948
1051
|
import remarkFrontmatter from "remark-frontmatter";
|
|
949
1052
|
var defaultProcessor;
|
|
950
1053
|
function parseMarkdown(markdown, options) {
|
|
1054
|
+
options?.signal?.throwIfAborted();
|
|
1055
|
+
assertMarkdownSourceWithinLimits(markdown, options?.limits);
|
|
951
1056
|
const useDefaults = !options || options.gfm !== false && options.math !== false && options.directive !== false && options.frontmatter !== false;
|
|
952
1057
|
let processor;
|
|
953
1058
|
if (useDefaults) {
|
|
@@ -974,6 +1079,7 @@ function parseMarkdown(markdown, options) {
|
|
|
974
1079
|
const doc = fromMdast(mdastTree, {
|
|
975
1080
|
parseHtml: options?.parseHtml
|
|
976
1081
|
});
|
|
1082
|
+
assertMarkdownDocumentWithinLimits(doc, options?.limits, options?.signal);
|
|
977
1083
|
if (options?.frontmatter !== false) {
|
|
978
1084
|
const yamlNode = mdastTree.children?.find((n) => n.type === "yaml");
|
|
979
1085
|
if (yamlNode?.value) {
|
|
@@ -991,6 +1097,10 @@ export {
|
|
|
991
1097
|
serializePandocAttributes,
|
|
992
1098
|
fromMdast,
|
|
993
1099
|
toMdast,
|
|
1100
|
+
DEFAULT_MARKDOWN_SAFETY_LIMITS,
|
|
1101
|
+
MarkdownLimitError,
|
|
1102
|
+
assertMarkdownSourceWithinLimits,
|
|
1103
|
+
assertMarkdownDocumentWithinLimits,
|
|
1104
|
+
resolveMarkdownSafetyLimits,
|
|
994
1105
|
parseMarkdown
|
|
995
1106
|
};
|
|
996
|
-
//# sourceMappingURL=chunk-66QO7XFB.js.map
|