@bendyline/squisq 2.3.3 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/{Doc-BrgZC7SE.d.ts → Doc-CSW6K2UF.d.ts} +222 -9
  2. package/dist/{ImageEditDoc-rum0Xb9P.d.ts → ImageEditDoc-x9yoTb4l.d.ts} +1 -1
  3. package/dist/{chunk-GQNH7PLN.js → chunk-2HY2ZA7U.js} +1470 -77
  4. package/dist/{chunk-G3JOS25T.js → chunk-7TJJA2RI.js} +46 -15
  5. package/dist/{chunk-RS5AP3J4.js → chunk-AE3IUKMM.js} +1 -1
  6. package/dist/{chunk-IZLKI3IL.js → chunk-AQF5ZYDI.js} +76 -16
  7. package/dist/{chunk-QWCFK5FN.js → chunk-CUYHFOFL.js} +5 -1
  8. package/dist/{chunk-2VCNTDNZ.js → chunk-D6YTLQCL.js} +71 -0
  9. package/dist/{chunk-32R2RZAO.js → chunk-DAMIRKTO.js} +1 -1
  10. package/dist/{chunk-ABP4LAJS.js → chunk-EMXYZLRH.js} +1 -1
  11. package/dist/{chunk-2ZWIXGAC.js → chunk-GAZKTT4R.js} +28 -4
  12. package/dist/{chunk-SPTY4C6F.js → chunk-GODLNXO4.js} +45 -3
  13. package/dist/chunk-JUAC2QWP.js +983 -0
  14. package/dist/{chunk-BCCXTMN5.js → chunk-O7JILDEF.js} +7 -0
  15. package/dist/{chunk-C33GTPUZ.js → chunk-SBAX4ZPO.js} +438 -0
  16. package/dist/doc/index.d.ts +113 -6
  17. package/dist/doc/index.js +14 -11
  18. package/dist/generate/index.d.ts +1 -1
  19. package/dist/imageEdit/index.d.ts +3 -3
  20. package/dist/index.d.ts +7 -7
  21. package/dist/index.js +41 -17
  22. package/dist/jsonForm/index.d.ts +1 -1
  23. package/dist/jsonForm/index.js +4 -4
  24. package/dist/markdown/index.d.ts +118 -1
  25. package/dist/markdown/index.js +22 -6
  26. package/dist/{materializePageSection-CrZWYnXM.d.ts → materializePageSection-_rrDuOYU.d.ts} +2 -2
  27. package/dist/narration/index.d.ts +1 -1
  28. package/dist/narration/index.js +6 -6
  29. package/dist/recommend/index.js +2 -2
  30. package/dist/schemas/index.d.ts +32 -5
  31. package/dist/schemas/index.js +9 -3
  32. package/dist/storage/index.d.ts +2 -3
  33. package/dist/{themeLibrary-DJt89gyP.d.ts → themeLibrary-DlJzXsin.d.ts} +1 -1
  34. package/dist/timing/index.d.ts +1 -2
  35. package/dist/transform/index.d.ts +2 -2
  36. package/dist/transform/index.js +2 -2
  37. package/package.json +2 -2
  38. package/dist/chunk-UA5DTYAY.js +0 -400
