@segnavia/format 0.27.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/book.js CHANGED
@@ -1,29 +1,14 @@
1
- import { Direction } from "./direction.js";
1
+ import { Direction, resolveDirection } from "./direction.js";
2
2
  import { Scripts } from "./scripts.js";
3
+ import { Slots } from "./slots.js";
3
4
  import { FontReference } from "./fonts.js";
4
5
  import { NoteMarker, NumberSystem, isHebrew } from "./numbering.js";
6
+ import { ParentPage, bookParentPages } from "./printed-pages.js";
7
+ import { BookChapterEntry, BookContents, BookFrontMatterEntry, BookOpens, BookSection, BookSectionParents, BookTemplate, Chapter, DesignedPage, DesignedSection, REGION_NAME, TemplatedPage, TemplatedSection, bookParentIssues, isBookContents, isChapter, isDesignedSection, isTemplatedSection } from "./book-section.js";
5
8
  import { Orientation, Paper, sheetMm } from "./paper.js";
6
9
  import { z } from "zod";
7
10
  //#region src/book.ts
8
11
  const BookMode = z.enum(["continuous", "paginated"]);
9
- const BookSection = z.object({
10
- title: z.string().optional(),
11
- html: z.string(),
12
- contents: z.boolean().default(true)
13
- });
14
- const BookContents = z.object({
15
- kind: z.literal("contents"),
16
- title: z.string().optional()
17
- });
18
- const BookFrontMatterEntry = z.union([BookSection, BookContents]);
19
- function isBookContents(entry) {
20
- return "kind" in entry && entry.kind === "contents";
21
- }
22
- const Chapter = z.object({
23
- title: z.string(),
24
- html: z.string(),
25
- runningHead: z.string().optional()
26
- });
27
12
  const BookPage = z.object({
28
13
  paper: Paper,
29
14
  orientation: Orientation.default("portrait"),
@@ -32,7 +17,16 @@ const BookPage = z.object({
32
17
  bottom: z.number().nonnegative(),
33
18
  inner: z.number().nonnegative(),
34
19
  outer: z.number().nonnegative()
35
- })
20
+ }),
21
+ columnGap: z.number().nonnegative().default(4)
22
+ });
23
+ const BookRunningHeadSource = z.union([z.literal("title"), z.object({
24
+ mark: z.string().min(1),
25
+ which: z.enum(["first", "last"])
26
+ })]);
27
+ const BookRunningHead = z.object({
28
+ recto: BookRunningHeadSource.default("title"),
29
+ verso: BookRunningHeadSource.default("title")
36
30
  });
