@docmentis/udoc-editor 0.8.17 → 0.8.19

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 (133) hide show
  1. package/dist/cell-format.d.ts +30 -0
  2. package/dist/cell-format.d.ts.map +1 -0
  3. package/dist/cell-format.js +325 -0
  4. package/dist/cell-format.js.map +1 -0
  5. package/dist/commands.js +2 -2
  6. package/dist/commands.js.map +1 -1
  7. package/dist/components/TablePropertiesModal.d.ts +12 -0
  8. package/dist/components/TablePropertiesModal.d.ts.map +1 -0
  9. package/dist/components/TablePropertiesModal.js +222 -0
  10. package/dist/components/TablePropertiesModal.js.map +1 -0
  11. package/dist/context-menu.d.ts +11 -1
  12. package/dist/context-menu.d.ts.map +1 -1
  13. package/dist/context-menu.js +87 -7
  14. package/dist/context-menu.js.map +1 -1
  15. package/dist/docmentis-theme.d.ts +2 -0
  16. package/dist/docmentis-theme.d.ts.map +1 -1
  17. package/dist/docmentis-theme.js +4 -0
  18. package/dist/docmentis-theme.js.map +1 -1
  19. package/dist/edit-client.d.ts +28 -1
  20. package/dist/edit-client.d.ts.map +1 -1
  21. package/dist/edit-client.js +33 -0
  22. package/dist/edit-client.js.map +1 -1
  23. package/dist/edit-mode.d.ts.map +1 -1
  24. package/dist/edit-mode.js +25 -7
  25. package/dist/edit-mode.js.map +1 -1
  26. package/dist/grips.d.ts.map +1 -1
  27. package/dist/grips.js +173 -10
  28. package/dist/grips.js.map +1 -1
  29. package/dist/i18n/ar.d.ts.map +1 -1
  30. package/dist/i18n/ar.js +82 -7
  31. package/dist/i18n/ar.js.map +1 -1
  32. package/dist/i18n/de.d.ts.map +1 -1
  33. package/dist/i18n/de.js +82 -7
  34. package/dist/i18n/de.js.map +1 -1
  35. package/dist/i18n/en.d.ts.map +1 -1
  36. package/dist/i18n/en.js +82 -7
  37. package/dist/i18n/en.js.map +1 -1
  38. package/dist/i18n/es.d.ts.map +1 -1
  39. package/dist/i18n/es.js +82 -7
  40. package/dist/i18n/es.js.map +1 -1
  41. package/dist/i18n/fr.d.ts.map +1 -1
  42. package/dist/i18n/fr.js +82 -7
  43. package/dist/i18n/fr.js.map +1 -1
  44. package/dist/i18n/ja.d.ts.map +1 -1
  45. package/dist/i18n/ja.js +86 -11
  46. package/dist/i18n/ja.js.map +1 -1
  47. package/dist/i18n/ko.d.ts.map +1 -1
  48. package/dist/i18n/ko.js +82 -7
  49. package/dist/i18n/ko.js.map +1 -1
  50. package/dist/i18n/messages.d.ts +154 -7
  51. package/dist/i18n/messages.d.ts.map +1 -1
  52. package/dist/i18n/pt-BR.d.ts.map +1 -1
  53. package/dist/i18n/pt-BR.js +82 -7
  54. package/dist/i18n/pt-BR.js.map +1 -1
  55. package/dist/i18n/ru.d.ts.map +1 -1
  56. package/dist/i18n/ru.js +82 -7
  57. package/dist/i18n/ru.js.map +1 -1
  58. package/dist/i18n/zh-CN.d.ts.map +1 -1
  59. package/dist/i18n/zh-CN.js +86 -11
  60. package/dist/i18n/zh-CN.js.map +1 -1
  61. package/dist/i18n/zh-TW.d.ts.map +1 -1
  62. package/dist/i18n/zh-TW.js +82 -7
  63. package/dist/i18n/zh-TW.js.map +1 -1
  64. package/dist/icons.d.ts +50 -0
  65. package/dist/icons.d.ts.map +1 -1
  66. package/dist/icons.js +50 -0
  67. package/dist/icons.js.map +1 -1
  68. package/dist/image.d.ts +5 -0
  69. package/dist/image.d.ts.map +1 -1
  70. package/dist/image.js +37 -4
  71. package/dist/image.js.map +1 -1
  72. package/dist/insert-table.d.ts +23 -0
  73. package/dist/insert-table.d.ts.map +1 -0
  74. package/dist/insert-table.js +135 -0
  75. package/dist/insert-table.js.map +1 -0
  76. package/dist/insert.d.ts +4 -1
  77. package/dist/insert.d.ts.map +1 -1
  78. package/dist/insert.js +5 -4
  79. package/dist/insert.js.map +1 -1
  80. package/dist/markup.d.ts +36 -1
  81. package/dist/markup.d.ts.map +1 -1
  82. package/dist/markup.js +175 -0
  83. package/dist/markup.js.map +1 -1
  84. package/dist/menu-action.d.ts +15 -3
  85. package/dist/menu-action.d.ts.map +1 -1
  86. package/dist/menu-action.js +21 -3
  87. package/dist/menu-action.js.map +1 -1
  88. package/dist/paint.d.ts +17 -2
  89. package/dist/paint.d.ts.map +1 -1
  90. package/dist/paint.js +11 -2
  91. package/dist/paint.js.map +1 -1
  92. package/dist/ruler-edits.js +7 -7
  93. package/dist/ruler-edits.js.map +1 -1
  94. package/dist/styles.d.ts.map +1 -1
  95. package/dist/styles.js +66 -0
  96. package/dist/styles.js.map +1 -1
  97. package/dist/table-edits.d.ts +44 -0
  98. package/dist/table-edits.d.ts.map +1 -0
  99. package/dist/table-edits.js +97 -0
  100. package/dist/table-edits.js.map +1 -0
  101. package/dist/table-format.d.ts +88 -0
  102. package/dist/table-format.d.ts.map +1 -0
  103. package/dist/table-format.js +224 -0
  104. package/dist/table-format.js.map +1 -0
  105. package/dist/table-picker.d.ts +14 -0
  106. package/dist/table-picker.d.ts.map +1 -0
  107. package/dist/table-picker.js +15 -0
  108. package/dist/table-picker.js.map +1 -0
  109. package/dist/table-properties.d.ts +12 -0
  110. package/dist/table-properties.d.ts.map +1 -0
  111. package/dist/table-properties.js +27 -0
  112. package/dist/table-properties.js.map +1 -0
  113. package/dist/table.d.ts +21 -9
  114. package/dist/table.d.ts.map +1 -1
  115. package/dist/table.js +235 -41
  116. package/dist/table.js.map +1 -1
  117. package/dist/tabs.d.ts +1 -1
  118. package/dist/tabs.d.ts.map +1 -1
  119. package/dist/tabs.js +106 -41
  120. package/dist/tabs.js.map +1 -1
  121. package/dist/text-format.d.ts +16 -6
  122. package/dist/text-format.d.ts.map +1 -1
  123. package/dist/text-format.js +89 -45
  124. package/dist/text-format.js.map +1 -1
  125. package/dist/version.d.ts +1 -1
  126. package/dist/version.js +1 -1
  127. package/dist/worker/handlers.d.ts.map +1 -1
  128. package/dist/worker/handlers.js +28 -0
  129. package/dist/worker/handlers.js.map +1 -1
  130. package/dist/worker/protocol.d.ts +38 -1
  131. package/dist/worker/protocol.d.ts.map +1 -1
  132. package/dist/worker/worker-source.js +1 -1
  133. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-properties.d.ts","sourceRoot":"","sources":["../src/table-properties.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAK5C,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC5B,wDAAwD;IACxD,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;iFACiF;AACjF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,eAAe,CAehF"}