@@ -17,6 +17,22 @@ import { a0 as Transition, a2 as TransitionType, M as MarkdownBlockNode, r as Ma
17
17
  * `doc.documentMedia` clip that spans the whole timeline.
18
18
  */
19
19
 
20
+ /**
21
+ * How an authored video participates in the composed document frame.
22
+ *
23
+ * `content` videos remain in the block body and are laid out by the block
24
+ * template. The other placements are scheduled player-level video and sit
25
+ * above the composed slide.
26
+ */
27
+ type VideoPlacement = 'content' | 'picture-in-picture' | 'overlay';
28
+ /** Player-level placement of scheduled video relative to slide content. */
29
+ type VideoPresentation = 'background' | 'full-frame' | 'picture-in-picture';
30
+ /** Optional per-video override for picture-in-picture size. */
31
+ type VideoPipSize = 'small' | 'large';
32
+ /** Optional per-video override for the picture-in-picture frame shape. */
33
+ type VideoPipShape = 'square' | 'wide';
34
+ /** Optional per-video override for the picture-in-picture corner. */
35
+ type VideoPipPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
20
36
  /**
21
37
  * A timed piece of media attached to a block (or the document).
22
38
  */
@@ -26,6 +42,20 @@ interface MediaClip {
26
42
  /** Source path (mp3/mp4/…), relative to the article media dir. */
27
43
  src: string;
28
44
  kind: 'audio' | 'video';
45
+ /** Per-video placement. Omitted audio and legacy video use player defaults. */
46
+ placement?: Exclude<VideoPlacement, 'content'>;
47
+ /** Per-video PIP size. Omitted clips use the document/player setting. */
48
+ pipSize?: VideoPipSize;
49
+ /** Per-video PIP shape. Omitted clips use the document/player setting. */
50
+ pipShape?: VideoPipShape;
51
+ /** Per-video PIP corner. Omitted clips use the document/player setting. */
52
+ pipPosition?: VideoPipPosition;
53
+ /**
54
+ * Whether a placed video is locked to its owning block's timeline span.
55
+ * `true` clips start with and are capped by the block. `false` clips are
56
+ * document-timed and may cross block boundaries. Omitted for legacy media.
57
+ */
58
+ lockToBlock?: boolean;
29
59
  /**
30
60
  * Seconds from the parent block's start when this clip begins. For an
31
61
  * `anchor='document'` clip, seconds from the document start. Default 0.
@@ -64,6 +94,8 @@ interface MediaClip {
64
94
  blockId: string;
65
95
  index: number;
66
96
  raw?: string;
97
+ /** Raw authoring form; omitted means a squiggly media annotation. */
98
+ format?: 'html';
67
99
  };
68
100
  }
69
101
  /**
@@ -75,6 +107,16 @@ interface ScheduledClip {
75
107
  id: string;
76
108
  src: string;
77
109
  kind: 'audio' | 'video';
110
+ /** Per-video placement carried through to the player-level compositor. */
111
+ placement?: Exclude<VideoPlacement, 'content'>;
112
+ /** Per-video PIP size carried through to the player-level compositor. */
113
+ pipSize?: VideoPipSize;
114
+ /** Per-video PIP shape carried through to the player-level compositor. */
115
+ pipShape?: VideoPipShape;
116
+ /** Per-video PIP corner carried through to the player-level compositor. */
117
+ pipPosition?: VideoPipPosition;
118
+ /** Authored placed-video lock state, when applicable. */
119
+ lockToBlock?: boolean;
78
120
  /** Absolute doc-timeline second the clip starts. */
79
121
  absoluteStart: number;
80
122
  /** Absolute doc-timeline second the clip ends (exclusive). */
@@ -87,17 +129,36 @@ interface ScheduledClip {
87
129
  /** 1-based source line of the authoring annotation, when known. */
88
130
  sourceLine?: number;
89
131
  }
132
+ /** Options for {@link resolveMediaSchedule} / {@link getDocPlaybackDuration}. */
133
+ interface MediaScheduleOptions {
134
+ /**
135
+ * Optional lookup of a media file's intrinsic duration in seconds (e.g.
136
+ * probed from the decoded file). When a clip has no authored out-point
137
+ * (`clipEnd`) and is not locked to its block, its scheduled end is capped at
138
+ * this natural length instead of filling to the block/document end — so an
139
+ * unlocked video plays for its own length and then goes inactive rather than
140
+ * holding its last frame until the timeline ends.
141
+ *
142
+ * Applied only as an upper bound: it can pull a clip's end earlier but never
143
+ * extends it, so the overall timeline length is unchanged. Return undefined
144
+ * (the default when no probe is wired) to preserve the historical
145
+ * fill-to-end behavior. Locked clips ignore it — they fill their owning
146
+ * block by design.
147
+ */
148
+ intrinsicDuration?: (clip: MediaClip) => number | undefined;
149
+ }
90
150
  /**
91
151
  * Flatten every block clip and document clip into absolute-timed
92
- * `ScheduledClip`s. Pure — depends only on `doc`.
152
+ * `ScheduledClip`s. Pure — depends only on `doc` (plus the optional intrinsic
153
+ * media durations in {@link MediaScheduleOptions}).
93
154
  */
94
- declare function resolveMediaSchedule(doc: Doc): ScheduledClip[];
155
+ declare function resolveMediaSchedule(doc: Doc, opts?: MediaScheduleOptions): ScheduledClip[];
95
156
  /**
96
157
  * Total playback duration including any media that spills past the last
97
158
  * block (or audio segment). Export uses this for the frame count and the
98
159
  * player for its effective timeline length.
99
160
  */
