@bendyline/squisq 2.12.3 → 2.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/{Doc-BkSiCJnM.d.ts → Doc-CwmJZayl.d.ts} +1 -1
  2. package/dist/{ImageEditDoc-UjQv8q3j.d.ts → ImageEditDoc-CtRgL0wh.d.ts} +1 -1
  3. package/dist/{annotationCoercion-TxFucMtA.d.ts → annotationCoercion-hTvELpIN.d.ts} +1 -1
  4. package/dist/{chunk-MPEGJKFJ.js → chunk-GGZCJ2MS.js} +7 -1
  5. package/dist/{chunk-VTVBSZXB.js → chunk-I3ENXLAN.js} +2 -16
  6. package/dist/{chunk-ZKDJHO6Y.js → chunk-ILLLGZCE.js} +4 -3
  7. package/dist/{chunk-EX75I5HX.js → chunk-PVFDR3XT.js} +233 -11
  8. package/dist/{chunk-SK5TQSYN.js → chunk-RHLRHRWY.js} +12 -8
  9. package/dist/{chunk-ZBPWNH4L.js → chunk-UN6S5OID.js} +174 -94
  10. package/dist/{chunk-J6AGNXFO.js → chunk-XFE6WYDK.js} +1 -1
  11. package/dist/doc/index.d.ts +7 -7
  12. package/dist/doc/index.js +5 -5
  13. package/dist/fence/index.d.ts +2 -2
  14. package/dist/generate/index.d.ts +2 -2
  15. package/dist/imageEdit/index.d.ts +4 -4
  16. package/dist/index.d.ts +7 -7
  17. package/dist/index.js +14 -8
  18. package/dist/jsonForm/index.d.ts +2 -2
  19. package/dist/markdown/index.d.ts +38 -4
  20. package/dist/markdown/index.js +9 -3
  21. package/dist/{materializePageSection-DEXohgVt.d.ts → materializePageSection-B5LehyBR.d.ts} +2 -2
  22. package/dist/mediaEdit/index.d.ts +3 -3
  23. package/dist/narration/index.d.ts +2 -2
  24. package/dist/narration/index.js +3 -3
  25. package/dist/recommend/index.d.ts +1 -1
  26. package/dist/recommend/index.js +1 -1
  27. package/dist/schemas/index.d.ts +5 -5
  28. package/dist/{themeLibrary-BrBc0mrP.d.ts → themeLibrary-jYL3QKTn.d.ts} +1 -1
  29. package/dist/timing/index.d.ts +2 -2
  30. package/dist/transform/index.d.ts +3 -3
  31. package/dist/transform/index.js +4 -4
  32. package/dist/{types-BmEHcL3l.d.ts → types-Zk8qYuaT.d.ts} +24 -1
  33. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import { a8 as ParseOptions, v as MarkdownDocument, a9 as StringifyOptions, H as HeadingAttributes, m as HtmlNode, M as MarkdownBlockNode, l as HtmlElement, V as MarkdownNode } from '../types-BmEHcL3l.js';
2
- export { D as DEFAULT_MARKDOWN_SAFETY_LIMITS, j as HeadingTemplateAnnotation, k as HtmlComment, n as HtmlText, o as MarkdownBlockquote, p as MarkdownBreak, q as MarkdownCodeBlock, r as MarkdownContainerDirective, s as MarkdownDefinitionDescription, t as MarkdownDefinitionList, u as MarkdownDefinitionTerm, w as MarkdownEmphasis, x as MarkdownFootnoteDefinition, y as MarkdownFootnoteReference, z as MarkdownHeading, A as MarkdownHtmlBlock, C as MarkdownImage, E as MarkdownImageReference, F as MarkdownInlineCode, G as MarkdownInlineHtml, I as MarkdownInlineIcon, J as MarkdownInlineMath, K as MarkdownInlineNode, L as MarkdownLeafDirective, N as MarkdownLimitError, O as MarkdownLink, P as MarkdownLinkDefinition, Q as MarkdownLinkReference, R as MarkdownList, S as MarkdownListItem, T as MarkdownMathBlock, U as MarkdownMention, W as MarkdownParagraph, X as MarkdownPoint, Y as MarkdownSafetyLimits, Z as MarkdownSourcePosition, _ as MarkdownStrikethrough, $ as MarkdownStrong, a0 as MarkdownSubscript, a1 as MarkdownSuperscript, a2 as MarkdownTable, a3 as MarkdownTableCell, a4 as MarkdownTableRow, a5 as MarkdownText, a6 as MarkdownTextDirective, a7 as MarkdownThematicBreak, af as assertMarkdownDocumentWithinLimits, ag as assertMarkdownSourceWithinLimits, ao as resolveMarkdownSafetyLimits } from '../types-BmEHcL3l.js';
3
- export { B as BLOCK_META_KEY_DESCRIPTORS, a as BlockMetaKeyDescriptor, K as KNOWN_BLOCK_META_KEYS, b as KnownBlockMetaKey, p as parseTimeSeconds } from '../annotationCoercion-TxFucMtA.js';
1
+ import { a8 as ParseOptions, v as MarkdownDocument, a9 as StringifyOptions, H as HeadingAttributes, m as HtmlNode, M as MarkdownBlockNode, l as HtmlElement, V as MarkdownNode } from '../types-Zk8qYuaT.js';
2
+ export { D as DEFAULT_MARKDOWN_SAFETY_LIMITS, j as HeadingTemplateAnnotation, k as HtmlComment, n as HtmlText, o as MarkdownBlockquote, p as MarkdownBreak, q as MarkdownCodeBlock, r as MarkdownContainerDirective, s as MarkdownDefinitionDescription, t as MarkdownDefinitionList, u as MarkdownDefinitionTerm, w as MarkdownEmphasis, x as MarkdownFootnoteDefinition, y as MarkdownFootnoteReference, z as MarkdownHeading, A as MarkdownHtmlBlock, C as MarkdownImage, E as MarkdownImageReference, F as MarkdownInlineCode, G as MarkdownInlineHtml, I as MarkdownInlineIcon, J as MarkdownInlineMath, K as MarkdownInlineNode, L as MarkdownLeafDirective, N as MarkdownLimitError, O as MarkdownLink, P as MarkdownLinkDefinition, Q as MarkdownLinkReference, R as MarkdownList, S as MarkdownListItem, T as MarkdownMathBlock, U as MarkdownMention, W as MarkdownParagraph, X as MarkdownPoint, Y as MarkdownSafetyLimits, Z as MarkdownSourcePosition, _ as MarkdownStrikethrough, $ as MarkdownStrong, a0 as MarkdownSubscript, a1 as MarkdownSuperscript, a2 as MarkdownTable, a3 as MarkdownTableCell, a4 as MarkdownTableRow, a5 as MarkdownText, a6 as MarkdownTextDirective, a7 as MarkdownThematicBreak, af as assertMarkdownDocumentWithinLimits, ag as assertMarkdownSourceWithinLimits, ao as resolveMarkdownSafetyLimits } from '../types-Zk8qYuaT.js';
3
+ export { B as BLOCK_META_KEY_DESCRIPTORS, a as BlockMetaKeyDescriptor, K as KNOWN_BLOCK_META_KEYS, b as KnownBlockMetaKey, p as parseTimeSeconds } from '../annotationCoercion-hTvELpIN.js';
4
4
 