@@ -0,0 +1,27 @@
1
+ // The Table Properties dialog, mounted into edit mode: seeded from the selection's
2
+ // table on each open, its OK sending the edits of what changed.
3
+ import { createTablePropertiesModal } from "./components/TablePropertiesModal.js";
4
+ import { editState } from "./state.js";
5
+ import { tablePropertiesEdits, tablePropertiesSeed } from "./table-edits.js";
6
+ import { runTableEdit, selectionTable } from "./table-format.js";
7
+ /** Mount the Table Properties dialog into `host` — once, seeded from the
8
+ * selection each open. Its OK sends one edit per kind that changed, in turn. */
9
+ export function mountTableProperties(host, i18n) {
10
+ const modal = createTablePropertiesModal(i18n);
11
+ modal.mount(host.root);
12
+ return {
13
+ open() {
14
+ const state = host.store.getState();
15
+ const table = selectionTable(editState(state).selectionProperties);
16
+ if (!table)
17
+ return;
18
+ const seed = tablePropertiesSeed(table, state.docType === "wordprocessing");
19
+ modal.open(seed, async (values) => {
20
+ for (const edit of tablePropertiesEdits(seed, values))
21
+ await runTableEdit(host, edit);
22
+ });
23
+ },
24
+ destroy: () => modal.destroy(),
25
+ };
26
+ }
27
+ //# sourceMappingURL=table-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-properties.js","sourceRoot":"","sources":["../src/table-properties.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,gEAAgE;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AASjE;iFACiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,IAAc,EAAE,IAAU;IAC3D,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO;QACH,IAAI;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC9B,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC;oBAAE,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE;KACjC,CAAC;AACN,CAAC"}
package/dist/table.d.ts CHANGED
@@ -4,10 +4,18 @@ import type { EditTools } from "./tools.js";
4
4
  /** Delete Rows: `add_row_below` with its plus an × of the same size and strokes.
5
5
  * Not the trash can, which on the same menu deletes the whole shape. */
6
6
  export declare const ICON_DELETE_ROWS = "<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M216-540h528v-228H216v228Zm-72 372v-672h672v672H672V-240.49h72V-468H216v228h72v72H144ZM411-84l-51-51 69-69-69-69 51-51 69 69 69-69 51 51-69 69 69 69-51 51-69-69-69 69Z\"/></svg>";
7
+ /** Delete Columns: `add_column_right`, as {@link ICON_DELETE_ROWS} is `add_row_below`. */
8
+ export declare const ICON_DELETE_COLUMNS = "<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M192-744v528h228v-528H192Zm-72 600v-672h672v144H719.51v-72H492v528h228v-72h72v144H120ZM687-360l-51-51 69-69-69-69 51-51 69 69 69-69 51 51-69 69 69 69-51 51-69-69-69 69Z\"/></svg>";
7
9
  /** Unmerge: `cell_merge` with its arrows turned outward. They are shorter, their
8
10
  * heads clear of the frame's sides, and their tails meet where the merge arrows'
9
11
  * tips do. */
10
12
  export declare const ICON_UNMERGE_CELLS = "<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M144-144v-240h72v168h168v72H144Zm432 0v-72h168v-168h72v240H576ZM312-336L168-480l144-144 51 51-57 57H432v72H306l57 57-51 51Zm336 0l-51-51 57-57H528v-72h126l-57-57 51-51 144 144-144 144ZM144-576v-240h240v72H216v168h-72Zm600 0v-168H576v-72h240v240h-72Z\"/></svg>";