100
- declare function getDocPlaybackDuration(doc: Doc): number;
161
+ declare function getDocPlaybackDuration(doc: Doc, opts?: MediaScheduleOptions): number;
101
162
 
102
163
  /**
103
164
  * Viewport Configuration
@@ -260,13 +321,13 @@ declare function getSafeTextBounds(orientation: ViewportOrientation): {
260
321
  /**
261
322
  * Block Templates Schema
262
323
  *
263
- * Defines a template system for AI-generated doc blocks. Instead of
264
- * specifying low-level layers, positions, and animations, AI can use
324
+ * Defines a template system for generated or programmatic doc blocks. Instead
325
+ * of specifying low-level layers, positions, and animations, callers can use
265
326
  * high-level templates like "title" or "statHighlight" with simple
266
327
  * content parameters.
267
328
  *
268
329
  * Templates are expanded into full Block structures at render time,
269
- * ensuring consistent styling and reducing AI generation errors.
330
+ * ensuring consistent styling and reducing generation errors.
270
331
  *
271
332
  * Template Types:
272
333
  * - title: Doc intro with title + subtitle
@@ -939,10 +1000,73 @@ interface DataTableInput extends BaseTemplateBlock {
939
1000
  /** Color scheme for the table header */
940
1001
  colorScheme?: ColorScheme;
941
1002
  }
1003
+ /**
1004
+ * Fields shared by every chart template. Chart data normally arrives from
1005
+ * the first markdown table in the block body (derived at materialize time);
1006
+ * `headers`/`rows` may also be supplied via a ```json data fence. Column
1007
+ * roles reference headers by name (case-insensitive) or 0-based index.
1008
+ * A chart block with no chartable table renders as ordinary content.
1009
+ */
1010
+ interface ChartBaseFields {
1011
+ /** Optional title displayed above the chart */
1012
+ title?: string;
1013
+ /** Header cells (normally derived from the block's markdown table) */
1014
+ headers?: string[];
1015
+ /** Data rows (normally derived from the block's markdown table) */
1016
+ rows?: string[][];
1017
+ /** Category/label column — header name or 0-based index. Default: first column. */
1018
+ labelColumn?: string;
1019
+ /** Value columns — header names or 0-based indexes. Default: all numeric columns. */
1020
+ valueColumns?: string[];
1021
+ /** Render the source table beneath the chart */
1022
+ showTable?: boolean;
1023
+ /** Show a series legend (default: on whenever it adds information) */
1024
+ showLegend?: boolean;
1025
+ /** Print numeric value labels on marks */
1026
+ showValues?: boolean;
1027
+ /** Unit suffix for tick/value labels (e.g. "km") */
1028
+ unit?: string;
1029
+ /** Color scheme seeding the series color rotation */
1030
+ colorScheme?: ColorScheme;
1031
+ }
1032
+ /** Horizontal bars — one bar (or bar group) per table row. */
1033
+ interface BarChartInput extends BaseTemplateBlock, ChartBaseFields {
1034
+ template: 'barChart';
1035
+ /** Stack series instead of grouping them side by side */
1036
+ stacked?: boolean;
1037
+ }
1038
+ /** Vertical columns — one column (or column group) per table row. */
1039
+ interface ColumnChartInput extends BaseTemplateBlock, ChartBaseFields {
1040
+ template: 'columnChart';
1041
+ /** Stack series instead of grouping them side by side */
1042
+ stacked?: boolean;
1043
+ }
1044
+ /** Pie chart of the first value column (positive values only). */
1045
+ interface PieChartInput extends BaseTemplateBlock, ChartBaseFields {
1046
+ template: 'pieChart';
1047
+ }
1048
+ /** Donut chart of the first value column (positive values only). */
1049
+ interface DonutChartInput extends BaseTemplateBlock, ChartBaseFields {
1050
+ template: 'donutChart';
1051
+ }
1052
+ /** Line chart — one line per value column; unparseable cells become gaps. */
1053
+ interface LineChartInput extends BaseTemplateBlock, ChartBaseFields {
1054
+ template: 'lineChart';
1055
+ }
1056
+ /** Area chart — filled lines, zero-based value axis. */
1057
+ interface AreaChartInput extends BaseTemplateBlock, ChartBaseFields {
1058
+ template: 'areaChart';
1059
+ }
1060
+ /** Scatter plot — numeric label column as x-axis (row index fallback). */
1061
+ interface ScatterChartInput extends BaseTemplateBlock, ChartBaseFields {
1062
+ template: 'scatterChart';
1063
+ }
1064
+ /** Union of the chart template inputs (all render through one shared engine). */
1065
+ type ChartTemplateInput = BarChartInput | ColumnChartInput | PieChartInput | DonutChartInput | LineChartInput | AreaChartInput | ScatterChartInput;
942
1066
  /**
943
1067
  * Union of all template block types.
944
1068
  */
