@docmentis/udoc-editor 0.8.7 → 0.8.9

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/arrange.d.ts +3 -0
  2. package/dist/arrange.d.ts.map +1 -1
  3. package/dist/arrange.js +10 -12
  4. package/dist/arrange.js.map +1 -1
  5. package/dist/components/CropOverlay.d.ts +27 -0
  6. package/dist/components/CropOverlay.d.ts.map +1 -0
  7. package/dist/components/CropOverlay.js +126 -0
  8. package/dist/components/CropOverlay.js.map +1 -0
  9. package/dist/components/ImageSizeModal.d.ts +23 -0
  10. package/dist/components/ImageSizeModal.d.ts.map +1 -0
  11. package/dist/components/ImageSizeModal.js +189 -0
  12. package/dist/components/ImageSizeModal.js.map +1 -0
  13. package/dist/components/NewSlideModal.d.ts +7 -2
  14. package/dist/components/NewSlideModal.d.ts.map +1 -1
  15. package/dist/components/NewSlideModal.js +10 -3
  16. package/dist/components/NewSlideModal.js.map +1 -1
  17. package/dist/crop-box.d.ts +33 -0
  18. package/dist/crop-box.d.ts.map +1 -0
  19. package/dist/crop-box.js +107 -0
  20. package/dist/crop-box.js.map +1 -0
  21. package/dist/crop.d.ts +28 -0
  22. package/dist/crop.d.ts.map +1 -0
  23. package/dist/crop.js +256 -0
  24. package/dist/crop.js.map +1 -0
  25. package/dist/edit-client.d.ts +0 -6
  26. package/dist/edit-client.d.ts.map +1 -1
  27. package/dist/edit-client.js +0 -8
  28. package/dist/edit-client.js.map +1 -1
  29. package/dist/edit-mode.d.ts +0 -2
  30. package/dist/edit-mode.d.ts.map +1 -1
  31. package/dist/edit-mode.js +48 -14
  32. package/dist/edit-mode.js.map +1 -1
  33. package/dist/editor.d.ts +0 -8
  34. package/dist/editor.d.ts.map +1 -1
  35. package/dist/editor.js +0 -10
  36. package/dist/editor.js.map +1 -1
  37. package/dist/i18n/ar.d.ts.map +1 -1
  38. package/dist/i18n/ar.js +15 -1
  39. package/dist/i18n/ar.js.map +1 -1
  40. package/dist/i18n/de.d.ts.map +1 -1
  41. package/dist/i18n/de.js +15 -1
  42. package/dist/i18n/de.js.map +1 -1
  43. package/dist/i18n/en.d.ts.map +1 -1
  44. package/dist/i18n/en.js +15 -1
  45. package/dist/i18n/en.js.map +1 -1
  46. package/dist/i18n/es.d.ts.map +1 -1
  47. package/dist/i18n/es.js +15 -1
  48. package/dist/i18n/es.js.map +1 -1
  49. package/dist/i18n/fr.d.ts.map +1 -1
  50. package/dist/i18n/fr.js +15 -1
  51. package/dist/i18n/fr.js.map +1 -1
  52. package/dist/i18n/ja.d.ts.map +1 -1
  53. package/dist/i18n/ja.js +15 -1
  54. package/dist/i18n/ja.js.map +1 -1
  55. package/dist/i18n/ko.d.ts.map +1 -1
  56. package/dist/i18n/ko.js +15 -1
  57. package/dist/i18n/ko.js.map +1 -1
  58. package/dist/i18n/messages.d.ts +28 -2
  59. package/dist/i18n/messages.d.ts.map +1 -1
  60. package/dist/i18n/pt-BR.d.ts.map +1 -1
  61. package/dist/i18n/pt-BR.js +15 -1
  62. package/dist/i18n/pt-BR.js.map +1 -1
  63. package/dist/i18n/ru.d.ts.map +1 -1
  64. package/dist/i18n/ru.js +15 -1
  65. package/dist/i18n/ru.js.map +1 -1
  66. package/dist/i18n/zh-CN.d.ts.map +1 -1
  67. package/dist/i18n/zh-CN.js +15 -1
  68. package/dist/i18n/zh-CN.js.map +1 -1
  69. package/dist/i18n/zh-TW.d.ts.map +1 -1
  70. package/dist/i18n/zh-TW.js +15 -1
  71. package/dist/i18n/zh-TW.js.map +1 -1
  72. package/dist/icons.d.ts +10 -2
  73. package/dist/icons.d.ts.map +1 -1
  74. package/dist/icons.js +10 -2
  75. package/dist/icons.js.map +1 -1
  76. package/dist/image.d.ts +39 -0
  77. package/dist/image.d.ts.map +1 -0
  78. package/dist/image.js +203 -0
  79. package/dist/image.js.map +1 -0
  80. package/dist/insert.d.ts +3 -3
  81. package/dist/insert.d.ts.map +1 -1
  82. package/dist/insert.js +17 -8
  83. package/dist/insert.js.map +1 -1
  84. package/dist/markup.d.ts +23 -0
  85. package/dist/markup.d.ts.map +1 -0
  86. package/dist/markup.js +100 -0
  87. package/dist/markup.js.map +1 -0
  88. package/dist/menu-action.d.ts +6 -1
  89. package/dist/menu-action.d.ts.map +1 -1
  90. package/dist/menu-action.js +4 -1
  91. package/dist/menu-action.js.map +1 -1
  92. package/dist/new-slide.d.ts +1 -2
  93. package/dist/new-slide.d.ts.map +1 -1
  94. package/dist/new-slide.js +9 -5
  95. package/dist/new-slide.js.map +1 -1
  96. package/dist/paint.d.ts +5 -1
  97. package/dist/paint.d.ts.map +1 -1
  98. package/dist/paint.js +27 -16
  99. package/dist/paint.js.map +1 -1
  100. package/dist/ruler.d.ts +8 -1
  101. package/dist/ruler.d.ts.map +1 -1
  102. package/dist/ruler.js +16 -1
  103. package/dist/ruler.js.map +1 -1
  104. package/dist/state.d.ts +25 -10
  105. package/dist/state.d.ts.map +1 -1
  106. package/dist/state.js +3 -1
  107. package/dist/state.js.map +1 -1
  108. package/dist/styles.d.ts.map +1 -1
  109. package/dist/styles.js +149 -2
  110. package/dist/styles.js.map +1 -1
  111. package/dist/tabs.d.ts +1 -1
  112. package/dist/tabs.d.ts.map +1 -1
  113. package/dist/tabs.js +72 -19
  114. package/dist/tabs.js.map +1 -1
  115. package/dist/text-format.js +7 -7
  116. package/dist/text-format.js.map +1 -1
  117. package/dist/tools.d.ts +3 -0
  118. package/dist/tools.d.ts.map +1 -1
  119. package/dist/tools.js +4 -2
  120. package/dist/tools.js.map +1 -1
  121. package/dist/version.d.ts +1 -1
  122. package/dist/version.js +1 -1
  123. package/dist/worker/handlers.d.ts.map +1 -1
  124. package/dist/worker/handlers.js +0 -9
  125. package/dist/worker/handlers.js.map +1 -1
  126. package/dist/worker/protocol.d.ts +1 -12
  127. package/dist/worker/protocol.d.ts.map +1 -1
  128. package/dist/worker/worker-source.js +1 -1
  129. package/package.json +3 -3
  130. package/dist/formatting-marks.d.ts +0 -23
  131. package/dist/formatting-marks.d.ts.map +0 -1
  132. package/dist/formatting-marks.js +0 -55
  133. package/dist/formatting-marks.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGR,UAAU,EAEV,SAAS,EAKZ,MAAM,sBAAsB,CAAC;AAU9B,OAAO,KAAK,EACR,QAAQ,EACR,YAAY,EAEZ,SAAS,EAET,aAAa,EACb,gBAAgB,EAChB,WAAW,EAGX,WAAW,EACd,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQ5C;;;wEAGwE;AACxE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI,CAcvE;AAED;gDACgD;AAChD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAG9D;AAkFD;;+DAE+D;AAC/D,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW;2BAShB,SAAS,KAAG,OAAO,CAAC,IAAI,CAAC;8BAgBtB,UAAU,KAAG,OAAO,CAAC,IAAI,CAAC;EAgB9D;AAED,4DAA4D;AAC5D,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAiB7D;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CACpC;AAED,6CAA6C;AAC7C,wBAAgB,iBAAiB,IAAI,WAAW,CAU/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CACxB,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,EAC5D,KAAK,EAAE,SAAS,GACjB,aAAa,CA4Ff"}