13
+ /** Top: the block at the top of the frame — and the Align dropdown's own glyph. */
14
+ export declare const ICON_CELL_ALIGN_TOP = "<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M312-576h336v-96H312v96ZM216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-528q0-29.7 21.15-50.85Q186.3-816 216-816h528q29.7 0 50.85 21.15Q816-773.7 816-744v528q0 29.7-21.15 50.85Q773.7-144 744-144H216Zm0-72h528v-528H216v528Zm0-528v528-528Z\"/></svg>";
15
+ /** Center: the block midway. */
16
+ export declare const ICON_CELL_ALIGN_CENTER = "<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M312-432h336v-96H312v96ZM216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-528q0-29.7 21.15-50.85Q186.3-816 216-816h528q29.7 0 50.85 21.15Q816-773.7 816-744v528q0 29.7-21.15 50.85Q773.7-144 744-144H216Zm0-72h528v-528H216v528Zm0-528v528-528Z\"/></svg>";
17
+ /** Bottom: the block at the bottom of the frame. */
18
+ export declare const ICON_CELL_ALIGN_BOTTOM = "<svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M312-288h336v-96H312v96ZM216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-528q0-29.7 21.15-50.85Q186.3-816 216-816h528q29.7 0 50.85 21.15Q816-773.7 816-744v528q0 29.7-21.15 50.85Q773.7-144 744-144H216Zm0-72h528v-528H216v528Zm0-528v528-528Z\"/></svg>";
11
19
  /** What a Select ▸ … row widens the current table selection to. Named for the
12
20
  * verbs (`selectTableRows` / `selectTableColumns` / `selectTable`) rather than
13
21
  * the row labels: the commands widen to *every* row or column the selection
@@ -20,16 +28,20 @@ export declare const whenTableEdit: (kind: TableEditKind) => EnabledWhen;
20
28
  export declare const TABLE_SELECT_MENU: readonly MenuItem<MessageKey>[];
21
29
  export declare const TABLE_INSERT_MENU: readonly MenuItem<MessageKey>[];
22
30
  export declare const TABLE_DELETE_MENU: readonly MenuItem<MessageKey>[];
31
+ /** Merge and Unmerge, the Cells dropdown's two rows. */
32
+ export declare const TABLE_CELLS_MENU: readonly MenuItem<MessageKey>[];
33
+ /** The Align dropdown: where the cells' text sits, top to bottom, then across
34
+ * — the paragraph alignments the Text tab sets — then the direction it runs in. */
35
+ export declare const TABLE_ALIGN_MENU: readonly MenuItem<MessageKey>[];
36
+ /** The Style dropdown: the six regions of the table's style that apply. */
37
+ export declare const TABLE_STYLE_MENU: readonly MenuItem<MessageKey>[];
23
38
  /**
24
39
  * The Table tab's commands, over the {@link EditTools} once edit mode is mounted,
25
- * in the order of the context menu's rows over a table: the Select dropdown, the
26
- * four inserts, the two deletes, then Merge and Unmerge.
27
- *
28
- * The inserts and deletes stand on the band where the menu puts them behind
29
- * fly-outs: they are the edits made over and over, and the band has room for them,
30
- * so a row more or less is a press rather than a dropdown's two, and each delete
31
- * greys on its own. Select stays a dropdown, its rows named by words that no glyph
32
- * on the band could tell apart.
40
+ * and `openProperties`, which opens the Table Properties dialog. One tab, kept
41
+ * short: Select, then Insert, Delete and Cells as dropdowns beside Distribute
42
+ * Columns; Shading, Border Color and Border; the Align and Style dropdowns; and
43
+ * the dialog, which holds the measures — height, width, margins — that would
44
+ * cost the band a field each.
33
45
  */
34
- export declare function tableCommands(tools: () => EditTools): Readonly<Record<string, CommandDef<MessageKey>>>;
46
+ export declare function tableCommands(tools: () => EditTools, openProperties: () => void): Readonly<Record<string, CommandDef<MessageKey>>>;
35
47
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEpG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AASlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAO5C;yEACyE;AACzE,eAAO,MAAM,gBAAgB,sPAAgP,CAAC;AAK9Q;;eAEe;AACf,eAAO,MAAM,kBAAkB,wUAAkU,CAAC;AAElW;;;uEAGuE;AACvE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAO5D;;mBAEmB;AACnB,eAAO,MAAM,aAAa,GACrB,MAAM,aAAa,KAAG,WAEe,CAAC;AAM3C,eAAO,MAAM,iBAAiB,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,EAQ5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,EA0B5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,EAa5D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CA4FtG"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEpH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA6BlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQ5C;yEACyE;AACzE,eAAO,MAAM,gBAAgB,sPAAgP,CAAC;AAE9Q,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,uPAAiP,CAAC;AAElR;;eAEe;AACf,eAAO,MAAM,kBAAkB,wUAAkU,CAAC;AAMlW,mFAAmF;AACnF,eAAO,MAAM,mBAAmB,4TAAsT,CAAC;AAEvV,gCAAgC;AAChC,eAAO,MAAM,sBAAsB,4TAAsT,CAAC;AAE1V,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,4TAAsT,CAAC;AAE1V;;;uEAGuE;AACvE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAO5D;;mBAEmB;AACnB,eAAO,MAAM,aAAa,GACrB,MAAM,aAAa,KAAG,WAEe,CAAC;AAM3C,eAAO,MAAM,iBAAiB,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,EAI5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,EA0B5D,CAAC;AASF,eAAO,MAAM,iBAAiB,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,EAoB5D,CAAC;AAoCF,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,EAa3D,CAAC;AAqDF;oFACoF;AACpF,eAAO,MAAM,gBAAgB,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,EAc3D,CAAC;AAcF,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,EAO3D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CACzB,KAAK,EAAE,MAAM,SAAS,EACtB,cAAc,EAAE,MAAM,IAAI,GAC3B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAiHlD"}
package/dist/table.js CHANGED
@@ -1,21 +1,35 @@
1
1
  // A table's edits: the rows the context menu shows over a table, and the Table
