velo-text 1.0.2 → 1.0.4
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/CHANGELOG.md +17 -0
- package/README.md +6 -6
- package/dist/adapters/backend/pdf-http.d.ts.map +1 -1
- package/dist/adapters/backend/pdf-http.js +12 -4
- package/dist/adapters/backend/pdf-http.js.map +1 -1
- package/dist/assets/icons/index.d.ts +1 -1
- package/dist/assets/icons/index.d.ts.map +1 -1
- package/dist/assets/icons/index.js +1 -0
- package/dist/assets/icons/index.js.map +1 -1
- package/dist/core/model/index.d.ts +1 -0
- package/dist/core/model/index.d.ts.map +1 -1
- package/dist/core/model/index.js +1 -0
- package/dist/core/model/index.js.map +1 -1
- package/dist/core/model/office-colors.d.ts +12 -0
- package/dist/core/model/office-colors.d.ts.map +1 -0
- package/dist/core/model/office-colors.js +68 -0
- package/dist/core/model/office-colors.js.map +1 -0
- package/dist/core/model/table-look.d.ts +13 -0
- package/dist/core/model/table-look.d.ts.map +1 -1
- package/dist/core/model/table-look.js +53 -11
- package/dist/core/model/table-look.js.map +1 -1
- package/dist/editor-web/controller/bar-chrome.d.ts +7 -2
- package/dist/editor-web/controller/bar-chrome.d.ts.map +1 -1
- package/dist/editor-web/controller/bar-chrome.js +141 -3
- package/dist/editor-web/controller/bar-chrome.js.map +1 -1
- package/dist/editor-web/controller/chrome-bar.d.ts +5 -0
- package/dist/editor-web/controller/chrome-bar.d.ts.map +1 -0
- package/dist/editor-web/controller/chrome-bar.js +20 -0
- package/dist/editor-web/controller/chrome-bar.js.map +1 -0
- package/dist/editor-web/controller/color-palette.d.ts +5 -0
- package/dist/editor-web/controller/color-palette.d.ts.map +1 -0
- package/dist/editor-web/controller/color-palette.js +48 -0
- package/dist/editor-web/controller/color-palette.js.map +1 -0
- package/dist/editor-web/controller/columns-ui.d.ts.map +1 -1
- package/dist/editor-web/controller/columns-ui.js +23 -12
- package/dist/editor-web/controller/columns-ui.js.map +1 -1
- package/dist/editor-web/controller/format-commands.d.ts.map +1 -1
- package/dist/editor-web/controller/format-commands.js +30 -11
- package/dist/editor-web/controller/format-commands.js.map +1 -1
- package/dist/editor-web/controller/place-overlay.js +1 -1
- package/dist/editor-web/controller/place-overlay.js.map +1 -1
- package/dist/editor-web/controller/table-ui.d.ts.map +1 -1
- package/dist/editor-web/controller/table-ui.js +77 -56
- package/dist/editor-web/controller/table-ui.js.map +1 -1
- package/dist/editor-web/toolbar/wire-playground.d.ts.map +1 -1
- package/dist/editor-web/toolbar/wire-playground.js +115 -12
- package/dist/editor-web/toolbar/wire-playground.js.map +1 -1
- package/dist/editor-web/view/parse.d.ts.map +1 -1
- package/dist/editor-web/view/parse.js +28 -18
- package/dist/editor-web/view/parse.js.map +1 -1
- package/dist/editor-web/view/render.d.ts.map +1 -1
- package/dist/editor-web/view/render.js +16 -7
- package/dist/editor-web/view/render.js.map +1 -1
- package/dist/export/pdf/layout-table.d.ts.map +1 -1
- package/dist/export/pdf/layout-table.js +9 -7
- package/dist/export/pdf/layout-table.js.map +1 -1
- package/dist/export/pdf/stream.d.ts.map +1 -1
- package/dist/export/pdf/stream.js +15 -5
- package/dist/export/pdf/stream.js.map +1 -1
- package/package.json +1 -1
- package/skill/editor.md +1 -1
- package/themes/editor-chrome.css +19 -23
- package/themes/editor-overlays.css +279 -5
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,9 @@ All notable changes follow [Keep a Changelog](https://keepachangelog.com/) and [
|
|
|
11
11
|
### Changed
|
|
12
12
|
- Toolbar and table chrome wrap instead of nested horizontal scroll
|
|
13
13
|
- Chrome metrics via `--pde-icon-size` / `--pde-control-size` (default 16px / 28px); hosts override on `[data-pde-theme]`
|
|
14
|
+
- Table/column chrome docks in the main toolbar when present; row/column ops and row height are dropdowns
|
|
15
|
+
- Table styles flyout: look icons and grid presets in one horizontal pad, `|` between the two groups
|
|
16
|
+
- Office theme + standard palette for text, highlight, and cell fill; PDF cell fills encode as `#hex` (no `rgb()` tokens)
|
|
14
17
|
|
|
15
18
|
|
|
16
19
|
|
|
@@ -23,6 +26,18 @@ All notable changes follow [Keep a Changelog](https://keepachangelog.com/) and [
|
|
|
23
26
|
|
|
24
27
|
|
|
25
28
|
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## [1.0.4] - 2026-09-04
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
-
|
|
35
|
+
|
|
36
|
+
## [1.0.3] - 2026-09-03
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
-
|
|
40
|
+
|
|
26
41
|
## [1.0.2] - 2026-09-02
|
|
27
42
|
|
|
28
43
|
### Added
|
|
@@ -143,3 +158,5 @@ First public **beta** on npm (`velo-text@beta`). Treat it as a trial API: layout
|
|
|
143
158
|
[1.0.0]: https://github.com/velo-text/velo-text/releases/tag/v1.0.0
|
|
144
159
|
[1.0.1]: https://github.com/velo-text/velo-text/releases/tag/v1.0.1
|
|
145
160
|
[1.0.2]: https://github.com/velo-text/velo-text/releases/tag/v1.0.2
|
|
161
|
+
[1.0.3]: https://github.com/velo-text/velo-text/releases/tag/v1.0.3
|
|
162
|
+
[1.0.4]: https://github.com/velo-text/velo-text/releases/tag/v1.0.4
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# velo-text
|
|
2
2
|
|
|
3
|
-
**1.0.
|
|
3
|
+
**1.0.4** — public beta. APIs and export layout can still change. Install with the `beta` tag, not as if it were a stable 1.0.
|
|
4
4
|
|
|
5
5
|
Portable document editor with variables `{{name}}`, tables, images, LaTeX equations and deterministic export to **PDF, ODT, and DOCX** — **zero runtime dependencies**, TypeScript strict. LibreOffice/Word CI and full visual parity across Office formats are still open.
|
|
6
6
|
|
|
@@ -13,10 +13,10 @@ Requires **Node >= 18**. Use **pnpm**.
|
|
|
13
13
|
```bash
|
|
14
14
|
pnpm add velo-text@beta
|
|
15
15
|
# exact prerelease
|
|
16
|
-
pnpm add velo-text@1.0.
|
|
16
|
+
pnpm add velo-text@1.0.4
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Do not run `pnpm add velo-text` expecting a stable `latest` until 1.0.
|
|
19
|
+
Do not run `pnpm add velo-text` expecting a stable `latest` until 1.0.4 is published.
|
|
20
20
|
|
|
21
21
|
### Agent skill (any project)
|
|
22
22
|
|
|
@@ -38,7 +38,7 @@ import "velo-text/themes/components.css";
|
|
|
38
38
|
|
|
39
39
|
## Publish / GitHub Actions
|
|
40
40
|
|
|
41
|
-
Do **not** put an npm token in the repo. Create GitHub secret **`NPM_TOKEN`**, then push tag `v1.0.
|
|
41
|
+
Do **not** put an npm token in the repo. Create GitHub secret **`NPM_TOKEN`**, then push tag `v1.0.4`. CI publishes to npm (`beta`) and opens a GitHub Release. Details: [docs/guide/publish.md](docs/guide/publish.md).
|
|
42
42
|
|
|
43
43
|
## Quick start
|
|
44
44
|
|
|
@@ -107,10 +107,10 @@ pnpm run test:visual # HTML snapshots in tests/visual/snapshots
|
|
|
107
107
|
pnpm run fuzz -- --iterations=5000
|
|
108
108
|
pnpm run build # tsc → dist/
|
|
109
109
|
pnpm docs:dev # VitePress docs + playground at /playground/
|
|
110
|
-
pnpm version:set 1.0.
|
|
110
|
+
pnpm version:set 1.0.4 # bump version (then tag v1.0.4 and push)
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
Publish is **GitHub Actions only** (push tag `v1.0.
|
|
113
|
+
Publish is **GitHub Actions only** (push tag `v1.0.4` after setting secret `NPM_TOKEN`).
|
|
114
114
|
|
|
115
115
|
## Zero dependencies
|
|
116
116
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-http.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/pdf-http.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGtF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"pdf-http.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/pdf-http.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGtF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,GACrD,OAAO,CAAC,aAAa,CAAC,CAqCxB;AAED,KAAK,OAAO,GAAG;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAC/B,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;CAChC,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAavF;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EACxC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EACxC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAEf;AAWD,wBAAgB,aAAa,CAAC,KAAK,SAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,CAAC,CAAC,EAAE;QAAE,WAAW,EAAE;YAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAA;CAAE,CA0BnK"}
|
|
@@ -2,7 +2,8 @@ import { exportPdf, PDF_FILL_OPTIONS } from "../../export/pdf/export-pdf.js";
|
|
|
2
2
|
function asBytes(data) {
|
|
3
3
|
if (Array.isArray(data))
|
|
4
4
|
return Uint8Array.from(data);
|
|
5
|
-
const
|
|
5
|
+
const cleaned = String(data).replace(/\s/g, "");
|
|
6
|
+
const bin = atob(cleaned);
|
|
6
7
|
const out = new Uint8Array(bin.length);
|
|
7
8
|
for (let i = 0; i < bin.length; i++)
|
|
8
9
|
out[i] = bin.charCodeAt(i);
|
|
@@ -17,10 +18,17 @@ export async function handlePdfExportJson(input, runtime) {
|
|
|
17
18
|
return { status: 400, headers: { "content-type": "application/json" }, error: "document envelope required" };
|
|
18
19
|
}
|
|
19
20
|
const assets = {};
|
|
20
|
-
for (const [id, a] of Object.entries(body.assets ?? {})) {
|
|
21
|
-
assets[id] = { id: a.id ?? id, mediaType: a.mediaType, data: asBytes(a.data) };
|
|
22
|
-
}
|
|
23
21
|
try {
|
|
22
|
+
for (const [id, a] of Object.entries(body.assets ?? {})) {
|
|
23
|
+
if (!a || a.data == null)
|
|
24
|
+
continue;
|
|
25
|
+
try {
|
|
26
|
+
assets[id] = { id: a.id ?? id, mediaType: a.mediaType, data: asBytes(a.data) };
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
/* skip payloads that are not base64 / byte arrays */
|
|
30
|
+
}
|
|
31
|
+
}
|
|
24
32
|
const pdf = await exportPdf({
|
|
25
33
|
document: body.document,
|
|
26
34
|
data: body.data ?? {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-http.js","sourceRoot":"","sources":["../../../src/adapters/backend/pdf-http.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAe7E,SAAS,OAAO,CAAC,IAAuB;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,
|
|
1
|
+
{"version":3,"file":"pdf-http.js","sourceRoot":"","sources":["../../../src/adapters/backend/pdf-http.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAe7E,SAAS,OAAO,CAAC,IAAuB;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAc,EACd,OAAsD;IAEtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACvG,CAAC;IACD,MAAM,IAAI,GAAG,KAAsB,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;IAC/G,CAAC;IACD,MAAM,MAAM,GAAwE,EAAE,CAAC;IACvF,IAAI,CAAC;QACH,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI;gBAAE,SAAS;YACnC,IAAI,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACjF,CAAC;YAAC,MAAM,CAAC;gBACP,qDAAqD;YACvD,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,MAAM;YACN,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,WAAW,EAAE,OAAO,EAAE,WAAW;SAClC,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE,GAAG;YACX,OAAO,EAAE;gBACP,cAAc,EAAE,iBAAiB;gBACjC,qBAAqB,EAAE,sCAAsC;aAC9D;YACD,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACnI,CAAC;AACH,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAkB,EAAE,GAAY;IACtE,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU;QAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;QACxD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;IACjC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC5C,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,IAAI,UAAU,EAAE,CAAC;IAC1C,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACrD,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAwC,EACxC,GAAY;IAEZ,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACpD,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QACnH,OAAO;IACT,CAAC;IACD,MAAM,iBAAiB,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAwC,EACxC,GAAY;IAEZ,MAAM,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,GAAwE;IAC1F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAK,GAAG,UAAU;IAC9C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,eAAe,CAAC,MAAM;YACpB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAY,EAAE,EAAE;gBACzC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAqG,CAAC;gBACrH,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAY,CAAC;gBAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAe,CAAC;gBAChC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBAAC,IAAI,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBAChC,KAAK,CAAC,KAAK,IAAI,EAAE;oBACf,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;wBAChD,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;wBACnH,OAAO;oBACT,CAAC;oBACD,IAAI,IAAa,CAAC;oBAClB,IAAI,CAAC;wBAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAC/C,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,GAAG,CAAC,CAAC;wBACtH,OAAO;oBACT,CAAC;oBACD,MAAM,iBAAiB,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBAChE,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* All SVGs are inline, zero dependencies, colored via `currentColor` so they
|
|
4
4
|
* can be recolored with CSS variables or the `color` option at render time.
|
|
5
5
|
*/
|
|
6
|
-
export type IconName = "bold" | "italic" | "underline" | "strikethrough" | "code" | "heading1" | "heading2" | "heading3" | "listUnordered" | "listOrdered" | "quote" | "link" | "image" | "imagePlus" | "table" | "variable" | "equation" | "alignLeft" | "alignCenter" | "alignRight" | "alignJustify" | "undo2" | "redo2" | "clearFormat" | "color" | "background" | "gripVertical" | "plus" | "trash" | "chevronDown" | "chevronLeft" | "chevronRight" | "palette" | "download" | "sliders" | "copy" | "move" | "columns3" | "rows3" | "insertColLeft" | "insertColRight" | "insertRowAbove" | "insertRowBelow" | "deleteRow" | "deleteCol" | "rowHCompact" | "rowHNormal" | "rowHLarge" | "alignTop" | "alignMiddle" | "alignBottom" | "eraser" | "fileText" | "panelLeft" | "split" | "moreHorizontal" | "minus";
|
|
6
|
+
export type IconName = "bold" | "italic" | "underline" | "strikethrough" | "code" | "heading1" | "heading2" | "heading3" | "listUnordered" | "listOrdered" | "quote" | "link" | "image" | "imagePlus" | "table" | "variable" | "equation" | "alignLeft" | "alignCenter" | "alignRight" | "alignJustify" | "undo2" | "redo2" | "clearFormat" | "color" | "background" | "gripVertical" | "plus" | "trash" | "chevronDown" | "chevronLeft" | "chevronRight" | "palette" | "paintBucket" | "download" | "sliders" | "copy" | "move" | "columns3" | "rows3" | "insertColLeft" | "insertColRight" | "insertRowAbove" | "insertRowBelow" | "deleteRow" | "deleteCol" | "rowHCompact" | "rowHNormal" | "rowHLarge" | "alignTop" | "alignMiddle" | "alignBottom" | "eraser" | "fileText" | "panelLeft" | "split" | "moreHorizontal" | "minus";
|
|
7
7
|
export interface IconOptions {
|
|
8
8
|
size?: number;
|
|
9
9
|
color?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,GACV,eAAe,GACf,aAAa,GACb,OAAO,GACP,MAAM,GACN,OAAO,GACP,WAAW,GACX,OAAO,GACP,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,YAAY,GACZ,cAAc,GACd,OAAO,GACP,OAAO,GACP,aAAa,GACb,OAAO,GACP,YAAY,GACZ,cAAc,GACd,MAAM,GACN,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,SAAS,GACT,UAAU,GACV,SAAS,GACT,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,UAAU,GACV,aAAa,GACb,aAAa,GACb,QAAQ,GACR,UAAU,GACV,WAAW,GACX,OAAO,GACP,gBAAgB,GAChB,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,GACV,eAAe,GACf,aAAa,GACb,OAAO,GACP,MAAM,GACN,OAAO,GACP,WAAW,GACX,OAAO,GACP,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,YAAY,GACZ,cAAc,GACd,OAAO,GACP,OAAO,GACP,aAAa,GACb,OAAO,GACP,YAAY,GACZ,cAAc,GACd,MAAM,GACN,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,SAAS,GACT,aAAa,GACb,UAAU,GACV,SAAS,GACT,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,UAAU,GACV,aAAa,GACb,aAAa,GACb,QAAQ,GACR,UAAU,GACV,WAAW,GACX,OAAO,GACP,gBAAgB,GAChB,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAE,WAAgB,GAAG,MAAM,CASzE;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,WAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAI5E;AAED,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CAE1C;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,0jBAqBnB,CAAC"}
|
|
@@ -37,6 +37,7 @@ const ICONS = {
|
|
|
37
37
|
chevronLeft: '<path d="m15 18-6-6 6-6"/>',
|
|
38
38
|
chevronRight: '<path d="m9 18 6-6-6-6"/>',
|
|
39
39
|
palette: '<circle cx="13.5" cy="6.5" r=".5" fill="currentColor"/><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"/><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"/><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"/>',
|
|
40
|
+
paintBucket: '<path d="m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z"/><path d="m5 2 5 5"/><path d="M2 13h15"/><path d="M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z"/>',
|
|
40
41
|
download: '<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" x2="12" y1="15" y2="3"/>',
|
|
41
42
|
sliders: '<line x1="4" x2="4" y1="21" y2="14"/><line x1="4" x2="4" y1="10" y2="3"/><line x1="12" x2="12" y1="21" y2="12"/><line x1="12" x2="12" y1="8" y2="3"/><line x1="20" x2="20" y1="21" y2="16"/><line x1="20" x2="20" y1="12" y2="3"/><line x1="2" x2="6" y1="14" y2="14"/><line x1="10" x2="14" y1="8" y2="8"/><line x1="18" x2="22" y1="16" y2="16"/>',
|
|
42
43
|
copy: '<rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
|
package/dist/core/model/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Word-like Office theme + standard palette. User-chosen text, highlight, and
|
|
3
|
+
* cell fills snap to these hexes so editor HTML and PDF share one token set.
|
|
4
|
+
*/
|
|
5
|
+
export declare const OFFICE_THEME: readonly (readonly string[])[];
|
|
6
|
+
export declare const OFFICE_STANDARD: readonly string[];
|
|
7
|
+
export declare const OFFICE_STANDARD_LABEL = "Colores est\u00E1ndar";
|
|
8
|
+
export declare function cssToHex6(color: string | undefined): string | undefined;
|
|
9
|
+
/** Nearest palette hex; default black. Always `#rrggbb`. */
|
|
10
|
+
export declare function snapOfficeHex(color: string | undefined): string;
|
|
11
|
+
export declare function isOfficeHex(color: string | undefined): boolean;
|
|
12
|
+
//# sourceMappingURL=office-colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"office-colors.d.ts","sourceRoot":"","sources":["../../../src/core/model/office-colors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAOtD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAE5C,CAAC;AAEF,eAAO,MAAM,qBAAqB,0BAAqB,CAAC;AAOxD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAYvE;AAWD,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAc/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAG9D"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Word-like Office theme + standard palette. User-chosen text, highlight, and
|
|
3
|
+
* cell fills snap to these hexes so editor HTML and PDF share one token set.
|
|
4
|
+
*/
|
|
5
|
+
export const OFFICE_THEME = [
|
|
6
|
+
["#ffffff", "#000000", "#e7e6e6", "#44546a", "#4472c4", "#ed7d31", "#a5a5a5", "#ffc000", "#5b9bd5", "#70ad47"],
|
|
7
|
+
["#f2f2f2", "#7f7f7f", "#d0cece", "#d6dce4", "#d9e2f3", "#fbe5d6", "#ededed", "#fff2cc", "#deebf7", "#e2efd9"],
|
|
8
|
+
["#d9d9d9", "#595959", "#aeabab", "#adb9ca", "#b4c6e7", "#f8cbad", "#c9c9c9", "#ffe699", "#bdd7ee", "#c5e0b3"],
|
|
9
|
+
["#bfbfbf", "#3f3f3f", "#757070", "#8497b0", "#8faadc", "#f4b183", "#a6a6a6", "#ffd966", "#9dc3e6", "#a9d08e"],
|
|
10
|
+
["#a6a6a6", "#262626", "#3a3838", "#323f4f", "#2f5496", "#c55a11", "#7b7b7b", "#bf8f00", "#2e75b6", "#548235"],
|
|
11
|
+
["#808080", "#0d0d0d", "#171616", "#222b35", "#203864", "#833c0c", "#525252", "#806000", "#1f4e79", "#375623"],
|
|
12
|
+
];
|
|
13
|
+
export const OFFICE_STANDARD = [
|
|
14
|
+
"#c00000", "#ff0000", "#ffc000", "#ffff00", "#92d050", "#00b050", "#00b0f0", "#0070c0", "#002060", "#7030a0",
|
|
15
|
+
];
|
|
16
|
+
export const OFFICE_STANDARD_LABEL = "Colores estándar";
|
|
17
|
+
const ALL = [
|
|
18
|
+
...OFFICE_THEME.flat(),
|
|
19
|
+
...OFFICE_STANDARD,
|
|
20
|
+
];
|
|
21
|
+
export function cssToHex6(color) {
|
|
22
|
+
if (!color)
|
|
23
|
+
return undefined;
|
|
24
|
+
const c = color.trim().toLowerCase();
|
|
25
|
+
if (c.startsWith("#")) {
|
|
26
|
+
const h = c.slice(1);
|
|
27
|
+
if (h.length === 3 && /^[0-9a-f]{3}$/.test(h))
|
|
28
|
+
return `#${h.split("").map((ch) => ch + ch).join("")}`;
|
|
29
|
+
if (h.length >= 6 && /^[0-9a-f]{6}/.test(h))
|
|
30
|
+
return `#${h.slice(0, 6)}`;
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
const m = c.match(/^rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})/i);
|
|
34
|
+
if (!m)
|
|
35
|
+
return undefined;
|
|
36
|
+
return `#${[m[1], m[2], m[3]].map((v) => Number(v).toString(16).padStart(2, "0")).join("")}`;
|
|
37
|
+
}
|
|
38
|
+
function dist2(a, b) {
|
|
39
|
+
const pa = Number.parseInt(a.slice(1), 16);
|
|
40
|
+
const pb = Number.parseInt(b.slice(1), 16);
|
|
41
|
+
const dr = ((pa >> 16) & 255) - ((pb >> 16) & 255);
|
|
42
|
+
const dg = ((pa >> 8) & 255) - ((pb >> 8) & 255);
|
|
43
|
+
const db = (pa & 255) - (pb & 255);
|
|
44
|
+
return dr * dr + dg * dg + db * db;
|
|
45
|
+
}
|
|
46
|
+
/** Nearest palette hex; default black. Always `#rrggbb`. */
|
|
47
|
+
export function snapOfficeHex(color) {
|
|
48
|
+
const hex = cssToHex6(color);
|
|
49
|
+
if (!hex)
|
|
50
|
+
return "#000000";
|
|
51
|
+
let best = ALL[0];
|
|
52
|
+
let bestD = Infinity;
|
|
53
|
+
for (const p of ALL) {
|
|
54
|
+
if (p === hex)
|
|
55
|
+
return p;
|
|
56
|
+
const d = dist2(hex, p);
|
|
57
|
+
if (d < bestD) {
|
|
58
|
+
bestD = d;
|
|
59
|
+
best = p;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return best;
|
|
63
|
+
}
|
|
64
|
+
export function isOfficeHex(color) {
|
|
65
|
+
const hex = cssToHex6(color);
|
|
66
|
+
return !!hex && ALL.includes(hex);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=office-colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"office-colors.js","sourceRoot":"","sources":["../../../src/core/model/office-colors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { TableCell, TableDensity, TableLook, TableNode, TablePreset } from "./types.js";
|
|
2
2
|
export declare const DENSITY_UM: Record<TableDensity, number>;
|
|
3
3
|
export declare const DENSITY_PT: Record<TableDensity, number>;
|
|
4
|
+
export declare function resolvedLook(tbl: TableNode): TableLook;
|
|
4
5
|
export declare function tableClassName(block: TableNode): string;
|
|
5
6
|
export declare function applyDensity(tbl: TableNode, density: TableDensity): void;
|
|
6
7
|
export declare function applyPreset(tbl: TableNode, preset: TablePreset): void;
|
|
@@ -11,6 +12,18 @@ export declare function setCellVAlign(cell: TableCell, vAlign: CellVAlign): void
|
|
|
11
12
|
export declare function shadeCell(cell: TableCell, color: string | undefined): void;
|
|
12
13
|
export declare function clearCellStyle(cell: TableCell): void;
|
|
13
14
|
export declare function clearTableStyle(tbl: TableNode): void;
|
|
15
|
+
/** Shared editor + PDF fills. Do not persist these on `cell.style.background`. */
|
|
16
|
+
export declare const TABLE_FILLS: {
|
|
17
|
+
readonly header: "#15803d";
|
|
18
|
+
readonly firstCol: "#ecfdf5";
|
|
19
|
+
readonly total: "#d1fae5";
|
|
20
|
+
readonly bandedRow: "#f0fdf4";
|
|
21
|
+
readonly bandedCol: "#f7f8fa";
|
|
22
|
+
};
|
|
23
|
+
export declare const TABLE_HEADER_FG = "#ffffff";
|
|
24
|
+
export declare function lookFromTableClass(className: string, _preset?: TablePreset): TableLook;
|
|
25
|
+
export declare function cssColorToHex(color: string): string | undefined;
|
|
26
|
+
export declare function isTableLookFill(color: string): boolean;
|
|
14
27
|
export declare function hexToRgb01(hex: string): [number, number, number] | null;
|
|
15
28
|
export declare function cellFill(cell: TableCell | undefined, tbl: TableNode, ri: number, ci: number): string | undefined;
|
|
16
29
|
//# sourceMappingURL=table-look.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-look.d.ts","sourceRoot":"","sources":["../../../src/core/model/table-look.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"table-look.d.ts","sourceRoot":"","sources":["../../../src/core/model/table-look.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG7F,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAkD,CAAC;AACvG,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAA0C,CAAC;AAW/F,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,CAItD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAavD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAIxE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAIrE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,SAAS,GAAG,IAAI,CAKrE;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAGlE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAEvE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAI1E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAQpD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CASpD;AAED,kFAAkF;AAClF,eAAO,MAAM,WAAW;;;;;;CAMd,CAAC;AAEX,eAAO,MAAM,eAAe,YAAY,CAAC;AAWzC,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAMtF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAItD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAOvE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYhH"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cssToHex6, snapOfficeHex } from "./office-colors.js";
|
|
1
2
|
export const DENSITY_UM = { compact: 7000, normal: 11000, large: 16000 };
|
|
2
3
|
export const DENSITY_PT = { compact: 18, normal: 28, large: 42 };
|
|
3
4
|
const PRESET_LOOK = {
|
|
@@ -8,14 +9,21 @@ const PRESET_LOOK = {
|
|
|
8
9
|
"list-header": { headerRow: true, firstColumn: true },
|
|
9
10
|
accent: { headerRow: true, bandedRows: true, firstColumn: true },
|
|
10
11
|
};
|
|
12
|
+
export function resolvedLook(tbl) {
|
|
13
|
+
const preset = tbl.style?.preset;
|
|
14
|
+
const fromPreset = preset && preset !== "plain" ? PRESET_LOOK[preset] : {};
|
|
15
|
+
return { ...fromPreset, ...(tbl.style?.look ?? {}) };
|
|
16
|
+
}
|
|
11
17
|
export function tableClassName(block) {
|
|
12
18
|
const st = block.style ?? {};
|
|
13
|
-
const look =
|
|
19
|
+
const look = resolvedLook(block);
|
|
14
20
|
const parts = ["pde-table"];
|
|
15
21
|
if (st.density)
|
|
16
22
|
parts.push(`pde-table--${st.density}`);
|
|
17
23
|
if (st.preset)
|
|
18
24
|
parts.push(`pde-table--${st.preset}`);
|
|
25
|
+
if (look.headerRow)
|
|
26
|
+
parts.push("pde-table--header-row");
|
|
19
27
|
if (look.bandedRows)
|
|
20
28
|
parts.push("pde-table--banded-rows");
|
|
21
29
|
if (look.bandedColumns)
|
|
@@ -41,7 +49,7 @@ export function applyPreset(tbl, preset) {
|
|
|
41
49
|
tbl.rows[0].header = !!look.headerRow;
|
|
42
50
|
}
|
|
43
51
|
export function toggleLook(tbl, key) {
|
|
44
|
-
const look = { ...(tbl
|
|
52
|
+
const look = { ...resolvedLook(tbl) };
|
|
45
53
|
look[key] = !look[key];
|
|
46
54
|
tbl.style = { ...tbl.style, look };
|
|
47
55
|
if (key === "headerRow" && tbl.rows[0])
|
|
@@ -57,7 +65,7 @@ export function setCellVAlign(cell, vAlign) {
|
|
|
57
65
|
export function shadeCell(cell, color) {
|
|
58
66
|
cell.style = { ...cell.style };
|
|
59
67
|
if (color)
|
|
60
|
-
cell.style.background = color;
|
|
68
|
+
cell.style.background = snapOfficeHex(color);
|
|
61
69
|
else
|
|
62
70
|
delete cell.style.background;
|
|
63
71
|
}
|
|
@@ -85,6 +93,40 @@ export function clearTableStyle(tbl) {
|
|
|
85
93
|
}
|
|
86
94
|
}
|
|
87
95
|
}
|
|
96
|
+
/** Shared editor + PDF fills. Do not persist these on `cell.style.background`. */
|
|
97
|
+
export const TABLE_FILLS = {
|
|
98
|
+
header: "#15803d",
|
|
99
|
+
firstCol: "#ecfdf5",
|
|
100
|
+
total: "#d1fae5",
|
|
101
|
+
bandedRow: "#f0fdf4",
|
|
102
|
+
bandedCol: "#f7f8fa",
|
|
103
|
+
};
|
|
104
|
+
export const TABLE_HEADER_FG = "#ffffff";
|
|
105
|
+
const LOOK_CLASS = {
|
|
106
|
+
headerRow: "pde-table--header-row",
|
|
107
|
+
bandedRows: "pde-table--banded-rows",
|
|
108
|
+
bandedColumns: "pde-table--banded-cols",
|
|
109
|
+
firstColumn: "pde-table--first-col",
|
|
110
|
+
lastColumn: "pde-table--last-col",
|
|
111
|
+
totalRow: "pde-table--total-row",
|
|
112
|
+
};
|
|
113
|
+
export function lookFromTableClass(className, _preset) {
|
|
114
|
+
const look = {};
|
|
115
|
+
Object.keys(LOOK_CLASS).forEach((key) => {
|
|
116
|
+
if (className.includes(LOOK_CLASS[key]))
|
|
117
|
+
look[key] = true;
|
|
118
|
+
});
|
|
119
|
+
return look;
|
|
120
|
+
}
|
|
121
|
+
export function cssColorToHex(color) {
|
|
122
|
+
return cssToHex6(color);
|
|
123
|
+
}
|
|
124
|
+
export function isTableLookFill(color) {
|
|
125
|
+
const hex = cssColorToHex(color);
|
|
126
|
+
if (!hex)
|
|
127
|
+
return false;
|
|
128
|
+
return Object.values(TABLE_FILLS).includes(hex);
|
|
129
|
+
}
|
|
88
130
|
export function hexToRgb01(hex) {
|
|
89
131
|
const h = hex.replace("#", "");
|
|
90
132
|
if (h.length !== 6 && h.length !== 3)
|
|
@@ -98,21 +140,21 @@ export function hexToRgb01(hex) {
|
|
|
98
140
|
export function cellFill(cell, tbl, ri, ci) {
|
|
99
141
|
const custom = cell?.style?.background;
|
|
100
142
|
if (typeof custom === "string" && custom)
|
|
101
|
-
return custom;
|
|
102
|
-
const look = tbl
|
|
143
|
+
return snapOfficeHex(custom);
|
|
144
|
+
const look = resolvedLook(tbl);
|
|
103
145
|
const last = tbl.rows.length - 1;
|
|
104
146
|
if (look.headerRow && ri === 0)
|
|
105
|
-
return
|
|
147
|
+
return TABLE_FILLS.header;
|
|
106
148
|
if (look.totalRow && ri === last)
|
|
107
|
-
return
|
|
149
|
+
return TABLE_FILLS.total;
|
|
108
150
|
if (look.firstColumn && ci === 0 && ri > 0)
|
|
109
|
-
return
|
|
151
|
+
return TABLE_FILLS.firstCol;
|
|
110
152
|
if (look.lastColumn && ci === (tbl.columns.length - 1) && ri > 0)
|
|
111
|
-
return
|
|
153
|
+
return TABLE_FILLS.firstCol;
|
|
112
154
|
if (look.bandedRows && ri > 0 && ri % 2 === 0)
|
|
113
|
-
return
|
|
155
|
+
return TABLE_FILLS.bandedRow;
|
|
114
156
|
if (look.bandedColumns && ci % 2 === 1 && ri > 0)
|
|
115
|
-
return
|
|
157
|
+
return TABLE_FILLS.bandedCol;
|
|
116
158
|
return undefined;
|
|
117
159
|
}
|
|
118
160
|
//# sourceMappingURL=table-look.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-look.js","sourceRoot":"","sources":["../../../src/core/model/table-look.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table-look.js","sourceRoot":"","sources":["../../../src/core/model/table-look.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { type IconName } from "../../assets/icons/index.js";
|
|
2
|
+
import type { TableLook, TablePreset } from "../../core/model/types.js";
|
|
3
|
+
export declare function closeCellFillPalette(): void;
|
|
2
4
|
export declare function barIconBtn(doc: Document, icon: IconName, label: string, fn: () => void, danger?: boolean): HTMLButtonElement;
|
|
3
|
-
export declare function barFlyBtn(doc: Document, icon: IconName, label: string, open: (btn: HTMLButtonElement) => void): HTMLButtonElement;
|
|
4
|
-
export declare function barMenuItem(doc: Document, label: string, fn: () => void, on?: boolean): HTMLButtonElement;
|
|
5
|
+
export declare function barFlyBtn(doc: Document, icon: IconName, label: string, open: (btn: HTMLButtonElement) => void, on?: boolean): HTMLButtonElement;
|
|
6
|
+
export declare function barMenuItem(doc: Document, label: string, fn: () => void, on?: boolean, icon?: IconName): HTMLButtonElement;
|
|
7
|
+
export declare function barTableStylePad(doc: Document, look: TableLook, preset: TablePreset | undefined, onLook: (key: keyof TableLook) => void, onPreset: (id: TablePreset) => void): HTMLElement;
|
|
8
|
+
export declare function barCellSwatch(doc: Document, current: string | undefined, onFill: (color: string) => void): HTMLElement;
|
|
5
9
|
export declare function barAlignPad(doc: Document, h: string, v: string, onH: (a: "left" | "center" | "right" | "justify") => void, onV: (a: "top" | "middle" | "bottom") => void): HTMLElement;
|
|
10
|
+
export declare function barCellFillPad(doc: Document, current: string | undefined, onFill: (color: string) => void, onClear: () => void): HTMLElement;
|
|
6
11
|
//# sourceMappingURL=bar-chrome.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-chrome.d.ts","sourceRoot":"","sources":["../../../src/editor-web/controller/bar-chrome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"bar-chrome.d.ts","sourceRoot":"","sources":["../../../src/editor-web/controller/bar-chrome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQxE,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,IAAI,EACd,MAAM,UAAQ,GACb,iBAAiB,CAUnB;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,EACtC,EAAE,UAAQ,GACT,iBAAiB,CAOnB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,UAAQ,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,iBAAiB,CAWxH;AAcD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,SAAS,KAAK,IAAI,EACtC,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,GAClC,WAAW,CAyCb;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC9B,WAAW,CAoDb;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,QAAQ,EACb,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,KAAK,IAAI,EACzD,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,KAAK,IAAI,GAC5C,WAAW,CAgBb;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAC/B,OAAO,EAAE,MAAM,IAAI,GAClB,WAAW,CAsBb"}
|