@forevka/wordcanvas 0.7.0 → 0.7.2

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 (66) hide show
  1. package/README.md +48 -1
  2. package/dist-lib/assets/{worker-BsOsK39A.js → worker-4HYrkNrG.js} +12276 -11981
  3. package/dist-lib/assets/worker-CJpwUzKh.js +2403 -0
  4. package/dist-lib/blockFactory-B_CLnkUh.js +106 -0
  5. package/dist-lib/browser-p_rkUcqE.js +1339 -0
  6. package/dist-lib/builder.js +365 -109
  7. package/dist-lib/editorApp-mTD0YNv-.js +9863 -0
  8. package/dist-lib/export.js +4670 -4567
  9. package/dist-lib/generate-toc.js +5 -5
  10. package/dist-lib/import.js +4 -1538
  11. package/dist-lib/{lists-BegzmTmD.js → lists-Sc5I40JO.js} +2 -2
  12. package/dist-lib/measure.js +2 -2
  13. package/dist-lib/{measureHost-CMiJKdlk.js → measureHost-B2aKX7lF.js} +1 -1
  14. package/dist-lib/metrics-BUMIC9Mv.js +164 -0
  15. package/dist-lib/pipeline-DD0nxAYM.js +1850 -0
  16. package/dist-lib/recalc-docx.js +2 -2
  17. package/dist-lib/recalcToc-CFCGCgij.js +3985 -0
  18. package/dist-lib/styleProps-DhqDEfvc.js +149 -0
  19. package/dist-lib/stylesheet-B6oczA-L.js +141 -0
  20. package/dist-lib/toc-Dj57zdz-.js +213 -0
  21. package/dist-lib/{webmcp-B7Gvd58E.js → webmcp-CXghUon_.js} +2 -2
  22. package/dist-lib/{wordcanvas-BAxBeErX.js → wordcanvas-D5DI9ZR1.js} +49 -23
  23. package/dist-lib/wordcanvas.js +1 -1
  24. package/dist-node/{chunk-GXFDF7UY.js → chunk-57L5XMCL.js} +327 -59
  25. package/dist-node/chunk-57L5XMCL.js.map +7 -0
  26. package/dist-node/{chunk-TBSXA2I4.js → chunk-EGSAVPCC.js} +1 -1
  27. package/dist-node/chunk-EGSAVPCC.js.map +7 -0
  28. package/dist-node/{chunk-4PDVRJF6.js → chunk-EMY2P524.js} +32 -2
  29. package/dist-node/chunk-EMY2P524.js.map +7 -0
  30. package/dist-node/{chunk-2RCPB7UZ.js → chunk-KJV7GJ3H.js} +1 -1
  31. package/dist-node/chunk-KJV7GJ3H.js.map +7 -0
  32. package/dist-node/{chunk-XDUDPPJW.js → chunk-PIMVQULL.js} +93 -24
  33. package/dist-node/chunk-PIMVQULL.js.map +7 -0
  34. package/dist-node/{chunk-BRAPV465.js → chunk-SA26UVIJ.js} +2 -2
  35. package/dist-node/{chunk-IJLL6IFJ.js → chunk-T3253N22.js} +202 -13
  36. package/dist-node/{chunk-IJLL6IFJ.js.map → chunk-T3253N22.js.map} +2 -2
  37. package/dist-node/{chunk-4ICCHZX4.js → chunk-U27EBKBG.js} +37 -1
  38. package/dist-node/chunk-U27EBKBG.js.map +7 -0
  39. package/dist-node/{engine-FRCX7PXF.js → engine-5F7DUU4W.js} +4 -4
  40. package/dist-node/export.js +178 -52
  41. package/dist-node/export.js.map +2 -2
  42. package/dist-node/generate-toc.js +7 -7
  43. package/dist-node/import.js +3 -3
  44. package/dist-node/measure.js +2 -2
  45. package/dist-node/recalc-docx.js +5 -5
  46. package/dist-node/recalc-docx.js.map +1 -1
  47. package/package.json +1 -1
  48. package/types/model.d.ts +277 -225
  49. package/types/recalc-docx.d.ts +27 -27
  50. package/types/wordcanvas.d.ts +212 -157
  51. package/dist-lib/assets/worker-BbFAIxdy.js +0 -2163
  52. package/dist-lib/blockFactory-Bcy0U40y.js +0 -178
  53. package/dist-lib/browser-5Sv4CuNy.js +0 -1284
  54. package/dist-lib/editorApp-DvjFPHiy.js +0 -7582
  55. package/dist-lib/metrics-CkAo4zh8.js +0 -143
  56. package/dist-lib/recalcToc-uaLWt59L.js +0 -3835
  57. package/dist-lib/styleProps-Db5pEkG8.js +0 -127
  58. package/dist-lib/toc-CZel_Kk3.js +0 -127
  59. package/dist-node/chunk-2RCPB7UZ.js.map +0 -7
  60. package/dist-node/chunk-4ICCHZX4.js.map +0 -7
  61. package/dist-node/chunk-4PDVRJF6.js.map +0 -7
  62. package/dist-node/chunk-GXFDF7UY.js.map +0 -7
  63. package/dist-node/chunk-TBSXA2I4.js.map +0 -7
  64. package/dist-node/chunk-XDUDPPJW.js.map +0 -7
  65. /package/dist-node/{chunk-BRAPV465.js.map → chunk-SA26UVIJ.js.map} +0 -0
  66. /package/dist-node/{engine-FRCX7PXF.js.map → engine-5F7DUU4W.js.map} +0 -0