2
2
  // tab's commands, which offer the same edits on the ribbon.
3
- import { allowsTableEdit, ICON_TOOL_POINTER } from "@docmentis/udoc-ui/internal";
4
- import { ICON_INSERT_COLUMN_LEFT, ICON_INSERT_COLUMN_RIGHT, ICON_INSERT_ROW_ABOVE, ICON_INSERT_ROW_BELOW, ICON_MERGE_CELLS, } from "./icons.js";
3
+ import { allowsEdit, allowsTableEdit, ICON_DELETE, ICON_FILL, ICON_TOOL_POINTER } from "@docmentis/udoc-ui/internal";
4
+ import { ICON_BORDER_ALL, ICON_BORDER_COLOR, ICON_DISTRIBUTE_H, ICON_INSERT_COLUMN_LEFT, ICON_INSERT_COLUMN_RIGHT, ICON_INSERT_ROW_ABOVE, ICON_INSERT_ROW_BELOW, ICON_MERGE_CELLS, ICON_TABLE_PROPERTIES, ICON_TABLE_STYLE, ICON_TEXT_HORIZONTAL, ICON_TEXT_ROTATE_270, ICON_TEXT_ROTATE_90, ICON_TEXT_STACKED, } from "./icons.js";
5
5
  import { editAction, runEditMenuAction } from "./menu-action.js";
6
- // The table glyphs Material Symbols has no symbol for, each drawn from the one it
7
- // is the opposite of, which keeps its frame and strokes. Modified from Material
8
- // Symbols, © Google LLC, licensed under the Apache License 2.0:
6
+ import { editStateOf } from "./state.js";
7
+ import { consensusValue } from "./table-edits.js";
8
+ import { borderColorControl, borderControl, createBorderState, layTableBorder, selectionTable, tableShadingControl, } from "./table-format.js";
9
+ import { ALIGN_CENTER_ROW, ALIGN_LEFT_ROW, ALIGN_RIGHT_ROW } from "./text-format.js";
10
+ // The table glyphs Material Symbols has no symbol for, each drawn from the
11
+ // symbol nearest it — the one it is the opposite of, or the one it adapts — which
12
+ // keeps its frame and strokes. Modified from Material Symbols, © Google LLC,
13
+ // licensed under the Apache License 2.0:
9
14
  // https://www.apache.org/licenses/LICENSE-2.0
10
15
  /** Delete Rows: `add_row_below` with its plus an × of the same size and strokes.
11
16
  * Not the trash can, which on the same menu deletes the whole shape. */
12
17
  export const ICON_DELETE_ROWS = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M216-540h528v-228H216v228Zm-72 372v-672h672v672H672V-240.49h72V-468H216v228h72v72H144ZM411-84l-51-51 69-69-69-69 51-51 69 69 69-69 51 51-69 69 69 69-51 51-69-69-69 69Z"/></svg>`;
13
18
  /** Delete Columns: `add_column_right`, as {@link ICON_DELETE_ROWS} is `add_row_below`. */
14
- const ICON_DELETE_COLUMNS = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M192-744v528h228v-528H192Zm-72 600v-672h672v144H719.51v-72H492v528h228v-72h72v144H120ZM687-360l-51-51 69-69-69-69 51-51 69 69 69-69 51 51-69 69 69 69-51 51-69-69-69 69Z"/></svg>`;
19
+ export const ICON_DELETE_COLUMNS = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M192-744v528h228v-528H192Zm-72 600v-672h672v144H719.51v-72H492v528h228v-72h72v144H120ZM687-360l-51-51 69-69-69-69 51-51 69 69 69-69 51 51-69 69 69 69-51 51-69-69-69 69Z"/></svg>`;
15
20
  /** Unmerge: `cell_merge` with its arrows turned outward. They are shorter, their
16
21
  * heads clear of the frame's sides, and their tails meet where the merge arrows'
17
22
  * tips do. */
18
23
  export const ICON_UNMERGE_CELLS = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M144-144v-240h72v168h168v72H144Zm432 0v-72h168v-168h72v240H576ZM312-336L168-480l144-144 51 51-57 57H432v72H306l57 57-51 51Zm336 0l-51-51 57-57H528v-72h126l-57-57 51-51 144 144-144 144ZM144-576v-240h240v72H216v168h-72Zm600 0v-168H576v-72h240v240h-72Z"/></svg>`;
