@docmentis/udoc-editor 0.8.6 → 0.8.8
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 +3 -0
- package/dist/arrange.d.ts.map +1 -1
- package/dist/arrange.js +11 -13
- package/dist/arrange.js.map +1 -1
- package/dist/components/CropOverlay.d.ts +27 -0
- package/dist/components/CropOverlay.d.ts.map +1 -0
- package/dist/components/CropOverlay.js +126 -0
- package/dist/components/CropOverlay.js.map +1 -0
- package/dist/components/ImageSizeModal.d.ts +23 -0
- package/dist/components/ImageSizeModal.d.ts.map +1 -0
- package/dist/components/ImageSizeModal.js +189 -0
- package/dist/components/ImageSizeModal.js.map +1 -0
- package/dist/components/NewSlideModal.d.ts +7 -2
- package/dist/components/NewSlideModal.d.ts.map +1 -1
- package/dist/components/NewSlideModal.js +10 -3
- package/dist/components/NewSlideModal.js.map +1 -1
- package/dist/components/PageControls.d.ts.map +1 -1
- package/dist/components/PageControls.js +1 -2
- package/dist/components/PageControls.js.map +1 -1
- package/dist/components/PageSettingsModal.d.ts.map +1 -1
- package/dist/components/PageSettingsModal.js +1 -2
- package/dist/components/PageSettingsModal.js.map +1 -1
- package/dist/crop-box.d.ts +33 -0
- package/dist/crop-box.d.ts.map +1 -0
- package/dist/crop-box.js +107 -0
- package/dist/crop-box.js.map +1 -0
- package/dist/crop.d.ts +28 -0
- package/dist/crop.d.ts.map +1 -0
- package/dist/crop.js +260 -0
- package/dist/crop.js.map +1 -0
- package/dist/edit-mode.d.ts.map +1 -1
- package/dist/edit-mode.js +46 -3
- package/dist/edit-mode.js.map +1 -1
- package/dist/formatting-marks.d.ts +4 -5
- package/dist/formatting-marks.d.ts.map +1 -1
- package/dist/formatting-marks.js +4 -5
- package/dist/formatting-marks.js.map +1 -1
- package/dist/i18n/ar.d.ts.map +1 -1
- package/dist/i18n/ar.js +14 -0
- package/dist/i18n/ar.js.map +1 -1
- package/dist/i18n/de.d.ts.map +1 -1
- package/dist/i18n/de.js +14 -0
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +14 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +14 -0
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +14 -0
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/ja.d.ts.map +1 -1
- package/dist/i18n/ja.js +14 -0
- package/dist/i18n/ja.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +14 -0
- package/dist/i18n/ko.js.map +1 -1
- package/dist/i18n/messages.d.ts +26 -0
- 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 +14 -0
- package/dist/i18n/pt-BR.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +14 -0
- package/dist/i18n/ru.js.map +1 -1
- package/dist/i18n/zh-CN.d.ts.map +1 -1
- package/dist/i18n/zh-CN.js +14 -0
- 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 +14 -0
- package/dist/i18n/zh-TW.js.map +1 -1
- package/dist/icons.d.ts +8 -6
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +8 -6
- package/dist/icons.js.map +1 -1
- package/dist/image.d.ts +39 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/image.js +203 -0
- package/dist/image.js.map +1 -0
- package/dist/insert.d.ts +5 -4
- package/dist/insert.d.ts.map +1 -1
- package/dist/insert.js +20 -9
- package/dist/insert.js.map +1 -1
- package/dist/markup.d.ts +23 -0
- package/dist/markup.d.ts.map +1 -0
- package/dist/markup.js +100 -0
- package/dist/markup.js.map +1 -0
- package/dist/menu-action.d.ts +6 -1
- package/dist/menu-action.d.ts.map +1 -1
- package/dist/menu-action.js +4 -1
- package/dist/menu-action.js.map +1 -1
- package/dist/new-slide.d.ts +5 -4
- package/dist/new-slide.d.ts.map +1 -1
- package/dist/new-slide.js +47 -17
- package/dist/new-slide.js.map +1 -1
- package/dist/page-controls.d.ts.map +1 -1
- package/dist/page-controls.js +31 -10
- package/dist/page-controls.js.map +1 -1
- package/dist/paint.d.ts +5 -1
- package/dist/paint.d.ts.map +1 -1
- package/dist/paint.js +27 -16
- package/dist/paint.js.map +1 -1
- package/dist/state.d.ts +24 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +3 -0
- package/dist/state.js.map +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +147 -1
- 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 +53 -15
- package/dist/tabs.js.map +1 -1
- package/dist/text-format.js +7 -7
- package/dist/text-format.js.map +1 -1
- package/dist/tools.d.ts +3 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +4 -2
- package/dist/tools.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/worker/handlers.d.ts.map +1 -1
- package/dist/worker/handlers.js +16 -10
- package/dist/worker/handlers.js.map +1 -1
- package/dist/worker/worker-source.js +1 -1
- package/package.json +3 -3
package/dist/new-slide.js
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
|
+
import { allowsEdit, ICON_PAGE_ADD } from "@docmentis/udoc-ui/internal";
|
|
1
2
|
import { createNewSlideModal } from "./components/NewSlideModal.js";
|
|
2
|
-
|
|
3
|
+
/** An insert index past any deck's end, which the engine clamps — the end of
|
|
4
|
+
* the section the slide is put in. */
|
|
5
|
+
const APPEND_INDEX = 0x7fff_ffff;
|
|
3
6
|
/** Create a slide at `index` (clamped), seeded with its layout's content
|
|
4
7
|
* placeholders. `layout` is the slide-layout id to build on; omit it to copy
|
|
5
|
-
* the neighbor slide's layout.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
* the neighbor slide's layout. `slideSection` is the section it joins, `index`
|
|
9
|
+
* clamped into its run; omit it to join the section of the slide it follows. */
|
|
10
|
+
function createSlide(index, layout, slideSection) {
|
|
11
|
+
return {
|
|
12
|
+
presentation: {
|
|
13
|
+
editSlide: {
|
|
14
|
+
command: {
|
|
15
|
+
insertSlide: {
|
|
16
|
+
index,
|
|
17
|
+
...(layout == null ? {} : { layout }),
|
|
18
|
+
...(slideSection == null ? {} : { slideSection }),
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
};
|
|
8
24
|
}
|
|
9
25
|
/** Mount the layout picker into `host` — once, re-seeded with the current
|
|
10
26
|
* layout roster each open. */
|
|
@@ -15,13 +31,23 @@ export function mountNewSlide(host, i18n) {
|
|
|
15
31
|
return {
|
|
16
32
|
// Pull every slide master's summary, flatten it to pickable options
|
|
17
33
|
// (each slide layout previews on its slide master's plane at page
|
|
18
|
-
// `1 + its index`), and open
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
34
|
+
// `1 + its index`), and open — with the current slide's size, which
|
|
35
|
+
// every slide layout shares. Falls back to the copy-neighbor default
|
|
36
|
+
// when no slide layouts are available. The new slide lands at the end
|
|
37
|
+
// of the last section selected in the thumbnails — an empty one too —
|
|
38
|
+
// else right after the last slide selected there, else after the
|
|
39
|
+
// current slide — the 0-based page index nearest the viewport top —
|
|
40
|
+
// PowerPoint-style.
|
|
22
41
|
async open() {
|
|
23
|
-
const
|
|
24
|
-
const
|
|
42
|
+
const { selectedPages, pageIndex, slideSections, selectedSlideSections } = host.store.getState();
|
|
43
|
+
const section = [...slideSections].reverse().find((s) => selectedSlideSections.includes(s.id))?.id;
|
|
44
|
+
const insertIndex = section !== undefined
|
|
45
|
+
? APPEND_INDEX
|
|
46
|
+
: (selectedPages.length > 0 ? Math.max(...selectedPages) : pageIndex) + 1;
|
|
47
|
+
const [slideMasters, slideSize] = await Promise.all([
|
|
48
|
+
host.edit.slideMastersSummary(),
|
|
49
|
+
host.client.pageDisplaySize(pageIndex),
|
|
50
|
+
]);
|
|
25
51
|
const options = slideMasters.flatMap((slideMaster) => slideMaster.slideLayouts.map((slideLayout, index) => ({
|
|
26
52
|
layout: slideLayout.id,
|
|
27
53
|
plane: slideMaster.plane,
|
|
@@ -29,14 +55,16 @@ export function mountNewSlide(host, i18n) {
|
|
|
29
55
|
name: slideLayout.name,
|
|
30
56
|
})));
|
|
31
57
|
if (options.length === 0) {
|
|
32
|
-
void execute(createSlide(insertIndex));
|
|
58
|
+
void execute(createSlide(insertIndex, undefined, section));
|
|
33
59
|
return;
|
|
34
60
|
}
|
|
35
61
|
modal.open({
|
|
36
62
|
insertIndex,
|
|
37
63
|
options,
|
|
64
|
+
// Zero in a deck with no slides yet.
|
|
65
|
+
slideSize: slideSize.width > 0 && slideSize.height > 0 ? slideSize : null,
|
|
38
66
|
renderPreview: (plane, page, scale) => host.client.renderPagePreview(plane, page, scale),
|
|
39
|
-
onPick: (layout) => void execute(createSlide(insertIndex, layout)),
|
|
67
|
+
onPick: (layout) => void execute(createSlide(insertIndex, layout, section)),
|
|
40
68
|
});
|
|
41
69
|
},
|
|
42
70
|
destroy: () => modal.destroy(),
|
|
@@ -44,10 +72,11 @@ export function mountNewSlide(host, i18n) {
|
|
|
44
72
|
}
|
|
45
73
|
/**
|
|
46
74
|
* The New Slide command, opening the picker with `open` — a document-level
|
|
47
|
-
* action shown
|
|
48
|
-
* property controls go, so it shows on the empty canvas and
|
|
49
|
-
*
|
|
50
|
-
*
|
|
75
|
+
* action shown with nothing selected, or slides or sections: it sits where the
|
|
76
|
+
* selection's property controls go, so it shows on the empty canvas and with
|
|
77
|
+
* slides or sections picked in the thumbnails, and yields to those controls the
|
|
78
|
+
* moment a shape or text is selected. Labeled, as its page-add glyph reads
|
|
79
|
+
* "slide" only once you know.
|
|
51
80
|
*/
|
|
52
81
|
export function newSlideCommand(open) {
|
|
53
82
|
return {
|
|
@@ -57,7 +86,8 @@ export function newSlideCommand(open) {
|
|
|
57
86
|
group: "slide",
|
|
58
87
|
labeled: true,
|
|
59
88
|
run: { kind: "action", press: open },
|
|
60
|
-
enabledWhen: (c) => c.ready &&
|
|
89
|
+
enabledWhen: (c) => c.ready &&
|
|
90
|
+
(c.selection.count === 0 || allowsEdit(c.selection, "insertSlide") || c.slideSections.selected.length > 0),
|
|
61
91
|
};
|
|
62
92
|
}
|
|
63
93
|
//# sourceMappingURL=new-slide.js.map
|
package/dist/new-slide.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-slide.js","sourceRoot":"","sources":["../src/new-slide.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"new-slide.js","sourceRoot":"","sources":["../src/new-slide.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-controls.d.ts","sourceRoot":"","sources":["../src/page-controls.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-controls.d.ts","sourceRoot":"","sources":["../src/page-controls.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAM5C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAGnC,CAAC;AAmDF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAQrD;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,IAAI,CA+D3E"}
|
package/dist/page-controls.js
CHANGED
|
@@ -15,21 +15,34 @@ export const PAGE_CONTROLS_SPACING = {
|
|
|
15
15
|
padding: { top: { px: 36 }, right: { px: 48 }, bottom: { px: 36 }, left: { px: 48 } },
|
|
16
16
|
gap: { horizontal: GAP_PT, vertical: GAP_PT },
|
|
17
17
|
};
|
|
18
|
-
/** The
|
|
19
|
-
|
|
18
|
+
/** The index of the existing page `edit` addresses, or `null` for an insert,
|
|
19
|
+
* whose index is only where the new page lands. */
|
|
20
|
+
function addressedPage(edit) {
|
|
20
21
|
switch (edit.kind) {
|
|
21
22
|
case "insert":
|
|
22
|
-
return
|
|
23
|
+
return null;
|
|
24
|
+
case "reorder":
|
|
25
|
+
return edit.from;
|
|
26
|
+
default:
|
|
27
|
+
return edit.index;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/** The `UDocCommand` for a page-structure edit, the page it addresses named by
|
|
31
|
+
* `id` (its {@link addressedPage}'s id; unused by an insert). `to` is the index
|
|
32
|
+
* the moved page takes in the resulting order. */
|
|
33
|
+
function pageCommand(edit, id) {
|
|
34
|
+
const editPage = (command) => ({ portable: { editPage: { command } } });
|
|
35
|
+
switch (edit.kind) {
|
|
36
|
+
case "insert":
|
|
37
|
+
return editPage({ insertPage: { index: edit.index } });
|
|
23
38
|
case "delete":
|
|
24
|
-
return {
|
|
39
|
+
return editPage({ deletePages: { ids: [id] } });
|
|
25
40
|
case "reorder":
|
|
26
|
-
return {
|
|
41
|
+
return editPage({ reorderPages: { ids: [id], to: edit.to } });
|
|
27
42
|
case "rotate":
|
|
28
|
-
return {
|
|
43
|
+
return editPage({ rotatePages: { ids: [id], clockwise: edit.clockwise } });
|
|
29
44
|
case "resize":
|
|
30
|
-
return {
|
|
31
|
-
portable: { resizePage: { index: edit.index, size: { width: edit.width, height: edit.height } } },
|
|
32
|
-
};
|
|
45
|
+
return editPage({ resizePage: { id, size: { width: edit.width, height: edit.height } } });
|
|
33
46
|
}
|
|
34
47
|
}
|
|
35
48
|
/** The doc types whose pages the page controls move, rotate, delete and
|
|
@@ -53,7 +66,15 @@ export function mountPageControls(host, i18n) {
|
|
|
53
66
|
// Mounted once and reused for whichever page's "more" button is clicked.
|
|
54
67
|
const settings = createPageSettingsModal(i18n);
|
|
55
68
|
settings.mount(host.root);
|
|
56
|
-
|
|
69
|
+
// Commands address a page by id: read the addressed page's id first, and
|
|
70
|
+
// skip the edit when that page is gone.
|
|
71
|
+
const pageEditAt = async (edit) => {
|
|
72
|
+
const page = addressedPage(edit);
|
|
73
|
+
const id = page === null ? "" : await host.client.portable.pageIdByIndex(page);
|
|
74
|
+
if (id === undefined)
|
|
75
|
+
return;
|
|
76
|
+
await host.commit(() => host.client.execute(pageCommand(edit, id)));
|
|
77
|
+
};
|
|
57
78
|
const pageCount = () => host.store.getState().pageCount;
|
|
58
79
|
function show(shown) {
|
|
59
80
|
if (!shown) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-controls.js","sourceRoot":"","sources":["../src/page-controls.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-controls.js","sourceRoot":"","sources":["../src/page-controls.ts"],"names":[],"mappings":"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"}
|
package/dist/paint.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PaintColor, PaintFill } from "@docmentis/udoc-wasm";
|
|
1
|
+
import type { PaintColor, PaintFill, PaintLine, UDocSelectionProperties } from "@docmentis/udoc-wasm";
|
|
2
2
|
import type { LineDash, PaintChannel, PaintSpec, RibbonControl, RibbonControlEnv, StrokeStyle, UIShellHost } from "@docmentis/udoc-ui/internal";
|
|
3
3
|
import type { EditTools } from "./tools.js";
|
|
4
4
|
/** A picker paint as a `PaintColor`, or `null` for "no fill": a solid sRGB
|
|
@@ -9,6 +9,10 @@ export declare function paintToDrawingColor(paint: PaintSpec): PaintColor | null
|
|
|
9
9
|
/** A picker paint as a `PaintFill`: a solid / theme color wrapped as a solid
|
|
10
10
|
* fill, or explicit `"none"` for "no fill". */
|
|
11
11
|
export declare function paintToDrawingFill(paint: PaintSpec): PaintFill;
|
|
12
|
+
/** The line the selected shapes agree on — a deck's, a word document's, or
|
|
13
|
+
* those drawn over an image — or null where they don't, or none is
|
|
14
|
+
* selected. */
|
|
15
|
+
export declare function selectionLine(properties: UDocSelectionProperties | null): PaintLine | null;
|
|
12
16
|
/** A composed stroke the Line picker applies: its color plus the weight and
|
|
13
17
|
* dash from the Weight / Dashes fly-outs. The shell lowers it to the doc type's
|
|
14
18
|
* outline model (`DrawingML` `Line` / PDF stroking style). */
|
package/dist/paint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGR,UAAU,EAEV,SAAS,
|
|
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
|
-
|
|
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
|
|
115
|
-
// non-stroking / stroking style. "No Fill" on a PDF path (not
|
|
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
|
|
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
|
-
|
|
133
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"paint.js","sourceRoot":"","sources":["../src/paint.ts"],"names":[],"mappings":"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"}
|
package/dist/state.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
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 {
|
|
@@ -69,6 +70,28 @@ export interface EditState {
|
|
|
69
70
|
* selection reports, projected from the engine's selection properties.
|
|
70
71
|
*/
|
|
71
72
|
selectionRuler: SelectionRuler;
|
|
73
|
+
/**
|
|
74
|
+
* The line of the selected shapes, where they agree on one — what a Line
|
|
75
|
+
* pick keeps the arrowheads, caps and joins of, as it sets the color,
|
|
76
|
+
* weight and dash. Null where they don't, or nothing is selected.
|
|
77
|
+
*/
|
|
78
|
+
selectionLine: PaintLine | null;
|
|
79
|
+
/**
|
|
80
|
+
* Whether the current page of an image takes the shapes the Insert tab
|
|
81
|
+
* draws: false for an animated or a vector page, and for any other doc
|
|
82
|
+
* type. Re-read as the current page and the document change.
|
|
83
|
+
*/
|
|
84
|
+
pageTakesMarkup: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Crop mode on an image's page — the page cropped, the aspect its box
|
|
87
|
+
* keeps, and whether the page shows a crop already, which Reset takes
|
|
88
|
+
* away — or null outside it. The box itself is the crop overlay's.
|
|
89
|
+
*/
|
|
90
|
+
cropping: {
|
|
91
|
+
page: number;
|
|
92
|
+
aspect: CropAspect;
|
|
93
|
+
cropped: boolean;
|
|
94
|
+
} | null;
|
|
72
95
|
/** The modes the host lets the user switch between (drives the mode
|
|
73
96
|
* switcher, which offers those the session is entitled to —
|
|
74
97
|
* `modeEntitled`). */
|
package/dist/state.d.ts.map
CHANGED
|
@@ -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;
|
|
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;;;;;;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;;;;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,SAehC,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
|
@@ -11,6 +11,9 @@ export const INITIAL_EDIT_STATE = {
|
|
|
11
11
|
selectionText: EMPTY_SELECTION_TEXT_FORMAT,
|
|
12
12
|
selectionPaint: EMPTY_SELECTION_PAINT,
|
|
13
13
|
selectionRuler: EMPTY_SELECTION_RULER,
|
|
14
|
+
selectionLine: null,
|
|
15
|
+
pageTakesMarkup: false,
|
|
16
|
+
cropping: null,
|
|
14
17
|
allowedModes: ALL_MODES,
|
|
15
18
|
showModeSwitch: true,
|
|
16
19
|
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;
|
|
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;AAkHzD,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,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"}
|
package/dist/styles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,QAk+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;
|
package/dist/styles.js.map
CHANGED
|
@@ -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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAk+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" | "formattingMarks" | "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`. */
|
package/dist/tabs.d.ts.map
CHANGED
|
@@ -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;
|
|
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,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;AAoMtC,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,OAAO,EAAE,CAarE"}
|