1
+ {"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGR,UAAU,EAEV,SAAS,EACT,SAAS,EAGT,uBAAuB,EAE1B,MAAM,sBAAsB,CAAC;AAY9B,OAAO,KAAK,EACR,QAAQ,EACR,YAAY,EAEZ,SAAS,EAET,aAAa,EACb,gBAAgB,EAChB,WAAW,EAGX,WAAW,EACd,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQ5C;;;wEAGwE;AACxE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI,CAcvE;AAED;gDACgD;AAChD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAG9D;AAwCD;;gBAEgB;AAChB,wBAAgB,aAAa,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAG1F;AA6CD;;+DAE+D;AAC/D,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW;2BAShB,SAAS,KAAG,OAAO,CAAC,IAAI,CAAC;8BAiBtB,UAAU,KAAG,OAAO,CAAC,IAAI,CAAC;EAkB9D;AAED,4DAA4D;AAC5D,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAiB7D;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CACpC;AAED,6CAA6C;AAC7C,wBAAgB,iBAAiB,IAAI,WAAW,CAU/C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CACxB,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,EAC5D,KAAK,EAAE,SAAS,GACjB,aAAa,CA4Ff"}
package/dist/paint.js CHANGED
@@ -1,4 +1,4 @@
1
- import { applyPaintBar, buildPaintPanel, createDropdownButton, DEFAULT_OFFICE_THEME, displayToActivePaint, paintSwatch, themeSwatches, } from "@docmentis/udoc-ui/internal";
1
+ import { applyPaintBar, buildPaintPanel, createDropdownButton, DEFAULT_OFFICE_THEME, displayToActivePaint, drawingProperties, paintSwatch, profileFor, themeSwatches, } from "@docmentis/udoc-ui/internal";
2
2
  import { editState } from "./state.js";