24
+ // The three cell alignments, drawn from `position_top_right`: its frame, and its
25
+ // block centred left to right and set where the cell's text sits — as far below
26
+ // the frame's top as the symbol sets it, mirrored at the bottom, or midway.
27
+ /** Top: the block at the top of the frame — and the Align dropdown's own glyph. */
28
+ export const ICON_CELL_ALIGN_TOP = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M312-576h336v-96H312v96ZM216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-528q0-29.7 21.15-50.85Q186.3-816 216-816h528q29.7 0 50.85 21.15Q816-773.7 816-744v528q0 29.7-21.15 50.85Q773.7-144 744-144H216Zm0-72h528v-528H216v528Zm0-528v528-528Z"/></svg>`;
29
+ /** Center: the block midway. */
30
+ export const ICON_CELL_ALIGN_CENTER = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M312-432h336v-96H312v96ZM216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-528q0-29.7 21.15-50.85Q186.3-816 216-816h528q29.7 0 50.85 21.15Q816-773.7 816-744v528q0 29.7-21.15 50.85Q773.7-144 744-144H216Zm0-72h528v-528H216v528Zm0-528v528-528Z"/></svg>`;
31
+ /** Bottom: the block at the bottom of the frame. */
32
+ export const ICON_CELL_ALIGN_BOTTOM = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M312-288h336v-96H312v96ZM216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-528q0-29.7 21.15-50.85Q186.3-816 216-816h528q29.7 0 50.85 21.15Q816-773.7 816-744v528q0 29.7-21.15 50.85Q773.7-144 744-144H216Zm0-72h528v-528H216v528Zm0-528v528-528Z"/></svg>`;
19
33
  /** Enabled whenever a document is open — the Select rows, which only show where
20
34
  * there is a table to widen in: a right-click on one, or the Table tab's
21
35
  * Select, which {@link inTable} greys. */
@@ -28,13 +42,9 @@ export const whenTableEdit = (kind) => (c) => allowsTableEdit(c.selection, kind)
28
42
  * Inserting is live wherever the selection names a row to insert beside. */
29
43
  const inTable = whenTableEdit("insertRows");
30
44
  export const TABLE_SELECT_MENU = [
31
- { action: editAction({ kind: "selectTable", scope: "rows" }), label: "table.selectRow", enabledWhen: whenReady },
32
- {
33
- action: editAction({ kind: "selectTable", scope: "columns" }),
34
- label: "table.selectColumn",
35
- enabledWhen: whenReady,
36
- },
37
- { action: editAction({ kind: "selectTable", scope: "table" }), label: "table.selectTable", enabledWhen: whenReady },
45
+ { action: editAction({ kind: "selectTable", scope: "rows" }), label: "table.row", enabledWhen: whenReady },
46
+ { action: editAction({ kind: "selectTable", scope: "columns" }), label: "table.column", enabledWhen: whenReady },
47
+ { action: editAction({ kind: "selectTable", scope: "table" }), label: "table.table", enabledWhen: whenReady },
38
48
  ];