37
31
  const BookShape = z.object({
38
32
  title: z.string(),
@@ -42,8 +36,12 @@ const BookShape = z.object({
42
36
  dir: Direction.optional(),
43
37
  lang: z.string().optional(),
44
38
  frontMatter: z.array(BookFrontMatterEntry).default([]),
45
- chapters: z.array(Chapter).min(1),
39
+ chapters: z.array(BookChapterEntry).min(1),
40
+ parentPages: z.array(ParentPage).default([]),
41
+ templates: z.array(BookTemplate).default([]),
42
+ slots: Slots.optional(),
46
43
  fonts: z.array(FontReference).optional(),
44
+ css: z.string().optional(),
47
45
  numbering: z.object({
48
46
  frontMatter: NumberSystem.optional(),
49
47
  body: NumberSystem.optional()
@@ -58,6 +56,12 @@ const BookShape = z.object({
58
56
  title: z.string().optional()
59
57
  }).default({ placement: "book" }),
60
58
  rectoOpenings: z.boolean().default(false),
59
+ orphans: z.number().int().min(1).default(2),
60
+ widows: z.number().int().min(1).default(2),
61
+ runningHead: BookRunningHead.default({
62
+ recto: "title",
63
+ verso: "title"
64
+ }),
61
65
  contents: z.object({
62
66
  pageNumbers: z.boolean().default(true),
63
67
  depth: z.number().int().min(1).max(6).default(2)
@@ -66,15 +70,40 @@ const BookShape = z.object({
66
70
  depth: 2
67
71
  })
68
72
  });
73
+ const BookViewPagination = z.object({
74
+ paper: z.object({
75
+ width: z.number().positive(),
76
+ height: z.number().positive()
77
+ }),
78
+ margin: BookPage.shape.margin,
79
+ columnGap: z.number().nonnegative(),
80
+ direction: z.enum(["ltr", "rtl"]),
81
+ numbering: z.object({
82
+ frontMatter: NumberSystem,
83
+ body: NumberSystem
84
+ }),
85
+ rectoOpenings: z.boolean(),
86
+ orphans: z.number().int().min(1),
87
+ widows: z.number().int().min(1),
88
+ parents: z.array(ParentPage),
89
+ endnotePlacement: z.enum(["book", "chapter"]),
90
+ contents: z.object({
91
+ pageNumbers: z.boolean(),
92
+ depth: z.number().int().min(1).max(6)
93
+ }),
94
+ runningHead: BookRunningHead
95
+ });
69
96
  const BookView = BookShape.pick({
70
97
  title: true,
71
98
  dir: true,
72
99
  lang: true,
73
100
  scripts: true,
74
- fonts: true
101
+ fonts: true,
102
+ css: true
75
103
  }).extend({
76
104
  title: BookShape.shape.title.optional(),
77
- html: z.string()
105
+ html: z.string(),
106
+ pagination: BookViewPagination.optional()
78
107
  });
79
108
  const Book = BookShape.transform((book) => {
80
109
  const hebrew = isHebrew(book.lang);
@@ -116,6 +145,10 @@ const Book = BookShape.transform((book) => {
116
145
  path: ["endnotes", "placement"],
117
146
  message: "endnotes are placed at the end of each chapter only in paginated mode; use book placement or paginated mode"
118
147
  });
148
+ for (const issue of bookParentIssues(book)) ctx.addIssue({
149
+ code: "custom",
150
+ ...issue
151
+ });
119
152
  if (!book.page) return;
120
153
  const trim = sheetMm(book.page);
121
154
  const vertical = book.page.margin.top + book.page.margin.bottom;
@@ -131,9 +164,26 @@ const Book = BookShape.transform((book) => {
131
164
  message: `the inner and outer margins total ${horizontal}mm and the page is ${trim.width}mm wide; reduce the horizontal margins to leave a text area`
132
165
  });
133
166
  });
167
+ function resolveBookPagination(book) {
168
+ if (book.mode !== "paginated" || !book.page) return void 0;
169
+ return {
170
+ paper: sheetMm(book.page),
171
+ margin: book.page.margin,
172
+ columnGap: book.page.columnGap,
173
+ direction: resolveDirection(book.dir, book.lang, book.title),
174
+ numbering: book.numbering,
175
+ rectoOpenings: book.rectoOpenings,
176
+ orphans: book.orphans,
177
+ widows: book.widows,
178
+ parents: [...bookParentPages(book.page.margin), ...book.parentPages],
179
+ endnotePlacement: book.endnotes.placement,
180
+ contents: book.contents,
181
+ runningHead: book.runningHead
182
+ };
183
+ }
134
184
  function noteMarkerIssues(book, used) {
135
185
  if (!used.footnotes || !used.endnotes || book.footnotes.marker !== book.endnotes.marker) return [];
136
186
  return [`footnote and endnote markers are both ${book.footnotes.marker}; the two must differ when both kinds are used`];
137
187
  }
138
188
  //#endregion
139
- export { Book, BookContents, BookFrontMatterEntry, BookMode, BookPage, BookSection, BookShape, BookView, Chapter, isBookContents, noteMarkerIssues };
189
+ export { Book, BookChapterEntry, BookContents, BookFrontMatterEntry, BookMode, BookOpens, BookPage, BookRunningHead, BookRunningHeadSource, BookSection, BookSectionParents, BookShape, BookTemplate, BookView, BookViewPagination, Chapter, DesignedPage, DesignedSection, REGION_NAME, TemplatedPage, TemplatedSection, isBookContents, isChapter, isDesignedSection, isTemplatedSection, noteMarkerIssues, resolveBookPagination };
@@ -10,6 +10,7 @@ export declare const TextDirection: z.ZodEnum<{
10
10
  rtl: "rtl";
11
11
  }>;
12
12
  export type TextDirection = z.infer<typeof TextDirection>;
13
+ export declare function textDirection(dir: string | undefined, lang: string | undefined, sample: string): TextDirection | null;
13
14
  export declare function firstStrongDirection(text: string): TextDirection | null;
14
15
  export declare function languageDirection(lang: string | undefined): TextDirection | null;
15
16
  export declare function resolveDirection(dir: 'ltr' | 'rtl' | 'auto' | undefined, lang: string | undefined, sample: string): TextDirection;
package/dist/direction.js CHANGED
@@ -6,41 +6,44 @@ const Direction = z.enum([
6
6
  "auto"
7
7
  ]);
8
8
  const TextDirection = z.enum(["ltr", "rtl"]);
9
- const RTL_LETTER = /[\p{Script=Hebrew}\p{Script=Arabic}\p{Script=Syriac}\p{Script=Thaana}\p{Script=Nko}\p{Script=Samaritan}\p{Script=Mandaic}\p{Script=Adlam}\p{Script=Hanifi_Rohingya}\p{Script=Mende_Kikakui}\p{Script=Old_Hungarian}\p{Script=Imperial_Aramaic}\p{Script=Phoenician}]/u;
10
- const LETTER = /\p{L}/u;
11
- const RTL_LANGUAGES = /* @__PURE__ */ new Set([
12
- "ar",
13
- "arc",
14
- "ckb",
15
- "dv",
16
- "fa",
17
- "he",
18
- "iw",
19
- "ji",
20
- "ks",
21
- "ku",
22
- "nqo",
23
- "ps",
24
- "sd",
25
- "syr",
26
- "ug",
27
- "ur",
28
- "yi"
29
- ]);
30
- function firstStrongDirection(text) {
31
- for (const char of text) {
32
- if (RTL_LETTER.test(char)) return "rtl";
33
- if (LETTER.test(char)) return "ltr";
9
+ function textDirection(dir, lang, sample) {
10
+ const rtlLetter = /[\p{Script=Hebrew}\p{Script=Arabic}\p{Script=Syriac}\p{Script=Thaana}\p{Script=Nko}\p{Script=Samaritan}\p{Script=Mandaic}\p{Script=Adlam}\p{Script=Hanifi_Rohingya}\p{Script=Mende_Kikakui}\p{Script=Old_Hungarian}\p{Script=Imperial_Aramaic}\p{Script=Phoenician}]/u;
11
+ const letter = /\p{L}/u;
12
+ const rtlLanguages = /* @__PURE__ */ new Set([
13
+ "ar",
14
+ "arc",
15
+ "ckb",
16
+ "dv",
17
+ "fa",
18
+ "he",
19
+ "iw",
20
+ "ji",
21
+ "ks",
22
+ "ku",
23
+ "nqo",
24
+ "ps",
25
+ "sd",
26
+ "syr",
27
+ "ug",
28
+ "ur",
29
+ "yi"
30
+ ]);
31
+ if (dir === "ltr" || dir === "rtl") return dir;
32
+ if (lang) return rtlLanguages.has(lang.toLowerCase().split("-")[0] ?? "") ? "rtl" : "ltr";
33
+ for (const char of sample) {
34
+ if (rtlLetter.test(char)) return "rtl";
35
+ if (letter.test(char)) return "ltr";
34
36
  }
35
37
  return null;
36
38
  }
39
+ function firstStrongDirection(text) {
40
+ return textDirection(void 0, void 0, text);
41
+ }
37
42
  function languageDirection(lang) {
38
- if (!lang) return null;
39
- return RTL_LANGUAGES.has(lang.toLowerCase().split("-")[0] ?? "") ? "rtl" : "ltr";
43
+ return lang ? textDirection(void 0, lang, "") : null;
40
44
  }
41
45
  function resolveDirection(dir, lang, sample) {
42
- if (dir === "ltr" || dir === "rtl") return dir;
43
- return languageDirection(lang) ?? firstStrongDirection(sample) ?? "ltr";
46
+ return textDirection(dir, lang, sample) ?? "ltr";
44
47
  }
45
48
  //#endregion
46
- export { Direction, TextDirection, firstStrongDirection, languageDirection, resolveDirection };
49
+ export { Direction, TextDirection, firstStrongDirection, languageDirection, resolveDirection, textDirection };
package/dist/index.d.ts CHANGED
@@ -6,9 +6,11 @@ import { BoardListingGroup, boardListing, boardListingIsEmpty, foldForSearch, na
6
6
  import { GridDropTarget, deriveSectionCells, gridDropMarkerBox, gridDropTarget, insertIntoGrid, layoutSection, removeFromGrid } from "./board-section-grid.js";
7
7
  import { MAKE_ROOM_LIMIT, SECTION_GAP, SECTION_MIN_SIZE, SECTION_PADDING, SECTION_TITLE_ROOM } from "./board-section-constants.js";
8
8
  import { assignMembership, fitSection, fitTouchedSections, makeRoom, settleBoard } from "./board-sections.js";
9
- import { Book, BookContents, BookFrontMatterEntry, BookInput, BookMode, BookPage, BookSection, BookView, BookViewInput, Chapter, isBookContents, noteMarkerIssues } from "./book.js";
9
+ import { BOOK_PARENT_NAMES, PRINTED_PAGE_LIMIT, PRINTED_PAGE_ROLES, ParentPage, ParentPageMargin, PrintedPageRole, PrintedPageRules, PrintedPages, ResolvedParentPage, bookParentPages, pagePrintedPagesIssues, parentListIssues, printedPagesIssues, resolveParentPages } from "./printed-pages.js";
10
+ import { BookChapterEntry, BookContents, BookFrontMatterEntry, BookOpens, BookSection, BookSectionParents, BookTemplate, Chapter, DesignedPage, DesignedSection, REGION_NAME, TemplatedPage, TemplatedSection, isBookContents, isChapter, isDesignedSection, isTemplatedSection } from "./book-section.js";
11
+ import { Book, BookInput, BookMode, BookPage, BookRunningHead, BookRunningHeadSource, BookView, BookViewInput, BookViewPagination, noteMarkerIssues, resolveBookPagination } from "./book.js";
10
12
  import { DeckFromSlidesOptions, SlideRow, deckFromSlides } from "./deck-from-slides.js";
11
- import { Direction, TextDirection, firstStrongDirection, languageDirection, resolveDirection } from "./direction.js";
13
+ import { Direction, TextDirection, firstStrongDirection, languageDirection, resolveDirection, textDirection } from "./direction.js";
12
14
  import { PAPER_FIT_TOLERANCE_MM } from "./imposition-fit.js";
13
15
  import { CUSTOM_PAPER_MAX_MM, CUSTOM_PAPER_MIN_MM, FOLD_DASH_OFF_MM, FOLD_DASH_ON_MM, MARK_GAP_MM, MARK_LENGTH_MM, MM_PER_PT, MarkSegment, NAMED_PAPERS, NamedPaper, NamedPaperMetadata, ORIENTATIONS, Orientation, PAPER_GROUPS, PAPER_METADATA, PAPER_MM, PAPER_UNITS, PX_PER_MM, Paper, PaperBox, PaperGroup, PaperUnit, PrintSetting, PrintSettingInput, fromMillimeters, paperPixels, printBoxes, printPadding, printProperties, roundMillimeters, sheetMm, toMillimeters } from "./paper.js";
14
16
  import { FOLD_KINDS, FOLD_TUCK_IN_MM, FoldKind, foldCellPages, foldColumns, foldPageCountMessage, foldPanelMap } from "./fold.js";
@@ -19,7 +21,6 @@ import { Lexicon, PronunciationEntry, lexiconVersion } from "./lexicon.js";
19
21
  import { BOOK_FURNITURE, BookFurniture, LIBRARY_MOTIF_PREFIX, MOTIF_ATTRIBUTE, Motif, MotifField, MotifFieldInput, MotifInput, MotifPlacement, MotifSource, MotifVersion, MotifVersionChoice, MotifVersionInput, PRINTED_PAGE_CONTEXT, PRINTED_PAGE_FOLIO_PATH, PRINTED_PAGE_NUMBER_PATH, PRINTED_PAGE_RUNNING_HEAD_PATH, PRINTED_PAGE_TOTAL_PATH, chooseMotifVersion, motifFieldAttribute } from "./motif.js";
20
22
  import { NoteMarker, NumberSystem, defaultPageNumbering, formatNumber, isHebrew, noteMarker } from "./numbering.js";
21
23
  import { isPrintedPageIdentityImposition } from "./printed-page-imposition.js";
22
- import { BOOK_PARENT_NAMES, PRINTED_PAGE_LIMIT, PRINTED_PAGE_ROLES, ParentPage, ParentPageMargin, PrintedPageRole, PrintedPageRules, PrintedPages, ResolvedParentPage, bookParentPages, pagePrintedPagesIssues, printedPagesIssues, resolveParentPages } from "./printed-pages.js";
23
24
  import { Scripts } from "./scripts.js";
24
25
  import { ShotUse, shotsUsed } from "./shots-used.js";
25
26
  import { MAX_SLIDE_TIMING_MS } from "./timing.js";
@@ -503,6 +504,7 @@ export declare function jsonSchemas(): {
503
504
  inner: z.ZodNumber;
504
505
  outer: z.ZodNumber;
505
506
  }, z.core.$strip>;
507
+ columnGap: z.ZodDefault<z.ZodNumber>;
506
508
  }, z.core.$strip>>;
507
509
  scripts: z.ZodDefault<z.ZodEnum<{
508
510
  refuse: "refuse";
@@ -514,25 +516,204 @@ export declare function jsonSchemas(): {
514
516
  auto: "auto";
515
517
  }>>;
516
518
  lang: z.ZodOptional<z.ZodString>;
517
- frontMatter: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
519
+ frontMatter: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
520
+ pages: z.ZodArray<z.ZodObject<{
521
+ html: z.ZodString;
522
+ }, z.core.$strip>>;
523
+ title: z.ZodOptional<z.ZodString>;
524
+ contents: z.ZodDefault<z.ZodBoolean>;
525
+ opens: z.ZodOptional<z.ZodEnum<{
526
+ any: "any";
527
+ recto: "recto";
528
+ verso: "verso";
529
+ }>>;
530
+ parents: z.ZodOptional<z.ZodObject<{
531
+ opener: z.ZodOptional<z.ZodString>;
532
+ recto: z.ZodOptional<z.ZodString>;
533
+ verso: z.ZodOptional<z.ZodString>;
534
+ blank: z.ZodOptional<z.ZodString>;
535
+ fixed: z.ZodOptional<z.ZodString>;
536
+ }, z.core.$strip>>;
537
+ kind: z.ZodLiteral<"designed">;
538
+ }, z.core.$strip>, z.ZodObject<{
539
+ template: z.ZodString;
540
+ pages: z.ZodArray<z.ZodObject<{
541
+ template: z.ZodOptional<z.ZodString>;
542
+ regions: z.ZodRecord<z.ZodString, z.ZodString>;
543
+ }, z.core.$strip>>;
518
544
  title: z.ZodOptional<z.ZodString>;
519
- html: z.ZodString;
520
545
  contents: z.ZodDefault<z.ZodBoolean>;
546
+ opens: z.ZodOptional<z.ZodEnum<{
547
+ any: "any";
548
+ recto: "recto";
549
+ verso: "verso";
550
+ }>>;
551
+ parents: z.ZodOptional<z.ZodObject<{
552
+ opener: z.ZodOptional<z.ZodString>;
553
+ recto: z.ZodOptional<z.ZodString>;
554
+ verso: z.ZodOptional<z.ZodString>;
555
+ blank: z.ZodOptional<z.ZodString>;
556
+ fixed: z.ZodOptional<z.ZodString>;
557
+ }, z.core.$strip>>;
558
+ kind: z.ZodLiteral<"templated">;
521
559
  }, z.core.$strip>, z.ZodObject<{
522
560
  kind: z.ZodLiteral<"contents">;
523
561
  title: z.ZodOptional<z.ZodString>;
524
- }, z.core.$strip>]>>>;
525
- chapters: z.ZodArray<z.ZodObject<{
562
+ opens: z.ZodOptional<z.ZodEnum<{
563
+ any: "any";
564
+ recto: "recto";
565
+ verso: "verso";
566
+ }>>;
567
+ parents: z.ZodOptional<z.ZodObject<{
568
+ opener: z.ZodOptional<z.ZodString>;
569
+ recto: z.ZodOptional<z.ZodString>;
570
+ verso: z.ZodOptional<z.ZodString>;
571
+ blank: z.ZodOptional<z.ZodString>;
572
+ fixed: z.ZodOptional<z.ZodString>;
573
+ }, z.core.$strip>>;
574
+ }, z.core.$strip>, z.ZodObject<{
575
+ title: z.ZodOptional<z.ZodString>;
576
+ contents: z.ZodDefault<z.ZodBoolean>;
577
+ opens: z.ZodOptional<z.ZodEnum<{
578
+ any: "any";
579
+ recto: "recto";
580
+ verso: "verso";
581
+ }>>;
582
+ parents: z.ZodOptional<z.ZodObject<{
583
+ opener: z.ZodOptional<z.ZodString>;
584
+ recto: z.ZodOptional<z.ZodString>;
585
+ verso: z.ZodOptional<z.ZodString>;
586
+ blank: z.ZodOptional<z.ZodString>;
587
+ fixed: z.ZodOptional<z.ZodString>;
588
+ }, z.core.$strip>>;
589
+ html: z.ZodString;
590
+ kind: z.ZodOptional<z.ZodLiteral<"front">>;
591
+ }, z.core.$strip>], "kind">>>;
592
+ chapters: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
593
+ pages: z.ZodArray<z.ZodObject<{
594
+ html: z.ZodString;
595
+ }, z.core.$strip>>;
596
+ title: z.ZodOptional<z.ZodString>;
597
+ contents: z.ZodDefault<z.ZodBoolean>;
598
+ opens: z.ZodOptional<z.ZodEnum<{
599
+ any: "any";
600
+ recto: "recto";
601
+ verso: "verso";
602
+ }>>;
603
+ parents: z.ZodOptional<z.ZodObject<{
604
+ opener: z.ZodOptional<z.ZodString>;
605
+ recto: z.ZodOptional<z.ZodString>;
606
+ verso: z.ZodOptional<z.ZodString>;
607
+ blank: z.ZodOptional<z.ZodString>;
608
+ fixed: z.ZodOptional<z.ZodString>;
609
+ }, z.core.$strip>>;
610
+ kind: z.ZodLiteral<"designed">;
611
+ }, z.core.$strip>, z.ZodObject<{
612
+ template: z.ZodString;
613
+ pages: z.ZodArray<z.ZodObject<{
614
+ template: z.ZodOptional<z.ZodString>;
615
+ regions: z.ZodRecord<z.ZodString, z.ZodString>;
616
+ }, z.core.$strip>>;
617
+ title: z.ZodOptional<z.ZodString>;
618
+ contents: z.ZodDefault<z.ZodBoolean>;
619
+ opens: z.ZodOptional<z.ZodEnum<{
620
+ any: "any";
621
+ recto: "recto";
622
+ verso: "verso";
623
+ }>>;
624
+ parents: z.ZodOptional<z.ZodObject<{
625
+ opener: z.ZodOptional<z.ZodString>;
626
+ recto: z.ZodOptional<z.ZodString>;
627
+ verso: z.ZodOptional<z.ZodString>;
628
+ blank: z.ZodOptional<z.ZodString>;
629
+ fixed: z.ZodOptional<z.ZodString>;
630
+ }, z.core.$strip>>;
631
+ kind: z.ZodLiteral<"templated">;
632
+ }, z.core.$strip>, z.ZodObject<{
526
633
  title: z.ZodString;
527
634
  html: z.ZodString;
528
635
  runningHead: z.ZodOptional<z.ZodString>;
529
- }, z.core.$strip>>;
636
+ opens: z.ZodOptional<z.ZodEnum<{
637
+ any: "any";
638
+ recto: "recto";
639
+ verso: "verso";
640
+ }>>;
641
+ parents: z.ZodOptional<z.ZodObject<{
642
+ opener: z.ZodOptional<z.ZodString>;
643
+ recto: z.ZodOptional<z.ZodString>;
644
+ verso: z.ZodOptional<z.ZodString>;
645
+ blank: z.ZodOptional<z.ZodString>;
646
+ fixed: z.ZodOptional<z.ZodString>;
647
+ }, z.core.$strip>>;
648
+ kind: z.ZodOptional<z.ZodLiteral<"chapter">>;
649
+ }, z.core.$strip>], "kind">>;
650
+ parentPages: z.ZodDefault<z.ZodArray<z.ZodObject<{
651
+ name: z.ZodString;
652
+ basedOn: z.ZodOptional<z.ZodString>;
653
+ margin: z.ZodOptional<z.ZodObject<{
654
+ top: z.ZodNumber;
655
+ bottom: z.ZodNumber;
656
+ inner: z.ZodNumber;
657
+ outer: z.ZodNumber;
658
+ }, z.core.$strip>>;
659
+ head: z.ZodOptional<z.ZodString>;
660
+ foot: z.ZodOptional<z.ZodString>;
661
+ }, z.core.$strip>>>;
662
+ templates: z.ZodDefault<z.ZodArray<z.ZodObject<{
663
+ name: z.ZodString;
664
+ html: z.ZodString;
665
+ parents: z.ZodOptional<z.ZodObject<{
666
+ opener: z.ZodOptional<z.ZodString>;
667
+ recto: z.ZodOptional<z.ZodString>;
668
+ verso: z.ZodOptional<z.ZodString>;
669
+ blank: z.ZodOptional<z.ZodString>;
670
+ fixed: z.ZodOptional<z.ZodString>;
671
+ }, z.core.$strip>>;
672
+ }, z.core.$strip>>>;
673
+ slots: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodObject<{
674
+ key: z.ZodString;
675
+ label: z.ZodString;
676
+ type: z.ZodEnum<{
677
+ text: "text";
678
+ phone: "phone";
679
+ email: "email";
680
+ link: "link";
681
+ qr: "qr";
682
+ image: "image";
683
+ }>;
684
+ required: z.ZodDefault<z.ZodBoolean>;
685
+ placeholder: z.ZodOptional<z.ZodString>;
686
+ overflow: z.ZodDefault<z.ZodEnum<{
687
+ refuse: "refuse";
688
+ shrink: "shrink";
689
+ truncate: "truncate";
690
+ wrap: "wrap";
691
+ }>>;
692
+ minSize: z.ZodOptional<z.ZodNumber>;
693
+ }, z.core.$strip>, z.ZodTransform<{
694
+ key: string;
695
+ label: string;
696
+ type: "text" | "phone" | "email" | "link" | "qr" | "image";
697
+ required: boolean;
698
+ overflow: "refuse" | "shrink" | "truncate" | "wrap";
699
+ placeholder?: string | undefined;
700
+ minSize?: number | undefined;
701
+ }, {
702
+ key: string;
703
+ label: string;
704
+ type: "text" | "phone" | "email" | "link" | "qr" | "image";
705
+ required: boolean;
706
+ overflow: "refuse" | "shrink" | "truncate" | "wrap";
707
+ placeholder?: string | undefined;
708
+ minSize?: number | undefined;
709
+ }>>>>;
530
710
  fonts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
531
711
  app: z.ZodString;
532
712
  }, z.core.$strip>, z.ZodObject<{
533
713
  local: z.ZodString;
534
714
  fallback: z.ZodString;
535
715
  }, z.core.$strip>]>>>;
716
+ css: z.ZodOptional<z.ZodString>;
536
717
  numbering: z.ZodDefault<z.ZodObject<{
537
718
  frontMatter: z.ZodOptional<z.ZodEnum<{
538
719
  arabic: "arabic";
@@ -573,6 +754,24 @@ export declare function jsonSchemas(): {
573
754
  title: z.ZodOptional<z.ZodString>;
574
755
  }, z.core.$strip>>;
575
756
  rectoOpenings: z.ZodDefault<z.ZodBoolean>;
757
+ orphans: z.ZodDefault<z.ZodNumber>;
758
+ widows: z.ZodDefault<z.ZodNumber>;
759
+ runningHead: z.ZodDefault<z.ZodObject<{
760
+ recto: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"title">, z.ZodObject<{
761
+ mark: z.ZodString;
762
+ which: z.ZodEnum<{
763
+ first: "first";
764
+ last: "last";
765
+ }>;
766
+ }, z.core.$strip>]>>;
767
+ verso: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"title">, z.ZodObject<{
768
+ mark: z.ZodString;
769
+ which: z.ZodEnum<{
770
+ first: "first";
771
+ last: "last";
772
+ }>;
773
+ }, z.core.$strip>]>>;
774
+ }, z.core.$strip>>;
576
775
  contents: z.ZodDefault<z.ZodObject<{
577
776
  pageNumbers: z.ZodDefault<z.ZodBoolean>;
578
777
  depth: z.ZodDefault<z.ZodNumber>;
@@ -595,8 +794,79 @@ export declare function jsonSchemas(): {
595
794
  local: z.ZodString;
596
795
  fallback: z.ZodString;
597
796
  }, z.core.$strip>]>>>;
797
+ css: z.ZodOptional<z.ZodString>;
598
798
  title: z.ZodOptional<z.ZodString>;
599
799
  html: z.ZodString;
800
+ pagination: z.ZodOptional<z.ZodObject<{
801
+ paper: z.ZodObject<{
802
+ width: z.ZodNumber;
803
+ height: z.ZodNumber;
804
+ }, z.core.$strip>;
805
+ margin: z.ZodObject<{
806
+ top: z.ZodNumber;
807
+ bottom: z.ZodNumber;
808
+ inner: z.ZodNumber;
809
+ outer: z.ZodNumber;
810
+ }, z.core.$strip>;
811
+ columnGap: z.ZodNumber;
812
+ direction: z.ZodEnum<{
813
+ ltr: "ltr";
814
+ rtl: "rtl";
815
+ }>;
816
+ numbering: z.ZodObject<{
817
+ frontMatter: z.ZodEnum<{
818
+ arabic: "arabic";
819
+ "roman-lower": "roman-lower";
820
+ "roman-upper": "roman-upper";
821
+ hebrew: "hebrew";
822
+ }>;
823
+ body: z.ZodEnum<{
824
+ arabic: "arabic";
825
+ "roman-lower": "roman-lower";
826
+ "roman-upper": "roman-upper";
827
+ hebrew: "hebrew";
828
+ }>;
829
+ }, z.core.$strip>;
830
+ rectoOpenings: z.ZodBoolean;
831
+ orphans: z.ZodNumber;
832
+ widows: z.ZodNumber;
833
+ parents: z.ZodArray<z.ZodObject<{
834
+ name: z.ZodString;
835
+ basedOn: z.ZodOptional<z.ZodString>;
836
+ margin: z.ZodOptional<z.ZodObject<{
837
+ top: z.ZodNumber;
838
+ bottom: z.ZodNumber;
839
+ inner: z.ZodNumber;
840
+ outer: z.ZodNumber;
841
+ }, z.core.$strip>>;
842
+ head: z.ZodOptional<z.ZodString>;
843
+ foot: z.ZodOptional<z.ZodString>;
844
+ }, z.core.$strip>>;
845
+ endnotePlacement: z.ZodEnum<{
846
+ chapter: "chapter";
847
+ book: "book";
848
+ }>;
849
+ contents: z.ZodObject<{
850
+ pageNumbers: z.ZodBoolean;
851
+ depth: z.ZodNumber;
852
+ }, z.core.$strip>;
853
+ runningHead: z.ZodObject<{
854
+ recto: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"title">, z.ZodObject<{
855
+ mark: z.ZodString;
856
+ which: z.ZodEnum<{
857
+ first: "first";
858
+ last: "last";
859
+ }>;
860
+ }, z.core.$strip>]>>;
861
+ verso: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"title">, z.ZodObject<{
862
+ mark: z.ZodString;
863
+ which: z.ZodEnum<{
864
+ first: "first";
865
+ last: "last";
866
+ }>;
867
+ }, z.core.$strip>]>>;
868
+ }, z.core.$strip>;
869
+ }, z.core.$strip>>;
600
870
  }, z.core.$strip>>;