3
3
  /** Split an `#rrggbb` hex into its three bytes (`0..255`). */
4
4
  function hexToRgbBytes(hex) {
@@ -50,20 +50,28 @@ function schemeSlot(slot) {
50
50
  return SCHEME_TOKEN[slot] ?? "text1";
51
51
  }
52
52
  /** A composed stroke as a `DrawingML` `Line`: its paint plus weight (points) and
53
- * a preset dash. */
54
- function paintToDrawingLine(stroke) {
53
+ * a preset dash, over the rest of `current` — the line it replaces, whose
54
+ * arrowheads, caps and joins it keeps. */
55
+ function paintToDrawingLine(stroke, current) {
55
56
  return {
56
57
  width: stroke.weight,
57
- cap: null,
58
- compound: null,
59
- align: null,
58
+ cap: current?.cap ?? null,
59
+ compound: current?.compound ?? null,
60
+ align: current?.align ?? null,
60
61
  fill: paintToDrawingFill(stroke.paint),
61
62
  dash: dashToDrawing(stroke.dash),
62
- join: null,
63
- headEnd: null,
64
- tailEnd: null,
63
+ join: current?.join ?? null,
64
+ headEnd: current?.headEnd ?? null,
65
+ tailEnd: current?.tailEnd ?? null,
65
66
  };
66
67
  }
68
+ /** The line the selected shapes agree on — a deck's, a word document's, or
69
+ * those drawn over an image — or null where they don't, or none is
70
+ * selected. */
71
+ export function selectionLine(properties) {
72
+ const line = drawingProperties(properties)?.shape.line;
73
+ return line !== undefined && typeof line === "object" ? line.value : null;
74
+ }
67
75
  function dashToDrawing(dash) {
68
76
  switch (dash) {
69
77
  case "solid":
@@ -111,11 +119,11 @@ export function createPaintEdits(host) {
111
119
  // Fill / Line — the picker's paint applied to the current selection. The
112
120
  // payload is the open doc type's own model style, built here (the host builds
113
121
  // model JSON, like `insertObject`), then sent through the same `executeOnSelection`
114
- // seam; the doc-type binder replaces the shape's fill / line or the path's
115
- // non-stroking / stroking style. "No Fill" on a PDF path (not expressible as a
116
- // device style) is skipped.
122
+ // seam; the doc-type binder replaces a drawing shape's fill / line or a PDF
123
+ // path's non-stroking / stroking style. "No Fill" on a PDF path (not
124
+ // expressible as a device style) is skipped.
117
125
  function fillSelection(paint) {
118
- if (store.getState().docType === "presentation") {
126
+ if (profileFor(store.getState().docType).drawingShapes) {
119
127
  return commit(() => client.executeOnSelection({ kind: "setShapeFill", fill: paintToDrawingFill(paint) }));
120
128
  }
121
129
  const brush = paintToBrush(paint);
@@ -127,10 +135,13 @@ export function createPaintEdits(host) {
127
135
  }));
128
136
  }
129
137
  // The whole composed stroke (color + weight + dash), since the engine sets the
130
- // outline as one value.
138
+ // outline as one value — over the line the shapes have, so an arrow keeps
139
+ // its head.
131
140
  function strokeSelection(stroke) {
132
- if (store.getState().docType === "presentation") {
133
- return commit(() => client.executeOnSelection({ kind: "setShapeLine", line: paintToDrawingLine(stroke) }));
141
+ const state = store.getState();
142
+ if (profileFor(state.docType).drawingShapes) {
143
+ const line = paintToDrawingLine(stroke, editState(state).selectionLine);
144
+ return commit(() => client.executeOnSelection({ kind: "setShapeLine", line }));
134
145
  }
135
146
  const brush = paintToBrush(stroke.paint);
136
147
  if (!brush)
package/dist/paint.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"paint.js","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paint.js","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"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"}
package/dist/ruler.d.ts CHANGED
@@ -1,5 +1,9 @@
1
- import type { Action, GuideBand, Store, UIState } from "@docmentis/udoc-ui/internal";
1
+ import type { UDocType } from "@docmentis/udoc-wasm";
2
+ import type { Action, CommandDef, GuideBand, Store, UIState } from "@docmentis/udoc-ui/internal";
2
3
  import type { EditHost } from "./edit-client.js";
4
+ import type { MessageKey } from "./i18n/index.js";
5
+ /** The doc types the engine measures with a ruler: the paged ones. */
6
+ export declare const RULED: ReadonlySet<UDocType>;
3
7
  /** The ruler band, with controls of its own — one per editor, whose edits run
4
8
  * through the `host` edit mode lends once it is mounted. Paints only a ruler
5
9
  * projection; any other leaves the strips cleared to their band background
@@ -10,4 +14,7 @@ export declare function createRuler(host: () => EditHost | null): GuideBand;
10
14
  export declare function rulerShown(state: UIState): boolean;
11
15
  /** Show or hide the ruler in `store` — a user preference, kept across documents. */
12
16
  export declare function setShowRuler(store: Store<UIState, Action>, visible: boolean): void;
17
+ /** The Ruler toggle — a guide over the pages, on the View tab of a doc type
18
+ * edit mode rules (see {@link RULED}), live whatever is selected. */
19
+ export declare const RULER_COMMAND: CommandDef<MessageKey>;
13
20
  //# sourceMappingURL=ruler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ruler.d.ts","sourceRoot":"","sources":["../src/ruler.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAyB,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAqOjD;;;uBAGuB;AACvB,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,QAAQ,GAAG,IAAI,GAAG,SAAS,CA4BlE;AAED;qBACqB;AACrB,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAElF"}
1
+ {"version":3,"file":"ruler.d.ts","sourceRoot":"","sources":["../src/ruler.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAoB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAyB,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACxH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAUlD,sEAAsE;AACtE,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAqE,CAAC;AA2N9G;;;uBAGuB;AACvB,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,QAAQ,GAAG,IAAI,GAAG,SAAS,CA4BlE;AAED;qBACqB;AACrB,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAElF;AAED;sEACsE;AACtE,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC,UAAU,CAWhD,CAAC"}
package/dist/ruler.js CHANGED
@@ -1,8 +1,9 @@
1
+ import { ICON_RULER } from "./icons.js";
1
2
  import { createRulerControls } from "./ruler-controls.js";
2
3
  import { rulerEdit, rulerMovable } from "./ruler-edits.js";
3
4
  import { editState, updateEditState } from "./state.js";
4
5
  /** The doc types the engine measures with a ruler: the paged ones. */
5
- const RULED = new Set(["portable", "presentation", "wordprocessing"]);
6
+ export const RULED = new Set(["portable", "presentation", "wordprocessing"]);
6
7
  /** The rulers' depth, top and left alike, CSS px. */
7
8
  const THICKNESS = 22;
8
9
  /** A screen-fixed UI font for the labels — not the document's fonts. */
@@ -235,4 +236,18 @@ export function rulerShown(state) {
235
236
  export function setShowRuler(store, visible) {
236
237
  updateEditState(store, { showRuler: visible });
237
238
  }
239
+ /** The Ruler toggle — a guide over the pages, on the View tab of a doc type
240
+ * edit mode rules (see {@link RULED}), live whatever is selected. */
241
+ export const RULER_COMMAND = {
242
+ id: "ruler",
243
+ label: "command.ruler",
244
+ icon: ICON_RULER,
245
+ group: "guides",
246
+ run: {
247
+ kind: "toggle",
248
+ pressed: (s) => editState(s).showRuler,
249
+ press: (store) => setShowRuler(store, !editState(store.getState()).showRuler),
250
+ },
251
+ enabledWhen: (c) => c.ready,
252
+ };
238
253
  //# sourceMappingURL=ruler.js.map
package/dist/ruler.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ruler.js","sourceRoot":"","sources":["../src/ruler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruler.js","sourceRoot":"","sources":["../src/ruler.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -1,19 +1,12 @@
1
- import type { FontFamilySummary } from "@docmentis/udoc-wasm";
1
+ import type { FontFamilySummary, PaintLine } from "@docmentis/udoc-wasm";
2
2
  import type { Action, CommandContext, SelectionPaint, SelectionTextFormat, Store, ThemePalette, UIState } from "@docmentis/udoc-ui/internal";
3
+ import type { CropAspect } from "./crop-box.js";
3
4
  import type { EditorMode } from "./mode.js";
4
5
  import type { SelectionRuler } from "./ruler-edits.js";
5
6
  export interface EditState {
6
- /**
7
- * Whether formatting marks (`¶`, a dot per space, a tab's arrow, `↵`) are
8
- * drawn over the text — the ribbon's Show Formatting Marks toggle. A user
9
- * preference, off by default; the marks are editing chrome, so what reaches
10
- * the engine is `showFormattingMarks` in edit mode on a wordprocessing
11
- * document.
12
- */
13
- showFormattingMarks: boolean;
14
7
  /**
15
8
  * Whether the page ruler is shown (paged doc types — PDF / DOCX / PPTX). A
16
- * user preference the host toggles; the ruler is additionally suppressed in
9
+ * user preference the host and the View tab's Ruler toggle; the ruler is additionally suppressed in
17
10
  * `view` mode (a reading pose needs no measurement chrome). A spreadsheet's
18
11
  * row/column headers are essential and never gated by this.
19
12
  */
@@ -69,6 +62,28 @@ export interface EditState {
69
62
  * selection reports, projected from the engine's selection properties.
70
63
  */
71
64
  selectionRuler: SelectionRuler;
65
+ /**
66
+ * The line of the selected shapes, where they agree on one — what a Line
67
+ * pick keeps the arrowheads, caps and joins of, as it sets the color,
68
+ * weight and dash. Null where they don't, or nothing is selected.
69
+ */
70
+ selectionLine: PaintLine | null;
71
+ /**
72
+ * Whether the current page of an image takes the shapes the Insert tab
73
+ * draws: false for an animated or a vector page, and for any other doc
74
+ * type. Re-read as the current page and the document change.
75
+ */
76
+ pageTakesMarkup: boolean;
77
+ /**
78
+ * Crop mode on an image's page — the page cropped, the aspect its box
79
+ * keeps, and whether the page shows a crop already, which Reset takes
80
+ * away — or null outside it. The box itself is the crop overlay's.
81
+ */
82
+ cropping: {
83
+ page: number;
84
+ aspect: CropAspect;
85
+ cropped: boolean;
86
+ } | null;
72
87
  /** The modes the host lets the user switch between (drives the mode
73
88
  * switcher, which offers those the session is entitled to —
74
89
  * `modeEntitled`). */
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EACR,MAAM,EACN,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,YAAY,EACZ,OAAO,EACV,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,SAAS;IACtB;;;;;;OAMG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAElC;;;;;;;;;;;OAWG;IACH,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAE3C;;;;;;;OAOG;IACH,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IAEzC;;;;;;OAMG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;;;;;OAMG;IACH,cAAc,EAAE,cAAc,CAAC;IAE/B;;;;OAIG;IACH,cAAc,EAAE,cAAc,CAAC;IAE/B;;2BAEuB;IACvB,YAAY,EAAE,SAAS,UAAU,EAAE,CAAC;IAEpC;sCACkC;IAClC,cAAc,EAAE,OAAO,CAAC;IAExB;;kDAE8C;IAC9C,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,kCAAkC;AAClC,eAAO,MAAM,kBAAkB,EAAE,SAYhC,CAAC;AAEF,oCAAoC;AACpC,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAEnD;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,CAE9D;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAE/F"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,KAAK,EACR,MAAM,EACN,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,YAAY,EACZ,OAAO,EACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,SAAS;IACtB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAElC;;;;;;;;;;;OAWG;IACH,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAE3C;;;;;;;OAOG;IACH,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;IAEzC;;;;;;OAMG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;;;;;OAMG;IACH,cAAc,EAAE,cAAc,CAAC;IAE/B;;;;OAIG;IACH,cAAc,EAAE,cAAc,CAAC;IAE/B;;;;OAIG;IACH,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAEhC;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAExE;;2BAEuB;IACvB,YAAY,EAAE,SAAS,UAAU,EAAE,CAAC;IAEpC;sCACkC;IAClC,cAAc,EAAE,OAAO,CAAC;IAExB;;kDAE8C;IAC9C,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,kCAAkC;AAClC,eAAO,MAAM,kBAAkB,EAAE,SAchC,CAAC;AAEF,oCAAoC;AACpC,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAEnD;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,CAE9D;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAE/F"}
package/dist/state.js CHANGED
@@ -3,7 +3,6 @@ import { ALL_MODES } from "./mode.js";
3
3
  import { EMPTY_SELECTION_RULER } from "./ruler-edits.js";
4
4
  /** Edit mode's state at start. */
5
5
  export const INITIAL_EDIT_STATE = {
6
- showFormattingMarks: false,
7
6
  showRuler: true,
8
7
  themePalette: null,
9
8
  fontFamilies: [],
@@ -11,6 +10,9 @@ export const INITIAL_EDIT_STATE = {
11
10
  selectionText: EMPTY_SELECTION_TEXT_FORMAT,
12
11
  selectionPaint: EMPTY_SELECTION_PAINT,
13
12
  selectionRuler: EMPTY_SELECTION_RULER,
13
+ selectionLine: null,
14
+ pageTakesMarkup: false,
15
+ cropping: null,
14
16
  allowedModes: ALL_MODES,
15
17
  showModeSwitch: true,
16
18
  alignToPage: false,
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAUjG,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AA6FzD,kCAAkC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAc;IACzC,mBAAmB,EAAE,KAAK;IAC1B,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,EAAE;IAChB,qBAAqB,EAAE,EAAE;IACzB,aAAa,EAAE,2BAA2B;IAC1C,cAAc,EAAE,qBAAqB;IACrC,cAAc,EAAE,qBAAqB;IACrC,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,KAAK;CACrB,CAAC;AAEF,oCAAoC;AACpC,MAAM,UAAU,SAAS,CAAC,KAAc;IACpC,OAAO,KAAK,CAAC,SAAsB,CAAC;AACxC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,WAAW,CAAC,OAAuB;IAC/C,OAAO,OAAO,CAAC,SAAsB,CAAC;AAC1C,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,eAAe,CAAC,KAA6B,EAAE,MAA0B;IACrF,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;AAC9G,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAWjG,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAyGzD,kCAAkC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAc;IACzC,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,EAAE;IAChB,qBAAqB,EAAE,EAAE;IACzB,aAAa,EAAE,2BAA2B;IAC1C,cAAc,EAAE,qBAAqB;IACrC,cAAc,EAAE,qBAAqB;IACrC,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,KAAK;IACtB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,KAAK;CACrB,CAAC;AAEF,oCAAoC;AACpC,MAAM,UAAU,SAAS,CAAC,KAAc;IACpC,OAAO,KAAK,CAAC,SAAsB,CAAC;AACxC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,WAAW,CAAC,OAAuB;IAC/C,OAAO,OAAO,CAAC,SAAsB,CAAC;AAC1C,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,eAAe,CAAC,KAA6B,EAAE,MAA0B;IACrF,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;AAC9G,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,QAg1BxB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,QAm+BxB,CAAC"}
package/dist/styles.js CHANGED
@@ -339,6 +339,153 @@ export const editorStyles = css `
339
339
  outline-offset: 2px;
340
340
  }
341
341
 
342
+ /* The Image Size dialog's rows beyond the page-settings dialog's: the
343
+ pixel unit beside the size fields, the aspect lock, the original size, and
344
+ Reset at the footer's start. */
345
+ .udoc-ui-root .udoc-page-modal__unit-label {
346
+ flex: 0 0 auto;
347
+ height: 32px;
348
+ line-height: 32px;
349
+ font-size: 13px;
350
+ color: var(--udoc-color-on-surface-variant);
351
+ }
352
+
353
+ .udoc-ui-root .udoc-page-modal__check {
354
+ display: flex;
355
+ align-items: center;
356
+ gap: 8px;
357
+ margin-top: 12px;
358
+ font-size: 13px;
359
+ color: var(--udoc-color-on-surface);
360
+ cursor: pointer;
361
+ }
362
+
363
+ .udoc-ui-root .udoc-page-modal__check input {
364
+ margin: 0;
365
+ accent-color: var(--udoc-color-primary);
366
+ }
367
+
368
+ .udoc-ui-root .udoc-page-modal__hint {
369
+ margin: 12px 0 10px;
370
+ font-size: 12px;
371
+ color: var(--udoc-color-on-surface-variant);
372
+ font-variant-numeric: tabular-nums;
373
+ }
374
+
375
+ .udoc-ui-root .udoc-page-modal__secondary {
376
+ margin-right: auto;
377
+ height: 34px;
378
+ padding: 0 14px;
379
+ border: 1px solid var(--udoc-color-outline-variant);
380
+ border-radius: 6px;
381
+ background: transparent;
382
+ color: var(--udoc-color-on-surface);
383
+ font-size: 13px;
384
+ cursor: pointer;
385
+ }
386
+
387
+ .udoc-ui-root .udoc-page-modal__secondary:hover {
388
+ background-image: linear-gradient(var(--udoc-state-hover) 0 0);
389
+ }
390
+
391
+ /* --- Crop mode over an image's page (udoc:image-crop) ---
392
+ The page dimmed outside the box, the box with a rule-of-thirds grid and a
393
+ handle on each corner and edge, and the size badge. White over a dark edge,
394
+ not a theme role: it sits on the image, whatever the theme, so it reads on
395
+ light and dark pixels alike. */
396
+ .udoc-ui-root .udoc-crop {
397
+ position: relative;
398
+ pointer-events: auto;
399
+ touch-action: none;
400
+ }
401
+
402
+ .udoc-ui-root .udoc-crop__shade {
403
+ position: absolute;
404
+ background: rgb(0 0 0 / 0.5);
405
+ }
406
+
407
+ .udoc-ui-root .udoc-crop__box {
408
+ position: absolute;
409
+ box-sizing: border-box;
410
+ border: 1px solid #fff;
411
+ outline: 1px solid rgb(0 0 0 / 0.45);
412
+ cursor: move;
413
+ }
414
+
415
+ .udoc-ui-root .udoc-crop__grid {
416
+ position: absolute;
417
+ inset: 0;
418
+ pointer-events: none;
419
+ background-image:
420
+ linear-gradient(to right, rgb(255 255 255 / 0.5) 1px, transparent 1px),
421
+ linear-gradient(to bottom, rgb(255 255 255 / 0.5) 1px, transparent 1px);
422
+ background-size: calc(100% / 3) calc(100% / 3);
423
+ }
424
+
425
+ .udoc-ui-root .udoc-crop__handle {
426
+ position: absolute;
427
+ width: 10px;
428
+ height: 10px;
429
+ margin: -5px 0 0 -5px;
430
+ box-sizing: border-box;
431
+ background: #fff;
432
+ border: 1px solid rgb(0 0 0 / 0.6);
433
+ border-radius: 2px;
434
+ }
435
+
436
+ /* A wider target than the square it draws. */
437
+ .udoc-ui-root .udoc-crop__handle::before {
438
+ content: "";
439
+ position: absolute;
440
+ inset: -6px;
441
+ }
442
+
443
+ .udoc-ui-root .udoc-crop__handle--nw {
444
+ left: 0;
445
+ top: 0;
446
+ }
447
+ .udoc-ui-root .udoc-crop__handle--n {
448
+ left: 50%;
449
+ top: 0;
450
+ }
451
+ .udoc-ui-root .udoc-crop__handle--ne {
452
+ left: 100%;
453
+ top: 0;
454
+ }
455
+ .udoc-ui-root .udoc-crop__handle--e {
456
+ left: 100%;
457
+ top: 50%;
458
+ }
459
+ .udoc-ui-root .udoc-crop__handle--se {
460
+ left: 100%;
461
+ top: 100%;
462
+ }
463
+ .udoc-ui-root .udoc-crop__handle--s {
464
+ left: 50%;
465
+ top: 100%;
466
+ }
467
+ .udoc-ui-root .udoc-crop__handle--sw {
468
+ left: 0;
469
+ top: 100%;
470
+ }
471
+ .udoc-ui-root .udoc-crop__handle--w {
472
+ left: 0;
473
+ top: 50%;
474
+ }
475
+
476
+ .udoc-ui-root .udoc-crop__size {
477
+ position: absolute;
478
+ transform: translateX(-50%);
479
+ padding: 2px 8px;
480
+ border-radius: 4px;
481
+ background: rgb(0 0 0 / 0.7);
482
+ color: #fff;
483
+ font-size: 12px;
484
+ font-variant-numeric: tabular-nums;
485
+ white-space: nowrap;
486
+ pointer-events: none;
487
+ }
488
+
342
489
  /* --- New-Slide layout picker (NewSlideModal) --- */
343
490
 
344
491
  .udoc-ui-root .udoc-slide-picker {
@@ -438,7 +585,6 @@ export const editorStyles = css `
438
585
  display: block;
439
586
  width: 100%;
440
587
  height: auto;
441
- aspect-ratio: 16 / 9;
442
588
  border-radius: 3px;
443
589
  background: var(--udoc-color-surface);
444
590
  box-shadow: 0 0 0 1px var(--udoc-color-outline-variant) inset;
@@ -483,7 +629,8 @@ export const editorStyles = css `
483
629
  .udoc-ui-root .udoc-combobox__input:focus {
484
630
  outline: none;
485
631
  }
486
- /* The caret shares the button caret's 3│chevron│3 metrics and muted tint. */
632
+ /* The caret shares the button caret's metrics (the chevron alone, unpadded)
633
+ and muted tint. */
487
634
  .udoc-ui-root .udoc-combobox__caret {
488
635
  display: inline-flex;
489
636
  align-items: center;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mDAAmD;AACnD,EAAE;AACF,uEAAuE;AACvE,+EAA+E;AAC/E,4BAA4B;AAC5B,MAAM,GAAG,GAAG,CAAC,OAA6B,EAAE,GAAG,MAAiB,EAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC;AAErH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAg1B9B,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mDAAmD;AACnD,EAAE;AACF,uEAAuE;AACvE,+EAA+E;AAC/E,4BAA4B;AAC5B,MAAM,GAAG,GAAG,CAAC,OAA6B,EAAE,GAAG,MAAiB,EAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC;AAErH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAm+B9B,CAAC"}
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 | "fontFamily" | "fontSize" | "bold" | "italic" | "underline" | "strikethrough" | "superscript" | "subscript" | "widthScale" | "textFill" | "textHighlight" | "paragraphAlign" | "lineSpacing" | "bulletList" | "numberList" | "shapeFillColor" | "shapeStrokeColor" | "shapeArrange" | "objectFillColor" | "objectStrokeColor" | "objectArrange" | "formattingMarks" | "createSlide" | "insertImage" | "insertShape";
5
+ export type EditCommandId = CommandId | "fontFamily" | "fontSize" | "bold" | "italic" | "underline" | "strikethrough" | "superscript" | "subscript" | "widthScale" | "textFill" | "textHighlight" | "paragraphAlign" | "lineSpacing" | "bulletList" | "numberList" | "shapeFillColor" | "shapeStrokeColor" | "shapeArrange" | "objectFillColor" | "objectStrokeColor" | "objectArrange" | "ruler" | "createSlide" | "insertImage" | "insertShape" | "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":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,uEAAuE;AACvE,MAAM,MAAM,aAAa,GACnB,SAAS,GACT,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,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAEpB,4BAA4B;AAC5B,KAAK,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AA8JtC,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,OAAO,EAAE,CAWrE"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,uEAAuE;AACvE,MAAM,MAAM,aAAa,GACnB,SAAS,GACT,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,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,OAAO,GACP,aAAa,GACb,aAAa,GACb,aAAa,GACb,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;AAmNtC,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,OAAO,EAAE,CAerE"}