945
- type TemplateBlock = TitleBlockInput | SectionHeaderInput | ContentBlockInput | StatHighlightInput | QuoteBlockInput | FactCardInput | TwoColumnInput | DateEventInput | ImageWithCaptionInput | LeftFeatureInput | RightFeatureInput | MapBlockInput | FullBleedQuoteInput | ListBlockInput | PhotoGridInput | DefinitionCardInput | ComparisonBarInput | PullQuoteInput | VideoWithCaptionInput | VideoPullQuoteInput | DataTableInput | DiagramBlockInput | TreeBlockInput | TimelineBlockInput | DrawingBlockInput | RawLayersInput;
1069
+ type TemplateBlock = TitleBlockInput | SectionHeaderInput | ContentBlockInput | StatHighlightInput | QuoteBlockInput | FactCardInput | TwoColumnInput | DateEventInput | ImageWithCaptionInput | LeftFeatureInput | RightFeatureInput | MapBlockInput | FullBleedQuoteInput | ListBlockInput | PhotoGridInput | DefinitionCardInput | ComparisonBarInput | PullQuoteInput | VideoWithCaptionInput | VideoPullQuoteInput | DataTableInput | BarChartInput | ColumnChartInput | PieChartInput | DonutChartInput | LineChartInput | AreaChartInput | ScatterChartInput | DiagramBlockInput | TreeBlockInput | TimelineBlockInput | DrawingBlockInput | RawLayersInput;
946
1070
  /**
947
1071
  * A block can be either a raw Block or a TemplateBlock.
948
1072
  */
@@ -1425,6 +1549,41 @@ interface ThemeStyle {
1425
1549
  * template via `imageTreatment: 'none'`.
1426
1550
  */
1427
1551
  imageTreatment?: ImageTreatment;
1552
+ /**
1553
+ * Framing for scheduled picture-in-picture presenter video, so a theme can
1554
+ * style the PiP (border, shadow, corner radius) to match. All fields are
1555
+ * optional — anything omitted is derived from the rest of the theme by
1556
+ * `pipStyleVars()`. See {@link PipStyle}.
1557
+ */
1558
+ pip?: PipStyle;
1559
+ }
1560
+ /**
1561
+ * Theme-driven framing for scheduled picture-in-picture presenter video. Every
1562
+ * field is optional; `pipStyleVars()` fills any gaps by deriving a fitting
1563
+ * default from the palette and {@link ThemeStyle.borderRadius}, so a theme that
1564
+ * declares no `pip` block still gets a PiP consistent with its look.
1565
+ */
1566
+ interface PipStyle {
1567
+ /**
1568
+ * Corner radius of the PiP frame — a number (px), a CSS length/percentage
1569
+ * string (e.g. `'18%'`, `'50%'`), or `0` for square corners. Omitted →
1570
+ * derived from {@link ThemeStyle.borderRadius} (0 stays square).
1571
+ */
1572
+ cornerRadius?: number | string;
1573
+ /**
1574
+ * Frame border. `'none'` removes it; an explicit `{ width, color }` sets it.
1575
+ * Omitted → a subtle rim in the theme's text color that reads on both light
1576
+ * and dark slides.
1577
+ */
1578
+ border?: 'none' | {
1579
+ width?: number | string;
1580
+ color?: string;
1581
+ };
1582
+ /**
1583
+ * Drop shadow. `false` / `'none'` → no shadow; `true` (or omitted) → a soft
1584
+ * themed shadow; a string → an explicit CSS `box-shadow` value.
1585
+ */
1586
+ shadow?: boolean | string;
1428
1587
  }