601
871
  page: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
602
872
  id: z.ZodOptional<z.ZodString>;
@@ -1542,4 +1812,4 @@ export declare function jsonSchemas(): {
1542
1812
  }, z.core.$strict>>;
1543
1813
  };
1544
1814
  //#endregion
1545
- export { APP_FONT_NAME, APP_FONT_NAME_MESSAGE, Annotation, type AppFont, type ArrangeOptions, BOOK_FURNITURE, BOOK_PARENT_NAMES, Board, type BoardInput, BoardItem, type BoardItemAnchor, BoardLabel, type BoardListingGroup, BoardSection, type BoardShapes, type BoardView, Book, BookContents, BookFrontMatterEntry, BookFurniture, type BookInput, BookMode, BookPage, BookSection, BookView, type BookViewInput, Box, CUSTOM_PAPER_MAX_MM, CUSTOM_PAPER_MIN_MM, Chapter, Cue, DECK_SIZE, DEFAULT_TRANSITION_DURATION_MS, Deck, type DeckFromSlidesOptions, type DeckInput, type DeckLimits, Direction, FOLD_DASH_OFF_MM, FOLD_DASH_ON_MM, FOLD_KINDS, FOLD_TUCK_IN_MM, FONT_FORMATS, FONT_GENERICS, Fill, FillValues, type FoldKind, type FontFace, type FontFormat, type FontGeneric, FontReference, FontReferenceInput, type FontSource, GridCell, type GridDropTarget, ImageFit, type Imposed, type ImpositionMarkEdge, type ImpositionSideMarks, LIBRARY_MOTIF_PREFIX, Lexicon, LocalFaceTransport, type LocalFacesInput, LocalFacesTransport, MAKE_ROOM_LIMIT, MARK_GAP_MM, MARK_LENGTH_MM, MAX_BOARD_ZOOM, MAX_SLIDE_TIMING_MS, MAX_TRANSITION_DURATION_MS, MIN_BOARD_ITEM_WIDTH, MIN_BOARD_ZOOM, MIN_MARK_LENGTH_MM, MIN_TRANSITION_DURATION_MS, MM_PER_PT, MOTIF_ATTRIBUTE, Manifest, type MarkSegment, type MillimeterEdges, Motif, MotifField, MotifFieldInput, MotifInput, MotifPlacement, MotifSource, MotifVersion, MotifVersionChoice, MotifVersionInput, NAMED_PAPERS, type NamedPaper, type NamedPaperMetadata, Narration, NoteMarker, NumberSystem, ORIENTATIONS, type OmittedImpositionMark, Orientation, PAPER_FIT_TOLERANCE_MM, PAPER_GROUPS, PAPER_METADATA, PAPER_MM, PAPER_UNITS, PLAYBACK_MODES, PRINTED_PAGE_CONTEXT, PRINTED_PAGE_FOLIO_PATH, PRINTED_PAGE_LIMIT, PRINTED_PAGE_NUMBER_PATH, PRINTED_PAGE_ROLES, PRINTED_PAGE_RUNNING_HEAD_PATH, PRINTED_PAGE_TOTAL_PATH, PX_PER_MM, type PageFit, type PagePlacementKind, type PagePlacementLayout, Paper, type PaperBox, type PaperGroup, PaperUnit, ParentPage, ParentPageMargin, type Placement, Playback, type PlaybackMode, Point, PrintSetting, PrintSettingInput, PrintedPageRole, PrintedPageRules, PrintedPages, PronunciationEntry, PublishedShot, ResolvedParentPage, SECTION_GAP, SECTION_MIN_SIZE, SECTION_PADDING, SECTION_TITLE_ROOM, SHOT_KEY, SLOT_TYPES, Scripts, Shot, type ShotUse, Size, Slide, SlideContent, type SlideRow, SlotDeclaration, SlotDeclarationInput, SlotKey, SlotReport, SlotSource, SlotState, SlotType, SlotValue, Slots, SlotsInput, SlotsOptions, TextDirection, Transition, TransitionInput, Word, type ZoomBounds, addItem, annotationCueIssues, arrange, assignMembership, boardBounds, boardListing, boardListingIsEmpty, boardToScreen, bookParentPages, chooseMotifVersion, deckFromSlides, defaultPageNumbering, deriveSectionCells, exceedsLimits, firstStrongDirection, fitPage, fitSection, fitTouchedSections, foldCellPages, foldColumns, foldForSearch, foldPageCountMessage, foldPanelMap, formatNumber, fromMillimeters, gridDropMarkerBox, gridDropTarget, impose, impositionMarks, insertIntoGrid, isBookContents, isHebrew, isPrintedPageIdentityImposition, itemAt, itemHeight, languageDirection, layoutSection, lexiconVersion, localFontReferences, makeRoom, mergeSlotDeclarations, mirrorPlacement, motifFieldAttribute, moveItems, moveSection, nameMatches, noteMarker, noteMarkerIssues, pagePlacementLayout, pagePrintedPagesIssues, paperPixels, parsePlayback, printBoxes, printPadding, printProperties, printedPagesIssues, removeFromGrid, removeItems, resizeItem, resolveDirection, resolveParentPages, revealView, roundMillimeters, screenToBoard, settleBoard, sheetMm, shotsUsed, toMillimeters, visibleItems, zoomAt, zoomToFit };
1815
+ export { APP_FONT_NAME, APP_FONT_NAME_MESSAGE, Annotation, type AppFont, type ArrangeOptions, BOOK_FURNITURE, BOOK_PARENT_NAMES, Board, type BoardInput, BoardItem, type BoardItemAnchor, BoardLabel, type BoardListingGroup, BoardSection, type BoardShapes, type BoardView, Book, BookChapterEntry, BookContents, BookFrontMatterEntry, BookFurniture, type BookInput, BookMode, BookOpens, BookPage, BookRunningHead, BookRunningHeadSource, BookSection, BookSectionParents, BookTemplate, BookView, type BookViewInput, BookViewPagination, Box, CUSTOM_PAPER_MAX_MM, CUSTOM_PAPER_MIN_MM, Chapter, Cue, DECK_SIZE, DEFAULT_TRANSITION_DURATION_MS, Deck, type DeckFromSlidesOptions, type DeckInput, type DeckLimits, DesignedPage, DesignedSection, Direction, FOLD_DASH_OFF_MM, FOLD_DASH_ON_MM, FOLD_KINDS, FOLD_TUCK_IN_MM, FONT_FORMATS, FONT_GENERICS, Fill, FillValues, type FoldKind, type FontFace, type FontFormat, type FontGeneric, FontReference, FontReferenceInput, type FontSource, GridCell, type GridDropTarget, ImageFit, type Imposed, type ImpositionMarkEdge, type ImpositionSideMarks, LIBRARY_MOTIF_PREFIX, Lexicon, LocalFaceTransport, type LocalFacesInput, LocalFacesTransport, MAKE_ROOM_LIMIT, MARK_GAP_MM, MARK_LENGTH_MM, MAX_BOARD_ZOOM, MAX_SLIDE_TIMING_MS, MAX_TRANSITION_DURATION_MS, MIN_BOARD_ITEM_WIDTH, MIN_BOARD_ZOOM, MIN_MARK_LENGTH_MM, MIN_TRANSITION_DURATION_MS, MM_PER_PT, MOTIF_ATTRIBUTE, Manifest, type MarkSegment, type MillimeterEdges, Motif, MotifField, MotifFieldInput, MotifInput, MotifPlacement, MotifSource, MotifVersion, MotifVersionChoice, MotifVersionInput, NAMED_PAPERS, type NamedPaper, type NamedPaperMetadata, Narration, NoteMarker, NumberSystem, ORIENTATIONS, type OmittedImpositionMark, Orientation, PAPER_FIT_TOLERANCE_MM, PAPER_GROUPS, PAPER_METADATA, PAPER_MM, PAPER_UNITS, PLAYBACK_MODES, PRINTED_PAGE_CONTEXT, PRINTED_PAGE_FOLIO_PATH, PRINTED_PAGE_LIMIT, PRINTED_PAGE_NUMBER_PATH, PRINTED_PAGE_ROLES, PRINTED_PAGE_RUNNING_HEAD_PATH, PRINTED_PAGE_TOTAL_PATH, PX_PER_MM, type PageFit, type PagePlacementKind, type PagePlacementLayout, Paper, type PaperBox, type PaperGroup, PaperUnit, ParentPage, ParentPageMargin, type Placement, Playback, type PlaybackMode, Point, PrintSetting, PrintSettingInput, PrintedPageRole, PrintedPageRules, PrintedPages, PronunciationEntry, PublishedShot, REGION_NAME, ResolvedParentPage, SECTION_GAP, SECTION_MIN_SIZE, SECTION_PADDING, SECTION_TITLE_ROOM, SHOT_KEY, SLOT_TYPES, Scripts, Shot, type ShotUse, Size, Slide, SlideContent, type SlideRow, SlotDeclaration, SlotDeclarationInput, SlotKey, SlotReport, SlotSource, SlotState, SlotType, SlotValue, Slots, SlotsInput, SlotsOptions, TemplatedPage, TemplatedSection, TextDirection, Transition, TransitionInput, Word, type ZoomBounds, addItem, annotationCueIssues, arrange, assignMembership, boardBounds, boardListing, boardListingIsEmpty, boardToScreen, bookParentPages, chooseMotifVersion, deckFromSlides, defaultPageNumbering, deriveSectionCells, exceedsLimits, firstStrongDirection, fitPage, fitSection, fitTouchedSections, foldCellPages, foldColumns, foldForSearch, foldPageCountMessage, foldPanelMap, formatNumber, fromMillimeters, gridDropMarkerBox, gridDropTarget, impose, impositionMarks, insertIntoGrid, isBookContents, isChapter, isDesignedSection, isHebrew, isPrintedPageIdentityImposition, isTemplatedSection, itemAt, itemHeight, languageDirection, layoutSection, lexiconVersion, localFontReferences, makeRoom, mergeSlotDeclarations, mirrorPlacement, motifFieldAttribute, moveItems, moveSection, nameMatches, noteMarker, noteMarkerIssues, pagePlacementLayout, pagePrintedPagesIssues, paperPixels, parentListIssues, parsePlayback, printBoxes, printPadding, printProperties, printedPagesIssues, removeFromGrid, removeItems, resizeItem, resolveBookPagination, resolveDirection, resolveParentPages, revealView, roundMillimeters, screenToBoard, settleBoard, sheetMm, shotsUsed, textDirection, toMillimeters, visibleItems, zoomAt, zoomToFit };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Direction, TextDirection, firstStrongDirection, languageDirection, resolveDirection } from "./direction.js";
1
+ import { Direction, TextDirection, firstStrongDirection, languageDirection, resolveDirection, textDirection } from "./direction.js";
2
2
  import { Scripts } from "./scripts.js";
