velo-text 1.0.0-beta.5 → 1.0.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +5 -5
  3. package/dist/adapters/backend/pdf-http.d.ts +5 -2
  4. package/dist/adapters/backend/pdf-http.d.ts.map +1 -1
  5. package/dist/adapters/backend/pdf-http.js +5 -3
  6. package/dist/adapters/backend/pdf-http.js.map +1 -1
  7. package/dist/api-report/index.d.ts +8 -0
  8. package/dist/api-report/index.d.ts.map +1 -0
  9. package/dist/api-report/index.js +3 -0
  10. package/dist/api-report/index.js.map +1 -0
  11. package/dist/api-report/inject.d.ts +15 -0
  12. package/dist/api-report/inject.d.ts.map +1 -0
  13. package/dist/api-report/inject.js +37 -0
  14. package/dist/api-report/inject.js.map +1 -0
  15. package/dist/api-report/types.d.ts +22 -0
  16. package/dist/api-report/types.d.ts.map +1 -0
  17. package/dist/api-report/types.js +2 -0
  18. package/dist/api-report/types.js.map +1 -0
  19. package/dist/api-report/walk.d.ts +5 -0
  20. package/dist/api-report/walk.d.ts.map +1 -0
  21. package/dist/api-report/walk.js +71 -0
  22. package/dist/api-report/walk.js.map +1 -0
  23. package/dist/assets/icons/index.d.ts +1 -1
  24. package/dist/assets/icons/index.d.ts.map +1 -1
  25. package/dist/assets/icons/index.js +12 -0
  26. package/dist/assets/icons/index.js.map +1 -1
  27. package/dist/core/model/block.d.ts +1 -0
  28. package/dist/core/model/block.d.ts.map +1 -1
  29. package/dist/core/model/table-look.d.ts +4 -0
  30. package/dist/core/model/table-look.d.ts.map +1 -1
  31. package/dist/core/model/table-look.js +19 -0
  32. package/dist/core/model/table-look.js.map +1 -1
  33. package/dist/editor-web/controller/bar-chrome.d.ts +6 -0
  34. package/dist/editor-web/controller/bar-chrome.d.ts.map +1 -0
  35. package/dist/editor-web/controller/bar-chrome.js +62 -0
  36. package/dist/editor-web/controller/bar-chrome.js.map +1 -0
  37. package/dist/editor-web/controller/columns-ui.d.ts.map +1 -1
  38. package/dist/editor-web/controller/columns-ui.js +214 -75
  39. package/dist/editor-web/controller/columns-ui.js.map +1 -1
  40. package/dist/editor-web/controller/handles.js +1 -1
  41. package/dist/editor-web/controller/handles.js.map +1 -1
  42. package/dist/editor-web/controller/table-ops.d.ts +14 -0
  43. package/dist/editor-web/controller/table-ops.d.ts.map +1 -0
  44. package/dist/editor-web/controller/table-ops.js +85 -0
  45. package/dist/editor-web/controller/table-ops.js.map +1 -0
  46. package/dist/editor-web/controller/table-select.d.ts +10 -0
  47. package/dist/editor-web/controller/table-select.d.ts.map +1 -0
  48. package/dist/editor-web/controller/table-select.js +63 -0
  49. package/dist/editor-web/controller/table-select.js.map +1 -0
  50. package/dist/editor-web/controller/table-ui.d.ts.map +1 -1
  51. package/dist/editor-web/controller/table-ui.js +220 -171
  52. package/dist/editor-web/controller/table-ui.js.map +1 -1
  53. package/dist/editor-web/ux/page-preview.d.ts.map +1 -1
  54. package/dist/editor-web/ux/page-preview.js +14 -11
  55. package/dist/editor-web/ux/page-preview.js.map +1 -1
  56. package/dist/editor-web/ux/selection-bubble.d.ts.map +1 -1
  57. package/dist/editor-web/ux/selection-bubble.js +6 -0
  58. package/dist/editor-web/ux/selection-bubble.js.map +1 -1
  59. package/dist/editor-web/view/parse.d.ts.map +1 -1
  60. package/dist/editor-web/view/parse.js +7 -3
  61. package/dist/editor-web/view/parse.js.map +1 -1
  62. package/dist/editor-web/view/render.js +7 -5
  63. package/dist/editor-web/view/render.js.map +1 -1
  64. package/dist/export/docx/document-xml.js +6 -1
  65. package/dist/export/docx/document-xml.js.map +1 -1
  66. package/dist/export/index.d.ts +3 -0
  67. package/dist/export/index.d.ts.map +1 -1
  68. package/dist/export/index.js +2 -1
  69. package/dist/export/index.js.map +1 -1
  70. package/dist/export/pdf/assemble.d.ts.map +1 -1
  71. package/dist/export/pdf/assemble.js +3 -1
  72. package/dist/export/pdf/assemble.js.map +1 -1
  73. package/dist/export/pdf/diagnostics.d.ts.map +1 -1
  74. package/dist/export/pdf/diagnostics.js +6 -2
  75. package/dist/export/pdf/diagnostics.js.map +1 -1
  76. package/dist/export/pdf/export-pdf.d.ts +7 -0
  77. package/dist/export/pdf/export-pdf.d.ts.map +1 -1
  78. package/dist/export/pdf/export-pdf.js +12 -0
  79. package/dist/export/pdf/export-pdf.js.map +1 -1
  80. package/dist/export/pdf/fonts.d.ts +4 -2
  81. package/dist/export/pdf/fonts.d.ts.map +1 -1
  82. package/dist/export/pdf/fonts.js +15 -5
  83. package/dist/export/pdf/fonts.js.map +1 -1
  84. package/dist/export/pdf/layout-columns.d.ts +11 -0
  85. package/dist/export/pdf/layout-columns.d.ts.map +1 -0
  86. package/dist/export/pdf/layout-columns.js +60 -0
  87. package/dist/export/pdf/layout-columns.js.map +1 -0
  88. package/dist/export/pdf/layout-pages.d.ts.map +1 -1
  89. package/dist/export/pdf/layout-pages.js +7 -4
  90. package/dist/export/pdf/layout-pages.js.map +1 -1
  91. package/dist/export/pdf/layout-table.d.ts +6 -9
  92. package/dist/export/pdf/layout-table.d.ts.map +1 -1
  93. package/dist/export/pdf/layout-table.js +41 -61
  94. package/dist/export/pdf/layout-table.js.map +1 -1
  95. package/dist/export/pdf/paint.d.ts +14 -0
  96. package/dist/export/pdf/paint.d.ts.map +1 -0
  97. package/dist/export/pdf/paint.js +40 -0
  98. package/dist/export/pdf/paint.js.map +1 -0
  99. package/dist/export/pdf/pdf-model.d.ts +10 -2
  100. package/dist/export/pdf/pdf-model.d.ts.map +1 -1
  101. package/dist/export/pdf/pdf-model.js +23 -1
  102. package/dist/export/pdf/pdf-model.js.map +1 -1
  103. package/dist/export/pdf/stream.d.ts.map +1 -1
  104. package/dist/export/pdf/stream.js +34 -23
  105. package/dist/export/pdf/stream.js.map +1 -1
  106. package/dist/public-api/index.d.ts +1 -1
  107. package/dist/public-api/index.d.ts.map +1 -1
  108. package/dist/public-api/index.js +1 -1
  109. package/dist/public-api/index.js.map +1 -1
  110. package/package.json +8 -3
  111. package/themes/editor-chrome.css +21 -9
  112. package/themes/editor-columns.css +32 -15
  113. package/themes/editor-overlays.css +33 -10