@@ -1,143 +0,0 @@
1
- const C = ["Carlito", "Caladea", "Gelasio", "Arimo", "TimesNewRoman", "Cousine"], d = "Arimo", f = {
2
- // metric clones of common Office/Windows fonts
3
- calibri: "Carlito",
4
- cambria: "Caladea",
5
- georgia: "Gelasio",
6
- arial: "Arimo",
7
- helvetica: "Arimo",
8
- "helvetica neue": "Arimo",
9
- "times new roman": "TimesNewRoman",
10
- times: "TimesNewRoman",
11
- "courier new": "Cousine",
12
- courier: "Cousine",
13
- // reasonable substitutes for fonts we don't ship
14
- verdana: "Arimo",
15
- tahoma: "Arimo",
16
- "segoe ui": "Arimo",
17
- "trebuchet ms": "Arimo",
18
- consolas: "Cousine",
19
- monaco: "Cousine",
20
- "lucida console": "Cousine",
21
- garamond: "TimesNewRoman",
22
- "book antiqua": "Caladea",
23
- palatino: "Caladea",
24
- // generic CSS families
25
- serif: "TimesNewRoman",
26
- "sans-serif": "Arimo",
27
- sans: "Arimo",
28
- monospace: "Cousine",
29
- mono: "Cousine",
30
- // identity (already a clone)
31
- carlito: "Carlito",
32
- caladea: "Caladea",
33
- gelasio: "Gelasio",
34
- arimo: "Arimo",
35
- timesnewroman: "TimesNewRoman",
36
- cousine: "Cousine"
37
- }, O = {
38
- Carlito: { ascent: 0.9375, descent: 0.25 },
39
- Caladea: { ascent: 0.9375, descent: 0.25 },
40
- Gelasio: { ascent: 0.9375, descent: 0.3125 },
41
- Arimo: { ascent: 0.875, descent: 0.1875 },
42
- TimesNewRoman: { ascent: 0.875, descent: 0.1875 },
43
- Cousine: { ascent: 0.625, descent: 0.1875 }
44
- };
45
- function l(e) {
46
- const a = e.trim().toLowerCase().replace(/^["']|["']$/g, ""), o = f[a];
47
- return o ? { clone: o, substituted: !1 } : { clone: d, substituted: !0 };
48
- }
49
- const T = (e) => (e.split(",")[0] ?? "").trim(), L = ["Regular", "Bold", "Italic", "BoldItalic"], N = C.flatMap(
50
- (e) => L.map((a) => `${e}-${a}.ttf`)
51
- ), b = [
52
- { value: "Calibri, sans-serif", label: "Calibri (Carlito)" },
53
- { value: "Cambria, serif", label: "Cambria (Caladea)" },
54
- { value: "Georgia, serif", label: "Georgia (Gelasio)" },
55
- { value: "Arial, sans-serif", label: "Arial (Arimo)" },
56
- { value: "Times New Roman, serif", label: "Times New Roman" },
57
- { value: "Verdana, sans-serif", label: "Verdana (Arimo)" },
58
- { value: "Consolas, monospace", label: "Consolas (Cousine)" },
59
- { value: "Courier New, monospace", label: "Courier New (Cousine)" }
60
- ], F = "#c0c4c9", A = "#0b57d0", u = "#202124", S = "#80868b", w = "#9aa0a6", x = "#f1f3f4", m = /* @__PURE__ */ new Set([
61
- "#0563c1",
62
- "#0000ff",
63
- "#0000ee",
64
- "#0b57d0",
65
- "#0066cc",
66
- "#1155cc"
67
- ]), p = (e) => m.has(e.toLowerCase()) ? u : e, E = 0.65, _ = -0.38, R = 0.16;
68
- function v(e, a) {
69
- return e === "super" ? _ * a : e === "sub" ? R * a : 0;
70
- }
71
- const I = (e) => Math.max(1, e / 14), g = 1.5, M = (e) => -0.28 * e;
72
- function k(e) {
73
- const a = e.link !== void 0 && e.link.startsWith("#"), o = e.link !== void 0 && !a;
74
- let s = e.color;
75
- return o ? s = A : a && m.has(e.color.toLowerCase()) && (s = u), {
76
- color: s,
77
- underline: o || !!e.underline && !a,
78
- strike: !!e.strikethrough,
79
- externalLink: o
80
- };
81
- }
82
- function D(e) {
83
- return e === "dot" ? [1, 3] : e === "dash" ? [4, 3] : [];
84
- }
85
- const B = (e) => Math.max(1, e / 14), G = [1, 4], U = 8, P = 1 / 3, H = (e) => Math.max(0.5, e);
86
- function $(e, a) {
87
- return e === "dashed" ? [a * 3, a * 2] : e === "dotted" ? [a, a * 1.5] : [];
88
- }
89
- const z = (e) => e + 1;
90
- let i = null, t = null;
91
- function W(e) {
92
- i = e;
93
- }
94
- function h() {
95
- return i || (t || (t = document.createElement("canvas").getContext("2d")), t);
96
- }
97
- const c = /* @__PURE__ */ new Map();
98
- function X(e) {
99
- const a = e.italic ? "italic " : "", o = e.bold ? "700" : "400", s = e.verticalAlign ? Math.round(e.fontSizePx * E) : e.fontSizePx, n = l(T(e.fontFamily)).clone;
100
- return `${a}${o} ${s}px ${n}`;
101
- }
102
- function K(e, a) {
103
- const o = h();
104
- return o.font = a, o.measureText(e).width;
105
- }
106
- function j(e) {
107
- let a = c.get(e);
108
- if (!a) {
109
- const o = /(\d+(?:\.\d+)?)px/.exec(e), s = o ? parseFloat(o[1]) : 16, n = e.slice(e.indexOf("px ") + 3).trim(), r = O[l(n).clone] ?? { ascent: 0.9, descent: 0.25 };
110
- a = { ascent: Math.round(r.ascent * s), descent: Math.round(r.descent * s) }, c.set(e, a);
111
- }
112
- return a;
113
- }
114
- export {
115
- C,
116
- F as D,
117
- S as F,
118
- x as I,
119
- E as S,
120
- U as T,
121
- g as U,
122
- w as a,
123
- G as b,
124
- D as c,
125
- I as d,
126
- H as e,
127
- $ as f,
128
- z as g,
129
- P as h,
130
- l as i,
131
- N as j,
132
- W as k,
133
- B as l,
134
- X as m,
135
- p as n,
136
- L as o,
137
- b as p,
138
- K as q,
139
- k as r,
140
- M as s,
141
- j as t,
142
- v
143
- };