@docmentis/udoc-editor 0.8.16 → 0.8.18
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/commands.js +2 -2
- package/dist/commands.js.map +1 -1
- package/dist/components/TablePropertiesModal.d.ts +12 -0
- package/dist/components/TablePropertiesModal.d.ts.map +1 -0
- package/dist/components/TablePropertiesModal.js +222 -0
- package/dist/components/TablePropertiesModal.js.map +1 -0
- package/dist/context-menu.d.ts.map +1 -1
- package/dist/context-menu.js +12 -2
- package/dist/context-menu.js.map +1 -1
- package/dist/docmentis-theme.d.ts +2 -0
- package/dist/docmentis-theme.d.ts.map +1 -1
- package/dist/docmentis-theme.js +4 -0
- package/dist/docmentis-theme.js.map +1 -1
- package/dist/edit-client.d.ts +28 -1
- package/dist/edit-client.d.ts.map +1 -1
- package/dist/edit-client.js +33 -0
- package/dist/edit-client.js.map +1 -1
- package/dist/edit-mode.d.ts.map +1 -1
- package/dist/edit-mode.js +13 -3
- package/dist/edit-mode.js.map +1 -1
- package/dist/grips.d.ts.map +1 -1
- package/dist/grips.js +173 -10
- package/dist/grips.js.map +1 -1
- package/dist/i18n/ar.d.ts.map +1 -1
- package/dist/i18n/ar.js +58 -7
- package/dist/i18n/ar.js.map +1 -1
- package/dist/i18n/de.d.ts.map +1 -1
- package/dist/i18n/de.js +58 -7
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +58 -7
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +58 -7
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +58 -7
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/ja.d.ts.map +1 -1
- package/dist/i18n/ja.js +62 -11
- package/dist/i18n/ja.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +58 -7
- package/dist/i18n/ko.js.map +1 -1
- package/dist/i18n/messages.d.ts +108 -7
- 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 +58 -7
- package/dist/i18n/pt-BR.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +58 -7
- package/dist/i18n/ru.js.map +1 -1
- package/dist/i18n/zh-CN.d.ts.map +1 -1
- package/dist/i18n/zh-CN.js +62 -11
- 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 +58 -7
- package/dist/i18n/zh-TW.js.map +1 -1
- package/dist/icons.d.ts +38 -0
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +38 -0
- package/dist/icons.js.map +1 -1
- package/dist/image.d.ts +5 -0
- package/dist/image.d.ts.map +1 -1
- package/dist/image.js +37 -4
- package/dist/image.js.map +1 -1
- package/dist/insert-table.d.ts +23 -0
- package/dist/insert-table.d.ts.map +1 -0
- package/dist/insert-table.js +135 -0
- package/dist/insert-table.js.map +1 -0
- package/dist/insert.d.ts +4 -1
- package/dist/insert.d.ts.map +1 -1
- package/dist/insert.js +5 -4
- package/dist/insert.js.map +1 -1
- package/dist/markup.d.ts +36 -1
- package/dist/markup.d.ts.map +1 -1
- package/dist/markup.js +175 -0
- package/dist/markup.js.map +1 -1
- package/dist/menu-action.d.ts +12 -3
- package/dist/menu-action.d.ts.map +1 -1
- package/dist/menu-action.js +13 -3
- package/dist/menu-action.js.map +1 -1
- package/dist/paint.d.ts +13 -2
- package/dist/paint.d.ts.map +1 -1
- package/dist/paint.js +2 -2
- package/dist/paint.js.map +1 -1
- package/dist/ruler-edits.js +7 -7
- package/dist/ruler-edits.js.map +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +66 -0
- package/dist/styles.js.map +1 -1
- package/dist/table-edits.d.ts +44 -0
- package/dist/table-edits.d.ts.map +1 -0
- package/dist/table-edits.js +97 -0
- package/dist/table-edits.js.map +1 -0
- package/dist/table-format.d.ts +78 -0
- package/dist/table-format.d.ts.map +1 -0
- package/dist/table-format.js +222 -0
- package/dist/table-format.js.map +1 -0
- package/dist/table-picker.d.ts +14 -0
- package/dist/table-picker.d.ts.map +1 -0
- package/dist/table-picker.js +15 -0
- package/dist/table-picker.js.map +1 -0
- package/dist/table-properties.d.ts +12 -0
- package/dist/table-properties.d.ts.map +1 -0
- package/dist/table-properties.js +27 -0
- package/dist/table-properties.js.map +1 -0
- package/dist/table.d.ts +19 -9
- package/dist/table.d.ts.map +1 -1
- package/dist/table.js +230 -40
- package/dist/table.js.map +1 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.d.ts.map +1 -1
- package/dist/tabs.js +64 -38
- package/dist/tabs.js.map +1 -1
- package/dist/text-format.d.ts +9 -3
- package/dist/text-format.d.ts.map +1 -1
- package/dist/text-format.js +45 -39
- package/dist/text-format.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 +28 -0
- package/dist/worker/handlers.js.map +1 -1
- package/dist/worker/protocol.d.ts +38 -1
- package/dist/worker/protocol.d.ts.map +1 -1
- package/dist/worker/worker-source.js +1 -1
- package/package.json +3 -3
package/dist/table.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
// A table's edits: the rows the context menu shows over a table, and the Table
|
|
2
2
|
// tab's commands, which offer the same edits on the ribbon.
|
|
3
|
-
import { allowsTableEdit, ICON_TOOL_POINTER } from "@docmentis/udoc-ui/internal";
|
|
4
|
-
import { ICON_INSERT_COLUMN_LEFT, ICON_INSERT_COLUMN_RIGHT, ICON_INSERT_ROW_ABOVE, ICON_INSERT_ROW_BELOW, ICON_MERGE_CELLS, } from "./icons.js";
|
|
3
|
+
import { allowsEdit, allowsTableEdit, ICON_DELETE, ICON_FILL, ICON_TOOL_POINTER } from "@docmentis/udoc-ui/internal";
|
|
4
|
+
import { ICON_BORDER_ALL, ICON_BORDER_COLOR, ICON_DISTRIBUTE_H, ICON_INSERT_COLUMN_LEFT, ICON_INSERT_COLUMN_RIGHT, ICON_INSERT_ROW_ABOVE, ICON_INSERT_ROW_BELOW, ICON_MERGE_CELLS, ICON_TABLE_PROPERTIES, ICON_TABLE_STYLE, ICON_TEXT_HORIZONTAL, ICON_TEXT_ROTATE_270, ICON_TEXT_ROTATE_90, ICON_TEXT_STACKED, } from "./icons.js";
|
|
5
5
|
import { editAction, runEditMenuAction } from "./menu-action.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
import { editStateOf } from "./state.js";
|
|
7
|
+
import { consensusValue } from "./table-edits.js";
|
|
8
|
+
import { createBorderState, selectionTable, tableBorderColorControl, tableBorderControl, tableShadingControl, } from "./table-format.js";
|
|
9
|
+
import { ALIGN_CENTER_ROW, ALIGN_LEFT_ROW, ALIGN_RIGHT_ROW } from "./text-format.js";
|
|
10
|
+
// The table glyphs Material Symbols has no symbol for, each drawn from the
|
|
11
|
+
// symbol nearest it — the one it is the opposite of, or the one it adapts — which
|
|
12
|
+
// keeps its frame and strokes. Modified from Material Symbols, © Google LLC,
|
|
13
|
+
// licensed under the Apache License 2.0:
|
|
9
14
|
// https://www.apache.org/licenses/LICENSE-2.0
|
|
10
15
|
/** Delete Rows: `add_row_below` with its plus an × of the same size and strokes.
|
|
11
16
|
* Not the trash can, which on the same menu deletes the whole shape. */
|
|
@@ -16,6 +21,15 @@ const ICON_DELETE_COLUMNS = `<svg viewBox="0 -960 960 960" fill="currentColor"><
|
|
|
16
21
|
* heads clear of the frame's sides, and their tails meet where the merge arrows'
|
|
17
22
|
* tips do. */
|
|
18
23
|
export const ICON_UNMERGE_CELLS = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M144-144v-240h72v168h168v72H144Zm432 0v-72h168v-168h72v240H576ZM312-336L168-480l144-144 51 51-57 57H432v72H306l57 57-51 51Zm336 0l-51-51 57-57H528v-72h126l-57-57 51-51 144 144-144 144ZM144-576v-240h240v72H216v168h-72Zm600 0v-168H576v-72h240v240h-72Z"/></svg>`;
|
|
24
|
+
// The three cell alignments, drawn from `position_top_right`: its frame, and its
|
|
25
|
+
// block centred left to right and set where the cell's text sits — as far below
|
|
26
|
+
// the frame's top as the symbol sets it, mirrored at the bottom, or midway.
|
|
27
|
+
/** Top: the block at the top of the frame — and the Align dropdown's own glyph. */
|
|
28
|
+
export const ICON_CELL_ALIGN_TOP = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M312-576h336v-96H312v96ZM216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-528q0-29.7 21.15-50.85Q186.3-816 216-816h528q29.7 0 50.85 21.15Q816-773.7 816-744v528q0 29.7-21.15 50.85Q773.7-144 744-144H216Zm0-72h528v-528H216v528Zm0-528v528-528Z"/></svg>`;
|
|
29
|
+
/** Center: the block midway. */
|
|
30
|
+
export const ICON_CELL_ALIGN_CENTER = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M312-432h336v-96H312v96ZM216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-528q0-29.7 21.15-50.85Q186.3-816 216-816h528q29.7 0 50.85 21.15Q816-773.7 816-744v528q0 29.7-21.15 50.85Q773.7-144 744-144H216Zm0-72h528v-528H216v528Zm0-528v528-528Z"/></svg>`;
|
|
31
|
+
/** Bottom: the block at the bottom of the frame. */
|
|
32
|
+
export const ICON_CELL_ALIGN_BOTTOM = `<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M312-288h336v-96H312v96ZM216-144q-29.7 0-50.85-21.15Q144-186.3 144-216v-528q0-29.7 21.15-50.85Q186.3-816 216-816h528q29.7 0 50.85 21.15Q816-773.7 816-744v528q0 29.7-21.15 50.85Q773.7-144 744-144H216Zm0-72h528v-528H216v528Zm0-528v528-528Z"/></svg>`;
|
|
19
33
|
/** Enabled whenever a document is open — the Select rows, which only show where
|
|
20
34
|
* there is a table to widen in: a right-click on one, or the Table tab's
|
|
21
35
|
* Select, which {@link inTable} greys. */
|
|
@@ -28,13 +42,9 @@ export const whenTableEdit = (kind) => (c) => allowsTableEdit(c.selection, kind)
|
|
|
28
42
|
* Inserting is live wherever the selection names a row to insert beside. */
|
|
29
43
|
const inTable = whenTableEdit("insertRows");
|
|
30
44
|
export const TABLE_SELECT_MENU = [
|
|
31
|
-
{ action: editAction({ kind: "selectTable", scope: "rows" }), label: "table.
|
|
32
|
-
{
|
|
33
|
-
|
|
34
|
-
label: "table.selectColumn",
|
|
35
|
-
enabledWhen: whenReady,
|
|
36
|
-
},
|
|
37
|
-
{ action: editAction({ kind: "selectTable", scope: "table" }), label: "table.selectTable", enabledWhen: whenReady },
|
|
45
|
+
{ action: editAction({ kind: "selectTable", scope: "rows" }), label: "table.row", enabledWhen: whenReady },
|
|
46
|
+
{ action: editAction({ kind: "selectTable", scope: "columns" }), label: "table.column", enabledWhen: whenReady },
|
|
47
|
+
{ action: editAction({ kind: "selectTable", scope: "table" }), label: "table.table", enabledWhen: whenReady },
|
|
38
48
|
];
|
|
39
49
|
export const TABLE_INSERT_MENU = [
|
|
40
50
|
{
|
|
@@ -63,62 +73,242 @@ export const TABLE_INSERT_MENU = [
|
|
|
63
73
|
enabledWhen: whenTableEdit("insertColumns"),
|
|
64
74
|
},
|
|
65
75
|
];
|
|
76
|
+
/** Delete the table: a deck's frame goes as a selected shape does, which a
|
|
77
|
+
* placeholder that refuses deletion keeps. A word document's goes as the one
|
|
78
|
+
* position it takes in its story, a delete of text wherever its rows can be
|
|
79
|
+
* edited. */
|
|
80
|
+
const canDeleteTable = (c) => inTable(c) && (c.docType === "wordprocessing" || allowsEdit(c.selection, "deleteShapes"));
|
|
66
81
|
export const TABLE_DELETE_MENU = [
|
|
67
82
|
{
|
|
68
83
|
action: editAction({ kind: "tableEdit", edit: "deleteRows" }),
|
|
69
|
-
label: "table.
|
|
84
|
+
label: "table.rows",
|
|
70
85
|
icon: ICON_DELETE_ROWS,
|
|
71
86
|
enabledWhen: whenTableEdit("deleteRows"),
|
|
72
87
|
},
|
|
73
88
|
{
|
|
74
89
|
action: editAction({ kind: "tableEdit", edit: "deleteColumns" }),
|
|
75
|
-
label: "table.
|
|
90
|
+
label: "table.columns",
|
|
76
91
|
icon: ICON_DELETE_COLUMNS,
|
|
77
92
|
enabledWhen: whenTableEdit("deleteColumns"),
|
|
78
93
|
},
|
|
94
|
+
{
|
|
95
|
+
action: editAction({ kind: "deleteTable" }),
|
|
96
|
+
label: "table.table",
|
|
97
|
+
icon: ICON_DELETE,
|
|
98
|
+
enabledWhen: canDeleteTable,
|
|
99
|
+
separatorBefore: true,
|
|
100
|
+
},
|
|
101
|
+
];
|
|
102
|
+
/**
|
|
103
|
+
* `menu` with its rows' labels spelled whole by `labels` — the Table tab's
|
|
104
|
+
* dropdowns, whose button shows only an icon, where the context menu's
|
|
105
|
+
* fly-outs sit under a row already saying Select, Insert or Delete.
|
|
106
|
+
*/
|
|
107
|
+
function spelledOut(menu, labels) {
|
|
108
|
+
return menu.map((item) => ({
|
|
109
|
+
...item,
|
|
110
|
+
label: (typeof item.label === "string" && labels[item.label]) || item.label,
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
const TOOLBAR_SELECT_MENU = spelledOut(TABLE_SELECT_MENU, {
|
|
114
|
+
"table.row": "table.selectRow",
|
|
115
|
+
"table.column": "table.selectColumn",
|
|
116
|
+
"table.table": "table.selectTable",
|
|
117
|
+
});
|
|
118
|
+
const TOOLBAR_INSERT_MENU = spelledOut(TABLE_INSERT_MENU, {
|
|
119
|
+
"table.rowAbove": "table.insertRowAbove",
|
|
120
|
+
"table.rowBelow": "table.insertRowBelow",
|
|
121
|
+
"table.columnLeft": "table.insertColumnLeft",
|
|
122
|
+
"table.columnRight": "table.insertColumnRight",
|
|
123
|
+
});
|
|
124
|
+
const TOOLBAR_DELETE_MENU = spelledOut(TABLE_DELETE_MENU, {
|
|
125
|
+
"table.rows": "table.deleteRows",
|
|
126
|
+
"table.columns": "table.deleteColumns",
|
|
127
|
+
"table.table": "table.deleteTable",
|
|
128
|
+
});
|
|
129
|
+
/** Merge and Unmerge, the Cells dropdown's two rows. */
|
|
130
|
+
export const TABLE_CELLS_MENU = [
|
|
131
|
+
{
|
|
132
|
+
action: editAction({ kind: "tableEdit", edit: "mergeCells" }),
|
|
133
|
+
label: "table.mergeCells",
|
|
134
|
+
icon: ICON_MERGE_CELLS,
|
|
135
|
+
enabledWhen: whenTableEdit("mergeCells"),
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
action: editAction({ kind: "tableEdit", edit: "unmergeCells" }),
|
|
139
|
+
label: "table.unmergeCells",
|
|
140
|
+
icon: ICON_UNMERGE_CELLS,
|
|
141
|
+
enabledWhen: whenTableEdit("unmergeCells"),
|
|
142
|
+
},
|
|
143
|
+
];
|
|
144
|
+
/** What the selection's cells hold, read off its table properties. */
|
|
145
|
+
function tableOf(c) {
|
|
146
|
+
return selectionTable(editStateOf(c).selectionProperties);
|
|
147
|
+
}
|
|
148
|
+
/** A cell format row: patches `properties` onto the cells the selection covers. */
|
|
149
|
+
const cellPatch = (properties) => ({
|
|
150
|
+
patchCellProperties: { properties },
|
|
151
|
+
});
|
|
152
|
+
/** A vertical alignment row, marked where the selected cells all sit so. */
|
|
153
|
+
function anchorRow(anchor, label, icon) {
|
|
154
|
+
return {
|
|
155
|
+
action: editAction({ kind: "tableEdit", edit: cellPatch({ anchor }) }),
|
|
156
|
+
label,
|
|
157
|
+
icon,
|
|
158
|
+
enabledWhen: whenTableEdit("patchCellProperties"),
|
|
159
|
+
activeWhen: (c) => consensusValue(tableOf(c)?.anchor) === anchor,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/** A text direction row, marked where the selected cells' text all runs so. */
|
|
163
|
+
function directionRow(direction, label, icon, enabledWhen = whenTableEdit("patchCellProperties")) {
|
|
164
|
+
return {
|
|
165
|
+
action: editAction({ kind: "tableEdit", edit: cellPatch({ direction }) }),
|
|
166
|
+
label,
|
|
167
|
+
icon,
|
|
168
|
+
enabledWhen,
|
|
169
|
+
activeWhen: (c) => consensusValue(tableOf(c)?.direction) === direction,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
/** The directions a cell's text runs in. Stacked is a deck's: a word document
|
|
173
|
+
* has no stacked text, and a save would drop it. */
|
|
174
|
+
const TEXT_DIRECTION_MENU = [
|
|
175
|
+
directionRow("lrTb", "table.directionHorizontal", ICON_TEXT_HORIZONTAL),
|
|
176
|
+
directionRow("tbRl", "table.directionRotate90", ICON_TEXT_ROTATE_90),
|
|
177
|
+
directionRow("btLr", "table.directionRotate270", ICON_TEXT_ROTATE_270),
|
|
178
|
+
directionRow("wordArtVert", "table.directionStacked", ICON_TEXT_STACKED, (c) => c.docType !== "wordprocessing" && whenTableEdit("patchCellProperties")(c)),
|
|
179
|
+
];
|
|
180
|
+
/** The Align dropdown: where the cells' text sits, top to bottom, then across
|
|
181
|
+
* — the paragraph alignments the Text tab sets — then the direction it runs in. */
|
|
182
|
+
export const TABLE_ALIGN_MENU = [
|
|
183
|
+
anchorRow("top", "table.alignTop", ICON_CELL_ALIGN_TOP),
|
|
184
|
+
anchorRow("center", "table.alignCenter", ICON_CELL_ALIGN_CENTER),
|
|
185
|
+
anchorRow("bottom", "table.alignBottom", ICON_CELL_ALIGN_BOTTOM),
|
|
186
|
+
{ ...ALIGN_LEFT_ROW, separatorBefore: true },
|
|
187
|
+
ALIGN_CENTER_ROW,
|
|
188
|
+
ALIGN_RIGHT_ROW,
|
|
189
|
+
{
|
|
190
|
+
submenu: TEXT_DIRECTION_MENU,
|
|
191
|
+
label: "table.textDirection",
|
|
192
|
+
icon: ICON_TEXT_HORIZONTAL,
|
|
193
|
+
enabledWhen: whenTableEdit("patchCellProperties"),
|
|
194
|
+
separatorBefore: true,
|
|
195
|
+
},
|
|
196
|
+
];
|
|
197
|
+
/** One of the Table Style Options: a switch that keeps the panel open, so the
|
|
198
|
+
* next can be flipped at once. */
|
|
199
|
+
function lookRow(flag, label) {
|
|
200
|
+
return {
|
|
201
|
+
action: editAction({ kind: "toggleTableLook", flag }),
|
|
202
|
+
label,
|
|
203
|
+
enabledWhen: whenTableEdit("patchTableProperties"),
|
|
204
|
+
checked: (c) => consensusValue(tableOf(c)?.look)?.[flag] === true,
|
|
205
|
+
keepsOpen: true,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
/** The Style dropdown: the six regions of the table's style that apply. */
|
|
209
|
+
export const TABLE_STYLE_MENU = [
|
|
210
|
+
lookRow("firstRow", "table.headerRow"),
|
|
211
|
+
lookRow("lastRow", "table.totalRow"),
|
|
212
|
+
lookRow("rowBanding", "table.bandedRows"),
|
|
213
|
+
lookRow("firstColumn", "table.firstColumn"),
|
|
214
|
+
lookRow("lastColumn", "table.lastColumn"),
|
|
215
|
+
lookRow("columnBanding", "table.bandedColumns"),
|
|
79
216
|
];
|
|
80
217
|
/**
|
|
81
218
|
* The Table tab's commands, over the {@link EditTools} once edit mode is mounted,
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* so a row more or less is a press rather than a dropdown's two, and each delete
|
|
88
|
-
* greys on its own. Select stays a dropdown, its rows named by words that no glyph
|
|
89
|
-
* on the band could tell apart.
|
|
219
|
+
* and `openProperties`, which opens the Table Properties dialog. One tab, kept
|
|
220
|
+
* short: Select, then Insert, Delete and Cells as dropdowns beside Distribute
|
|
221
|
+
* Columns; Shading, Border Color and Border; the Align and Style dropdowns; and
|
|
222
|
+
* the dialog, which holds the measures — height, width, margins — that would
|
|
223
|
+
* cost the band a field each.
|
|
90
224
|
*/
|
|
91
|
-
export function tableCommands(tools) {
|
|
92
|
-
|
|
225
|
+
export function tableCommands(tools, openProperties) {
|
|
226
|
+
// The pen and the edges laid last, which Border Color and Border share.
|
|
227
|
+
const border = createBorderState();
|
|
228
|
+
const dropdown = (id, group, label, icon, menu, enabledWhen) => ({
|
|
93
229
|
id,
|
|
94
230
|
label,
|
|
95
231
|
icon,
|
|
96
232
|
group,
|
|
97
|
-
run: {
|
|
98
|
-
|
|
99
|
-
cluster: "table",
|
|
100
|
-
press: () => runEditMenuAction(tools(), { kind: "tableEdit", edit }),
|
|
101
|
-
},
|
|
102
|
-
enabledWhen: whenTableEdit(kind),
|
|
233
|
+
run: { kind: "menu", menu, cluster: "table" },
|
|
234
|
+
enabledWhen,
|
|
103
235
|
});
|
|
104
|
-
const insert = (id, label, icon, edit, kind) => button(id, "tableInsert", label, icon, edit, kind);
|
|
105
236
|
return {
|
|
106
237
|
tableSelect: {
|
|
107
238
|
id: "tableSelect",
|
|
108
239
|
label: "table.select",
|
|
109
240
|
icon: ICON_TOOL_POINTER,
|
|
110
241
|
group: "tableSelect",
|
|
111
|
-
run: { kind: "menu", menu:
|
|
242
|
+
run: { kind: "menu", menu: TOOLBAR_SELECT_MENU },
|
|
243
|
+
enabledWhen: inTable,
|
|
244
|
+
},
|
|
245
|
+
tableInsert: dropdown("tableInsert", "tableEdit", "table.insert", ICON_INSERT_ROW_BELOW, TOOLBAR_INSERT_MENU, inTable),
|
|
246
|
+
tableDelete: dropdown("tableDelete", "tableEdit", "table.delete", ICON_DELETE_ROWS, TOOLBAR_DELETE_MENU, inTable),
|
|
247
|
+
tableCells: dropdown("tableCells", "tableEdit", "table.cells", ICON_MERGE_CELLS, TABLE_CELLS_MENU, inTable),
|
|
248
|
+
tableDistribute: {
|
|
249
|
+
id: "tableDistribute",
|
|
250
|
+
label: "table.distributeColumns",
|
|
251
|
+
icon: ICON_DISTRIBUTE_H,
|
|
252
|
+
group: "tableEdit",
|
|
253
|
+
run: {
|
|
254
|
+
kind: "action",
|
|
255
|
+
cluster: "table",
|
|
256
|
+
press: () => runEditMenuAction(tools(), { kind: "tableEdit", edit: "distributeColumns" }),
|
|
257
|
+
},
|
|
258
|
+
enabledWhen: whenTableEdit("distributeColumns"),
|
|
259
|
+
},
|
|
260
|
+
tableShading: {
|
|
261
|
+
id: "tableShading",
|
|
262
|
+
label: "table.shading",
|
|
263
|
+
icon: ICON_FILL,
|
|
264
|
+
group: "tablePaint",
|
|
265
|
+
run: { kind: "control", cluster: "paint", create: (env) => tableShadingControl(env, tools()) },
|
|
266
|
+
enabledWhen: whenTableEdit("patchCellProperties"),
|
|
267
|
+
},
|
|
268
|
+
tableBorder: {
|
|
269
|
+
id: "tableBorder",
|
|
270
|
+
label: "table.border",
|
|
271
|
+
icon: ICON_BORDER_ALL,
|
|
272
|
+
group: "tablePaint",
|
|
273
|
+
run: { kind: "control", cluster: "paint", create: (env) => tableBorderControl(env, tools(), border) },
|
|
274
|
+
enabledWhen: whenTableEdit("patchCellBorders"),
|
|
275
|
+
},
|
|
276
|
+
tableBorderColor: {
|
|
277
|
+
id: "tableBorderColor",
|
|
278
|
+
label: "table.borderColor",
|
|
279
|
+
icon: ICON_BORDER_COLOR,
|
|
280
|
+
group: "tablePaint",
|
|
281
|
+
run: {
|
|
282
|
+
kind: "control",
|
|
283
|
+
cluster: "paint",
|
|
284
|
+
create: (env) => tableBorderColorControl(env, tools(), border),
|
|
285
|
+
},
|
|
286
|
+
enabledWhen: whenTableEdit("patchCellBorders"),
|
|
287
|
+
},
|
|
288
|
+
tableAlign: {
|
|
289
|
+
id: "tableAlign",
|
|
290
|
+
label: "table.cellAlignment",
|
|
291
|
+
icon: ICON_CELL_ALIGN_TOP,
|
|
292
|
+
group: "tableFormat",
|
|
293
|
+
run: { kind: "menu", menu: TABLE_ALIGN_MENU },
|
|
294
|
+
enabledWhen: whenTableEdit("patchCellProperties"),
|
|
295
|
+
},
|
|
296
|
+
tableStyle: {
|
|
297
|
+
id: "tableStyle",
|
|
298
|
+
label: "table.styleOptions",
|
|
299
|
+
icon: ICON_TABLE_STYLE,
|
|
300
|
+
group: "tableFormat",
|
|
301
|
+
run: { kind: "menu", menu: TABLE_STYLE_MENU },
|
|
302
|
+
enabledWhen: whenTableEdit("patchTableProperties"),
|
|
303
|
+
},
|
|
304
|
+
tableProperties: {
|
|
305
|
+
id: "tableProperties",
|
|
306
|
+
label: "table.properties",
|
|
307
|
+
icon: ICON_TABLE_PROPERTIES,
|
|
308
|
+
group: "tableProperties",
|
|
309
|
+
run: { kind: "action", press: openProperties },
|
|
112
310
|
enabledWhen: inTable,
|
|
113
311
|
},
|
|
114
|
-
tableInsertRowAbove: insert("tableInsertRowAbove", "table.insertRowAbove", ICON_INSERT_ROW_ABOVE, { insertRows: { before: true, count: 1 } }, "insertRows"),
|
|
115
|
-
tableInsertRowBelow: insert("tableInsertRowBelow", "table.insertRowBelow", ICON_INSERT_ROW_BELOW, { insertRows: { before: false, count: 1 } }, "insertRows"),
|
|
116
|
-
tableInsertColumnLeft: insert("tableInsertColumnLeft", "table.insertColumnLeft", ICON_INSERT_COLUMN_LEFT, { insertColumns: { before: true, count: 1 } }, "insertColumns"),
|
|
117
|
-
tableInsertColumnRight: insert("tableInsertColumnRight", "table.insertColumnRight", ICON_INSERT_COLUMN_RIGHT, { insertColumns: { before: false, count: 1 } }, "insertColumns"),
|
|
118
|
-
tableDeleteRows: button("tableDeleteRows", "tableDelete", "table.deleteRowsButton", ICON_DELETE_ROWS, "deleteRows", "deleteRows"),
|
|
119
|
-
tableDeleteColumns: button("tableDeleteColumns", "tableDelete", "table.deleteColumnsButton", ICON_DELETE_COLUMNS, "deleteColumns", "deleteColumns"),
|
|
120
|
-
tableMerge: button("tableMerge", "tableMerge", "table.mergeCells", ICON_MERGE_CELLS, "mergeCells", "mergeCells"),
|
|
121
|
-
tableUnmerge: button("tableUnmerge", "tableMerge", "table.unmergeCells", ICON_UNMERGE_CELLS, "unmergeCells", "unmergeCells"),
|
|
122
312
|
};
|
|
123
313
|
}
|
|
124
314
|
//# sourceMappingURL=table.js.map
|
package/dist/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4DAA4D;AAC5D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
|
package/dist/tabs.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { UDocType } from "@docmentis/udoc-ui";
|
|
|
2
2
|
import type { CommandId, ToolbarTab } from "@docmentis/udoc-ui/internal";
|
|
3
3
|
import type { MessageKey } from "./i18n/index.js";
|
|
4
4
|
/** A command edit mode's tabs name: udoc-ui's, or the editor's own. */
|
|
5
|
-
export type EditCommandId = CommandId | "paragraphStyle" | "fontFamily" | "fontSize" | "bold" | "italic" | "underline" | "strikethrough" | "superscript" | "subscript" | "widthScale" | "textFill" | "textHighlight" | "paragraphAlign" | "lineSpacing" | "bulletList" | "numberList" | "changeShape" | "shapeFillColor" | "shapeStrokeColor" | "shapeOrder" | "shapeAlign" | "shapeRotate" | "shapeGroup" | "shapeUngroup" | "objectFillColor" | "objectStrokeColor" | "objectOpacity" | "objectOrder" | "objectAlign" | "objectRotate" | "objectGroup" | "objectUngroup" | "tableSelect" | "
|
|
5
|
+
export type EditCommandId = CommandId | "paragraphStyle" | "fontFamily" | "fontSize" | "bold" | "italic" | "underline" | "strikethrough" | "superscript" | "subscript" | "widthScale" | "textFill" | "textHighlight" | "paragraphAlign" | "lineSpacing" | "bulletList" | "numberList" | "changeShape" | "shapeFillColor" | "shapeStrokeColor" | "shapeOrder" | "shapeAlign" | "shapeRotate" | "shapeGroup" | "shapeUngroup" | "objectFillColor" | "objectStrokeColor" | "objectOpacity" | "objectOrder" | "objectAlign" | "objectRotate" | "objectGroup" | "objectUngroup" | "tableSelect" | "tableInsert" | "tableDelete" | "tableCells" | "tableDistribute" | "tableShading" | "tableBorderColor" | "tableBorder" | "tableAlign" | "tableStyle" | "tableProperties" | "ruler" | "createSlide" | "deleteSlide" | "changeLayout" | "insertImage" | "insertTable" | "insertPageImage" | "insertShape" | "insertGalleryShape" | "insertTextBox" | "pageCreate" | "pageDelete" | "pageRotateLeft" | "pageRotateRight" | "pageResize" | "rotatePageLeft" | "rotatePageRight" | "flipPageHorizontal" | "flipPageVertical" | "cropPage" | "resizePage" | "cropAspect" | "cropReset" | "cropCancel" | "cropApply";
|
|
6
6
|
/** A tab of edit mode's. */
|
|
7
7
|
type EditTab = ToolbarTab<MessageKey>;
|
|
8
8
|
/** Edit mode's tab strip for a document of `docType`. */
|
package/dist/tabs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,KAAK,EAAE,SAAS,EAAyB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAYlD,uEAAuE;AACvE,MAAM,MAAM,aAAa,GACnB,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,UAAU,GACV,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,aAAa,GACb,WAAW,GACX,YAAY,GACZ,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,aAAa,GACb,cAAc,GACd,aAAa,GACb,eAAe,GACf,aAAa,GACb,
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,KAAK,EAAE,SAAS,EAAyB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAYlD,uEAAuE;AACvE,MAAM,MAAM,aAAa,GACnB,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,UAAU,GACV,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,aAAa,GACb,WAAW,GACX,YAAY,GACZ,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,aAAa,GACb,cAAc,GACd,aAAa,GACb,eAAe,GACf,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,aAAa,GACb,aAAa,GACb,iBAAiB,GACjB,aAAa,GACb,oBAAoB,GACpB,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,GAClB,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,CAAC;AAElB,4BAA4B;AAC5B,KAAK,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AA+UtC,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,OAAO,EAAE,CAerE"}
|
package/dist/tabs.js
CHANGED
|
@@ -86,17 +86,22 @@ const PRESENTATION_TEXT_TAB = {
|
|
|
86
86
|
commands: TEXT_TAB.commands.filter((id) => id !== "paragraphStyle" && id !== "widthScale"),
|
|
87
87
|
};
|
|
88
88
|
/**
|
|
89
|
-
* The Shape tab — outline + appearance + arrangement for
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
89
|
+
* The Shape tab — new shapes, then outline + appearance + arrangement for
|
|
90
|
+
* graphics objects. Text Box and the gallery's shapes first, dragged out as the
|
|
91
|
+
* Slide and Image tabs' are, as PowerPoint's Shape Format starts with its Insert
|
|
92
|
+
* Shapes; then Change Shape's gallery, then Fill / Line split buttons (color per
|
|
93
|
+
* channel), then a button group of the arrangement dropdowns — Order (z-order),
|
|
94
|
+
* Align (align / distribute to the selection or the page) and Rotate
|
|
95
|
+
* (quarter-turn rotations + flips) — and one of Group and Ungroup. Picked shapes
|
|
96
|
+
* open it.
|
|
94
97
|
*/
|
|
95
98
|
const SHAPE_TAB = {
|
|
96
99
|
id: "shape",
|
|
97
100
|
label: "ribbon.shape",
|
|
98
101
|
icon: ICON_TAB_SHAPE,
|
|
99
102
|
commands: [
|
|
103
|
+
"insertTextBox",
|
|
104
|
+
"insertGalleryShape",
|
|
100
105
|
"changeShape",
|
|
101
106
|
"shapeFillColor",
|
|
102
107
|
"shapeStrokeColor",
|
|
@@ -108,43 +113,61 @@ const SHAPE_TAB = {
|
|
|
108
113
|
],
|
|
109
114
|
opensFor: pickedShapes,
|
|
110
115
|
};
|
|
116
|
+
/** The wordprocessing Shape tab — {@link SHAPE_TAB} without Text Box and the
|
|
117
|
+
* gallery's shapes: nothing places a drawing in a word document's flow yet,
|
|
118
|
+
* and the tab drops them rather than greying them for good. */
|
|
119
|
+
const WORDPROCESSING_SHAPE_TAB = {
|
|
120
|
+
...SHAPE_TAB,
|
|
121
|
+
commands: SHAPE_TAB.commands.filter((id) => id !== "insertTextBox" && id !== "insertGalleryShape"),
|
|
122
|
+
};
|
|
111
123
|
/**
|
|
112
|
-
* The Table tab —
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
124
|
+
* The Table tab — a new table, then the edits and the format of the table the
|
|
125
|
+
* selection is in, on one short band, as an embedded editor has room for: Insert
|
|
126
|
+
* Table — on a deck's slide or over an image's page, as their Slide and Image
|
|
127
|
+
* tabs have it too, or at a caret in a word document's body, not a cell's; then
|
|
128
|
+
* the Select, Insert, Delete and Cells dropdowns and Distribute Columns; Shading,
|
|
129
|
+
* Border Color and Border; the Align and Style dropdowns; and Properties, the
|
|
130
|
+
* dialog holding the measures. A block of cells opens it, a selection with no
|
|
131
|
+
* text of its own to format. A caret in a cell opens the Text tab ahead of it, as
|
|
132
|
+
* a caret in a shape's text does ahead of Shape, but leaves this tab open if it
|
|
133
|
+
* is: selecting a row, deleting it and clicking a cell goes from a block to a
|
|
134
|
+
* caret and back, all of it this tab's work.
|
|
118
135
|
*/
|
|
119
136
|
const TABLE_TAB = {
|
|
120
137
|
id: "table",
|
|
121
138
|
label: "ribbon.table",
|
|
122
139
|
icon: ICON_TAB_TABLE,
|
|
123
140
|
commands: [
|
|
141
|
+
"insertTable",
|
|
124
142
|
"tableSelect",
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
143
|
+
"tableInsert",
|
|
144
|
+
"tableDelete",
|
|
145
|
+
"tableCells",
|
|
146
|
+
"tableDistribute",
|
|
147
|
+
"tableShading",
|
|
148
|
+
"tableBorderColor",
|
|
149
|
+
"tableBorder",
|
|
150
|
+
"tableAlign",
|
|
151
|
+
"tableStyle",
|
|
152
|
+
"tableProperties",
|
|
133
153
|
],
|
|
134
154
|
opensFor: inTable,
|
|
135
155
|
staysOpen: true,
|
|
136
156
|
};
|
|
137
157
|
/**
|
|
138
|
-
* The Object tab — the portable (PDF) counterpart of {@link SHAPE_TAB}:
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
158
|
+
* The Object tab — the portable (PDF) counterpart of {@link SHAPE_TAB}: the Page
|
|
159
|
+
* tab's Text Box and Shapes first, then its own Line, Fill, Opacity and
|
|
160
|
+
* arrangement, gated on the object edits, over the page's content objects
|
|
161
|
+
* (paths, text, images) rather than DrawingML shapes. Picked objects open it, as
|
|
162
|
+
* does a caret in one's text.
|
|
142
163
|
*/
|
|
143
164
|
const OBJECT_TAB = {
|
|
144
165
|
id: "object",
|
|
145
166
|
label: "ribbon.object",
|
|
146
167
|
icon: ICON_TAB_OBJECT,
|
|
147
168
|
commands: [
|
|
169
|
+
"insertTextBox",
|
|
170
|
+
"insertShape",
|
|
148
171
|
"objectStrokeColor",
|
|
149
172
|
"objectFillColor",
|
|
150
173
|
"objectOpacity",
|
|
@@ -163,11 +186,12 @@ const PORTABLE_ANNOTATE_TAB = { ...ANNOTATE_TAB, opensFor: annotations };
|
|
|
163
186
|
* The image Image tab — the current page's Rotate Left / Right, Flip
|
|
164
187
|
* Horizontal / Vertical, Crop and Image Size, the turns and flips the pages picked
|
|
165
188
|
* in the thumbnails instead, then what is drawn over the page: a text box and the
|
|
166
|
-
* gallery's shapes
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
* the
|
|
189
|
+
* gallery's shapes, dragged out on it, and a table sized on a grid. All icons,
|
|
190
|
+
* named by their tooltips. An image's strip opens on it, and pages picked or
|
|
191
|
+
* nothing selected open it. **Contextual** (see {@link ToolbarTab.contextual}):
|
|
192
|
+
* while a page is cropped, crop mode's own controls show in their place — the
|
|
193
|
+
* aspect the box keeps, Reset, Cancel and Apply — and a page that takes no markup
|
|
194
|
+
* leaves out the text box, the shapes and the table.
|
|
171
195
|
*/
|
|
172
196
|
const IMAGE_TAB = {
|
|
173
197
|
id: "image",
|
|
@@ -182,6 +206,7 @@ const IMAGE_TAB = {
|
|
|
182
206
|
"resizePage",
|
|
183
207
|
"insertTextBox",
|
|
184
208
|
"insertGalleryShape",
|
|
209
|
+
"insertTable",
|
|
185
210
|
"cropAspect",
|
|
186
211
|
"cropReset",
|
|
187
212
|
"cropCancel",
|
|
@@ -220,9 +245,9 @@ const PORTABLE_PAGE_TAB = {
|
|
|
220
245
|
* The presentation Slide tab: the slides' edits — New Slide, after the current
|
|
221
246
|
* slide, then Delete Slide and Change Layout, of the current slide or those
|
|
222
247
|
* picked in the thumbnails — then what goes on a slide: a text box and the
|
|
223
|
-
* gallery's shapes, dragged out on it, and a
|
|
224
|
-
* tooltips. A deck's strip opens on it, and slides or
|
|
225
|
-
* selected open it.
|
|
248
|
+
* gallery's shapes, dragged out on it, a picture, and a table sized on a grid.
|
|
249
|
+
* All icons, named by their tooltips. A deck's strip opens on it, and slides or
|
|
250
|
+
* sections picked or nothing selected open it.
|
|
226
251
|
*/
|
|
227
252
|
const PRESENTATION_SLIDE_TAB = {
|
|
228
253
|
id: "slide",
|
|
@@ -235,6 +260,7 @@ const PRESENTATION_SLIDE_TAB = {
|
|
|
235
260
|
"insertTextBox",
|
|
236
261
|
"insertGalleryShape",
|
|
237
262
|
"insertImage",
|
|
263
|
+
"insertTable",
|
|
238
264
|
],
|
|
239
265
|
opensOnEntry: true,
|
|
240
266
|
opensFor: slidesOrNothing,
|
|
@@ -268,19 +294,19 @@ const PRESENTATION_TABS = [
|
|
|
268
294
|
presentTab("presentation"),
|
|
269
295
|
editViewTab("presentation"),
|
|
270
296
|
];
|
|
271
|
-
/** The wordprocessing strip: Text
|
|
272
|
-
* flow, and its View last. */
|
|
297
|
+
/** The wordprocessing strip: Text, then Table, then Shape for the drawings in
|
|
298
|
+
* its flow, then Review, and its View last. */
|
|
273
299
|
const WORDPROCESSING_TABS = [
|
|
274
300
|
WORDPROCESSING_TEXT_TAB,
|
|
275
301
|
TABLE_TAB,
|
|
276
|
-
|
|
302
|
+
WORDPROCESSING_SHAPE_TAB,
|
|
277
303
|
REVIEW_TAB,
|
|
278
304
|
editViewTab("wordprocessing"),
|
|
279
305
|
];
|
|
280
|
-
/** The image strip: its own Image, then the Text and Shape tabs of
|
|
281
|
-
* drawn over its pages — a deck's, as they are a slide's shapes
|
|
282
|
-
* last. */
|
|
283
|
-
const IMAGE_TABS = [IMAGE_TAB, PRESENTATION_TEXT_TAB, SHAPE_TAB, editViewTab("image")];
|
|
306
|
+
/** The image strip: its own Image, then the Text, Table and Shape tabs of what
|
|
307
|
+
* is drawn over its pages — a deck's, as they are a slide's shapes and tables —
|
|
308
|
+
* and its View last. Table goes ahead of Shape, as on a deck. */
|
|
309
|
+
const IMAGE_TABS = [IMAGE_TAB, PRESENTATION_TEXT_TAB, TABLE_TAB, SHAPE_TAB, editViewTab("image")];
|
|
284
310
|
/** The spreadsheet strip: its View. */
|
|
285
311
|
const SPREADSHEET_TABS = [editViewTab("spreadsheet")];
|
|
286
312
|
/** Edit mode's tab strip for a document of `docType`. */
|
package/dist/tabs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,UAAU,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,GACV,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACH,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"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"}
|