package/CHANGELOG.md CHANGED
@@ -12,6 +12,18 @@ All notable changes follow [Keep a Changelog](https://keepachangelog.com/) and [
12
12
 
13
13
 
14
14
 
15
+
16
+
17
+ ## [1.0.0-beta.7] - 2026-08-29
18
+
19
+ ### Added
20
+ -
21
+
22
+ ## [1.0.0-beta.6] - 2026-08-29
23
+
24
+ ### Added
25
+ -
26
+
15
27
  ## [1.0.0-beta.5] - 2026-08-28
16
28
 
17
29
  ### Added
@@ -96,3 +108,5 @@ First public **beta** on npm (`velo-text@beta`). Treat it as a trial API: layout
96
108
  [1.0.0-beta.3]: https://github.com/velo-text/velo-text/releases/tag/v1.0.0-beta.3
97
109
  [1.0.0-beta.4]: https://github.com/velo-text/velo-text/releases/tag/v1.0.0-beta.4
98
110
  [1.0.0-beta.5]: https://github.com/velo-text/velo-text/releases/tag/v1.0.0-beta.5
111
+ [1.0.0-beta.6]: https://github.com/velo-text/velo-text/releases/tag/v1.0.0-beta.6
112
+ [1.0.0-beta.7]: https://github.com/velo-text/velo-text/releases/tag/v1.0.0-beta.7
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # velo-text
2
2
 
3
- **1.0.0-beta.5** — public beta. APIs and export layout can still change. Install with the `beta` tag, not as if it were a stable 1.0.
3
+ **1.0.0-beta.7** — 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,7 +13,7 @@ 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.0-beta.5
16
+ pnpm add velo-text@1.0.0-beta.7
17
17
  ```
18
18
 
19
19
  Do not run `pnpm add velo-text` expecting a stable `latest` until 1.0.0 is published.
@@ -27,7 +27,7 @@ import "velo-text/themes/components.css";
27
27
 
28
28
  ## Publish / GitHub Actions
29
29
 
30
- Do **not** put an npm token in the repo. Create GitHub secret **`NPM_TOKEN`**, then push tag `v1.0.0-beta.5`. CI publishes to npm (`beta`) and opens a GitHub Release. Details: [docs/guide/publish.md](docs/guide/publish.md).
30
+ Do **not** put an npm token in the repo. Create GitHub secret **`NPM_TOKEN`**, then push tag `v1.0.0-beta.7`. CI publishes to npm (`beta`) and opens a GitHub Release. Details: [docs/guide/publish.md](docs/guide/publish.md).
31
31
 
32
32
  ## Quick start
33
33
 
@@ -96,10 +96,10 @@ pnpm run test:visual # HTML snapshots in tests/visual/snapshots
96
96
  pnpm run fuzz -- --iterations=5000
97
97
  pnpm run build # tsc → dist/
98
98
  pnpm docs:dev # VitePress docs + playground at /playground/
99
- pnpm version:set 1.0.0-beta.5 # bump version (then tag v1.0.0-beta.5 and push)
99
+ pnpm version:set 1.0.0-beta.7 # bump version (then tag v1.0.0-beta.7 and push)
100
100
  ```
101
101
 
102
- Publish is **GitHub Actions only** (push tag `v1.0.0-beta.5` after setting secret `NPM_TOKEN`).
102
+ Publish is **GitHub Actions only** (push tag `v1.0.0-beta.7` after setting secret `NPM_TOKEN`).
103
103
 
104
104
  ## Zero dependencies
105
105
 
@@ -2,7 +2,7 @@
2
2
  * Fill frontend {{tags}} on the backend and return a PDF.
3
3
  * Shared by Express, Vercel, and the Vite dev middleware.
4
4
  */
5
- import type { PortableDocument } from "../../core/model/types.js";
5
+ import type { PortableDocument, Clock, IdGenerator } from "../../core/model/types.js";
6
6
  export interface PdfExportJson {
7
7
  document: PortableDocument;
8
8
  data?: Record<string, unknown>;
@@ -18,7 +18,10 @@ export interface PdfHttpResult {
18
18
  bytes?: Uint8Array;
19
19
  error?: string;
20
20
  }
21
- export declare function handlePdfExportJson(input: unknown): Promise<PdfHttpResult>;
21
+ export declare function handlePdfExportJson(input: unknown, runtime?: {
22
+ clock?: Clock;
23
+ idGenerator?: IdGenerator;
24
+ }): Promise<PdfHttpResult>;
22
25
  type NodeRes = {
23
26
  statusCode?: number;
24
27
  status?: (n: number) => NodeRes;
@@ -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,MAAM,2BAA2B,CAAC;AAGlE,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;AAUD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CA8BhF;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"}
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;AAUD,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,CAgCxB;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"}
@@ -1,4 +1,4 @@
1
- import { exportPdf } from "../../export/pdf/export-pdf.js";
1
+ 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);
@@ -8,7 +8,7 @@ function asBytes(data) {
8
8
  out[i] = bin.charCodeAt(i);
9
9
  return out;
10
10
  }
11
- export async function handlePdfExportJson(input) {
11
+ export async function handlePdfExportJson(input, runtime) {
12
12
  if (!input || typeof input !== "object") {
13
13
  return { status: 400, headers: { "content-type": "application/json" }, error: "JSON body required" };
14
14
  }
@@ -25,7 +25,9 @@ export async function handlePdfExportJson(input) {
25
25
  document: body.document,
26
26
  data: body.data ?? {},
27
27
  assets,
28
- options: { strict: false, missingVariable: "keep" },
28
+ options: PDF_FILL_OPTIONS,
29
+ clock: runtime?.clock,
30
+ idGenerator: runtime?.idGenerator,
29
31
  });
30
32
  return {
31
33
  status: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-http.js","sourceRoot":"","sources":["../../../src/adapters/backend/pdf-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-http.js","sourceRoot":"","sources":["../../../src/adapters/backend/pdf-http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Optional backend entry. No editor, no PDF writer, no npm deps.
3
+ * Front apps should import `velo-text/editor-web` or `velo-text/vanilla` instead.
4
+ */
5
+ export type { DocumentSlot, SlotKind } from "./types.js";
6
+ export { reportSlots } from "./walk.js";
7
+ export { dataFromSlotValues, assetsFromSlotValues } from "./inject.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api-report/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { reportSlots } from "./walk.js";
2
+ export { dataFromSlotValues, assetsFromSlotValues } from "./inject.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api-report/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Build the `data` map for `renderTemplate` / `exportDocument` from tag → value.
3
+ * `customer.name` becomes `{ customer: { name } }`.
4
+ */
5
+ export declare function dataFromSlotValues(values: Record<string, unknown>): Record<string, unknown>;
6
+ /** Map image slot tags (`assetId`) to bytes the exporter already understands. */
7
+ export declare function assetsFromSlotValues(blobs: Record<string, {
8
+ mediaType: string;
9
+ data: Uint8Array;
10
+ }>): Record<string, {
11
+ id: string;
12
+ mediaType: string;
13
+ data: Uint8Array;
14
+ }>;
15
+ //# sourceMappingURL=inject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/api-report/inject.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO3F;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAMrE"}
@@ -0,0 +1,37 @@
1
+ function setPath(root, path, value) {
2
+ const parts = path.split(".").filter(Boolean);
3
+ if (parts.length === 0)
4
+ return;
5
+ let cur = root;
6
+ for (let i = 0; i < parts.length - 1; i++) {
7
+ const k = parts[i];
8
+ const next = cur[k];
9
+ if (!next || typeof next !== "object" || Array.isArray(next))
10
+ cur[k] = {};
11
+ cur = cur[k];
12
+ }
13
+ cur[parts[parts.length - 1]] = value;
14
+ }
15
+ /**
16
+ * Build the `data` map for `renderTemplate` / `exportDocument` from tag → value.
17
+ * `customer.name` becomes `{ customer: { name } }`.
18
+ */
19
+ export function dataFromSlotValues(values) {
20
+ const data = {};
21
+ for (const [tag, value] of Object.entries(values)) {
22
+ if (tag.includes("."))
23
+ setPath(data, tag, value);
24
+ else
25
+ data[tag] = value;
26
+ }
27
+ return data;
28
+ }
29
+ /** Map image slot tags (`assetId`) to bytes the exporter already understands. */
30
+ export function assetsFromSlotValues(blobs) {
31
+ const assets = {};
32
+ for (const [id, blob] of Object.entries(blobs)) {
33
+ assets[id] = { id, mediaType: blob.mediaType, data: blob.data };
34
+ }
35
+ return assets;
36
+ }
37
+ //# sourceMappingURL=inject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/api-report/inject.ts"],"names":[],"mappings":"AAAA,SAAS,OAAO,CAAC,IAA6B,EAAE,IAAY,EAAE,KAAc;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,IAAI,GAAG,GAA4B,IAAI,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1E,GAAG,GAAG,GAAG,CAAC,CAAC,CAA4B,CAAC;IAC1C,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,GAAG,KAAK,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA+B;IAChE,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;;YAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,oBAAoB,CAClC,KAA8D;IAE9D,MAAM,MAAM,GAAwE,EAAE,CAAC;IACvF,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type SlotKind = "variable" | "table" | "table-repeat" | "image" | "inline-image" | "equation" | "equation-block" | "columns";
2
+ export interface DocumentSlot {
3
+ id: string;
4
+ kind: SlotKind;
5
+ /** JSON-pointer-like path into the AST. */
6
+ pointer: string;
7
+ /**
8
+ * Inject key: variable `path`, image `assetId`, table `repeat.path` or node id.
9
+ * Matches the tags the editor already stores (`{{path}}`, `data-asset-id`).
10
+ */
11
+ tag: string;
12
+ path?: string;
13
+ assetId?: string;
14
+ format?: string;
15
+ fallback?: string;
16
+ latex?: string;
17
+ repeat?: {
18
+ path: string;
19
+ alias: string;
20
+ };
21
+ }
22
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api-report/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,OAAO,GACP,cAAc,GACd,OAAO,GACP,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api-report/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { PortableDocument } from "../core/model/types.js";
2
+ import type { DocumentSlot } from "./types.js";
3
+ /** Slots the backend must fill. Same tags as `data-node-type` / variable `path` / `assetId`. */
4
+ export declare function reportSlots(doc: PortableDocument): DocumentSlot[];
5
+ //# sourceMappingURL=walk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../src/api-report/walk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AAuEzD,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAIjE"}
@@ -0,0 +1,71 @@
1
+ function slot(kind, id, pointer, tag, extra = {}) {
2
+ return { id, kind, pointer, tag, ...extra };
3
+ }
4
+ function walkInlines(nodes, pointer, out) {
5
+ nodes.forEach((n, i) => {
6
+ const p = `${pointer}/${i}`;
7
+ if (n.type === "variable") {
8
+ out.push(slot("variable", n.id, p, n.path, { path: n.path, format: n.format, fallback: n.fallback }));
9
+ }
10
+ else if (n.type === "inline-image") {
11
+ out.push(slot("inline-image", n.id, p, n.assetId, { assetId: n.assetId }));
12
+ }
13
+ else if (n.type === "equation") {
14
+ out.push(slot("equation", n.id, p, n.id, { latex: n.latex }));
15
+ }
16
+ else if (n.type === "link") {
17
+ walkInlines(n.children, `${p}/children`, out);
18
+ }
19
+ });
20
+ }
21
+ function walkBlocks(blocks, pointer, out) {
22
+ blocks.forEach((b, i) => {
23
+ const p = `${pointer}/${i}`;
24
+ switch (b.type) {
25
+ case "paragraph":
26
+ case "heading":
27
+ case "quote":
28
+ walkInlines(b.children, `${p}/children`, out);
29
+ break;
30
+ case "list":
31
+ b.items.forEach((it, j) => {
32
+ walkInlines(it.content, `${p}/items/${j}/content`, out);
33
+ if (it.nested)
34
+ walkBlocks([it.nested], `${p}/items/${j}/nested`, out);
35
+ });
36
+ break;
37
+ case "table": {
38
+ const tag = b.repeat?.path ?? b.id;
39
+ out.push(slot("table", b.id, p, tag, b.repeat ? { repeat: { path: b.repeat.path, alias: b.repeat.alias } } : {}));
40
+ if (b.repeat) {
41
+ out.push(slot("table-repeat", b.id, `${p}/repeat`, b.repeat.path, {
42
+ repeat: { path: b.repeat.path, alias: b.repeat.alias },
43
+ }));
44
+ }
45
+ b.rows.forEach((row, r) => {
46
+ row.cells.forEach((cell, c) => walkBlocks(cell.blocks, `${p}/rows/${r}/cells/${c}/blocks`, out));
47
+ });
48
+ break;
49
+ }
50
+ case "image":
51
+ out.push(slot("image", b.id, p, b.assetId, { assetId: b.assetId }));
52
+ break;
53
+ case "equation-block":
54
+ out.push(slot("equation-block", b.id, p, b.id, { latex: b.latex }));
55
+ break;
56
+ case "columns":
57
+ out.push(slot("columns", b.id, p, b.id));
58
+ b.columns.forEach((col, c) => walkBlocks(col.blocks, `${p}/columns/${c}/blocks`, out));
59
+ break;
60
+ default:
61
+ break;
62
+ }
63
+ });
64
+ }
65
+ /** Slots the backend must fill. Same tags as `data-node-type` / variable `path` / `assetId`. */
66
+ export function reportSlots(doc) {
67
+ const out = [];
68
+ walkBlocks(doc.root.children, "/root/children", out);
69
+ return out;
70
+ }
71
+ //# sourceMappingURL=walk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk.js","sourceRoot":"","sources":["../../src/api-report/walk.ts"],"names":[],"mappings":"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"}
@@ -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" | "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" | "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,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;AAoDD;;;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,6eAmBnB,CAAC"}
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;AAgED;;;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,6eAmBnB,CAAC"}
@@ -43,6 +43,18 @@ const ICONS = {
43
43
  move: '<polyline points="5 9 2 12 5 15"/><polyline points="9 5 12 2 15 5"/><polyline points="15 19 12 22 9 19"/><polyline points="19 9 22 12 19 15"/><line x1="2" x2="22" y1="12" y2="12"/><line x1="12" x2="12" y1="2" y2="22"/>',
44
44
  columns3: '<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M9 3v18"/><path d="M15 3v18"/>',
45
45
  rows3: '<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18"/><path d="M3 15h18"/>',
46
+ insertColLeft: '<rect x="13" y="3" width="8" height="18" rx="1"/><path d="M13 9h8"/><path d="M13 15h8"/><path d="M10 12H3"/><path d="m7 8-4 4 4 4"/>',
47
+ insertColRight: '<rect x="3" y="3" width="8" height="18" rx="1"/><path d="M3 9h8"/><path d="M3 15h8"/><path d="M14 12h7"/><path d="m18 8 4 4-4 4"/>',
48
+ insertRowAbove: '<rect x="3" y="13" width="18" height="8" rx="1"/><path d="M9 13v8"/><path d="M15 13v8"/><path d="M12 10V3"/><path d="m8 7 4-4 4 4"/>',
49
+ insertRowBelow: '<rect x="3" y="3" width="18" height="8" rx="1"/><path d="M9 3v8"/><path d="M15 3v8"/><path d="M12 14v7"/><path d="m8 17 4 4 4-4"/>',
50
+ deleteRow: '<rect x="3" y="8" width="18" height="8" rx="1"/><path d="M9 8v8"/><path d="M15 8v8"/><path d="M5 12h14"/>',
51
+ deleteCol: '<rect x="8" y="3" width="8" height="18" rx="1"/><path d="M8 9h8"/><path d="M8 15h8"/><path d="M4 12h16"/>',
52
+ rowHCompact: '<rect x="4" y="5" width="16" height="3" rx="0.5"/><rect x="4" y="10.5" width="16" height="3" rx="0.5"/><rect x="4" y="16" width="16" height="3" rx="0.5"/>',
53
+ rowHNormal: '<rect x="4" y="4" width="16" height="5" rx="0.5"/><rect x="4" y="10.5" width="16" height="5" rx="0.5"/><rect x="4" y="17" width="16" height="3" rx="0.5"/>',
54
+ rowHLarge: '<rect x="4" y="3" width="16" height="8" rx="0.5"/><rect x="4" y="13" width="16" height="8" rx="0.5"/>',
55
+ alignTop: '<rect x="5" y="4" width="14" height="3" rx="0.5"/><rect x="8" y="11" width="8" height="3"/><rect x="8" y="17" width="8" height="3"/>',
56
+ alignMiddle: '<rect x="8" y="4" width="8" height="3"/><rect x="5" y="10.5" width="14" height="3" rx="0.5"/><rect x="8" y="17" width="8" height="3"/>',
57
+ alignBottom: '<rect x="8" y="4" width="8" height="3"/><rect x="8" y="10" width="8" height="3"/><rect x="5" y="17" width="14" height="3" rx="0.5"/>',
46
58
  eraser: '<path d="m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"/><path d="M22 21H7"/><path d="m5 11 9 9"/>',
47
59
  fileText: '<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"/><polyline points="14 2 14 8 20 8"/><line x1="16" x2="8" y1="13" y2="13"/><line x1="16" x2="8" y1="17" y2="17"/>',
48
60
  panelLeft: '<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M9 3v18"/>',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,7 @@ export interface ColumnSlot {
105
105
  id: NodeId;
106
106
  blocks: BlockNode[];
107
107
  widthPct?: number;
108
+ vAlign?: "top" | "middle" | "bottom";
108
109
  }
109
110
  export interface ColumnsNode {
110
111
  type: "columns";
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/core/model/block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/core/model/block.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,11 @@ export declare function tableClassName(block: TableNode): string;
5
5
  export declare function applyDensity(tbl: TableNode, density: TableDensity): void;
6
6
  export declare function applyPreset(tbl: TableNode, preset: TablePreset): void;
7
7
  export declare function toggleLook(tbl: TableNode, key: keyof TableLook): void;
8
+ export type CellVAlign = "top" | "middle" | "bottom";
9
+ export declare function cellVAlign(cell: TableCell | undefined): CellVAlign;
10
+ export declare function setCellVAlign(cell: TableCell, vAlign: CellVAlign): void;
8
11
  export declare function shadeCell(cell: TableCell, color: string | undefined): void;
12
+ export declare function clearCellStyle(cell: TableCell): void;
9
13
  export declare function clearTableStyle(tbl: TableNode): void;
10
14
  export declare function hexToRgb01(hex: string): [number, number, number] | null;
11
15
  export declare function cellFill(cell: TableCell | undefined, tbl: TableNode, ri: number, ci: number): string | undefined;
@@ -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;AAE7F,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,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAYvD;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,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAI1E;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CASpD;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
+ {"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;AAE7F,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,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAYvD;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,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"}
@@ -47,6 +47,13 @@ export function toggleLook(tbl, key) {
47
47
  if (key === "headerRow" && tbl.rows[0])
48
48
  tbl.rows[0].header = !!look.headerRow;
49
49
  }
50
+ export function cellVAlign(cell) {
51
+ const v = cell?.style?.vAlign;
52
+ return v === "top" || v === "bottom" ? v : "middle";
53
+ }
54
+ export function setCellVAlign(cell, vAlign) {
55
+ cell.style = { ...cell.style, vAlign };
56
+ }
50
57
  export function shadeCell(cell, color) {
51
58
  cell.style = { ...cell.style };
52
59
  if (color)
@@ -54,6 +61,18 @@ export function shadeCell(cell, color) {
54
61
  else
55
62
  delete cell.style.background;
56
63
  }
64
+ export function clearCellStyle(cell) {
65
+ for (const bl of cell.blocks) {
66
+ if (bl.type === "paragraph" || bl.type === "heading" || bl.type === "quote")
67
+ delete bl.align;
68
+ }
69
+ if (!cell.style)
70
+ return;
71
+ delete cell.style.background;
72
+ delete cell.style.vAlign;
73
+ if (!Object.keys(cell.style).length)
74
+ delete cell.style;
75
+ }
57
76
  export function clearTableStyle(tbl) {
58
77
  tbl.style = {};
59
78
  if (tbl.rows[0])
@@ -1 +1 @@
1
- {"version":3,"file":"table-look.js","sourceRoot":"","sources":["../../../src/core/model/table-look.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-look.js","sourceRoot":"","sources":["../../../src/core/model/table-look.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type IconName } from "../../assets/icons/index.js";
2
+ 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 barAlignPad(doc: Document, h: string, v: string, onH: (a: "left" | "center" | "right" | "justify") => void, onV: (a: "top" | "middle" | "bottom") => void): HTMLElement;
6
+ //# sourceMappingURL=bar-chrome.d.ts.map
@@ -0,0 +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;AAExE,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,GACrC,iBAAiB,CAMnB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,UAAQ,GAAG,iBAAiB,CAUvG;AAcD,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"}
@@ -0,0 +1,62 @@
1
+ import { getIconSvg } from "../../assets/icons/index.js";
2
+ export function barIconBtn(doc, icon, label, fn, danger = false) {
3
+ const b = doc.createElement("button");
4
+ b.type = "button";
5
+ b.innerHTML = getIconSvg(icon, { size: 16 });
6
+ b.title = label;
7
+ b.setAttribute("aria-label", label);
8
+ if (danger)
9
+ b.classList.add("pde-menu-danger");
10
+ b.onmousedown = (ev) => ev.preventDefault();
11
+ b.onclick = (ev) => { ev.stopPropagation(); fn(); };
12
+ return b;
13
+ }
14
+ export function barFlyBtn(doc, icon, label, open) {
15
+ const b = barIconBtn(doc, icon, label, () => open(b));
16
+ b.classList.add("pde-bar-drop");
17
+ b.setAttribute("aria-haspopup", "true");
18
+ b.innerHTML = `${getIconSvg(icon, { size: 16 })}${getIconSvg("chevronDown", { size: 10 })}`;
19
+ return b;
20
+ }
21
+ export function barMenuItem(doc, label, fn, on = false) {
22
+ const b = doc.createElement("button");
23
+ b.type = "button";
24
+ b.textContent = label;
25
+ if (on) {
26
+ b.classList.add("pde-menu-on");
27
+ b.setAttribute("aria-pressed", "true");
28
+ }
29
+ b.onclick = (ev) => { ev.stopPropagation(); fn(); };
30
+ return b;
31
+ }
32
+ const H_ICONS = [
33
+ ["alignLeft", "Text left", "left"],
34
+ ["alignCenter", "Text center", "center"],
35
+ ["alignRight", "Text right", "right"],
36
+ ["alignJustify", "Justify", "justify"],
37
+ ];
38
+ const V_ICONS = [
39
+ ["alignTop", "Align top", "top"],
40
+ ["alignMiddle", "Align middle", "middle"],
41
+ ["alignBottom", "Align bottom", "bottom"],
42
+ ];
43
+ export function barAlignPad(doc, h, v, onH, onV) {
44
+ const wrap = doc.createElement("span");
45
+ wrap.className = "pde-align-pad";
46
+ wrap.setAttribute("role", "group");
47
+ wrap.setAttribute("aria-label", "Cell alignment");
48
+ for (const [icon, label, a] of H_ICONS) {
49
+ const b = barIconBtn(doc, icon, label, () => onH(a));
50
+ if (h === a)
51
+ b.setAttribute("aria-pressed", "true");
52
+ wrap.append(b);
53
+ }
54
+ for (const [icon, label, a] of V_ICONS) {
55
+ const b = barIconBtn(doc, icon, label, () => onV(a));
56
+ if (v === a)
57
+ b.setAttribute("aria-pressed", "true");
58
+ wrap.append(b);
59
+ }
60
+ return wrap;
61
+ }
62
+ //# sourceMappingURL=bar-chrome.js.map