@docmentis/udoc-editor 0.8.9 → 0.8.11
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/arrange.d.ts +10 -20
- package/dist/arrange.d.ts.map +1 -1
- package/dist/arrange.js +50 -79
- package/dist/arrange.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +21 -30
- package/dist/commands.js.map +1 -1
- package/dist/components/ImageSizeModal.js +1 -1
- package/dist/components/ImageSizeModal.js.map +1 -1
- package/dist/components/NewSlideModal.d.ts +4 -4
- package/dist/components/NewSlideModal.d.ts.map +1 -1
- package/dist/components/NewSlideModal.js +1 -1
- package/dist/components/NewSlideModal.js.map +1 -1
- package/dist/components/TextControls.d.ts +11 -0
- package/dist/components/TextControls.d.ts.map +1 -1
- package/dist/components/TextControls.js +57 -2
- package/dist/components/TextControls.js.map +1 -1
- package/dist/crop.d.ts +3 -3
- package/dist/crop.d.ts.map +1 -1
- package/dist/crop.js +3 -3
- package/dist/crop.js.map +1 -1
- package/dist/edit-client.d.ts +15 -9
- package/dist/edit-client.d.ts.map +1 -1
- package/dist/edit-client.js +17 -9
- package/dist/edit-client.js.map +1 -1
- package/dist/edit-mode.d.ts.map +1 -1
- package/dist/edit-mode.js +16 -4
- package/dist/edit-mode.js.map +1 -1
- package/dist/i18n/ar.d.ts.map +1 -1
- package/dist/i18n/ar.js +214 -3
- package/dist/i18n/ar.js.map +1 -1
- package/dist/i18n/de.d.ts.map +1 -1
- package/dist/i18n/de.js +214 -3
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +214 -3
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +214 -3
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +214 -3
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/ja.d.ts.map +1 -1
- package/dist/i18n/ja.js +214 -3
- package/dist/i18n/ja.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +214 -3
- package/dist/i18n/ko.js.map +1 -1
- package/dist/i18n/messages.d.ts +424 -6
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/i18n/pt-BR.d.ts.map +1 -1
- package/dist/i18n/pt-BR.js +214 -3
- package/dist/i18n/pt-BR.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +214 -3
- package/dist/i18n/ru.js.map +1 -1
- package/dist/i18n/zh-CN.d.ts.map +1 -1
- package/dist/i18n/zh-CN.js +214 -3
- package/dist/i18n/zh-CN.js.map +1 -1
- package/dist/i18n/zh-TW.d.ts.map +1 -1
- package/dist/i18n/zh-TW.js +214 -3
- package/dist/i18n/zh-TW.js.map +1 -1
- package/dist/icons.d.ts +4 -2
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +4 -2
- package/dist/icons.js.map +1 -1
- package/dist/image.d.ts +4 -3
- package/dist/image.d.ts.map +1 -1
- package/dist/image.js +4 -11
- package/dist/image.js.map +1 -1
- package/dist/insert.d.ts +5 -3
- package/dist/insert.d.ts.map +1 -1
- package/dist/insert.js +71 -20
- package/dist/insert.js.map +1 -1
- package/dist/markup.d.ts +7 -5
- package/dist/markup.d.ts.map +1 -1
- package/dist/markup.js +11 -16
- package/dist/markup.js.map +1 -1
- package/dist/menu-action.d.ts +1 -5
- package/dist/menu-action.d.ts.map +1 -1
- package/dist/menu-action.js +0 -6
- package/dist/menu-action.js.map +1 -1
- package/dist/new-slide.d.ts +3 -4
- package/dist/new-slide.d.ts.map +1 -1
- package/dist/new-slide.js +11 -12
- package/dist/new-slide.js.map +1 -1
- package/dist/ruler.js +9 -7
- package/dist/ruler.js.map +1 -1
- package/dist/shape-gallery.d.ts +58 -0
- package/dist/shape-gallery.d.ts.map +1 -0
- package/dist/shape-gallery.js +277 -0
- package/dist/shape-gallery.js.map +1 -0
- package/dist/shape-icons.d.ts +4 -0
- package/dist/shape-icons.d.ts.map +1 -0
- package/dist/shape-icons.js +195 -0
- package/dist/shape-icons.js.map +1 -0
- package/dist/slide-shape.d.ts +13 -0
- package/dist/slide-shape.d.ts.map +1 -0
- package/dist/slide-shape.js +96 -0
- package/dist/slide-shape.js.map +1 -0
- package/dist/state.d.ts +8 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +1 -0
- package/dist/state.js.map +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +15 -0
- package/dist/styles.js.map +1 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.d.ts.map +1 -1
- package/dist/tabs.js +140 -136
- package/dist/tabs.js.map +1 -1
- package/dist/text-format.d.ts +8 -1
- package/dist/text-format.d.ts.map +1 -1
- package/dist/text-format.js +36 -0
- package/dist/text-format.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/dist/worker/handlers.d.ts.map +1 -1
- package/dist/worker/handlers.js +11 -8
- package/dist/worker/handlers.js.map +1 -1
- package/dist/worker/protocol.d.ts +19 -7
- package/dist/worker/protocol.d.ts.map +1 -1
- package/dist/worker/worker-source.js +1 -1
- package/package.json +3 -3
package/dist/icons.js
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
export const ICON_RULER = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M168-240q-29.7 0-50.85-21.15Q96-282.3 96-312v-336q0-29.7 21.15-50.85Q138.3-720 168-720h624q29.7 0 50.85 21.15Q864-677.7 864-648v336q0 29.7-21.15 50.85Q821.7-240 792-240H168Zm0-72h624v-336H672v168h-72v-168h-84v168h-72v-168h-84v168h-72v-168H168v336Zm120-168h72-72Zm156 0h72-72Zm156 0h72-72Zm-120 0Z"/></svg>`;
|
|
9
9
|
/** `image` */
|
|
10
10
|
export const ICON_IMAGE = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M216-144q-29.7 0-50.85-21.5Q144-187 144-216v-528q0-29 21.15-50.5T216-816h528q29.7 0 50.85 21.5Q816-773 816-744v528q0 29-21.15 50.5T744-144H216Zm0-72h528v-528H216v528Zm48-72h432L552-480 444-336l-72-96-108 144Zm-48 72v-528 528Z"/></svg>`;
|
|
11
|
+
/** `shapes` */
|
|
12
|
+
export const ICON_SHAPES = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M600-360Zm-264 75q6 1 12 1h12q12 0 23.79-1 11.8-1 24.21-3v120h384v-384H672q2-12.41 3-24.21 1-11.79 1-23.79v-12q0-6-1-12h117q29.7 0 50.85 21.15Q864-581.7 864-552v384q0 29.7-21.15 50.85Q821.7-96 792-96H408q-29.7 0-50.85-21.15Q336-138.3 336-168v-117Zm24.22-51Q250-336 173-412.78t-77-187Q96-710 172.78-787t187-77Q470-864 547-787.22t77 187Q624-490 547.22-413t-187 77Zm.01-72Q440-408 496-464.23q56-56.22 56-136Q552-680 495.77-736q-56.22-56-136-56Q280-792 224-735.77q-56 56.22-56 136Q168-520 224.23-464q56.22 56 136 56ZM360-600Z"/></svg>`;
|
|
11
13
|
/** `crop` */
|
|
12
14
|
export const ICON_CROP = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M696-48v-144H264q-29.7 0-50.85-21.15Q192-234.3 192-264v-432H48v-72h144v-144h72v648h648v72H768v144h-72Zm0-288v-360H336v-72h360q29.7 0 50.85 21.15Q768-725.7 768-696v360h-72Z"/></svg>`;
|
|
13
15
|
/** `photo_size_select_large` */
|
|
@@ -16,6 +18,8 @@ export const ICON_IMAGE_SIZE = `<svg viewBox="0 -960 960 960" fill="currentColor
|
|
|
16
18
|
export const ICON_ASPECT_RATIO = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M552-312h192v-192h-72v120H552v72ZM216-456h72v-120h120v-72H216v192Zm-48 264q-29.7 0-50.85-21.16Q96-234.32 96-264.04v-432.24Q96-726 117.15-747T168-768h624q29.7 0 50.85 21.16Q864-725.68 864-695.96v432.24Q864-234 842.85-213T792-192H168Zm0-72h624v-432H168v432Zm0 0v-432 432Z"/></svg>`;
|
|
17
19
|
/** `crop_free` */
|
|
18
20
|
export const ICON_CROP_RESET = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-168h72v168h168v72H216Zm360 0v-72h168v-168h72v168q0 29.7-21.15 50.85Q773.7-144 744-144H576ZM144-576v-168q0-29.7 21.15-50.85Q186.3-816 216-816h168v72H216v168h-72Zm600 0v-168H576v-72h168q29.7 0 50.85 21.15Q816-773.7 816-744v168h-72Z"/></svg>`;
|
|
21
|
+
/** `style` */
|
|
22
|
+
export const ICON_PARAGRAPH_STYLE = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="m168-175-30-14q-28-12-38-40t3-56l65-140v250Zm148 79q-31 0-53.5-20.5T240-168v-288L374-96h-58Zm207-5q-28 11-55-1.5T430-144L259-613q-11-28 2-55t41-37l294-107q28-11 54.5 2t37.5 41l172 471q11 29-2 55.5T816-205L523-101Zm-79-451q15 0 25.5-10.5T480-588q0-15-10.5-25.5T444-624q-15 0-25.5 10.5T408-588q0 15 10.5 25.5T444-552Zm54 384 294-105-171-471-294 107 171 469ZM327-637l294-107-294 107Z"/></svg>`;
|
|
19
23
|
/** `font_download` */
|
|
20
24
|
export const ICON_FONTS = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M257-240h83.34L384-363h193l43.31 123H703L523-720h-86L257-240Zm151-192 70-199h3l70 199H408ZM168-96q-29.7 0-50.85-21.15Q96-138.3 96-168v-624q0-29.7 21.15-50.85Q138.3-864 168-864h624q29.7 0 50.85 21.15Q864-821.7 864-792v624q0 29.7-21.15 50.85Q821.7-96 792-96H168Zm0-72h624v-624H168v624Zm0-624v624-624Z"/></svg>`;
|
|
21
25
|
/** `format_size` */
|
|
@@ -54,8 +58,6 @@ export const ICON_LINE_SPACING = `<svg viewBox="0 -960 960 960" fill="currentCol
|
|
|
54
58
|
export const ICON_LIST_BULLET = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M360-240v-72h456v72H360Zm0-204v-72h456v72H360Zm0-204v-72h456v72H360ZM215.79-204Q186-204 165-225.21t-21-51Q144-306 165.21-327t51-21Q246-348 267-326.79t21 51Q288-246 266.79-225t-51 21Zm0-204Q186-408 165-429.21t-21-51Q144-510 165.21-531t51-21Q246-552 267-530.79t21 51Q288-450 266.79-429t-51 21Zm0-204Q186-612 165-633.21t-21-51Q144-714 165.21-735t51-21Q246-756 267-734.79t21 51Q288-654 266.79-633t-51 21Z"/></svg>`;
|
|
55
59
|
/** `format_list_numbered` */
|
|
56
60
|
export const ICON_LIST_NUMBER = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M144-144v-48h96v-24h-48v-48h48v-24h-96v-48h120q10.2 0 17.1 6.9 6.9 6.9 6.9 17.1v48q0 10.2-6.9 17.1-6.9 6.9-17.1 6.9 10.2 0 17.1 6.9 6.9 6.9 6.9 17.1v48q0 10.2-6.9 17.1-6.9 6.9-17.1 6.9H144Zm0-240v-96q0-10.2 6.9-17.1 6.9-6.9 17.1-6.9h72v-24h-96v-48h120q10.2 0 17.1 6.9 6.9 6.9 6.9 17.1v72q0 10.2-6.9 17.1-6.9 6.9-17.1 6.9h-72v24h96v48H144Zm48-240v-144h-48v-48h96v192h-48Zm168 384v-72h456v72H360Zm0-204v-72h456v72H360Zm0-204v-72h456v72H360Z"/></svg>`;
|
|
57
|
-
/** `stack` */
|
|
58
|
-
export const ICON_ARRANGE = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M264-408v72h-96q-29.7 0-50.85-21.15Q96-378.3 96-408v-384q0-29.7 21.15-50.85Q138.3-864 168-864h384q29.7 0 50.85 21.15Q624-821.7 624-792v96h-72v-96H168v384h96ZM408-96q-29.7 0-50.85-21.15Q336-138.3 336-168v-384q0-29.7 21.15-50.85Q378.3-624 408-624h384q29.7 0 50.85 21.15Q864-581.7 864-552v384q0 29.7-21.15 50.85Q821.7-96 792-96H408Zm0-72h384v-384H408v384Zm192-192Z"/></svg>`;
|
|
59
61
|
/** `flip_to_front` */
|
|
60
62
|
export const ICON_ORDER = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M360-288q-29.7 0-50.85-21.15Q288-330.3 288-360v-384q0-29.7 21.15-50.85Q330.3-816 360-816h384q29.7 0 50.85 21.15Q816-773.7 816-744v384q0 29.7-21.15 50.85Q773.7-288 744-288H360Zm0-72h384v-384H360v384ZM216-216v72q-29.7 0-50.85-21.15Q144-186.3 144-216h72Zm-72-80v-72h72v72h-72Zm0-152v-72h72v72h-72Zm0-152v-72h72v72h-72Zm152 456v-72h72v72h-72Zm152 0v-72h72v72h-72Zm152 0v-72h72v72h-72Z"/></svg>`;
|
|
61
63
|
/** `vertical_align_top` */
|
package/dist/icons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,2FAA2F;AAC3F,4EAA4E;AAC5E,EAAE;AACF,4EAA4E;AAC5E,8CAA8C;AAE9C,mBAAmB;AACnB,MAAM,CAAC,MAAM,UAAU,GAAG,8WAA8W,CAAC;AAEzY,cAAc;AACd,MAAM,CAAC,MAAM,UAAU,GAAG,uSAAuS,CAAC;AAElU,aAAa;AACb,MAAM,CAAC,MAAM,SAAS,GAAG,iPAAiP,CAAC;AAE3Q,gCAAgC;AAChC,MAAM,CAAC,MAAM,eAAe,GAAG,ocAAoc,CAAC;AAEpe,qBAAqB;AACrB,MAAM,CAAC,MAAM,iBAAiB,GAAG,mVAAmV,CAAC;AAErX,kBAAkB;AAClB,MAAM,CAAC,MAAM,eAAe,GAAG,2VAA2V,CAAC;AAE3X,sBAAsB;AACtB,MAAM,CAAC,MAAM,UAAU,GAAG,gXAAgX,CAAC;AAE3Y,oBAAoB;AACpB,MAAM,CAAC,MAAM,cAAc,GAAG,sJAAsJ,CAAC;AAErL,oBAAoB;AACpB,MAAM,CAAC,MAAM,SAAS,GAAG,2VAA2V,CAAC;AAErX,sBAAsB;AACtB,MAAM,CAAC,MAAM,WAAW,GAAG,qIAAqI,CAAC;AAEjK,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,+RAA+R,CAAC;AAE9T,6BAA6B;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,4JAA4J,CAAC;AAE/L,oBAAoB;AACpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,qTAAqT,CAAC;AAEtV,kBAAkB;AAClB,MAAM,CAAC,MAAM,cAAc,GAAG,qTAAqT,CAAC;AAEpV,gCAAgC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,6PAA6P,CAAC;AAE9R,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,kLAAkL,CAAC;AAEjN,0BAA0B;AAC1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,sLAAsL,CAAC;AAE1N,4BAA4B;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,8LAA8L,CAAC;AAEpO,2BAA2B;AAC3B,MAAM,CAAC,MAAM,oBAAoB,GAAG,8LAA8L,CAAC;AAEnO,6BAA6B;AAC7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,sLAAsL,CAAC;AAE7N,+BAA+B;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,uNAAuN,CAAC;AAE5P,+BAA+B;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,sNAAsN,CAAC;AAE3P,4BAA4B;AAC5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,2OAA2O,CAAC;AAE7Q,6BAA6B;AAC7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,sdAAsd,CAAC;AAEvf,6BAA6B;AAC7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,4fAA4f,CAAC;AAE7hB,
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"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"}
|
package/dist/image.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { ImagePageCommand, ImagePageInfo, UDocCommand } from "@docmentis/udoc-wasm";
|
|
2
|
-
import type { CommandDef,
|
|
2
|
+
import type { CommandDef, ShapePoint } from "@docmentis/udoc-ui/internal";
|
|
3
3
|
import type { EditHost } from "./edit-client.js";
|
|
4
4
|
import type { I18n, MessageKey } from "./i18n/index.js";
|
|
5
|
+
import type { GalleryShape } from "./shape-gallery.js";
|
|
5
6
|
/** Wrap a command on an image's pages in its `UDocCommand`. */
|
|
6
7
|
export declare function editPage(command: ImagePageCommand): UDocCommand;
|
|
7
8
|
/** The pixels page `info` holds at its resolution — the engine's
|
|
@@ -28,12 +29,12 @@ export interface ImagePageActions {
|
|
|
28
29
|
crop(): void;
|
|
29
30
|
resize(): void;
|
|
30
31
|
}
|
|
31
|
-
/** The image
|
|
32
|
+
/** The image Image tab's page commands, over `host` once edit mode is mounted. */
|
|
32
33
|
export declare function imageCommands(host: () => EditHost | null, actions: ImagePageActions): Readonly<Record<string, CommandDef<MessageKey>>>;
|
|
33
34
|
/**
|
|
34
35
|
* Draw `shape` over page `page` from `p0` to `p1` — the page's own points —
|
|
35
36
|
* and select it. One committing edit. A no-op on a page that takes no markup,
|
|
36
37
|
* or with no image open.
|
|
37
38
|
*/
|
|
38
|
-
export declare function placeMarkup(host: EditHost, shape:
|
|
39
|
+
export declare function placeMarkup(host: EditHost, shape: GalleryShape, page: number, p0: ShapePoint, p1: ShapePoint): Promise<void>;
|
|
39
40
|
//# sourceMappingURL=image.d.ts.map
|
package/dist/image.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,KAAK,EAAkB,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,KAAK,EAAkB,UAAU,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAYvD,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAE/D;AAeD;gFACgF;AAChF,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAMjF;AAaD;iBACiB;AACjB,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAIxD;AAQD,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACtB,2CAA2C;IAC3C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;yEACyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,CAsBpE;AAkCD;oBACoB;AACpB,MAAM,WAAW,gBAAgB;IAC7B,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CACzB,IAAI,EAAE,MAAM,QAAQ,GAAG,IAAI,EAC3B,OAAO,EAAE,gBAAgB,GAC1B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CA2DlD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC7B,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
package/dist/image.js
CHANGED
|
@@ -101,19 +101,12 @@ async function flipPages(host, horizontal) {
|
|
|
101
101
|
if (info)
|
|
102
102
|
await host.commit(() => host.client.execute(editPage({ flipPages: { ids: [info.id], horizontal } })));
|
|
103
103
|
}
|
|
104
|
-
/**
|
|
105
|
-
*
|
|
106
|
-
* drawn over a page selected — nothing, or pages in the thumbnails — outside
|
|
107
|
-
* crop mode. Home is contextual, so they yield to the text and shape controls
|
|
108
|
-
* the moment a shape is.
|
|
109
|
-
*/
|
|
104
|
+
/** Whether an image's page edits show on its Image tab in `c`: outside crop
|
|
105
|
+
* mode, whose controls the tab, contextual, shows in their place. */
|
|
110
106
|
function whenPageEdits(c) {
|
|
111
|
-
return
|
|
112
|
-
c.docType === "image" &&
|
|
113
|
-
editStateOf(c).cropping === null &&
|
|
114
|
-
(c.selection.count === 0 || allowsEdit(c.selection, "rotatePages")));
|
|
107
|
+
return c.ready && c.docType === "image" && editStateOf(c).cropping === null;
|
|
115
108
|
}
|
|
116
|
-
/** The image
|
|
109
|
+
/** The image Image tab's page commands, over `host` once edit mode is mounted. */
|
|
117
110
|
export function imageCommands(host, actions) {
|
|
118
111
|
const rotate = (clockwise) => {
|
|
119
112
|
const mounted = host();
|
package/dist/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
|
package/dist/insert.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { CommandDef, ShapeKind, ShapePoint } from "@docmentis/udoc-ui/internal";
|
|
2
2
|
import type { EditHost } from "./edit-client.js";
|
|
3
3
|
import type { MessageKey } from "./i18n/index.js";
|
|
4
|
-
/** The
|
|
4
|
+
/** The outline the Insert tab's place `tool` is sketched with while it is
|
|
5
|
+
* dragged out — a gallery shape's, or a PDF shape's own. */
|
|
5
6
|
export declare function placedShape(tool: string): ShapeKind | null;
|
|
6
7
|
/** Place the Insert tab's `tool` on page `page`, spanning the page-local points
|
|
7
8
|
* `p0 → p1`, on top of the page: on a PDF, a shape as a page object — the
|
|
8
|
-
* engine mints its id and selects it —
|
|
9
|
-
* it. A no-op for a page with no id
|
|
9
|
+
* engine mints its id and selects it — on a deck, a gallery shape on the
|
|
10
|
+
* slide, and on an image, one drawn over it. A no-op for a page with no id
|
|
11
|
+
* (no document, or none of these), or a tool not the document's. */
|
|
10
12
|
export declare function place(host: EditHost, tool: string, page: number, p0: ShapePoint, p1: ShapePoint): Promise<void>;
|
|
11
13
|
/** Insert the image file `bytes` as a picture on the current slide, centred
|
|
12
14
|
* and scaled down to fit, then selected — a committing edit, so the picture's
|
package/dist/insert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../src/insert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../src/insert.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAgB,SAAS,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA8ElD;6DAC6D;AAC7D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE1D;AAED;;;;qEAIqE;AACrE,wBAAsB,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAerH;AA+BD;;4BAE4B;AAC5B,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG;AAED;;8BAE8B;AAC9B,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAa9C;AAED;8EAC8E;AAC9E,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAoCtG"}
|
package/dist/insert.js
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
// The Insert tab's commands: Shapes
|
|
2
|
-
// a
|
|
3
|
-
// for and inserted
|
|
1
|
+
// The Insert tab's commands: Shapes, placed by a pointer gesture the canvas
|
|
2
|
+
// carries out — a PDF's four as page objects, the gallery's on a deck's slides
|
|
3
|
+
// and over an image's pages — and Image on a slide deck, asked for and inserted
|
|
4
|
+
// at once.
|
|
4
5
|
import { ICON_SUBTOOL_ARROW, ICON_SUBTOOL_ELLIPSE, ICON_SUBTOOL_LINE, ICON_SUBTOOL_RECTANGLE, SHAPE_STROKE, SHAPE_STROKE_WIDTH, segmentsFor, } from "@docmentis/udoc-ui/internal";
|
|
5
6
|
import { EditCommand } from "./edit-command.js";
|
|
6
|
-
import { ICON_IMAGE } from "./icons.js";
|
|
7
|
+
import { ICON_IMAGE, ICON_SHAPES } from "./icons.js";
|
|
7
8
|
import { placeMarkup } from "./image.js";
|
|
9
|
+
import { galleryShape, SHAPE_GALLERY } from "./shape-gallery.js";
|
|
10
|
+
import { slideShape } from "./slide-shape.js";
|
|
8
11
|
import { editStateOf } from "./state.js";
|
|
12
|
+
/** A large insert index that clamps to "on top" in the engine. */
|
|
13
|
+
const APPEND_INDEX = 0x7fff_ffff;
|
|
9
14
|
/** A placed shape's fill — translucent blue (filled shapes only). */
|
|
10
15
|
const FILL = { components: [0.26, 0.55, 0.96], colorSpace: "srgb" };
|
|
11
16
|
/** A placed shape's fill opacity. */
|
|
12
17
|
const FILL_ALPHA = 0.18;
|
|
13
|
-
/** The shapes the Insert tab places, as the shell carries their place
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
/** The shapes the Insert tab places on a PDF, as the shell carries their place
|
|
19
|
+
* tools. */
|
|
20
|
+
const PORTABLE_SHAPES = new Set(["rectangle", "ellipse", "line", "arrow"]);
|
|
21
|
+
/** Shapes offered by a PDF's Insert tab's shape picker (`insertShape`). */
|
|
16
22
|
const SHAPE_OPTIONS = [
|
|
17
23
|
["rectangle", ICON_SUBTOOL_RECTANGLE, "shape.rectangle"],
|
|
18
24
|
["ellipse", ICON_SUBTOOL_ELLIPSE, "shape.ellipse"],
|
|
@@ -66,25 +72,58 @@ function shapeObject(shape, p0, p1) {
|
|
|
66
72
|
};
|
|
67
73
|
return object;
|
|
68
74
|
}
|
|
69
|
-
/** The
|
|
75
|
+
/** The outline the Insert tab's place `tool` is sketched with while it is
|
|
76
|
+
* dragged out — a gallery shape's, or a PDF shape's own. */
|
|
70
77
|
export function placedShape(tool) {
|
|
71
|
-
return
|
|
78
|
+
return galleryShape(tool)?.sketch ?? (PORTABLE_SHAPES.has(tool) ? tool : null);
|
|
72
79
|
}
|
|
73
80
|
/** Place the Insert tab's `tool` on page `page`, spanning the page-local points
|
|
74
81
|
* `p0 → p1`, on top of the page: on a PDF, a shape as a page object — the
|
|
75
|
-
* engine mints its id and selects it —
|
|
76
|
-
* it. A no-op for a page with no id
|
|
82
|
+
* engine mints its id and selects it — on a deck, a gallery shape on the
|
|
83
|
+
* slide, and on an image, one drawn over it. A no-op for a page with no id
|
|
84
|
+
* (no document, or none of these), or a tool not the document's. */
|
|
77
85
|
export async function place(host, tool, page, p0, p1) {
|
|
78
|
-
const shape = placedShape(tool);
|
|
79
86
|
const state = host.store.getState();
|
|
80
|
-
if (
|
|
87
|
+
if (state.status !== "ready")
|
|
88
|
+
return;
|
|
89
|
+
if (state.docType === "portable") {
|
|
90
|
+
if (!PORTABLE_SHAPES.has(tool))
|
|
91
|
+
return;
|
|
92
|
+
const pageId = await host.client.portable.pageIdByIndex(page);
|
|
93
|
+
if (pageId === undefined)
|
|
94
|
+
return;
|
|
95
|
+
const object = shapeObject(tool, p0, p1);
|
|
96
|
+
await host.commit(() => host.client.execute(EditCommand.insertObjects(pageId, [object])));
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const shape = galleryShape(tool);
|
|
100
|
+
if (!shape)
|
|
81
101
|
return;
|
|
82
102
|
if (state.docType === "image")
|
|
83
103
|
return placeMarkup(host, shape, page, p0, p1);
|
|
84
|
-
|
|
85
|
-
|
|
104
|
+
if (state.docType === "presentation")
|
|
105
|
+
return placeSlideShape(host, shape, page, p0, p1);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Put `shape` on the deck's slide `page` from `p0` to `p1` — the slide's own
|
|
109
|
+
* points — on top of the slide, and select it. One committing edit. A no-op
|
|
110
|
+
* past the last slide.
|
|
111
|
+
*/
|
|
112
|
+
async function placeSlideShape(host, shape, page, p0, p1) {
|
|
113
|
+
const [slide, id, story] = await Promise.all([host.edit.slideId(page), host.client.mintId(), host.client.mintId()]);
|
|
114
|
+
if (!slide || !id || !story)
|
|
86
115
|
return;
|
|
87
|
-
|
|
116
|
+
const container = { slide };
|
|
117
|
+
const node = slideShape(id, story, shape, p0, p1);
|
|
118
|
+
await host.commit(() => host.client.execute({
|
|
119
|
+
presentation: {
|
|
120
|
+
editShape: {
|
|
121
|
+
container,
|
|
122
|
+
command: { insertShapes: { parent: null, index: APPEND_INDEX, nodes: [node] } },
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
}));
|
|
126
|
+
host.client.setSelection({ presentation: { shapes: { container, selection: { shapes: [id] } } } });
|
|
88
127
|
}
|
|
89
128
|
/** Insert the image file `bytes` as a picture on the current slide, centred
|
|
90
129
|
* and scaled down to fit, then selected — a committing edit, so the picture's
|
|
@@ -119,19 +158,31 @@ export function insertCommands(pickImage) {
|
|
|
119
158
|
label: "command.insertImage",
|
|
120
159
|
icon: ICON_IMAGE,
|
|
121
160
|
group: "insert",
|
|
161
|
+
labeled: true,
|
|
122
162
|
run: { kind: "action", press: pickImage },
|
|
123
163
|
enabledWhen: (c) => c.ready && c.docType === "presentation" && c.presentationView === "normal",
|
|
124
164
|
},
|
|
125
165
|
insertShape: {
|
|
126
166
|
id: "insertShape",
|
|
127
167
|
label: "command.insertShape",
|
|
128
|
-
icon:
|
|
168
|
+
icon: ICON_SHAPES,
|
|
129
169
|
group: "insert",
|
|
170
|
+
labeled: true,
|
|
130
171
|
run: { kind: "armPicker", options: SHAPE_OPTIONS },
|
|
131
|
-
|
|
132
|
-
|
|
172
|
+
enabledWhen: (c) => c.ready && c.docType === "portable",
|
|
173
|
+
},
|
|
174
|
+
insertGalleryShape: {
|
|
175
|
+
id: "insertGalleryShape",
|
|
176
|
+
label: "command.insertShape",
|
|
177
|
+
icon: ICON_SHAPES,
|
|
178
|
+
group: "insert",
|
|
179
|
+
labeled: true,
|
|
180
|
+
run: { kind: "armGallery", sections: SHAPE_GALLERY },
|
|
181
|
+
// On a deck's slides, not its notes pages. An image's current page
|
|
182
|
+
// takes them unless it's animated or a vector, and not while it's
|
|
183
|
+
// cropped.
|
|
133
184
|
enabledWhen: (c) => c.ready &&
|
|
134
|
-
(c.docType === "
|
|
185
|
+
((c.docType === "presentation" && c.presentationView === "normal") ||
|
|
135
186
|
(c.docType === "image" && editStateOf(c).pageTakesMarkup && editStateOf(c).cropping === null)),
|
|
136
187
|
},
|
|
137
188
|
};
|
package/dist/insert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../src/insert.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../src/insert.ts"],"names":[],"mappings":"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"}
|
package/dist/markup.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ShapeNode } from "@docmentis/udoc-wasm";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ShapePoint } from "@docmentis/udoc-ui/internal";
|
|
3
|
+
import type { GalleryShape } from "./shape-gallery.js";
|
|
3
4
|
/** The weight in points a shape is outlined at over a page `width` ×
|
|
4
5
|
* `height` points: a point per {@link POINTS_PER_LINE_POINT} of its shorter
|
|
5
6
|
* side, and at least {@link MIN_LINE_WEIGHT}. */
|
|
@@ -12,11 +13,12 @@ export declare function markupTextSize(width: number, height: number): number;
|
|
|
12
13
|
* The drawing shape `shape` spanning `p0 → p1` (the page's points) over a
|
|
13
14
|
* page `page` points in size, its id `id` and a box's text story `story` —
|
|
14
15
|
* outlined in {@link MARKUP_COLOR} and unfilled, so the image shows through;
|
|
15
|
-
* an
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* an arrowed line's head at `p1`, and at `p0` too for a double arrow; any
|
|
17
|
+
* shape but a line a box, with an empty label to type into. A line runs from
|
|
18
|
+
* `p0` to `p1` by flipping the box its preset runs corner to corner across; a
|
|
19
|
+
* box is never flipped, as a flip turns its label upside down.
|
|
18
20
|
*/
|
|
19
|
-
export declare function markupShape(id: string, story: string, shape:
|
|
21
|
+
export declare function markupShape(id: string, story: string, shape: GalleryShape, p0: ShapePoint, p1: ShapePoint, page: {
|
|
20
22
|
width: number;
|
|
21
23
|
height: number;
|
|
22
24
|
}): ShapeNode;
|
package/dist/markup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markup.d.ts","sourceRoot":"","sources":["../src/markup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"markup.d.ts","sourceRoot":"","sources":["../src/markup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAuC,SAAS,EAAY,MAAM,sBAAsB,CAAC;AACrG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAmBvD;;kDAEkD;AAClD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;gDAEgD;AAChD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACvB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC,SAAS,CAsCX"}
|
package/dist/markup.js
CHANGED
|
@@ -22,14 +22,8 @@ export function markupLineWeight(width, height) {
|
|
|
22
22
|
export function markupTextSize(width, height) {
|
|
23
23
|
return Math.max(MIN_TEXT_SIZE, Math.round(Math.min(width, height) / POINTS_PER_TEXT_POINT));
|
|
24
24
|
}
|
|
25
|
-
/**
|
|
26
|
-
|
|
27
|
-
const MARKUP_SHAPES = {
|
|
28
|
-
rectangle: { preset: "rect", name: "Rectangle", box: true },
|
|
29
|
-
ellipse: { preset: "ellipse", name: "Oval", box: true },
|
|
30
|
-
line: { preset: "line", name: "Line", box: false },
|
|
31
|
-
arrow: { preset: "line", name: "Arrow", box: false },
|
|
32
|
-
};
|
|
25
|
+
/** An arrowhead at a line's end. */
|
|
26
|
+
const ARROWHEAD = { kind: "triangle", width: "medium", length: "medium" };
|
|
33
27
|
/** A box's text body, empty: one paragraph centred in it, which the text typed
|
|
34
28
|
* into it takes the markup color and `size` points from — what a press in the
|
|
35
29
|
* box lands a caret in, as in a slide's shape. Its story is `story`. */
|
|
@@ -54,12 +48,13 @@ function labelBody(story, size) {
|
|
|
54
48
|
* The drawing shape `shape` spanning `p0 → p1` (the page's points) over a
|
|
55
49
|
* page `page` points in size, its id `id` and a box's text story `story` —
|
|
56
50
|
* outlined in {@link MARKUP_COLOR} and unfilled, so the image shows through;
|
|
57
|
-
* an
|
|
58
|
-
*
|
|
59
|
-
*
|
|
51
|
+
* an arrowed line's head at `p1`, and at `p0` too for a double arrow; any
|
|
52
|
+
* shape but a line a box, with an empty label to type into. A line runs from
|
|
53
|
+
* `p0` to `p1` by flipping the box its preset runs corner to corner across; a
|
|
54
|
+
* box is never flipped, as a flip turns its label upside down.
|
|
60
55
|
*/
|
|
61
56
|
export function markupShape(id, story, shape, p0, p1, page) {
|
|
62
|
-
const
|
|
57
|
+
const box = !shape.line;
|
|
63
58
|
const line = {
|
|
64
59
|
width: markupLineWeight(page.width, page.height),
|
|
65
60
|
cap: "round",
|
|
@@ -68,13 +63,13 @@ export function markupShape(id, story, shape, p0, p1, page) {
|
|
|
68
63
|
fill: { solid: MARKUP_COLOR },
|
|
69
64
|
dash: null,
|
|
70
65
|
join: "round",
|
|
71
|
-
headEnd: null,
|
|
72
|
-
tailEnd: shape
|
|
66
|
+
headEnd: shape.arrows === "both" ? ARROWHEAD : null,
|
|
67
|
+
tailEnd: shape.arrows ? ARROWHEAD : null,
|
|
73
68
|
};
|
|
74
69
|
return {
|
|
75
70
|
shape: {
|
|
76
71
|
id,
|
|
77
|
-
nonVisual: { name, description: null, title: null, hidden: false, placeholder: null },
|
|
72
|
+
nonVisual: { name: shape.name, description: null, title: null, hidden: false, placeholder: null },
|
|
78
73
|
properties: {
|
|
79
74
|
transform: {
|
|
80
75
|
offset: { x: Math.min(p0.x, p1.x), y: Math.min(p0.y, p1.y) },
|
|
@@ -83,7 +78,7 @@ export function markupShape(id, story, shape, p0, p1, page) {
|
|
|
83
78
|
flipH: !box && p1.x < p0.x,
|
|
84
79
|
flipV: !box && p1.y < p0.y,
|
|
85
80
|
},
|
|
86
|
-
geometry: { preset: { preset, adjustValues: [] } },
|
|
81
|
+
geometry: { preset: { preset: shape.preset, adjustValues: [] } },
|
|
87
82
|
fill: "none",
|
|
88
83
|
line,
|
|
89
84
|
effects: null,
|
package/dist/markup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markup.js","sourceRoot":"","sources":["../src/markup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markup.js","sourceRoot":"","sources":["../src/markup.ts"],"names":[],"mappings":"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"}
|
package/dist/menu-action.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { EditTools } from "./tools.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* What activating one of edit mode's menu rows does. Each variant carries its
|
|
9
9
|
* full payload, so the handler is a switch on `kind` with no side lookup
|
|
10
|
-
* tables. `reorder` is the
|
|
10
|
+
* tables. `reorder` is the Order dropdown's z-order; `align` / `distribute`
|
|
11
11
|
* / `flip` / `rotate` the Align and Rotate dropdowns; `alignToPage` the Align
|
|
12
12
|
* dropdown's reference toggle (a UI flag, not a document edit). `clipboard` /
|
|
13
13
|
* `delete` are the context menu's acts on the selection, and `selectTable` /
|
|
@@ -38,10 +38,6 @@ export type EditMenuAction = {
|
|
|
38
38
|
} | {
|
|
39
39
|
kind: "reorder";
|
|
40
40
|
order: ZOrder;
|
|
41
|
-
} | {
|
|
42
|
-
kind: "group";
|
|
43
|
-
} | {
|
|
44
|
-
kind: "ungroup";
|
|
45
41
|
} | {
|
|
46
42
|
kind: "align";
|
|
47
43
|
edge: AlignEdge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-action.d.ts","sourceRoot":"","sources":["../src/menu-action.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/G,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GACpB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"menu-action.d.ts","sourceRoot":"","sources":["../src/menu-action.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/G,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GACpB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjD,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAE7D;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CA8EhF"}
|
package/dist/menu-action.js
CHANGED
|
@@ -10,12 +10,6 @@ export function runEditMenuAction(tools, action) {
|
|
|
10
10
|
case "reorder":
|
|
11
11
|
void arrange.reorderSelection(action.order);
|
|
12
12
|
break;
|
|
13
|
-
case "group":
|
|
14
|
-
void arrange.groupSelection();
|
|
15
|
-
break;
|
|
16
|
-
case "ungroup":
|
|
17
|
-
void arrange.ungroupSelection();
|
|
18
|
-
break;
|
|
19
13
|
case "align":
|
|
20
14
|
void arrange.alignSelection(action.edge);
|
|
21
15
|
break;
|
package/dist/menu-action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-action.js","sourceRoot":"","sources":["../src/menu-action.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"menu-action.js","sourceRoot":"","sources":["../src/menu-action.ts"],"names":[],"mappings":"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"}
|
package/dist/new-slide.d.ts
CHANGED
|
@@ -12,10 +12,9 @@ export interface NewSlide {
|
|
|
12
12
|
export declare function mountNewSlide(host: EditHost, i18n: I18n): NewSlide;
|
|
13
13
|
/**
|
|
14
14
|
* The New Slide command, opening the picker with `open` — a document-level
|
|
15
|
-
* action
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* moment a shape or text is selected.
|
|
15
|
+
* action, live whatever is selected: the slide lands after the current one,
|
|
16
|
+
* or the slides or sections picked in the thumbnails. Not in the Slide Master
|
|
17
|
+
* view, which shows no slide to put it after.
|
|
19
18
|
*/
|
|
20
19
|
export declare function newSlideCommand(open: () => void): CommandDef<MessageKey>;
|
|
21
20
|
//# sourceMappingURL=new-slide.d.ts.map
|
package/dist/new-slide.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-slide.d.ts","sourceRoot":"","sources":["../src/new-slide.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA0BxD,+CAA+C;AAC/C,MAAM,WAAW,QAAQ;IACrB,6DAA6D;IAC7D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;+BAC+B;AAC/B,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,QAAQ,CAgDlE;AAED
|
|
1
|
+
{"version":3,"file":"new-slide.d.ts","sourceRoot":"","sources":["../src/new-slide.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA0BxD,+CAA+C;AAC/C,MAAM,WAAW,QAAQ;IACrB,6DAA6D;IAC7D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,IAAI,CAAC;CACnB;AAED;+BAC+B;AAC/B,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,QAAQ,CAgDlE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAUxE"}
|
package/dist/new-slide.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ICON_PAGE_ADD } from "@docmentis/udoc-ui/internal";
|
|
2
2
|
import { createNewSlideModal } from "./components/NewSlideModal.js";
|
|
3
3
|
/** An insert index past any deck's end, which the engine clamps — the end of
|
|
4
4
|
* the section the slide is put in. */
|
|
@@ -30,8 +30,8 @@ export function mountNewSlide(host, i18n) {
|
|
|
30
30
|
const execute = (command) => host.commit(() => host.client.execute(command));
|
|
31
31
|
return {
|
|
32
32
|
// Pull every slide master's summary, flatten it to pickable options
|
|
33
|
-
// (each slide layout previews on
|
|
34
|
-
//
|
|
33
|
+
// (each slide layout previews on the slide masters' plane, after its
|
|
34
|
+
// slide master's page), and open — with the current slide's size, which
|
|
35
35
|
// every slide layout shares. Falls back to the copy-neighbor default
|
|
36
36
|
// when no slide layouts are available. The new slide lands at the end
|
|
37
37
|
// of the last section selected in the thumbnails — an empty one too —
|
|
@@ -45,13 +45,13 @@ export function mountNewSlide(host, i18n) {
|
|
|
45
45
|
? APPEND_INDEX
|
|
46
46
|
: (selectedPages.length > 0 ? Math.max(...selectedPages) : pageIndex) + 1;
|
|
47
47
|
const [slideMasters, slideSize] = await Promise.all([
|
|
48
|
-
host.
|
|
49
|
-
host.client.pageDisplaySize(pageIndex),
|
|
48
|
+
host.client.presentation.slideMasters(),
|
|
49
|
+
host.client.pageDisplaySize(0, pageIndex),
|
|
50
50
|
]);
|
|
51
51
|
const options = slideMasters.flatMap((slideMaster) => slideMaster.slideLayouts.map((slideLayout, index) => ({
|
|
52
52
|
layout: slideLayout.id,
|
|
53
53
|
plane: slideMaster.plane,
|
|
54
|
-
page:
|
|
54
|
+
page: slideMaster.page + 1 + index,
|
|
55
55
|
name: slideLayout.name,
|
|
56
56
|
})));
|
|
57
57
|
if (options.length === 0) {
|
|
@@ -72,10 +72,9 @@ export function mountNewSlide(host, i18n) {
|
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
74
|
* The New Slide command, opening the picker with `open` — a document-level
|
|
75
|
-
* action
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* moment a shape or text is selected.
|
|
75
|
+
* action, live whatever is selected: the slide lands after the current one,
|
|
76
|
+
* or the slides or sections picked in the thumbnails. Not in the Slide Master
|
|
77
|
+
* view, which shows no slide to put it after.
|
|
79
78
|
*/
|
|
80
79
|
export function newSlideCommand(open) {
|
|
81
80
|
return {
|
|
@@ -83,9 +82,9 @@ export function newSlideCommand(open) {
|
|
|
83
82
|
label: "command.createSlide",
|
|
84
83
|
icon: ICON_PAGE_ADD,
|
|
85
84
|
group: "slide",
|
|
85
|
+
labeled: true,
|
|
86
86
|
run: { kind: "action", press: open },
|
|
87
|
-
enabledWhen: (c) => c.ready &&
|
|
88
|
-
(c.selection.count === 0 || allowsEdit(c.selection, "insertSlide") || c.slideSections.selected.length > 0),
|
|
87
|
+
enabledWhen: (c) => c.ready && c.presentationView !== "slideMaster",
|
|
89
88
|
};
|
|
90
89
|
}
|
|
91
90
|
//# sourceMappingURL=new-slide.js.map
|