@bendyline/squisq 2.11.13 → 2.11.14

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/index.js CHANGED
@@ -27,7 +27,7 @@ import {
27
27
  recordSlideShown,
28
28
  traceWordPosAt,
29
29
  vadStep
30
- } from "./chunk-X2TDC4E5.js";
30
+ } from "./chunk-HHGVTXHR.js";
31
31
  import {
32
32
  fenceRendererLangs
33
33
  } from "./chunk-PGI7HSWE.js";
@@ -65,7 +65,7 @@ import {
65
65
  getTransformStyleSummaries,
66
66
  resolveTransformStyle,
67
67
  transformNarratedSegment
68
- } from "./chunk-EWO2VLOS.js";
68
+ } from "./chunk-4P557IPH.js";
69
69
  import {
70
70
  extractContent,
71
71
  mapElementToBlock,
@@ -246,7 +246,7 @@ import {
246
246
  validateMarkdownSource,
247
247
  wordRevealDelay,
248
248
  writeDashboardLayoutsToFrontmatter
249
- } from "./chunk-S4427XKY.js";
249
+ } from "./chunk-GDF2FWL6.js";
250
250
  import {
251
251
  buildNarrationScript,
252
252
  buildNarrationTimingJson,
@@ -256,7 +256,7 @@ import {
256
256
  wordIndexAtChar,
257
257
  wordIndexAtTime,
258
258
  wordPosAtExpectedSyllables
259
- } from "./chunk-BR7ZMDWW.js";
259
+ } from "./chunk-6H2HBBFC.js";
260
260
  import {
261
261
  ASCII_CHAR_H,
262
262
  ASCII_CHAR_W,
@@ -387,7 +387,7 @@ import {
387
387
  wrapWithPersistentLayers,
388
388
  writeCustomTemplatesToFrontmatter,
389
389
  writeCustomThemesToFrontmatter
390
- } from "./chunk-42IU2SJY.js";
390
+ } from "./chunk-YPI2VJSB.js";
391
391
  import {
392
392
  ASCII_DIAGRAM_FENCE_LANGS,
393
393
  ASCII_TIMELINE_FENCE_LANGS,
@@ -528,7 +528,7 @@ import {
528
528
  createMediaProviderFromContainer,
529
529
  findDocumentPath,
530
530
  scopeContainer
531
- } from "./chunk-GIYWXYCK.js";
531
+ } from "./chunk-XSOIWNZL.js";
532
532
  import {
533
533
  DEFAULT_INTERACTIVE_RESOURCE_POLICY,
534
534
  DEFAULT_RESOURCE_MAX_BYTES,
@@ -539,6 +539,7 @@ import {
539
539
  ResourcePolicyError,
540
540
  applyMarkdownSourceTransform,
541
541
  cleanupMarkdownSource,
542
+ condenseMarkdownSource,
542
543
  detectMarkdownWrapState,
543
544
  fetchResourceBytes,
544
545
  isResourceUrlAllowed,
@@ -547,7 +548,7 @@ import {
547
548
  stringifyMarkdown,
548
549
  unwrapMarkdownSource,
549
550
  wrapMarkdownSource
550
- } from "./chunk-RLBHQSUG.js";
551
+ } from "./chunk-UVQPK6A3.js";
551
552
  import {
552
553
  DEFAULT_MARKDOWN_SAFETY_LIMITS,
553
554
  MarkdownLimitError,
@@ -814,6 +815,7 @@ export {
814
815
  computeDiagramLayout,
815
816
  computeDrawingLayout,
816
817
  computeLayoutLayers,
818
+ condenseMarkdownSource,
817
819
  connectorPath,
818
820
  contentBlock,
819
821
  contrastRatio,
@@ -1,4 +1,4 @@
1
- import { bw as Theme, bm as SurfaceScheme } from '../Doc-BWtfp7dT.js';
1
+ import { bw as Theme, bm as SurfaceScheme } from '../Doc-C-cv1g4G.js';
2
2
  import '../types-Be6sBUBx.js';
3
3
 
4
4
  /**
@@ -534,7 +534,7 @@ declare function plainTextFromInlineHtml(html: string): string;
534
534
  * Distinct from `@bendyline/squisq/transform` (the slideshow style
535
535
  * pipeline): these transforms rewrite markdown text, not docs.
536
536
  */
537
- type MarkdownSourceTransformId = 'unwrap' | 'wrap' | 'cleanup';
537
+ type MarkdownSourceTransformId = 'unwrap' | 'wrap' | 'cleanup' | 'condense';
538
538
  interface MarkdownSourceTransformOptions {
539
539
  /** Target column for `wrap` (clamped to 20–500). Default {@link DEFAULT_WRAP_WIDTH}. */
540
540
  width?: number;
@@ -567,7 +567,7 @@ interface MarkdownSourceTransformResult {
567
567
  * The minimal edits that turn the input into `output`, in DESCENDING
568
568
  * `start` order so they can be applied top-of-stack first (offsets stay
569
569
  * valid). Present for `unwrap`/`wrap` (one edit per touched paragraph) and
570
- * `cleanup` (one whole-document edit); empty when nothing changed.
570
+ * `cleanup`/`condense` (one whole-document edit); empty when nothing changed.
571
571
  */
572
572
  edits: MarkdownSourceEdit[];
573
573
  }
@@ -641,4 +641,13 @@ interface DocfxMarkdownOptions {
641
641
  */
642
642
  declare function normalizeDocfxMarkdown(source: string, options?: DocfxMarkdownOptions): string;
643
643
 
644
- export { DEFAULT_INTERACTIVE_RESOURCE_POLICY, DEFAULT_RESOURCE_MAX_BYTES, DEFAULT_RESOURCE_TIMEOUT_MS, DEFAULT_WRAP_WIDTH, type DocfxMarkdownOptions, type FetchResourceBytesOptions, type FetchedResource, HeadingAttributes, HtmlNode, type HtmlPolicy, LOCAL_ONLY_RESOURCE_POLICY, MARKDOWN_SOURCE_TRANSFORMS, MarkdownDocument, MarkdownNode, type MarkdownReferenceOptions, type MarkdownSourceEdit, type MarkdownSourceTransform, type MarkdownSourceTransformId, type MarkdownSourceTransformOptions, type MarkdownSourceTransformResult, type MarkdownWrapState, ParseOptions, type ResourcePolicy, ResourcePolicyError, type SanitizeUrlOptions, StringifyOptions, type TrailingAnnotationMatch, type UrlKind, applyMarkdownSourceTransform, cleanupMarkdownSource, countNodes, createDocument, detectMarkdownWrapState, extractPlainText, fetchResourceBytes, findNodesByType, formatBlockScalar, formatFrontmatterValue, formatFrontmatterYaml, fromMdast, getChildren, inferDocumentTitle, isResourceUrlAllowed, matchTrailingPandocAttr, matchTrailingTemplateAnnotation, needsQuoting, normalizeDocfxMarkdown, parseFrontmatter, parseHtmlToNodes, parseMarkdown, parsePandocAttrTokens, plainTextFromInlineHtml, quoteAttrValue, readFrontmatterThemeId, rewriteMarkdownReferences, sanitizeHtmlNodes, sanitizeUrl, serializePandocAttributes, setFrontmatterValues, splitFrontmatterBlock, splitKeyValueToken, stringifyHtmlNodes, stringifyMarkdown, toMdast, tokenizeAttrTokens, unquoteAttrValue, unwrapMarkdownSource, walkMarkdownTree, wrapMarkdownSource };
644
+ /**
645
+ * Compact table padding/delimiters and thematic breaks without removing data.
646
+ * Other source spans (including frontmatter, code, HTML, citations and prose)
647
+ * remain byte-identical. Reparse and compare every AST property except source
648
+ * positions before returning; throw if equivalence cannot be established.
649
+ * Run after reference/image edits, which may re-serialize a table with padding.
650
+ */
651
+ declare function condenseMarkdownSource(source: string): string;
652
+
653
+ export { DEFAULT_INTERACTIVE_RESOURCE_POLICY, DEFAULT_RESOURCE_MAX_BYTES, DEFAULT_RESOURCE_TIMEOUT_MS, DEFAULT_WRAP_WIDTH, type DocfxMarkdownOptions, type FetchResourceBytesOptions, type FetchedResource, HeadingAttributes, HtmlNode, type HtmlPolicy, LOCAL_ONLY_RESOURCE_POLICY, MARKDOWN_SOURCE_TRANSFORMS, MarkdownDocument, MarkdownNode, type MarkdownReferenceOptions, type MarkdownSourceEdit, type MarkdownSourceTransform, type MarkdownSourceTransformId, type MarkdownSourceTransformOptions, type MarkdownSourceTransformResult, type MarkdownWrapState, ParseOptions, type ResourcePolicy, ResourcePolicyError, type SanitizeUrlOptions, StringifyOptions, type TrailingAnnotationMatch, type UrlKind, applyMarkdownSourceTransform, cleanupMarkdownSource, condenseMarkdownSource, countNodes, createDocument, detectMarkdownWrapState, extractPlainText, fetchResourceBytes, findNodesByType, formatBlockScalar, formatFrontmatterValue, formatFrontmatterYaml, fromMdast, getChildren, inferDocumentTitle, isResourceUrlAllowed, matchTrailingPandocAttr, matchTrailingTemplateAnnotation, needsQuoting, normalizeDocfxMarkdown, parseFrontmatter, parseHtmlToNodes, parseMarkdown, parsePandocAttrTokens, plainTextFromInlineHtml, quoteAttrValue, readFrontmatterThemeId, rewriteMarkdownReferences, sanitizeHtmlNodes, sanitizeUrl, serializePandocAttributes, setFrontmatterValues, splitFrontmatterBlock, splitKeyValueToken, stringifyHtmlNodes, stringifyMarkdown, toMdast, tokenizeAttrTokens, unquoteAttrValue, unwrapMarkdownSource, walkMarkdownTree, wrapMarkdownSource };
@@ -8,6 +8,7 @@ import {
8
8
  ResourcePolicyError,
9
9
  applyMarkdownSourceTransform,
10
10
  cleanupMarkdownSource,
11
+ condenseMarkdownSource,
11
12
  detectMarkdownWrapState,
12
13
  fetchResourceBytes,
13
14
  isResourceUrlAllowed,
@@ -16,7 +17,7 @@ import {
16
17
  stringifyMarkdown,
17
18
  unwrapMarkdownSource,
18
19
  wrapMarkdownSource
19
- } from "../chunk-RLBHQSUG.js";
20
+ } from "../chunk-UVQPK6A3.js";
20
21
  import {
21
22
  DEFAULT_MARKDOWN_SAFETY_LIMITS,
22
23
  MarkdownLimitError,
@@ -80,6 +81,7 @@ export {
80
81
  assertMarkdownDocumentWithinLimits,
81
82
  assertMarkdownSourceWithinLimits,
82
83
  cleanupMarkdownSource,
84
+ condenseMarkdownSource,
83
85
  countNodes,
84
86
  createDocument,
85
87
  detectMarkdownWrapState,
@@ -1,4 +1,4 @@
1
- import { k as Block, aT as PageSectionKind, aR as PageEmphasis, by as ThemeColorScheme, aP as PageBackground, bw as Theme, b$ as ViewportConfig, y as CustomTemplateDefinition, aW as PageVariant, bk as StartBlockConfig, Q as Doc, bz as ThemePageStyle } from './Doc-BWtfp7dT.js';
1
+ import { k as Block, aT as PageSectionKind, aR as PageEmphasis, by as ThemeColorScheme, aP as PageBackground, bw as Theme, b$ as ViewportConfig, y as CustomTemplateDefinition, aW as PageVariant, bk as StartBlockConfig, Q as Doc, bz as ThemePageStyle } from './Doc-C-cv1g4G.js';
2
2
  import { M as MarkdownBlockNode } from './types-Be6sBUBx.js';
3
3
 
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { al as MediaCut, Q as Doc, aj as MediaClip, cv as MediaFxOpId, cw as MediaFxChain } from '../Doc-BWtfp7dT.js';
2
- export { cx as MEDIA_EDIT_PARAMS, cy as MEDIA_FX_ORDER, cz as MEDIA_FX_SPECS, ak as MediaCrop, cA as MediaEditParamKey, cB as MediaEditParamValues, am as MediaEdits, cC as MediaFxOp, cD as formatMediaNumber, cE as hasRenderableFx, cF as mediaEditHtmlAttribute, cG as mediaEditValuesFromAttributes, cH as mediaEditValuesFromParams, cI as mediaRenderKey, cJ as normalizeMediaCrop, cK as normalizeMediaCuts, cL as parseMediaCrop, cM as parseMediaCuts, cN as parseMediaEdits, cO as parseMediaFx, cP as serializeMediaCrop, cQ as serializeMediaCuts, cR as serializeMediaEdits, cS as serializeMediaFx } from '../Doc-BWtfp7dT.js';
1
+ import { al as MediaCut, Q as Doc, aj as MediaClip, cv as MediaFxOpId, cw as MediaFxChain } from '../Doc-C-cv1g4G.js';
2
+ export { cx as MEDIA_EDIT_PARAMS, cy as MEDIA_FX_ORDER, cz as MEDIA_FX_SPECS, ak as MediaCrop, cA as MediaEditParamKey, cB as MediaEditParamValues, am as MediaEdits, cC as MediaFxOp, cD as formatMediaNumber, cE as hasRenderableFx, cF as mediaEditHtmlAttribute, cG as mediaEditValuesFromAttributes, cH as mediaEditValuesFromParams, cI as mediaRenderKey, cJ as normalizeMediaCrop, cK as normalizeMediaCuts, cL as parseMediaCrop, cM as parseMediaCuts, cN as parseMediaEdits, cO as parseMediaFx, cP as serializeMediaCrop, cQ as serializeMediaCuts, cR as serializeMediaEdits, cS as serializeMediaFx } from '../Doc-C-cv1g4G.js';
3
3
  import '../types-Be6sBUBx.js';
4
4
 
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { Q as Doc, f as AudioBookmark } from '../Doc-BWtfp7dT.js';
1
+ import { Q as Doc, f as AudioBookmark } from '../Doc-C-cv1g4G.js';
2
2
  import '../types-Be6sBUBx.js';
3
3
 
4
4
  /**
@@ -27,7 +27,7 @@ import {
27
27
  recordSlideShown,
28
28
  traceWordPosAt,
29
29
  vadStep
30
- } from "../chunk-X2TDC4E5.js";
30
+ } from "../chunk-HHGVTXHR.js";
31
31
  import "../chunk-NEWNNLWN.js";
32
32
  import {
33
33
  buildNarrationScript,
@@ -38,8 +38,8 @@ import {
38
38
  wordIndexAtChar,
39
39
  wordIndexAtTime,
40
40
  wordPosAtExpectedSyllables
41
- } from "../chunk-BR7ZMDWW.js";
42
- import "../chunk-42IU2SJY.js";
41
+ } from "../chunk-6H2HBBFC.js";
42
+ import "../chunk-YPI2VJSB.js";
43
43
  import "../chunk-C3NAY5YP.js";
44
44
  import "../chunk-PUS54YU6.js";
45
45
  import "../chunk-PFH3WV6J.js";
@@ -1,10 +1,10 @@
1
1
  export { B as BoundingBox, C as Coordinates } from '../Types-sh2VRxfo.js';
2
- import { Q as Doc, bw as Theme, bz as ThemePageStyle, by as ThemeColorScheme, K as DeepPartial, bC as ThemeSeedColors, bx as ThemeColorPalette, _ as FontFamilyKind, Z as FontFamily } from '../Doc-BWtfp7dT.js';
3
- 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 THEME_SCHEMA_VERSION, bo as TableLayer, bp as TableLayerStyle, bq as TemplateBlock, br as TemplateContext, bs as TemplateFunction, bt as TemplateRegistry, bu as TextLayer, bv as TextStyle, bA as ThemeRegistry, bB as ThemeSchemaVersion, bD as ThemeStyle, bE as ThemeTypography, bF as TimelineBlockInput, bG as TimelineTemplateEvent, bH as TimelineTemplateLink, bI as TimelineTemplateTrack, bJ as TitleBlockInput, bK as TitleCaptionConfig, bL as TranscriptBlockInput, bM as TreeBlockInput, bN as TreeLayer, bO as TreeLayerItem, bP as TreeLayerStyle, bQ as TreeTemplateItem, bR as TwoColumnInput, bS as VIEWPORT_PRESETS, bT as VideoLayer, bU as VideoPipPosition, bV as VideoPipShape, bW as VideoPipSize, bX as VideoPlacement, bY as VideoPresentation, bZ as VideoPullQuoteInput, b_ as VideoWithCaptionInput, b$ as ViewportConfig, c0 as ViewportOrientation, c1 as ViewportPreset, c2 as VignetteConfig, c3 as applySurface, c4 as calculateDuration, c5 as calculateFontScale, c6 as createTemplateContext, c7 as createTheme, c8 as createThemeRegistry, c9 as getAspectRatioString, ca as getBlockAtTime, cb as getCaptionAtTime, cc as getDocPlaybackDuration, cd as getLayoutHints, ce as getSafeTextBounds, cf as getSegmentAtTime, cg as getTwoColumnPositions, ch as getViewport, ci as getViewportOrientation, cj as isCustomTemplateDefinition, ck as isMotionProfileName, cl as isPersistentLayerTemplate, cm as isTemplateBlock, cn as layoutScaledFontSize, co as readFrontmatterMotion, cp as resolveMediaSchedule, cq as resolveMotionForDoc, cr as resolveMotionProfile, cs as scaledFontSize, ct as scheduleMediaClip, cu as validateCustomTemplateDefinition } from '../Doc-BWtfp7dT.js';
2
+ import { Q as Doc, bw as Theme, bz as ThemePageStyle, by as ThemeColorScheme, K as DeepPartial, bC as ThemeSeedColors, bx as ThemeColorPalette, _ as FontFamilyKind, Z as FontFamily } from '../Doc-C-cv1g4G.js';
3
+ 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 THEME_SCHEMA_VERSION, bo as TableLayer, bp as TableLayerStyle, bq as TemplateBlock, br as TemplateContext, bs as TemplateFunction, bt as TemplateRegistry, bu as TextLayer, bv as TextStyle, bA as ThemeRegistry, bB as ThemeSchemaVersion, bD as ThemeStyle, bE as ThemeTypography, bF as TimelineBlockInput, bG as TimelineTemplateEvent, bH as TimelineTemplateLink, bI as TimelineTemplateTrack, bJ as TitleBlockInput, bK as TitleCaptionConfig, bL as TranscriptBlockInput, bM as TreeBlockInput, bN as TreeLayer, bO as TreeLayerItem, bP as TreeLayerStyle, bQ as TreeTemplateItem, bR as TwoColumnInput, bS as VIEWPORT_PRESETS, bT as VideoLayer, bU as VideoPipPosition, bV as VideoPipShape, bW as VideoPipSize, bX as VideoPlacement, bY as VideoPresentation, bZ as VideoPullQuoteInput, b_ as VideoWithCaptionInput, b$ as ViewportConfig, c0 as ViewportOrientation, c1 as ViewportPreset, c2 as VignetteConfig, c3 as applySurface, c4 as calculateDuration, c5 as calculateFontScale, c6 as createTemplateContext, c7 as createTheme, c8 as createThemeRegistry, c9 as getAspectRatioString, ca as getBlockAtTime, cb as getCaptionAtTime, cc as getDocPlaybackDuration, cd as getLayoutHints, ce as getSafeTextBounds, cf as getSegmentAtTime, cg as getTwoColumnPositions, ch as getViewport, ci as getViewportOrientation, cj as isCustomTemplateDefinition, ck as isMotionProfileName, cl as isPersistentLayerTemplate, cm as isTemplateBlock, cn as layoutScaledFontSize, co as readFrontmatterMotion, cp as resolveMediaSchedule, cq as resolveMotionForDoc, cr as resolveMotionProfile, cs as scaledFontSize, ct as scheduleMediaClip, cu as validateCustomTemplateDefinition } from '../Doc-C-cv1g4G.js';
4
4
  export { a as DEFAULT_TRANSITION_DURATION_SECONDS, a1 as TRANSITION_DIRECTIONS, a2 as TRANSITION_TYPES, a3 as Transition, a4 as TransitionDirection, a5 as TransitionType, a8 as isTransitionType, a9 as normalizeTransitionDirection, aa as normalizeTransitionType, ab as resolveBlockTransition, ad as resolveTransitionDuration } from '../types-Be6sBUBx.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-Bphz1CRp.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-CROfw3YK.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-CYRQK8so.js';
7
+ export { E as EditorLayerMeta, I as ImageEditCanvas, a as ImageEditDoc, b as ImageEditLayer, c as ImageEditLayerKind, d as ImageEditMeta } from '../ImageEditDoc-3J4PRw8N.js';
8
8
 
9
9
  /**
10
10
  * Runtime validation for the canonical {@link Doc} JSON shape.
@@ -7,7 +7,7 @@ import {
7
7
  createMediaProviderFromContainer,
8
8
  findDocumentPath,
9
9
  scopeContainer
10
- } from "../chunk-GIYWXYCK.js";
10
+ } from "../chunk-XSOIWNZL.js";
11
11
  export {
12
12
  LocalForageAdapter,
13
13
  LocalStorageAdapter,
@@ -1,4 +1,4 @@
1
- import { bw as Theme, bA as ThemeRegistry } from './Doc-BWtfp7dT.js';
1
+ import { bw as Theme, bA as ThemeRegistry } from './Doc-C-cv1g4G.js';
2
2
 
3
3
  /**
4
4
  * Built-in Theme Library
@@ -1,4 +1,4 @@
1
- import { g as AudioSegment, h as AudioTimingData, n as CaptionTrack } from '../Doc-BWtfp7dT.js';
1
+ import { g as AudioSegment, h as AudioTimingData, n as CaptionTrack } from '../Doc-C-cv1g4G.js';
2
2
  import '../types-Be6sBUBx.js';
3
3
 
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { Q as Doc, r as ColorScheme, k as Block, bq as TemplateBlock } from '../Doc-BWtfp7dT.js';
2
- import { i as PageTransformHints } from '../materializePageSection-Db7pABI0.js';
1
+ import { Q as Doc, r as ColorScheme, k as Block, bq as TemplateBlock } from '../Doc-C-cv1g4G.js';
2
+ import { i as PageTransformHints } from '../materializePageSection-Dmy_-AUQ.js';
3
3
  import { d as ExtractionType, E as ExtractedElement, b as ExtractionOptions } from '../contentExtractor-BNfVJV2U.js';
4
4
  import '../types-Be6sBUBx.js';
5
5
 
@@ -19,6 +19,12 @@ interface TransformStyleConfig {
19
19
  name: string;
20
20
  /** Short description for UI tooltips. */
21
21
  description: string;
22
+ /**
23
+ * Body-content policy. Omitted styles retain unpromoted source content.
24
+ * `brief` bounds prose and highlights; `headings-and-features` keeps only
25
+ * headings and visual content in each heading's own scope.
26
+ */
27
+ contentMode?: 'brief' | 'headings-and-features';
22
28
  /**
23
29
  * Minimum confidence for extracted elements to become template blocks (0–1).
24
30
  * Higher values = fewer but higher-quality transformations.
@@ -9,9 +9,9 @@ import {
9
9
  getTransformStyleSummaries,
10
10
  resolveTransformStyle,
11
11
  transformNarratedSegment
12
- } from "../chunk-EWO2VLOS.js";
12
+ } from "../chunk-4P557IPH.js";
13
13
  import "../chunk-SVN7T6BK.js";
14
- import "../chunk-42IU2SJY.js";
14
+ import "../chunk-YPI2VJSB.js";
15
15
  import "../chunk-C3NAY5YP.js";
16
16
  import "../chunk-PUS54YU6.js";
17
17
  import "../chunk-PFH3WV6J.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/squisq",
3
- "version": "2.11.13",
3
+ "version": "2.11.14",
4
4
  "description": "Headless utilities for doc/block rendering, spatial math, Markdown, and storage",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",