3
3
  import { FillValues, SLOT_TYPES, SlotDeclaration, SlotDeclarationInput, SlotKey, SlotType, SlotValue, Slots, SlotsInput, mergeSlotDeclarations } from "./slots.js";
4
4
  import { MAX_SLIDE_TIMING_MS } from "./timing.js";
@@ -6,14 +6,15 @@ import { DEFAULT_TRANSITION_DURATION_MS, MAX_TRANSITION_DURATION_MS, MIN_TRANSIT
6
6
  import { Annotation, Box, Cue, DECK_SIZE, Deck, DeckShape, ImageFit, Manifest, Narration, PLAYBACK_MODES, Playback, Point, PublishedShot, SHOT_KEY, Shot, Size, Slide, SlideContent, Word, annotationCueIssues, exceedsLimits, parsePlayback } from "./deck.js";
7
7
  import { Board, BoardItem, BoardLabel, BoardSection, GridCell } from "./board.js";
8
8
  import { APP_FONT_NAME, APP_FONT_NAME_MESSAGE, FONT_FORMATS, FONT_GENERICS, FontReference, FontReferenceInput, LocalFaceTransport, LocalFacesTransport, localFontReferences } from "./fonts.js";
9
+ import { BOOK_FURNITURE, LIBRARY_MOTIF_PREFIX, MOTIF_ATTRIBUTE, Motif, MotifField, MotifFieldInput, MotifInput, MotifVersion, MotifVersionInput, PRINTED_PAGE_CONTEXT, PRINTED_PAGE_FOLIO_PATH, PRINTED_PAGE_NUMBER_PATH, PRINTED_PAGE_RUNNING_HEAD_PATH, PRINTED_PAGE_TOTAL_PATH, chooseMotifVersion, motifFieldAttribute } from "./motif.js";
9
10
  import { NoteMarker, NumberSystem, defaultPageNumbering, formatNumber, isHebrew, noteMarker } from "./numbering.js";
11
+ import { BOOK_PARENT_NAMES, PRINTED_PAGE_LIMIT, PRINTED_PAGE_ROLES, ParentPage, ParentPageMargin, PrintedPageRules, PrintedPages, bookParentPages, pagePrintedPagesIssues, parentListIssues, printedPagesIssues, resolveParentPages } from "./printed-pages.js";
12
+ import { BookChapterEntry, BookContents, BookFrontMatterEntry, BookOpens, BookSection, BookSectionParents, BookTemplate, Chapter, DesignedPage, DesignedSection, REGION_NAME, TemplatedPage, TemplatedSection, isBookContents, isChapter, isDesignedSection, isTemplatedSection } from "./book-section.js";
10
13
  import { CUSTOM_PAPER_MAX_MM, CUSTOM_PAPER_MIN_MM, FOLD_DASH_OFF_MM, FOLD_DASH_ON_MM, MARK_GAP_MM, MARK_LENGTH_MM, MM_PER_PT, NAMED_PAPERS, ORIENTATIONS, Orientation, PAPER_GROUPS, PAPER_METADATA, PAPER_MM, PAPER_UNITS, PX_PER_MM, Paper, PaperUnit, PrintSetting, PrintSettingInput, fromMillimeters, paperPixels, printBoxes, printPadding, printProperties, roundMillimeters, sheetMm, toMillimeters } from "./paper.js";
11
- import { Book, BookContents, BookFrontMatterEntry, BookMode, BookPage, BookSection, BookShape, BookView, Chapter, isBookContents, noteMarkerIssues } from "./book.js";
14
+ import { Book, BookMode, BookPage, BookRunningHead, BookRunningHeadSource, BookShape, BookView, BookViewPagination, noteMarkerIssues, resolveBookPagination } from "./book.js";
12
15
  import { PAPER_FIT_TOLERANCE_MM, refuseOverflow, refuseSafe } from "./imposition-fit.js";
13
16
  import { FOLD_KINDS, FOLD_TUCK_IN_MM, foldCellPages, foldColumns, foldPageCountMessage, foldPanelMap, refineFold, resolveImposition } from "./fold.js";
14
17
  import { Lexicon, PronunciationEntry, lexiconVersion } from "./lexicon.js";
15
- import { BOOK_FURNITURE, LIBRARY_MOTIF_PREFIX, MOTIF_ATTRIBUTE, Motif, MotifField, MotifFieldInput, MotifInput, MotifVersion, MotifVersionInput, PRINTED_PAGE_CONTEXT, PRINTED_PAGE_FOLIO_PATH, PRINTED_PAGE_NUMBER_PATH, PRINTED_PAGE_RUNNING_HEAD_PATH, PRINTED_PAGE_TOTAL_PATH, chooseMotifVersion, motifFieldAttribute } from "./motif.js";
16
- import { BOOK_PARENT_NAMES, PRINTED_PAGE_LIMIT, PRINTED_PAGE_ROLES, ParentPage, ParentPageMargin, PrintedPageRules, PrintedPages, bookParentPages, pagePrintedPagesIssues, printedPagesIssues, resolveParentPages } from "./printed-pages.js";
17
18
  import { MIN_BOARD_ITEM_WIDTH, addItem, moveItems, moveSection, removeItems, resizeItem } from "./board-edit.js";
18
19
  import { MAX_BOARD_ZOOM, MIN_BOARD_ZOOM, arrange, boardBounds, boardToScreen, itemAt, itemHeight, revealView, screenToBoard, visibleItems, zoomAt, zoomToFit } from "./board-geometry.js";
19
20
  import { boardListing, boardListingIsEmpty, foldForSearch, nameMatches } from "./board-listing.js";
@@ -223,4 +224,4 @@ function jsonSchemas() {
223
224
  };
224
225
  }