1429
1588
  /**
1430
1589
  * Render-style algorithm preset. Controls layout tweaks, default animations,
@@ -1659,6 +1818,29 @@ interface CustomTemplateDefinition {
1659
1818
  */
1660
1819
  layers: CustomTemplateLayer[];
1661
1820
  }
1821
+ /** A structural problem found while decoding a custom template. */
1822
+ interface CustomTemplateValidationError {
1823
+ /** JSON-style path to the invalid value. */
1824
+ path: string;
1825
+ /** Human-readable description of the required shape. */
1826
+ message: string;
1827
+ }
1828
+ /** Result returned by {@link validateCustomTemplateDefinition}. */
1829
+ interface CustomTemplateValidationResult {
1830
+ valid: boolean;
1831
+ errors: CustomTemplateValidationError[];
1832
+ /** Present only when the complete input is structurally valid. */
1833
+ template?: CustomTemplateDefinition;
1834
+ }
1835
+ /**
1836
+ * Validate an untrusted custom-template definition before it reaches template
1837
+ * expansion or rendering. Unknown object keys are ignored for forward
1838
+ * compatibility, but every currently supported layer's required shape is
1839
+ * checked recursively.
1840
+ */
1841
+ declare function validateCustomTemplateDefinition(input: unknown): CustomTemplateValidationResult;
1842
+ /** Type guard form of {@link validateCustomTemplateDefinition}. */
1843
+ declare function isCustomTemplateDefinition(input: unknown): input is CustomTemplateDefinition;
1662
1844
  /**
1663
1845
  * Tag value for the YAML frontmatter key that carries inlined custom
1664
1846
  * template definitions. Exported so the markdown bridge stays in sync.
@@ -1734,7 +1916,7 @@ interface Doc {
1734
1916
  blocks: Block[];
1735
1917
  /** Audio track configuration */
1736
1918
  audio: AudioTrack;
1737
- /** Caption track for closed captions (generated by postprocess-doc) */
1919
+ /** Optional caption track for closed captions. */
1738
1920
  captions?: CaptionTrack;
1739
1921
  /**
1740
1922
  * Start/resting block shown before playback begins.
@@ -1825,6 +2007,30 @@ interface Doc {
1825
2007
  * Merge order at render time: template defaults → `templateData` →
1826
2008
  * `templateOverrides`.
1827
2009
  */