39
49
  export const TABLE_INSERT_MENU = [
40
50
  {
@@ -63,62 +73,246 @@ export const TABLE_INSERT_MENU = [
63
73
  enabledWhen: whenTableEdit("insertColumns"),
64
74
  },
65
75
  ];
76
+ /** Delete the table: a deck's frame goes as a selected shape does, which a
77
+ * placeholder that refuses deletion keeps. A word document's goes as the one
78
+ * position it takes in its story, a delete of text wherever its rows can be
79
+ * edited. */
80
+ const canDeleteTable = (c) => inTable(c) && (c.docType === "wordprocessing" || allowsEdit(c.selection, "deleteShapes"));
66
81
  export const TABLE_DELETE_MENU = [
67
82
  {
68
83
  action: editAction({ kind: "tableEdit", edit: "deleteRows" }),
69
- label: "table.deleteRows",
84
+ label: "table.rows",
70
85
  icon: ICON_DELETE_ROWS,
71
86
  enabledWhen: whenTableEdit("deleteRows"),
72
87
  },
73
88
  {
74
89
  action: editAction({ kind: "tableEdit", edit: "deleteColumns" }),
75
- label: "table.deleteColumns",
90
+ label: "table.columns",
76
91
  icon: ICON_DELETE_COLUMNS,
77
92
  enabledWhen: whenTableEdit("deleteColumns"),
78
93
  },
94
+ {
95
+ action: editAction({ kind: "deleteTable" }),
96
+ label: "table.table",
97
+ icon: ICON_DELETE,
98
+ enabledWhen: canDeleteTable,
99
+ separatorBefore: true,
100
+ },
101
+ ];
102
+ /**
103
+ * `menu` with its rows' labels spelled whole by `labels` — the Table tab's
104
+ * dropdowns, whose button shows only an icon, where the context menu's
105
+ * fly-outs sit under a row already saying Select, Insert or Delete.
106
+ */
107
+ function spelledOut(menu, labels) {
108
+ return menu.map((item) => ({
109
+ ...item,
110
+ label: (typeof item.label === "string" && labels[item.label]) || item.label,
111
+ }));
112
+ }
113
+ const TOOLBAR_SELECT_MENU = spelledOut(TABLE_SELECT_MENU, {
114
+ "table.row": "table.selectRow",
115
+ "table.column": "table.selectColumn",
116
+ "table.table": "table.selectTable",
117
+ });
118
+ const TOOLBAR_INSERT_MENU = spelledOut(TABLE_INSERT_MENU, {
119
+ "table.rowAbove": "table.insertRowAbove",
120
+ "table.rowBelow": "table.insertRowBelow",
121
+ "table.columnLeft": "table.insertColumnLeft",
122
+ "table.columnRight": "table.insertColumnRight",
123
+ });
124
+ const TOOLBAR_DELETE_MENU = spelledOut(TABLE_DELETE_MENU, {
125
+ "table.rows": "table.deleteRows",
126
+ "table.columns": "table.deleteColumns",
127
+ "table.table": "table.deleteTable",
128
+ });
129
+ /** Merge and Unmerge, the Cells dropdown's two rows. */
130
+ export const TABLE_CELLS_MENU = [
131
+ {
132
+ action: editAction({ kind: "tableEdit", edit: "mergeCells" }),
133
+ label: "table.mergeCells",
134
+ icon: ICON_MERGE_CELLS,
135
+ enabledWhen: whenTableEdit("mergeCells"),
136
+ },
137
+ {
138
+ action: editAction({ kind: "tableEdit", edit: "unmergeCells" }),
139
+ label: "table.unmergeCells",
140
+ icon: ICON_UNMERGE_CELLS,
141
+ enabledWhen: whenTableEdit("unmergeCells"),
142
+ },
143
+ ];
144
+ /** What the selection's cells hold, read off its table properties. */
145
+ function tableOf(c) {
146
+ return selectionTable(editStateOf(c).selectionProperties);
147
+ }
148
+ /** A cell format row: patches `properties` onto the cells the selection covers. */
149
+ const cellPatch = (properties) => ({
150
+ patchCellProperties: { properties },
151
+ });
152
+ /** A vertical alignment row, marked where the selected cells all sit so. */
153
+ function anchorRow(anchor, label, icon) {
154
+ return {
155
+ action: editAction({ kind: "tableEdit", edit: cellPatch({ anchor }) }),
156
+ label,
157
+ icon,
158
+ enabledWhen: whenTableEdit("patchCellProperties"),
159
+ activeWhen: (c) => consensusValue(tableOf(c)?.anchor) === anchor,
160
+ };
161
+ }
162
+ /** A text direction row, marked where the selected cells' text all runs so. */
163
+ function directionRow(direction, label, icon, enabledWhen = whenTableEdit("patchCellProperties")) {
164
+ return {
165
+ action: editAction({ kind: "tableEdit", edit: cellPatch({ direction }) }),
166
+ label,
167
+ icon,
168
+ enabledWhen,
169
+ activeWhen: (c) => consensusValue(tableOf(c)?.direction) === direction,
170
+ };
171
+ }
172
+ /** The directions a cell's text runs in. Stacked is a deck's: a word document
173
+ * has no stacked text, and a save would drop it. */
174
+ const TEXT_DIRECTION_MENU = [
175
+ directionRow("lrTb", "table.directionHorizontal", ICON_TEXT_HORIZONTAL),
176
+ directionRow("tbRl", "table.directionRotate90", ICON_TEXT_ROTATE_90),
177
+ directionRow("btLr", "table.directionRotate270", ICON_TEXT_ROTATE_270),
178
+ directionRow("wordArtVert", "table.directionStacked", ICON_TEXT_STACKED, (c) => c.docType !== "wordprocessing" && whenTableEdit("patchCellProperties")(c)),
179
+ ];
180
+ /** The Align dropdown: where the cells' text sits, top to bottom, then across
181
+ * — the paragraph alignments the Text tab sets — then the direction it runs in. */
182
+ export const TABLE_ALIGN_MENU = [
183
+ anchorRow("top", "table.alignTop", ICON_CELL_ALIGN_TOP),
184
+ anchorRow("center", "table.alignCenter", ICON_CELL_ALIGN_CENTER),
185
+ anchorRow("bottom", "table.alignBottom", ICON_CELL_ALIGN_BOTTOM),
186
+ { ...ALIGN_LEFT_ROW, separatorBefore: true },
187
+ ALIGN_CENTER_ROW,
188
+ ALIGN_RIGHT_ROW,
189
+ {
190
+ submenu: TEXT_DIRECTION_MENU,
191
+ label: "table.textDirection",
192
+ icon: ICON_TEXT_HORIZONTAL,
193
+ enabledWhen: whenTableEdit("patchCellProperties"),
194
+ separatorBefore: true,
195
+ },
196
+ ];
197
+ /** One of the Table Style Options: a switch that keeps the panel open, so the
198
+ * next can be flipped at once. */
199
+ function lookRow(flag, label) {
200
+ return {
201
+ action: editAction({ kind: "toggleTableLook", flag }),
202
+ label,
203
+ enabledWhen: whenTableEdit("patchTableProperties"),
204
+ checked: (c) => consensusValue(tableOf(c)?.look)?.[flag] === true,
205
+ keepsOpen: true,
206
+ };
207
+ }
208
+ /** The Style dropdown: the six regions of the table's style that apply. */
209
+ export const TABLE_STYLE_MENU = [
210
+ lookRow("firstRow", "table.headerRow"),
211
+ lookRow("lastRow", "table.totalRow"),
212
+ lookRow("rowBanding", "table.bandedRows"),
213
+ lookRow("firstColumn", "table.firstColumn"),
214
+ lookRow("lastColumn", "table.lastColumn"),
215
+ lookRow("columnBanding", "table.bandedColumns"),
79
216
  ];
80
217
  /**
81
218
  * The Table tab's commands, over the {@link EditTools} once edit mode is mounted,
82
- * in the order of the context menu's rows over a table: the Select dropdown, the
83
- * four inserts, the two deletes, then Merge and Unmerge.
84
- *
85
- * The inserts and deletes stand on the band where the menu puts them behind
86
- * fly-outs: they are the edits made over and over, and the band has room for them,
87
- * so a row more or less is a press rather than a dropdown's two, and each delete
88
- * greys on its own. Select stays a dropdown, its rows named by words that no glyph
89
- * on the band could tell apart.
219
+ * and `openProperties`, which opens the Table Properties dialog. One tab, kept
220
+ * short: Select, then Insert, Delete and Cells as dropdowns beside Distribute
221
+ * Columns; Shading, Border Color and Border; the Align and Style dropdowns; and
222
+ * the dialog, which holds the measures — height, width, margins — that would
223
+ * cost the band a field each.
90
224
  */
91
- export function tableCommands(tools) {
92
- const button = (id, group, label, icon, edit, kind) => ({
225
+ export function tableCommands(tools, openProperties) {
226
+ // The pen and the edges laid last, which Border Color and Border share.
227
+ const border = createBorderState();
228
+ const dropdown = (id, group, label, icon, menu, enabledWhen) => ({
93
229
  id,
94
230
  label,
95
231
  icon,
96
232
  group,
97
- run: {
98
- kind: "action",
99
- cluster: "table",
100
- press: () => runEditMenuAction(tools(), { kind: "tableEdit", edit }),
101
- },
102
- enabledWhen: whenTableEdit(kind),
233
+ run: { kind: "menu", menu, cluster: "table" },
234
+ enabledWhen,
103
235
  });
104
- const insert = (id, label, icon, edit, kind) => button(id, "tableInsert", label, icon, edit, kind);
105
236
  return {
106
237
  tableSelect: {
107
238
  id: "tableSelect",
108
239
  label: "table.select",
109
240
  icon: ICON_TOOL_POINTER,
110
241
  group: "tableSelect",
111
- run: { kind: "menu", menu: TABLE_SELECT_MENU },
242
+ run: { kind: "menu", menu: TOOLBAR_SELECT_MENU },
243
+ enabledWhen: inTable,
244
+ },
245
+ tableInsert: dropdown("tableInsert", "tableEdit", "table.insert", ICON_INSERT_ROW_BELOW, TOOLBAR_INSERT_MENU, inTable),
246
+ tableDelete: dropdown("tableDelete", "tableEdit", "table.delete", ICON_DELETE_ROWS, TOOLBAR_DELETE_MENU, inTable),
247
+ tableCells: dropdown("tableCells", "tableEdit", "table.cells", ICON_MERGE_CELLS, TABLE_CELLS_MENU, inTable),
248
+ tableDistribute: {
249
+ id: "tableDistribute",
250
+ label: "table.distributeColumns",
251
+ icon: ICON_DISTRIBUTE_H,
252
+ group: "tableEdit",
253
+ run: {
254
+ kind: "action",
255
+ cluster: "table",
256
+ press: () => runEditMenuAction(tools(), { kind: "tableEdit", edit: "distributeColumns" }),
257
+ },
258
+ enabledWhen: whenTableEdit("distributeColumns"),
259
+ },
260
+ tableShading: {
261
+ id: "tableShading",
262
+ label: "table.shading",
263
+ icon: ICON_FILL,
264
+ group: "tablePaint",
265
+ run: { kind: "control", cluster: "paint", create: (env) => tableShadingControl(env, tools()) },
266
+ enabledWhen: whenTableEdit("patchCellProperties"),
267
+ },
268
+ tableBorder: {
269
+ id: "tableBorder",
270
+ label: "table.border",
271
+ icon: ICON_BORDER_ALL,
272
+ group: "tablePaint",
273
+ run: {
274
+ kind: "control",
275
+ cluster: "paint",
276
+ create: (env) => borderControl(env, tools(), border, "tableBorder", layTableBorder(tools().host)),
277
+ },
278
+ enabledWhen: whenTableEdit("patchCellBorders"),
279
+ },
280
+ tableBorderColor: {
281
+ id: "tableBorderColor",
282
+ label: "table.borderColor",
283
+ icon: ICON_BORDER_COLOR,
284
+ group: "tablePaint",
285
+ run: {
286
+ kind: "control",
287
+ cluster: "paint",
288
+ create: (env) => borderColorControl(env, tools(), border, "tableBorderColor"),
289
+ },
290
+ enabledWhen: whenTableEdit("patchCellBorders"),
291
+ },
292
+ tableAlign: {
293
+ id: "tableAlign",
294
+ label: "table.cellAlignment",
295
+ icon: ICON_CELL_ALIGN_TOP,
296
+ group: "tableFormat",
297
+ run: { kind: "menu", menu: TABLE_ALIGN_MENU },
298
+ enabledWhen: whenTableEdit("patchCellProperties"),
299
+ },
300
+ tableStyle: {
301
+ id: "tableStyle",
302
+ label: "table.styleOptions",
303
+ icon: ICON_TABLE_STYLE,
304
+ group: "tableFormat",
305
+ run: { kind: "menu", menu: TABLE_STYLE_MENU },
306
+ enabledWhen: whenTableEdit("patchTableProperties"),
307
+ },
308
+ tableProperties: {
309
+ id: "tableProperties",
310
+ label: "table.properties",
311
+ icon: ICON_TABLE_PROPERTIES,
312
+ group: "tableProperties",
313
+ run: { kind: "action", press: openProperties },
112
314
  enabledWhen: inTable,
113
315
  },
114
- tableInsertRowAbove: insert("tableInsertRowAbove", "table.insertRowAbove", ICON_INSERT_ROW_ABOVE, { insertRows: { before: true, count: 1 } }, "insertRows"),
115
- tableInsertRowBelow: insert("tableInsertRowBelow", "table.insertRowBelow", ICON_INSERT_ROW_BELOW, { insertRows: { before: false, count: 1 } }, "insertRows"),
116
- tableInsertColumnLeft: insert("tableInsertColumnLeft", "table.insertColumnLeft", ICON_INSERT_COLUMN_LEFT, { insertColumns: { before: true, count: 1 } }, "insertColumns"),
117
- tableInsertColumnRight: insert("tableInsertColumnRight", "table.insertColumnRight", ICON_INSERT_COLUMN_RIGHT, { insertColumns: { before: false, count: 1 } }, "insertColumns"),
118
- tableDeleteRows: button("tableDeleteRows", "tableDelete", "table.deleteRowsButton", ICON_DELETE_ROWS, "deleteRows", "deleteRows"),
119
- tableDeleteColumns: button("tableDeleteColumns", "tableDelete", "table.deleteColumnsButton", ICON_DELETE_COLUMNS, "deleteColumns", "deleteColumns"),
120
- tableMerge: button("tableMerge", "tableMerge", "table.mergeCells", ICON_MERGE_CELLS, "mergeCells", "mergeCells"),
121
- tableUnmerge: button("tableUnmerge", "tableMerge", "table.unmergeCells", ICON_UNMERGE_CELLS, "unmergeCells", "unmergeCells"),
122
316
  };
123
317
  }
124
318
  //# sourceMappingURL=table.js.map
package/dist/table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
package/dist/tabs.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { UDocType } from "@docmentis/udoc-ui";
2
2
  import type { CommandId, ToolbarTab } from "@docmentis/udoc-ui/internal";
3
3
  import type { MessageKey } from "./i18n/index.js";
4
4
  /** A command edit mode's tabs name: udoc-ui's, or the editor's own. */
5
- export type EditCommandId = CommandId | "paragraphStyle" | "fontFamily" | "fontSize" | "bold" | "italic" | "underline" | "strikethrough" | "superscript" | "subscript" | "widthScale" | "textFill" | "textHighlight" | "paragraphAlign" | "lineSpacing" | "bulletList" | "numberList" | "changeShape" | "shapeFillColor" | "shapeStrokeColor" | "shapeOrder" | "shapeAlign" | "shapeRotate" | "shapeGroup" | "shapeUngroup" | "objectFillColor" | "objectStrokeColor" | "objectOpacity" | "objectOrder" | "objectAlign" | "objectRotate" | "objectGroup" | "objectUngroup" | "tableSelect" | "tableInsertRowAbove" | "tableInsertRowBelow" | "tableInsertColumnLeft" | "tableInsertColumnRight" | "tableDeleteRows" | "tableDeleteColumns" | "tableMerge" | "tableUnmerge" | "ruler" | "createSlide" | "deleteSlide" | "changeLayout" | "insertImage" | "insertPageImage" | "insertShape" | "insertGalleryShape" | "insertTextBox" | "pageCreate" | "pageDelete" | "pageRotateLeft" | "pageRotateRight" | "pageResize" | "rotatePageLeft" | "rotatePageRight" | "flipPageHorizontal" | "flipPageVertical" | "cropPage" | "resizePage" | "cropAspect" | "cropReset" | "cropCancel" | "cropApply";
5
+ export type EditCommandId = CommandId | "paragraphStyle" | "fontFamily" | "fontSize" | "bold" | "italic" | "underline" | "strikethrough" | "superscript" | "subscript" | "widthScale" | "textFill" | "textHighlight" | "paragraphAlign" | "lineSpacing" | "bulletList" | "numberList" | "changeShape" | "shapeFillColor" | "shapeStrokeColor" | "shapeOrder" | "shapeAlign" | "shapeRotate" | "shapeGroup" | "shapeUngroup" | "objectFillColor" | "objectStrokeColor" | "objectOpacity" | "objectOrder" | "objectAlign" | "objectRotate" | "objectGroup" | "objectUngroup" | "tableSelect" | "tableInsert" | "tableDelete" | "tableCells" | "tableDistribute" | "tableShading" | "tableBorderColor" | "tableBorder" | "tableAlign" | "tableStyle" | "tableProperties" | "cellFill" | "cellBorderColor" | "cellBorder" | "cellAlign" | "cellWrap" | "cellMerge" | "cellNumberFormat" | "cellDecimalsUp" | "cellDecimalsDown" | "cellClearFormats" | "ruler" | "createSlide" | "deleteSlide" | "changeLayout" | "insertImage" | "insertTable" | "insertPageImage" | "insertShape" | "insertGalleryShape" | "insertTextBox" | "pageCreate" | "pageDelete" | "pageRotateLeft" | "pageRotateRight" | "pageResize" | "rotatePageLeft" | "rotatePageRight" | "flipPageHorizontal" | "flipPageVertical" | "cropPage" | "resizePage" | "cropAspect" | "cropReset" | "cropCancel" | "cropApply";
6
6
  /** A tab of edit mode's. */
7
7
  type EditTab = ToolbarTab<MessageKey>;
8
8
  /** Edit mode's tab strip for a document of `docType`. */
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,KAAK,EAAE,SAAS,EAAyB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAYlD,uEAAuE;AACvE,MAAM,MAAM,aAAa,GACnB,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,UAAU,GACV,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,aAAa,GACb,WAAW,GACX,YAAY,GACZ,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,aAAa,GACb,cAAc,GACd,aAAa,GACb,eAAe,GACf,aAAa,GACb,qBAAqB,GACrB,qBAAqB,GACrB,uBAAuB,GACvB,wBAAwB,GACxB,iBAAiB,GACjB,oBAAoB,GACpB,YAAY,GACZ,cAAc,GACd,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,aAAa,GACb,iBAAiB,GACjB,aAAa,GACb,oBAAoB,GACpB,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,CAAC;AAElB,4BAA4B;AAC5B,KAAK,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAoTtC,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,OAAO,EAAE,CAerE"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,KAAK,EAAE,SAAS,EAAyB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAalD,uEAAuE;AACvE,MAAM,MAAM,aAAa,GACnB,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,UAAU,GACV,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,aAAa,GACb,WAAW,GACX,YAAY,GACZ,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,aAAa,GACb,cAAc,GACd,aAAa,GACb,eAAe,GACf,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,UAAU,GACV,iBAAiB,GACjB,YAAY,GACZ,WAAW,GACX,UAAU,GACV,WAAW,GACX,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,GAClB,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,aAAa,GACb,aAAa,GACb,iBAAiB,GACjB,aAAa,GACb,oBAAoB,GACpB,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,CAAC;AAElB,4BAA4B;AAC5B,KAAK,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AAwXtC,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,OAAO,EAAE,CAerE"}