225
226
  //#endregion
226
- export { APP_FONT_NAME, APP_FONT_NAME_MESSAGE, Annotation, BOOK_FURNITURE, BOOK_PARENT_NAMES, Board, BoardItem, BoardLabel, BoardSection, Book, BookContents, BookFrontMatterEntry, BookMode, BookPage, BookSection, BookView, Box, CUSTOM_PAPER_MAX_MM, CUSTOM_PAPER_MIN_MM, Chapter, Cue, DECK_SIZE, DEFAULT_TRANSITION_DURATION_MS, Deck, Direction, FOLD_DASH_OFF_MM, FOLD_DASH_ON_MM, FOLD_KINDS, FOLD_TUCK_IN_MM, FONT_FORMATS, FONT_GENERICS, FillValues, FontReference, FontReferenceInput, GridCell, ImageFit, Imposition, LIBRARY_MOTIF_PREFIX, Lexicon, LocalFaceTransport, LocalFacesTransport, MAKE_ROOM_LIMIT, MARK_GAP_MM, MARK_LENGTH_MM, MAX_BOARD_ZOOM, MAX_IMPOSITION_CELLS, MAX_SLIDE_TIMING_MS, MAX_TRANSITION_DURATION_MS, MIN_BOARD_ITEM_WIDTH, MIN_BOARD_ZOOM, MIN_MARK_LENGTH_MM, MIN_TRANSITION_DURATION_MS, MM_PER_PT, MOTIF_ATTRIBUTE, Manifest, Margin, MarkColor, Motif, MotifField, MotifFieldInput, MotifInput, MotifVersion, MotifVersionInput, NAMED_PAPERS, Narration, NoteMarker, NumberSystem, ORIENTATIONS, Orientation, PAPER_FIT_TOLERANCE_MM, PAPER_GROUPS, PAPER_METADATA, PAPER_MM, PAPER_UNITS, PLAYBACK_MODES, PRINTED_PAGE_CONTEXT, PRINTED_PAGE_FOLIO_PATH, PRINTED_PAGE_LIMIT, PRINTED_PAGE_NUMBER_PATH, PRINTED_PAGE_ROLES, PRINTED_PAGE_RUNNING_HEAD_PATH, PRINTED_PAGE_TOTAL_PATH, PX_PER_MM, Page, PageSize, Paper, PaperUnit, ParentPage, ParentPageMargin, Playback, Point, Print, PrintSetting, PrintSettingInput, PrintedPageRules, PrintedPages, PronunciationEntry, PublishedShot, SECTION_GAP, SECTION_MIN_SIZE, SECTION_PADDING, SECTION_TITLE_ROOM, SHOT_KEY, SLOT_TYPES, Scripts, Shot, Size, Slide, SlideContent, SlotDeclaration, SlotDeclarationInput, SlotKey, SlotType, SlotValue, Slots, SlotsInput, TextDirection, Transition, Word, addItem, annotationCueIssues, arrange, assignMembership, boardBounds, boardListing, boardListingIsEmpty, boardToScreen, bookParentPages, chooseMotifVersion, deckFromSlides, defaultPageNumbering, deriveSectionCells, exceedsLimits, firstStrongDirection, fitPage, fitSection, fitTouchedSections, foldCellPages, foldColumns, foldForSearch, foldPageCountMessage, foldPanelMap, formatNumber, fromMillimeters, gridDropMarkerBox, gridDropTarget, impose, impositionMarks, insertIntoGrid, isBookContents, isHebrew, isPrintedPageIdentityImposition, itemAt, itemHeight, jsonSchemas, languageDirection, layoutSection, lexiconVersion, localFontReferences, makeRoom, mergeSlotDeclarations, mirrorPlacement, motifFieldAttribute, moveItems, moveSection, nameMatches, noteMarker, noteMarkerIssues, pagePlacementLayout, pagePrintedPagesIssues, paperPixels, parsePlayback, printBoxes, printPadding, printProperties, printedPagesIssues, removeFromGrid, removeItems, resizeItem, resolveDirection, resolveParentPages, revealView, roundMillimeters, screenToBoard, settleBoard, sheetMm, shotsUsed, toMillimeters, visibleItems, zoomAt, zoomToFit };
227
+ export { APP_FONT_NAME, APP_FONT_NAME_MESSAGE, Annotation, BOOK_FURNITURE, BOOK_PARENT_NAMES, Board, BoardItem, BoardLabel, BoardSection, Book, BookChapterEntry, BookContents, BookFrontMatterEntry, BookMode, BookOpens, BookPage, BookRunningHead, BookRunningHeadSource, BookSection, BookSectionParents, BookTemplate, BookView, BookViewPagination, Box, CUSTOM_PAPER_MAX_MM, CUSTOM_PAPER_MIN_MM, Chapter, Cue, DECK_SIZE, DEFAULT_TRANSITION_DURATION_MS, Deck, DesignedPage, DesignedSection, Direction, FOLD_DASH_OFF_MM, FOLD_DASH_ON_MM, FOLD_KINDS, FOLD_TUCK_IN_MM, FONT_FORMATS, FONT_GENERICS, FillValues, FontReference, FontReferenceInput, GridCell, ImageFit, Imposition, LIBRARY_MOTIF_PREFIX, Lexicon, LocalFaceTransport, LocalFacesTransport, MAKE_ROOM_LIMIT, MARK_GAP_MM, MARK_LENGTH_MM, MAX_BOARD_ZOOM, MAX_IMPOSITION_CELLS, MAX_SLIDE_TIMING_MS, MAX_TRANSITION_DURATION_MS, MIN_BOARD_ITEM_WIDTH, MIN_BOARD_ZOOM, MIN_MARK_LENGTH_MM, MIN_TRANSITION_DURATION_MS, MM_PER_PT, MOTIF_ATTRIBUTE, Manifest, Margin, MarkColor, Motif, MotifField, MotifFieldInput, MotifInput, MotifVersion, MotifVersionInput, NAMED_PAPERS, Narration, NoteMarker, NumberSystem, ORIENTATIONS, Orientation, PAPER_FIT_TOLERANCE_MM, PAPER_GROUPS, PAPER_METADATA, PAPER_MM, PAPER_UNITS, PLAYBACK_MODES, PRINTED_PAGE_CONTEXT, PRINTED_PAGE_FOLIO_PATH, PRINTED_PAGE_LIMIT, PRINTED_PAGE_NUMBER_PATH, PRINTED_PAGE_ROLES, PRINTED_PAGE_RUNNING_HEAD_PATH, PRINTED_PAGE_TOTAL_PATH, PX_PER_MM, Page, PageSize, Paper, PaperUnit, ParentPage, ParentPageMargin, Playback, Point, Print, PrintSetting, PrintSettingInput, PrintedPageRules, PrintedPages, PronunciationEntry, PublishedShot, REGION_NAME, SECTION_GAP, SECTION_MIN_SIZE, SECTION_PADDING, SECTION_TITLE_ROOM, SHOT_KEY, SLOT_TYPES, Scripts, Shot, Size, Slide, SlideContent, SlotDeclaration, SlotDeclarationInput, SlotKey, SlotType, SlotValue, Slots, SlotsInput, TemplatedPage, TemplatedSection, TextDirection, Transition, Word, addItem, annotationCueIssues, arrange, assignMembership, boardBounds, boardListing, boardListingIsEmpty, boardToScreen, bookParentPages, chooseMotifVersion, deckFromSlides, defaultPageNumbering, deriveSectionCells, exceedsLimits, firstStrongDirection, fitPage, fitSection, fitTouchedSections, foldCellPages, foldColumns, foldForSearch, foldPageCountMessage, foldPanelMap, formatNumber, fromMillimeters, gridDropMarkerBox, gridDropTarget, impose, impositionMarks, insertIntoGrid, isBookContents, isChapter, isDesignedSection, isHebrew, isPrintedPageIdentityImposition, isTemplatedSection, itemAt, itemHeight, jsonSchemas, languageDirection, layoutSection, lexiconVersion, localFontReferences, makeRoom, mergeSlotDeclarations, mirrorPlacement, motifFieldAttribute, moveItems, moveSection, nameMatches, noteMarker, noteMarkerIssues, pagePlacementLayout, pagePrintedPagesIssues, paperPixels, parentListIssues, parsePlayback, printBoxes, printPadding, printProperties, printedPagesIssues, removeFromGrid, removeItems, resizeItem, resolveBookPagination, resolveDirection, resolveParentPages, revealView, roundMillimeters, screenToBoard, settleBoard, sheetMm, shotsUsed, textDirection, toMillimeters, visibleItems, zoomAt, zoomToFit };