5
5
  /**
6
6
  * Markdown → JSON Parser
@@ -958,4 +958,38 @@ type MediaReferenceKind = 'video' | 'audio';
958
958
  /** `'video'`, `'audio'`, or null for anything else (an image, a page, no extension). */
959
959
  declare function mediaKindForUrl(url: string): MediaReferenceKind | null;
960
960
 
961
- export { type BlockVideoEmbed, DEFAULT_INTERACTIVE_RESOURCE_POLICY, DEFAULT_RESOURCE_MAX_BYTES, DEFAULT_RESOURCE_TIMEOUT_MS, DEFAULT_WRAP_WIDTH, type DocfxMarkdownOptions, type FetchResourceBytesOptions, type FetchedResource, HeadingAttributes, HtmlElement, HtmlNode, type HtmlPolicy, LOCAL_ONLY_RESOURCE_POLICY, MARKDOWN_SOURCE_TRANSFORMS, MarkdownBlockNode, MarkdownDocument, MarkdownNode, type MarkdownReferenceOptions, type MarkdownSourceEdit, type MarkdownSourceTransform, type MarkdownSourceTransformId, type MarkdownSourceTransformOptions, type MarkdownSourceTransformResult, type MarkdownWrapState, type MediaReferenceKind, ParseOptions, type ParseSvgIslandOptions, type ResourcePolicy, ResourcePolicyError, SVG_ISLAND_LIMITS, type SanitizeUrlOptions, StringifyOptions, type SvgIsland, type SvgIslandDiagnostic, type SvgIslandFailureReason, type SvgIslandMarkupOptions, type SvgIslandResult, type TrailingAnnotationMatch, type UrlKind, VIDEO_EMBED_IFRAME_ALLOW, VIDEO_EMBED_PROVIDERS, type VideoEmbed, type VideoEmbedProviderId, type VideoEmbedProviderInfo, applyMarkdownSourceTransform, cleanupMarkdownSource, condenseMarkdownSource, countNodes, createDocument, detectMarkdownWrapState, extractPlainText, fetchResourceBytes, findBlockVideoEmbed, findNodesByType, formatBlockScalar, formatFrontmatterValue, formatFrontmatterYaml, fromMdast, getChildren, inferDocumentTitle, isResourceUrlAllowed, isSvgImageSource, isSvgIslandFence, isSvgIslandLang, isVideoEmbedUrl, matchTrailingPandocAttr, matchTrailingTemplateAnnotation, mediaKindForUrl, needsQuoting, normalizeDocfxMarkdown, parseFrontmatter, parseHtmlToNodes, parseMarkdown, parsePandocAttrTokens, parseSvgIsland, parseVideoEmbedInput, parseVideoEmbedUrl, parseVideoStartTime, plainTextFromInlineHtml, quoteAttrValue, readFrontmatterThemeId, rewriteMarkdownReferences, sanitizeHtmlNodes, sanitizeUrl, serializePandocAttributes, setFrontmatterValues, splitFrontmatterBlock, splitKeyValueToken, stringifyHtmlNodes, stringifyMarkdown, svgIslandDataUrl, svgIslandMarkup, svgSourceFromBytes, svgSourceFromDataUrl, toMdast, tokenizeAttrTokens, unquoteAttrValue, unwrapMarkdownSource, videoEmbedFromIframe, videoEmbedIframeAttributes, walkMarkdownTree, wrapMarkdownSource };
961
+ /** Wiki article paths are literal, relative names, never URLs or OS paths. */
962
+ declare function wikiLinkPath(target: string, extension?: '.md' | '.html'): string | null;
963
+ /** Parse the literal inside [[target|label]]; labels never carry markup. */
964
+ declare function parseWikiLink(value: string): {
965
+ target: string;
966
+ label?: string;
967
+ } | null;
968
+ interface WikiLinkSuggestion {
969
+ target: string;
970
+ label: string;
971
+ kind: 'article' | 'folder';
972
+ }
973
+ /** A host owns workspace authority, save ordering, creation and navigation.
974
+ * Targets are document-relative wiki names (without mandatory .md).
975
+ * Resolution must not create anything. A rejected lookup is not absence.
976
+ */
977
+ interface WikiLinkSupport {
978
+ exists(target: string): Promise<boolean>;
979
+ /** Bounded suggestions for a literal document-relative path prefix. */
980
+ suggest?(query: string): Promise<readonly WikiLinkSuggestion[]>;
981
+ /** Optional host URL for formats or public paths beyond the default .md.
982
+ * Return an encoded relative/workspace path, or null for a missing article. */
983
+ resolve?(target: string): Promise<string | null>;
984
+ open(target: string, options: {
985
+ create: boolean;
986
+ }): Promise<void>;
987
+ }
988
+
989
+ /** Projection only: unknown/missing targets remain plain text in presentations.
990
+ * Sequential, deduplicated lookups avoid a fan-out of filesystem operations.
991
+ * The authored wikiTarget survives serialization regardless of resolution.
992
+ */
993
+ declare function resolveWikiLinks(document: MarkdownDocument, exists: (target: string) => Promise<boolean | string | null>): Promise<MarkdownDocument>;
994
+
995
+ export { type BlockVideoEmbed, DEFAULT_INTERACTIVE_RESOURCE_POLICY, DEFAULT_RESOURCE_MAX_BYTES, DEFAULT_RESOURCE_TIMEOUT_MS, DEFAULT_WRAP_WIDTH, type DocfxMarkdownOptions, type FetchResourceBytesOptions, type FetchedResource, HeadingAttributes, HtmlElement, HtmlNode, type HtmlPolicy, LOCAL_ONLY_RESOURCE_POLICY, MARKDOWN_SOURCE_TRANSFORMS, MarkdownBlockNode, MarkdownDocument, MarkdownNode, type MarkdownReferenceOptions, type MarkdownSourceEdit, type MarkdownSourceTransform, type MarkdownSourceTransformId, type MarkdownSourceTransformOptions, type MarkdownSourceTransformResult, type MarkdownWrapState, type MediaReferenceKind, ParseOptions, type ParseSvgIslandOptions, type ResourcePolicy, ResourcePolicyError, SVG_ISLAND_LIMITS, type SanitizeUrlOptions, StringifyOptions, type SvgIsland, type SvgIslandDiagnostic, type SvgIslandFailureReason, type SvgIslandMarkupOptions, type SvgIslandResult, type TrailingAnnotationMatch, type UrlKind, VIDEO_EMBED_IFRAME_ALLOW, VIDEO_EMBED_PROVIDERS, type VideoEmbed, type VideoEmbedProviderId, type VideoEmbedProviderInfo, type WikiLinkSuggestion, type WikiLinkSupport, applyMarkdownSourceTransform, cleanupMarkdownSource, condenseMarkdownSource, countNodes, createDocument, detectMarkdownWrapState, extractPlainText, fetchResourceBytes, findBlockVideoEmbed, findNodesByType, formatBlockScalar, formatFrontmatterValue, formatFrontmatterYaml, fromMdast, getChildren, inferDocumentTitle, isResourceUrlAllowed, isSvgImageSource, isSvgIslandFence, isSvgIslandLang, isVideoEmbedUrl, matchTrailingPandocAttr, matchTrailingTemplateAnnotation, mediaKindForUrl, needsQuoting, normalizeDocfxMarkdown, parseFrontmatter, parseHtmlToNodes, parseMarkdown, parsePandocAttrTokens, parseSvgIsland, parseVideoEmbedInput, parseVideoEmbedUrl, parseVideoStartTime, parseWikiLink, plainTextFromInlineHtml, quoteAttrValue, readFrontmatterThemeId, resolveWikiLinks, rewriteMarkdownReferences, sanitizeHtmlNodes, sanitizeUrl, serializePandocAttributes, setFrontmatterValues, splitFrontmatterBlock, splitKeyValueToken, stringifyHtmlNodes, stringifyMarkdown, svgIslandDataUrl, svgIslandMarkup, svgSourceFromBytes, svgSourceFromDataUrl, toMdast, tokenizeAttrTokens, unquoteAttrValue, unwrapMarkdownSource, videoEmbedFromIframe, videoEmbedIframeAttributes, walkMarkdownTree, wikiLinkPath, wrapMarkdownSource };
@@ -17,7 +17,7 @@ import {
17
17
  stringifyMarkdown,
18
18
  unwrapMarkdownSource,
19
19
  wrapMarkdownSource
20
- } from "../chunk-ZKDJHO6Y.js";
20
+ } from "../chunk-ILLLGZCE.js";
21
21
  import {
22
22
  DEFAULT_MARKDOWN_SAFETY_LIMITS,
23
23
  MarkdownLimitError,
@@ -26,10 +26,13 @@ import {
26
26
  fromMdast,
27
27
  parseMarkdown,
28
28
  parsePandocAttrTokens,
29
+ parseWikiLink,
29
30
  resolveMarkdownSafetyLimits,
31
+ resolveWikiLinks,
30
32
  serializePandocAttributes,
31
- toMdast
32
- } from "../chunk-EX75I5HX.js";
33
+ toMdast,
34
+ wikiLinkPath
35
+ } from "../chunk-PVFDR3XT.js";
33
36
  import {
34
37
  matchTrailingPandocAttr,
35
38
  matchTrailingTemplateAnnotation,
@@ -137,10 +140,12 @@ export {
137
140
  parseVideoEmbedInput,
138
141
  parseVideoEmbedUrl,
139
142
  parseVideoStartTime,
143
+ parseWikiLink,
140
144
  plainTextFromInlineHtml,
141
145
  quoteAttrValue,
142
146
  readFrontmatterThemeId,
143
147
  resolveMarkdownSafetyLimits,
148
+ resolveWikiLinks,
144
149
  rewriteMarkdownReferences,
145
150
  sanitizeHtmlNodes,
146
151
  sanitizeUrl,
@@ -161,5 +166,6 @@ export {
161
166
  videoEmbedFromIframe,
162
167
  videoEmbedIframeAttributes,
163
168
  walkMarkdownTree,
169
+ wikiLinkPath,
164
170
  wrapMarkdownSource
165
171
  };
@@ -1,5 +1,5 @@
1
- import { k as Block, aT as PageSectionKind, aR as PageEmphasis, bz as ThemeColorScheme, aP as PageBackground, bx as Theme, c1 as ViewportConfig, y as CustomTemplateDefinition, aW as PageVariant, bk as StartBlockConfig, Q as Doc, bA as ThemePageStyle } from './Doc-BkSiCJnM.js';
2
- import { M as MarkdownBlockNode } from './types-BmEHcL3l.js';
1
+ import { k as Block, aT as PageSectionKind, aR as PageEmphasis, bz as ThemeColorScheme, aP as PageBackground, bx as Theme, c1 as ViewportConfig, y as CustomTemplateDefinition, aW as PageVariant, bk as StartBlockConfig, Q as Doc, bA as ThemePageStyle } from './Doc-CwmJZayl.js';
2
+ import { M as MarkdownBlockNode } from './types-Zk8qYuaT.js';
3
3
 
4
4
  /**
5
5
  * PageSection — the framework-agnostic block model for Page (linear) mode.
@@ -1,6 +1,6 @@
1
- import { al as MediaCut, Q as Doc, aj as MediaClip, cx as MediaFxOpId, cy as MediaFxChain } from '../Doc-BkSiCJnM.js';
2
- export { cz as MEDIA_EDIT_PARAMS, cA as MEDIA_FX_ORDER, cB as MEDIA_FX_SPECS, ak as MediaCrop, cC as MediaEditParamKey, cD as MediaEditParamValues, am as MediaEdits, cE as MediaFxOp, cF as formatMediaNumber, cG as hasRenderableFx, cH as mediaEditHtmlAttribute, cI as mediaEditValuesFromAttributes, cJ as mediaEditValuesFromParams, cK as mediaRenderKey, cL as normalizeMediaCrop, cM as normalizeMediaCuts, cN as parseMediaCrop, cO as parseMediaCuts, cP as parseMediaEdits, cQ as parseMediaFx, cR as serializeMediaCrop, cS as serializeMediaCuts, cT as serializeMediaEdits, cU as serializeMediaFx } from '../Doc-BkSiCJnM.js';
3
- import '../types-BmEHcL3l.js';
1
+ import { al as MediaCut, Q as Doc, aj as MediaClip, cx as MediaFxOpId, cy as MediaFxChain } from '../Doc-CwmJZayl.js';
2
+ export { cz as MEDIA_EDIT_PARAMS, cA as MEDIA_FX_ORDER, cB as MEDIA_FX_SPECS, ak as MediaCrop, cC as MediaEditParamKey, cD as MediaEditParamValues, am as MediaEdits, cE as MediaFxOp, cF as formatMediaNumber, cG as hasRenderableFx, cH as mediaEditHtmlAttribute, cI as mediaEditValuesFromAttributes, cJ as mediaEditValuesFromParams, cK as mediaRenderKey, cL as normalizeMediaCrop, cM as normalizeMediaCuts, cN as parseMediaCrop, cO as parseMediaCuts, cP as parseMediaEdits, cQ as parseMediaFx, cR as serializeMediaCrop, cS as serializeMediaCuts, cT as serializeMediaEdits, cU as serializeMediaFx } from '../Doc-CwmJZayl.js';
3
+ import '../types-Zk8qYuaT.js';
4
4
 
5
5
  /**
6
6
  * Source time ↔ played time for a media clip with a trim window and cuts.
@@ -1,5 +1,5 @@
1
- import { Q as Doc, f as AudioBookmark } from '../Doc-BkSiCJnM.js';
2
- import { d as BuildAdvance } from '../types-BmEHcL3l.js';
1
+ import { Q as Doc, f as AudioBookmark } from '../Doc-CwmJZayl.js';
2
+ import { d as BuildAdvance } from '../types-Zk8qYuaT.js';
3
3
 
4
4
  /**
5
5
  * Shared types + tuning configs for the narration engine.
@@ -27,7 +27,7 @@ import {
27
27
  recordSlideShown,
28
28
  traceWordPosAt,
29
29
  vadStep
30
- } from "../chunk-J6AGNXFO.js";
30
+ } from "../chunk-XFE6WYDK.js";
31
31
  import "../chunk-NEWNNLWN.js";
32
32
  import {
33
33
  buildNarrationTimingJson,
@@ -41,8 +41,8 @@ import {
41
41
  wordIndexAtChar,
42
42
  wordIndexAtTime,
43
43
  wordPosAtExpectedSyllables
44
- } from "../chunk-VTVBSZXB.js";
45
- import "../chunk-MPEGJKFJ.js";
44
+ } from "../chunk-I3ENXLAN.js";
45
+ import "../chunk-GGZCJ2MS.js";
46
46
  import "../chunk-FUBMT6SJ.js";
47
47
  import "../chunk-HYJ63N6V.js";
48
48
  import "../chunk-L7QZORLB.js";
@@ -1,4 +1,4 @@
1
- import { M as MarkdownBlockNode } from '../types-BmEHcL3l.js';
1
+ import { M as MarkdownBlockNode } from '../types-Zk8qYuaT.js';
2
2
 
3
3
  /**
4
4
  * Block template recommendations.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  profileBlockContents,
3
3
  recommendTemplatesForBlock
4
- } from "../chunk-MPEGJKFJ.js";
4
+ } from "../chunk-GGZCJ2MS.js";
5
5
  import "../chunk-MWSGNEH6.js";
6
6
  import "../chunk-P53Z4RYC.js";
7
7
  export {
@@ -1,10 +1,10 @@
1
- export { B as BUILD_EFFECTS, a as BUILD_MODES, b as BUILD_PARAM_KEYS, c as BUILD_PREVIOUS, d as BuildAdvance, e as BuildCursor, f as BuildSpec, g as BuildStep, h as BuildTiming, i as DEFAULT_TRANSITION_DURATION_SECONDS, aa as TRANSITION_DIRECTIONS, ab as TRANSITION_TYPES, ac as Transition, ad as TransitionDirection, ae as TransitionType, ah as buildSpecParams, ai as isTransitionType, aj as normalizeTransitionDirection, ak as normalizeTransitionType, al as parseBuildSpec, am as recordBuildAdvance, an as resolveBlockTransition, ap as resolveTransitionDuration } from '../types-BmEHcL3l.js';
1
+ export { B as BUILD_EFFECTS, a as BUILD_MODES, b as BUILD_PARAM_KEYS, c as BUILD_PREVIOUS, d as BuildAdvance, e as BuildCursor, f as BuildSpec, g as BuildStep, h as BuildTiming, i as DEFAULT_TRANSITION_DURATION_SECONDS, aa as TRANSITION_DIRECTIONS, ab as TRANSITION_TYPES, ac as Transition, ad as TransitionDirection, ae as TransitionType, ah as buildSpecParams, ai as isTransitionType, aj as normalizeTransitionDirection, ak as normalizeTransitionType, al as parseBuildSpec, am as recordBuildAdvance, an as resolveBlockTransition, ap as resolveTransitionDuration } from '../types-Zk8qYuaT.js';
2
2
  export { B as BoundingBox, C as Coordinates } from '../Types-sh2VRxfo.js';
3
- import { Q as Doc, bx as Theme, bA as ThemePageStyle, bz as ThemeColorScheme, K as DeepPartial, bD as ThemeSeedColors, by as ThemeColorPalette, _ as FontFamilyKind, Z as FontFamily } from '../Doc-BkSiCJnM.js';
4
- export { A as AccentImage, a as AccentPosition, b as AmbientGradientConfig, c as Animation, d as AnimationType, e as AreaChartInput, f as AudioBookmark, g as AudioSegment, h as AudioTimingData, i as AudioTrack, B as BarChartInput, j as BigTextInput, k as Block, l as BlockConnection, m as BorderStyle, C as CaptionPhrase, n as CaptionTrack, o as CaptionWord, p as ChartBaseFields, q as ChartTemplateInput, r as ColorScheme, s as ColumnChartInput, t as ComparisonBarInput, u as ContentBlockInput, v as CornerBrandingConfig, w as CountUpSpec, x as CreateTemplateContextOptions, y as CustomTemplateDefinition, z as CustomTemplateLayer, D as CustomTemplateValidationError, E as CustomTemplateValidationResult, F as DARK_SURFACE, G as DEFAULT_DOC_FONT, H as DEFAULT_TITLE_FONT, I as DataTableInput, J as DateEventInput, L as DefinitionCardInput, M as DiagramBlockInput, N as DiagramEdgeAnchor, O as DiagramTemplateEdge, P as DiagramTemplateNode, R as DocBlock, S as DocDiagnostic, T as DonutChartInput, U as DrawingBlockInput, V as FRONTMATTER_CUSTOM_TEMPLATES_KEY, W as FRONTMATTER_CUSTOM_THEMES_KEY, X as FRONTMATTER_MOTION_KEY, Y as FactCardInput, $ as FullBleedQuoteInput, a0 as GradientBackgroundConfig, a1 as ImageBackgroundConfig, a2 as ImageLayer, a3 as ImageTreatment, a4 as ImageWithCaptionInput, a5 as LIGHT_SURFACE, a6 as Layer, a7 as LayerRepeat, a8 as LayoutHints, a9 as LeftFeatureInput, aa as LineChartInput, ab as LinearGradient, ac as ListBlockInput, ad as MOTION_PROFILES, ae as MapBlockInput, af as MapLayer, ag as MapMarker, ah as MapTileStyle, ai as MarkerStyle, aj as MediaClip, ak as MediaCrop, al as MediaCut, am as MediaEdits, an as MediaScheduleOptions, ao as MermaidLayer, ap as MotionEntrance, aq as MotionOrigin, ar as MotionProfile, as as MotionProfileName, at as MotionSpec, au as MotionState, av as PAGE_ACCENT_STRATEGIES, aw as PAGE_BACKGROUNDS, ax as PAGE_BACKGROUND_RHYTHMS, ay as PAGE_DESIGN_FAMILIES, az as PAGE_DIVIDERS, aA as PAGE_EMPHASES, aB as PAGE_EYEBROWS, aC as PAGE_HEADING_CASES, aD as PAGE_HEADING_SCALES, aE as PAGE_HEADING_UNDERLINES, aF as PAGE_HERO_STYLES, aG as PAGE_IMAGE_FRAMINGS, aH as PAGE_NUMERAL_STYLES, aI as PAGE_PATTERNS, aJ as PAGE_QUOTE_MARKS, aK as PAGE_SECTION_KINDS, aL as PAGE_SECTION_SPACINGS, aM as PAGE_SHADOWS, aN as PAGE_VARIANTS, aO as PageAccentRotation, aP as PageBackground, aQ as PageDesignFamily, aR as PageEmphasis, aS as PageHeadingTreatment, aT as PageSectionKind, aU as PageSectionOverride, aV as PageTokens, aW as PageVariant, aX as PathLayer, aY as PatternBackgroundConfig, aZ as PersistentLayer, a_ as PersistentLayerConfig, a$ as PersistentLayerTemplate, b0 as PersistentLayerTemplateConfig, b1 as PersistentLayerTemplateType, b2 as PhotoGridInput, b3 as PieChartInput, b4 as PipStyle, b5 as Position, b6 as ProgressIndicatorConfig, b7 as PromotedBodyAnnotation, b8 as PullQuoteInput, b9 as QuoteBlockInput, ba as RawLayersInput, bb as RenderStyle, bc as RightFeatureInput, bd as ScatterChartInput, be as ScheduledClip, bf as SectionHeaderInput, bg as ShapeFilter, bh as ShapeLayer, bi as ShapePattern, bj as SolidBackgroundConfig, bk as StartBlockConfig, bl as StatHighlightInput, bm as SurfaceScheme, bn as SvgLayer, bo as THEME_SCHEMA_VERSION, bp as TableLayer, bq as TableLayerStyle, br as TemplateBlock, bs as TemplateContext, bt as TemplateFunction, bu as TemplateRegistry, bv as TextLayer, bw as TextStyle, bB as ThemeRegistry, bC as ThemeSchemaVersion, bE as ThemeStyle, bF as ThemeTypography, bG as TimelineBlockInput, bH as TimelineTemplateEvent, bI as TimelineTemplateLink, bJ as TimelineTemplateTrack, bK as TitleBlockInput, bL as TitleCaptionConfig, bM as TranscriptBlockInput, bN as TreeBlockInput, bO as TreeLayer, bP as TreeLayerItem, bQ as TreeLayerStyle, bR as TreeTemplateItem, bS as TwoColumnInput, bT as VIEWPORT_PRESETS, bU as VideoEmbedLayer, bV as VideoLayer, bW as VideoPipPosition, bX as VideoPipShape, bY as VideoPipSize, bZ as VideoPlacement, b_ as VideoPresentation, b$ as VideoPullQuoteInput, c0 as VideoWithCaptionInput, c1 as ViewportConfig, c2 as ViewportOrientation, c3 as ViewportPreset, c4 as VignetteConfig, c5 as applySurface, c6 as calculateDuration, c7 as calculateFontScale, c8 as createTemplateContext, c9 as createTheme, ca as createThemeRegistry, cb as getAspectRatioString, cc as getBlockAtTime, cd as getCaptionAtTime, ce as getDocPlaybackDuration, cf as getLayoutHints, cg as getSafeTextBounds, ch as getSegmentAtTime, ci as getTwoColumnPositions, cj as getViewport, ck as getViewportOrientation, cl as isCustomTemplateDefinition, cm as isMotionProfileName, cn as isPersistentLayerTemplate, co as isTemplateBlock, cp as layoutScaledFontSize, cq as readFrontmatterMotion, cr as resolveMediaSchedule, cs as resolveMotionForDoc, ct as resolveMotionProfile, cu as scaledFontSize, cv as scheduleMediaClip, cw as validateCustomTemplateDefinition } from '../Doc-BkSiCJnM.js';
5
- export { D as DEFAULT_THEME, a as DEFAULT_THEME_ID, T as THEMES, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-BrBc0mrP.js';
3
+ import { Q as Doc, bx as Theme, bA as ThemePageStyle, bz as ThemeColorScheme, K as DeepPartial, bD as ThemeSeedColors, by as ThemeColorPalette, _ as FontFamilyKind, Z as FontFamily } from '../Doc-CwmJZayl.js';
4
+ export { A as AccentImage, a as AccentPosition, b as AmbientGradientConfig, c as Animation, d as AnimationType, e as AreaChartInput, f as AudioBookmark, g as AudioSegment, h as AudioTimingData, i as AudioTrack, B as BarChartInput, j as BigTextInput, k as Block, l as BlockConnection, m as BorderStyle, C as CaptionPhrase, n as CaptionTrack, o as CaptionWord, p as ChartBaseFields, q as ChartTemplateInput, r as ColorScheme, s as ColumnChartInput, t as ComparisonBarInput, u as ContentBlockInput, v as CornerBrandingConfig, w as CountUpSpec, x as CreateTemplateContextOptions, y as CustomTemplateDefinition, z as CustomTemplateLayer, D as CustomTemplateValidationError, E as CustomTemplateValidationResult, F as DARK_SURFACE, G as DEFAULT_DOC_FONT, H as DEFAULT_TITLE_FONT, I as DataTableInput, J as DateEventInput, L as DefinitionCardInput, M as DiagramBlockInput, N as DiagramEdgeAnchor, O as DiagramTemplateEdge, P as DiagramTemplateNode, R as DocBlock, S as DocDiagnostic, T as DonutChartInput, U as DrawingBlockInput, V as FRONTMATTER_CUSTOM_TEMPLATES_KEY, W as FRONTMATTER_CUSTOM_THEMES_KEY, X as FRONTMATTER_MOTION_KEY, Y as FactCardInput, $ as FullBleedQuoteInput, a0 as GradientBackgroundConfig, a1 as ImageBackgroundConfig, a2 as ImageLayer, a3 as ImageTreatment, a4 as ImageWithCaptionInput, a5 as LIGHT_SURFACE, a6 as Layer, a7 as LayerRepeat, a8 as LayoutHints, a9 as LeftFeatureInput, aa as LineChartInput, ab as LinearGradient, ac as ListBlockInput, ad as MOTION_PROFILES, ae as MapBlockInput, af as MapLayer, ag as MapMarker, ah as MapTileStyle, ai as MarkerStyle, aj as MediaClip, ak as MediaCrop, al as MediaCut, am as MediaEdits, an as MediaScheduleOptions, ao as MermaidLayer, ap as MotionEntrance, aq as MotionOrigin, ar as MotionProfile, as as MotionProfileName, at as MotionSpec, au as MotionState, av as PAGE_ACCENT_STRATEGIES, aw as PAGE_BACKGROUNDS, ax as PAGE_BACKGROUND_RHYTHMS, ay as PAGE_DESIGN_FAMILIES, az as PAGE_DIVIDERS, aA as PAGE_EMPHASES, aB as PAGE_EYEBROWS, aC as PAGE_HEADING_CASES, aD as PAGE_HEADING_SCALES, aE as PAGE_HEADING_UNDERLINES, aF as PAGE_HERO_STYLES, aG as PAGE_IMAGE_FRAMINGS, aH as PAGE_NUMERAL_STYLES, aI as PAGE_PATTERNS, aJ as PAGE_QUOTE_MARKS, aK as PAGE_SECTION_KINDS, aL as PAGE_SECTION_SPACINGS, aM as PAGE_SHADOWS, aN as PAGE_VARIANTS, aO as PageAccentRotation, aP as PageBackground, aQ as PageDesignFamily, aR as PageEmphasis, aS as PageHeadingTreatment, aT as PageSectionKind, aU as PageSectionOverride, aV as PageTokens, aW as PageVariant, aX as PathLayer, aY as PatternBackgroundConfig, aZ as PersistentLayer, a_ as PersistentLayerConfig, a$ as PersistentLayerTemplate, b0 as PersistentLayerTemplateConfig, b1 as PersistentLayerTemplateType, b2 as PhotoGridInput, b3 as PieChartInput, b4 as PipStyle, b5 as Position, b6 as ProgressIndicatorConfig, b7 as PromotedBodyAnnotation, b8 as PullQuoteInput, b9 as QuoteBlockInput, ba as RawLayersInput, bb as RenderStyle, bc as RightFeatureInput, bd as ScatterChartInput, be as ScheduledClip, bf as SectionHeaderInput, bg as ShapeFilter, bh as ShapeLayer, bi as ShapePattern, bj as SolidBackgroundConfig, bk as StartBlockConfig, bl as StatHighlightInput, bm as SurfaceScheme, bn as SvgLayer, bo as THEME_SCHEMA_VERSION, bp as TableLayer, bq as TableLayerStyle, br as TemplateBlock, bs as TemplateContext, bt as TemplateFunction, bu as TemplateRegistry, bv as TextLayer, bw as TextStyle, bB as ThemeRegistry, bC as ThemeSchemaVersion, bE as ThemeStyle, bF as ThemeTypography, bG as TimelineBlockInput, bH as TimelineTemplateEvent, bI as TimelineTemplateLink, bJ as TimelineTemplateTrack, bK as TitleBlockInput, bL as TitleCaptionConfig, bM as TranscriptBlockInput, bN as TreeBlockInput, bO as TreeLayer, bP as TreeLayerItem, bQ as TreeLayerStyle, bR as TreeTemplateItem, bS as TwoColumnInput, bT as VIEWPORT_PRESETS, bU as VideoEmbedLayer, bV as VideoLayer, bW as VideoPipPosition, bX as VideoPipShape, bY as VideoPipSize, bZ as VideoPlacement, b_ as VideoPresentation, b$ as VideoPullQuoteInput, c0 as VideoWithCaptionInput, c1 as ViewportConfig, c2 as ViewportOrientation, c3 as ViewportPreset, c4 as VignetteConfig, c5 as applySurface, c6 as calculateDuration, c7 as calculateFontScale, c8 as createTemplateContext, c9 as createTheme, ca as createThemeRegistry, cb as getAspectRatioString, cc as getBlockAtTime, cd as getCaptionAtTime, ce as getDocPlaybackDuration, cf as getLayoutHints, cg as getSafeTextBounds, ch as getSegmentAtTime, ci as getTwoColumnPositions, cj as getViewport, ck as getViewportOrientation, cl as isCustomTemplateDefinition, cm as isMotionProfileName, cn as isPersistentLayerTemplate, co as isTemplateBlock, cp as layoutScaledFontSize, cq as readFrontmatterMotion, cr as resolveMediaSchedule, cs as resolveMotionForDoc, ct as resolveMotionProfile, cu as scaledFontSize, cv as scheduleMediaClip, cw as validateCustomTemplateDefinition } from '../Doc-CwmJZayl.js';
5
+ export { D as DEFAULT_THEME, a as DEFAULT_THEME_ID, T as THEMES, g as getAvailableThemes, b as getThemeSummaries, r as resolveTheme } from '../themeLibrary-jYL3QKTn.js';
6
6
  export { M as MediaEntry, a as MediaProvider } from '../MediaProvider-wpSe21B3.js';
7
- export { E as EditorLayerMeta, I as ImageEditCanvas, a as ImageEditDoc, b as ImageEditLayer, c as ImageEditLayerKind, d as ImageEditMeta } from '../ImageEditDoc-UjQv8q3j.js';
7
+ export { E as EditorLayerMeta, I as ImageEditCanvas, a as ImageEditDoc, b as ImageEditLayer, c as ImageEditLayerKind, d as ImageEditMeta } from '../ImageEditDoc-CtRgL0wh.js';
8
8
 
9
9
  /**
10
10
  * Runtime validation for the canonical {@link Doc} JSON shape.
@@ -1,4 +1,4 @@
1
- import { bx as Theme, bB as ThemeRegistry } from './Doc-BkSiCJnM.js';
1
+ import { bx as Theme, bB as ThemeRegistry } from './Doc-CwmJZayl.js';
2
2
 
3
3
  /**
4
4
  * Built-in Theme Library
@@ -1,5 +1,5 @@
1
- import { g as AudioSegment, h as AudioTimingData, n as CaptionTrack } from '../Doc-BkSiCJnM.js';
2
- import '../types-BmEHcL3l.js';
1
+ import { g as AudioSegment, h as AudioTimingData, n as CaptionTrack } from '../Doc-CwmJZayl.js';
2
+ import '../types-Zk8qYuaT.js';
3
3
 
4
4
  /**
5
5
  * Narration timing estimation.
@@ -1,7 +1,7 @@
1
- import { Q as Doc, r as ColorScheme, k as Block, br as TemplateBlock } from '../Doc-BkSiCJnM.js';
2
- import { i as PageTransformHints } from '../materializePageSection-DEXohgVt.js';
1
+ import { Q as Doc, r as ColorScheme, k as Block, br as TemplateBlock } from '../Doc-CwmJZayl.js';
2
+ import { i as PageTransformHints } from '../materializePageSection-B5LehyBR.js';
3
3
  import { d as ExtractionType, E as ExtractedElement, b as ExtractionOptions } from '../contentExtractor-BNfVJV2U.js';
4
- import { f as BuildSpec } from '../types-BmEHcL3l.js';
4
+ import { f as BuildSpec } from '../types-Zk8qYuaT.js';
5
5
 
6
6
  /** Identifier for a built-in or caller-registered transform style. */
7
7
  type TransformStyleId = string;
@@ -24,14 +24,14 @@ import {
24
24
  serializePresentationPlan,
25
25
  transformNarratedSegment,
26
26
  usesDynamicPresentation
27
- } from "../chunk-ZBPWNH4L.js";
28
- import "../chunk-VTVBSZXB.js";
29
- import "../chunk-MPEGJKFJ.js";
27
+ } from "../chunk-UN6S5OID.js";
28
+ import "../chunk-I3ENXLAN.js";
29
+ import "../chunk-GGZCJ2MS.js";
30
30
  import "../chunk-SVN7T6BK.js";
31
31
  import "../chunk-FUBMT6SJ.js";
32
32
  import "../chunk-HYJ63N6V.js";
33
33
  import "../chunk-L7QZORLB.js";
34
- import "../chunk-EX75I5HX.js";
34
+ import "../chunk-PVFDR3XT.js";
35
35
  import "../chunk-Y25EJEZN.js";
36
36
  import "../chunk-MWSGNEH6.js";
37
37
  import "../chunk-CZ7AUSLI.js";
@@ -542,6 +542,10 @@ interface MarkdownInlineCode extends MarkdownNodeBase {
542
542
  */
543
543
  interface MarkdownLink extends MarkdownNodeBase {
544
544
  type: 'link';
545
+ /** Authored [[target]]. url is empty until the host resolves an existing article. */
546
+ wikiTarget?: string;
547
+ /** Literal display label from [[target|label]], when explicitly authored. */
548
+ wikiLabel?: string;
545
549
  /** URL target */
546
550
  url: string;
547
551
  /** Optional title (shown on hover) */
@@ -551,6 +555,11 @@ interface MarkdownLink extends MarkdownNodeBase {
551
555
  }
552
556
  /**
553
557
  * An image ![alt](url "title").
558
+ *
559
+ * A lone HTML `<img>` that carries nothing beyond `src`, `alt`, `title`,
560
+ * `width` and `height` parses to this node too. The WYSIWYG editor writes a
561
+ * resized image that way, because `![alt](url)` has no size syntax, so every
562
+ * consumer sees one kind of image either way.
554
563
  */
555
564
  interface MarkdownImage extends MarkdownNodeBase {
556
565
  type: 'image';
@@ -560,6 +569,17 @@ interface MarkdownImage extends MarkdownNodeBase {
560
569
  alt?: string;
561
570
  /** Optional title */
562
571
  title?: string | null;
572
+ /** Display width in CSS pixels, from `<img width>`. */
573
+ width?: number;
574
+ /** Display height in CSS pixels, from `<img height>`. */
575
+ height?: number;
576
+ /**
577
+ * The `<img>` tag this image was written as. Serialization reuses it
578
+ * verbatim while it still describes the node, writes a fresh `<img>` when
579
+ * the URL, alt, title or size has changed, and writes `<img>` (never
580
+ * `![alt](url)`) whenever the node has a size.
581
+ */
582
+ rawHtml?: string;
563
583
  }
564
584
  /**
565
585
  * A hard line break (two trailing spaces or backslash before newline).
@@ -701,7 +721,10 @@ interface ParseOptions {
701
721
  math?: boolean;
702
722
  /** Enable directive extensions (:::container, ::leaf, :text). Default: true */
703
723
  directive?: boolean;
704
- /** Parse raw HTML into HtmlNode sub-DOM trees. Default: true */
724
+ /**
725
+ * Parse raw HTML into HtmlNode sub-DOM trees, and read a lone plain `<img>`
726
+ * as an image node. Default: true. When false, all HTML stays raw.
727
+ */
705
728
  parseHtml?: boolean;
706
729
  /** Enable YAML frontmatter parsing (--- blocks at top of document). Default: true */
707
730
  frontmatter?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/squisq",
3
- "version": "2.12.3",
3
+ "version": "2.12.5",
4
4
  "description": "Headless utilities for doc/block rendering, spatial math, Markdown, and storage",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",