2010
+ /**
2011
+ * Provenance for a template tag that an author (usually an LLM) placed in a
2012
+ * block's BODY instead of on its heading, and which `markdownToDoc` promoted to
2013
+ * the block's template. Ephemeral — like `autoTemplate` — but round-tripped
2014
+ * lazily: `docToMarkdown` re-emits the tag in the body verbatim while the block
2015
+ * is unedited, and relocates it onto the heading (`# Heading {[…]}`) once the
2016
+ * block's `template`/`templateOverrides` change. See `promoteBodyAnnotation.ts`.
2017
+ */
2018
+ interface PromotedBodyAnnotation {
2019
+ /** Authored template name (pre-alias), e.g. `title` or `titleBlock`. */
2020
+ template: string;
2021
+ /** Authored params, unquoted/unescaped. */
2022
+ params: Record<string, string>;
2023
+ /** Where the tag lived in the body, for byte-faithful re-emission. */
2024
+ origin: {
2025
+ kind: 'paragraph';
2026
+ index: number;
2027
+ raw: string;
2028
+ } | {
2029
+ kind: 'trailing';
2030
+ index: number;
2031
+ suffix: string;
2032
+ };
2033
+ }
1828
2034
  interface Block {
1829
2035
  /** Unique identifier for this block.
1830
2036
  * Defaults to a slug derived from the heading text. May be overridden by
@@ -1891,6 +2097,13 @@ interface Block {
1891
2097
  template?: string;
1892
2098
  params?: Record<string, string>;
1893
2099
  };
2100
+ /**
2101
+ * Set when this block's `template` was PROMOTED from a `{[…]}` tag that
2102
+ * appeared in the block's body (rather than on the heading). Ephemeral and
2103
+ * round-tripped lazily by `docToMarkdown`: the tag stays in the body until the
2104
+ * block is edited, then moves onto the heading. See `promoteBodyAnnotation.ts`.
2105
+ */
2106
+ promotedBodyAnnotation?: PromotedBodyAnnotation;
1894
2107
  /**
1895
2108
  * Display title for template rendering.
1896
2109
  * Extracted from the sourceHeading when the block is created by markdownToDoc().
@@ -2557,4 +2770,4 @@ declare function getBlockAtTime(blocks: Block[], time: number): Block | null;
2557
2770
  */
2558
2771
  declare function getCaptionAtTime(captions: CaptionTrack | undefined, time: number): CaptionPhrase | null;
2559
2772
 
2560
- export { type ListBlockInput as $, type AccentImage as A, type Block as B, type CaptionPhrase as C, DARK_SURFACE as D, type DiagramTemplateEdge as E, type DiagramTemplateNode as F, type Doc as G, type DocBlock as H, type DocDiagnostic as I, type DrawingBlockInput as J, FRONTMATTER_CUSTOM_TEMPLATES_KEY as K, FRONTMATTER_CUSTOM_THEMES_KEY as L, type FactCardInput as M, type FontFamily as N, type FontFamilyKind as O, type FullBleedQuoteInput as P, type GradientBackgroundConfig as Q, type ImageBackgroundConfig as R, type ImageLayer as S, type ImageTreatment as T, type ImageWithCaptionInput as U, LIGHT_SURFACE as V, type Layer as W, type LayerRepeat as X, type LayoutHints as Y, type LeftFeatureInput as Z, type LinearGradient as _, type AccentPosition as a, type TemplateRegistry as a$, type MapBlockInput as a0, type MapLayer as a1, type MapMarker as a2, type MapTileStyle as a3, type MarkerStyle as a4, type MediaClip as a5, type MermaidLayer as a6, PAGE_ACCENT_STRATEGIES as a7, PAGE_BACKGROUNDS as a8, PAGE_BACKGROUND_RHYTHMS as a9, type PersistentLayerConfig as aA, type PersistentLayerTemplate as aB, type PersistentLayerTemplateConfig as aC, type PersistentLayerTemplateType as aD, type PhotoGridInput as aE, type Position as aF, type ProgressIndicatorConfig as aG, type PullQuoteInput as aH, type QuoteBlockInput as aI, type RawLayersInput as aJ, type RenderStyle as aK, type RightFeatureInput as aL, type ScheduledClip as aM, type SectionHeaderInput as aN, type ShapeFilter as aO, type ShapeLayer as aP, type ShapePattern as aQ, type SolidBackgroundConfig as aR, type StartBlockConfig as aS, type StatHighlightInput as aT, type SurfaceScheme as aU, THEME_SCHEMA_VERSION as aV, type TableLayer as aW, type TableLayerStyle as aX, type TemplateBlock as aY, type TemplateContext as aZ, type TemplateFunction as a_, PAGE_DESIGN_FAMILIES as aa, PAGE_DIVIDERS as ab, PAGE_EMPHASES as ac, PAGE_EYEBROWS as ad, PAGE_HEADING_CASES as ae, PAGE_HEADING_SCALES as af, PAGE_HEADING_UNDERLINES as ag, PAGE_HERO_STYLES as ah, PAGE_IMAGE_FRAMINGS as ai, PAGE_NUMERAL_STYLES as aj, PAGE_PATTERNS as ak, PAGE_QUOTE_MARKS as al, PAGE_SECTION_KINDS as am, PAGE_SECTION_SPACINGS as an, PAGE_SHADOWS as ao, type PageAccentRotation as ap, type PageBackground as aq, type PageDesignFamily as ar, type PageEmphasis as as, type PageHeadingTreatment as at, type PageSectionKind as au, type PageSectionOverride as av, type PageTokens as aw, type PathLayer as ax, type PatternBackgroundConfig as ay, type PersistentLayer as az, type AmbientGradientConfig as b, type TextLayer as b0, type TextStyle as b1, type Theme as b2, type ThemeColorPalette as b3, type ThemeColorScheme as b4, type ThemePageStyle as b5, type ThemeRegistry as b6, type ThemeSchemaVersion as b7, type ThemeSeedColors as b8, type ThemeStyle as b9, createThemeRegistry as bA, getAspectRatioString as bB, getBlockAtTime as bC, getCaptionAtTime as bD, getDocPlaybackDuration as bE, getLayoutHints as bF, getSafeTextBounds as bG, getSegmentAtTime as bH, getTwoColumnPositions as bI, getViewport as bJ, getViewportOrientation as bK, isPersistentLayerTemplate as bL, isTemplateBlock as bM, scaledFontSize$1 as bN, resolveMediaSchedule as bO, scaledFontSize as bP, type ThemeTypography as ba, type TimelineBlockInput as bb, type TimelineTemplateEvent as bc, type TimelineTemplateLink as bd, type TimelineTemplateTrack as be, type TitleBlockInput as bf, type TitleCaptionConfig as bg, type TreeBlockInput as bh, type TreeLayer as bi, type TreeLayerItem as bj, type TreeLayerStyle as bk, type TreeTemplateItem as bl, type TwoColumnInput as bm, VIEWPORT_PRESETS as bn, type VideoLayer as bo, type VideoPullQuoteInput as bp, type VideoWithCaptionInput as bq, type ViewportConfig as br, type ViewportOrientation as bs, type ViewportPreset as bt, type VignetteConfig as bu, applySurface as bv, calculateDuration as bw, calculateFontScale as bx, createTemplateContext as by, createTheme as bz, type Animation as c, type AnimationType as d, type AudioBookmark as e, type AudioSegment as f, type AudioTimingData as g, type AudioTrack as h, type BlockConnection as i, type BorderStyle as j, type CaptionTrack as k, type CaptionWord as l, type ColorScheme as m, type ComparisonBarInput as n, type ContentBlockInput as o, type CornerBrandingConfig as p, type CustomTemplateDefinition as q, type CustomTemplateLayer as r, DEFAULT_DOC_FONT as s, DEFAULT_TITLE_FONT as t, type DataTableInput as u, type DateEventInput as v, type DeepPartial as w, type DefinitionCardInput as x, type DiagramBlockInput as y, type DiagramEdgeAnchor as z };
2773
+ export { type ImageTreatment as $, type AccentImage as A, type BarChartInput as B, type CaptionPhrase as C, DARK_SURFACE as D, DEFAULT_TITLE_FONT as E, type DataTableInput as F, type DateEventInput as G, type DeepPartial as H, type DefinitionCardInput as I, type DiagramBlockInput as J, type DiagramEdgeAnchor as K, type DiagramTemplateEdge as L, type DiagramTemplateNode as M, type Doc as N, type DocBlock as O, type DocDiagnostic as P, type DonutChartInput as Q, type DrawingBlockInput as R, FRONTMATTER_CUSTOM_TEMPLATES_KEY as S, FRONTMATTER_CUSTOM_THEMES_KEY as T, type FactCardInput as U, type FontFamily as V, type FontFamilyKind as W, type FullBleedQuoteInput as X, type GradientBackgroundConfig as Y, type ImageBackgroundConfig as Z, type ImageLayer as _, type AccentPosition as a, type SectionHeaderInput as a$, type ImageWithCaptionInput as a0, LIGHT_SURFACE as a1, type Layer as a2, type LayerRepeat as a3, type LayoutHints as a4, type LeftFeatureInput as a5, type LineChartInput as a6, type LinearGradient as a7, type ListBlockInput as a8, type MapBlockInput as a9, type PageBackground as aA, type PageDesignFamily as aB, type PageEmphasis as aC, type PageHeadingTreatment as aD, type PageSectionKind as aE, type PageSectionOverride as aF, type PageTokens as aG, type PathLayer as aH, type PatternBackgroundConfig as aI, type PersistentLayer as aJ, type PersistentLayerConfig as aK, type PersistentLayerTemplate as aL, type PersistentLayerTemplateConfig as aM, type PersistentLayerTemplateType as aN, type PhotoGridInput as aO, type PieChartInput as aP, type PipStyle as aQ, type Position as aR, type ProgressIndicatorConfig as aS, type PromotedBodyAnnotation as aT, type PullQuoteInput as aU, type QuoteBlockInput as aV, type RawLayersInput as aW, type RenderStyle as aX, type RightFeatureInput as aY, type ScatterChartInput as aZ, type ScheduledClip as a_, type MapLayer as aa, type MapMarker as ab, type MapTileStyle as ac, type MarkerStyle as ad, type MediaClip as ae, type MediaScheduleOptions as af, type MermaidLayer as ag, PAGE_ACCENT_STRATEGIES as ah, PAGE_BACKGROUNDS as ai, PAGE_BACKGROUND_RHYTHMS as aj, PAGE_DESIGN_FAMILIES as ak, PAGE_DIVIDERS as al, PAGE_EMPHASES as am, PAGE_EYEBROWS as an, PAGE_HEADING_CASES as ao, PAGE_HEADING_SCALES as ap, PAGE_HEADING_UNDERLINES as aq, PAGE_HERO_STYLES as ar, PAGE_IMAGE_FRAMINGS as as, PAGE_NUMERAL_STYLES as at, PAGE_PATTERNS as au, PAGE_QUOTE_MARKS as av, PAGE_SECTION_KINDS as aw, PAGE_SECTION_SPACINGS as ax, PAGE_SHADOWS as ay, type PageAccentRotation as az, type AmbientGradientConfig as b, getTwoColumnPositions as b$, type ShapeFilter as b0, type ShapeLayer as b1, type ShapePattern as b2, type SolidBackgroundConfig as b3, type StartBlockConfig as b4, type StatHighlightInput as b5, type SurfaceScheme as b6, THEME_SCHEMA_VERSION as b7, type TableLayer as b8, type TableLayerStyle as b9, type TwoColumnInput as bA, VIEWPORT_PRESETS as bB, type VideoLayer as bC, type VideoPipPosition as bD, type VideoPipShape as bE, type VideoPipSize as bF, type VideoPlacement as bG, type VideoPresentation as bH, type VideoPullQuoteInput as bI, type VideoWithCaptionInput as bJ, type ViewportConfig as bK, type ViewportOrientation as bL, type ViewportPreset as bM, type VignetteConfig as bN, applySurface as bO, calculateDuration as bP, calculateFontScale as bQ, createTemplateContext as bR, createTheme as bS, createThemeRegistry as bT, getAspectRatioString as bU, getBlockAtTime as bV, getCaptionAtTime as bW, getDocPlaybackDuration as bX, getLayoutHints as bY, getSafeTextBounds as bZ, getSegmentAtTime as b_, type TemplateBlock as ba, type TemplateContext as bb, type TemplateFunction as bc, type TemplateRegistry as bd, type TextLayer as be, type TextStyle as bf, type Theme as bg, type ThemeColorPalette as bh, type ThemeColorScheme as bi, type ThemePageStyle as bj, type ThemeRegistry as bk, type ThemeSchemaVersion as bl, type ThemeSeedColors as bm, type ThemeStyle as bn, type ThemeTypography as bo, type TimelineBlockInput as bp, type TimelineTemplateEvent as bq, type TimelineTemplateLink as br, type TimelineTemplateTrack as bs, type TitleBlockInput as bt, type TitleCaptionConfig as bu, type TreeBlockInput as bv, type TreeLayer as bw, type TreeLayerItem as bx, type TreeLayerStyle as by, type TreeTemplateItem as bz, type Animation as c, getViewport as c0, getViewportOrientation as c1, isCustomTemplateDefinition as c2, isPersistentLayerTemplate as c3, isTemplateBlock as c4, scaledFontSize$1 as c5, resolveMediaSchedule as c6, scaledFontSize as c7, validateCustomTemplateDefinition as c8, type AnimationType as d, type AreaChartInput as e, type AudioBookmark as f, type AudioSegment as g, type AudioTimingData as h, type AudioTrack as i, type Block as j, type BlockConnection as k, type BorderStyle as l, type CaptionTrack as m, type CaptionWord as n, type ChartBaseFields as o, type ChartTemplateInput as p, type ColorScheme as q, type ColumnChartInput as r, type ComparisonBarInput as s, type ContentBlockInput as t, type CornerBrandingConfig as u, type CustomTemplateDefinition as v, type CustomTemplateLayer as w, type CustomTemplateValidationError as x, type CustomTemplateValidationResult as y, DEFAULT_DOC_FONT as z };
@@ -1,4 +1,4 @@
1
- import { S as ImageLayer, b0 as TextLayer, aP as ShapeLayer, ax as PathLayer } from './Doc-BrgZC7SE.js';
1
+ import { _ as ImageLayer, be as TextLayer, b1 as ShapeLayer, aH as PathLayer } from './Doc-CSW6K2UF.js';
2
2
 
3
3
  /**
4
4
  * ImageEditDoc — JSON document describing a layered, editable image.