@pie-element/matrix 5.0.3 → 5.0.4-next.20261009061152

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 (23) hide show
  1. package/dist/browser/{Radio-BRHK8FCI.js → Radio-DBfbnY_9.js} +3263 -3263
  2. package/dist/browser/Radio-DBfbnY_9.js.map +1 -0
  3. package/dist/browser/author/index.js +14 -14
  4. package/dist/browser/delivery/index.js +2 -2
  5. package/dist/browser/editor-runtime/{Radio-DqZH96xq.js → Radio-CvVmVk60.js} +3263 -3263
  6. package/dist/browser/editor-runtime/Radio-CvVmVk60.js.map +1 -0
  7. package/dist/browser/editor-runtime/author/index.js +10 -10
  8. package/dist/browser/editor-runtime/author/index.js.map +1 -1
  9. package/dist/browser/editor-runtime/delivery/index.js +2 -2
  10. package/dist/browser/{mathjax-BKrHE4xs-DMJdB93L.js → editor-runtime/mathjax-CptWnMbQ-BymmkoDr.js} +21 -21
  11. package/dist/browser/editor-runtime/{mathjax-BKrHE4xs-olIoaCQN.js.map → mathjax-CptWnMbQ-BymmkoDr.js.map} +1 -1
  12. package/dist/browser/{speech-worker-CP5P4gRS-G4rtBs8u.js → editor-runtime/speech-worker-CTpOB9m5-pwCKeQ9c.js} +46 -43
  13. package/dist/browser/editor-runtime/speech-worker-CTpOB9m5-pwCKeQ9c.js.map +1 -0
  14. package/dist/browser/{editor-runtime/mathjax-BKrHE4xs-olIoaCQN.js → mathjax-CptWnMbQ-ncPHVakS.js} +25 -25
  15. package/dist/browser/{mathjax-BKrHE4xs-DMJdB93L.js.map → mathjax-CptWnMbQ-ncPHVakS.js.map} +1 -1
  16. package/dist/browser/{editor-runtime/speech-worker-CP5P4gRS-OkQyXQak.js → speech-worker-CTpOB9m5-BIgcSm3A.js} +20 -17
  17. package/dist/browser/speech-worker-CTpOB9m5-BIgcSm3A.js.map +1 -0
  18. package/dist/index.iife.js +55 -55
  19. package/package.json +10 -10
  20. package/dist/browser/Radio-BRHK8FCI.js.map +0 -1
  21. package/dist/browser/editor-runtime/Radio-DqZH96xq.js.map +0 -1
  22. package/dist/browser/editor-runtime/speech-worker-CP5P4gRS-OkQyXQak.js.map +0 -1
  23. package/dist/browser/speech-worker-CP5P4gRS-G4rtBs8u.js.map +0 -1
@@ -24,11 +24,11 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
24
24
  enumerable: !(s = n(i, d)) || s.enumerable
25
25
  });
26
26
  return e;
27
- }, l = (e, t, n) => (c(e, t, "default"), n && c(n, t, "default")), u = (n, r, a) => (a = n == null ? {} : e(i(n)), c(r || !n || !n.__esModule ? t(a, "default", {
27
+ }, l = (n, r, a) => (a = n == null ? {} : e(i(n)), c(r || !n || !n.__esModule ? t(a, "default", {
28
28
  value: n,
29
29
  enumerable: !0
30
- }) : a, n)), d = __pieBrowserCjsRequire, f = "4.1.3", p = "https://github.com/pie-framework/pie-elements-ng/blob/develop/docs/MATH-RENDERING.md#assets", m = "@pie-lib/math-rendering@2", h = ["nemeth", "euro"], g = `mathjax@${f}/sre`, _ = /^[^@]+@[^@]+$/;
31
- function v(e) {
30
+ }) : a, n)), u = __pieBrowserCjsRequire, d = "4.1.3", f = "https://github.com/pie-framework/pie-elements-ng/blob/develop/docs/MATH-RENDERING.md#assets", p = "@pie-lib/math-rendering@2", m = ["nemeth", "euro"], h = `mathjax@${d}/sre`, g = /^[^@]+@[^@]+$/;
31
+ function _(e) {
32
32
  if (!e) return;
33
33
  let t;
34
34
  try {
@@ -41,15 +41,18 @@ function v(e) {
41
41
  for (let e = n.length - 1; e > 0; e--) {
42
42
  let r = n[e];
43
43
  if (r === "node_modules") return;
44
- if (!_.test(r)) continue;
44
+ if (!g.test(r)) continue;
45
45
  let i = n[e - 1]?.startsWith("@") ? e - 1 : e;
46
46
  return t.origin + n.slice(0, i).join("/");
47
47
  }
48
48
  }
49
- function y() {
50
- let e = globalThis[m]?.opts;
49
+ function v() {
50
+ let e = globalThis[p]?.opts;
51
51
  return e && typeof e == "object" ? e : {};
52
52
  }
53
+ function y() {
54
+ return v().inTabOrder === !0;
55
+ }
53
56
  function b(e) {
54
57
  if (typeof e != "string" || !e) return;
55
58
  let t = typeof document > "u" ? void 0 : document.baseURI;
@@ -73,10 +76,10 @@ function S(e) {
73
76
  if (e && typeof e == "object") return new Map(Object.entries(e).map(([e, t]) => [e, typeof t == "string" ? t : void 0]));
74
77
  }
75
78
  function C(e, t) {
76
- let n = y(), r = b(e.assetRoot ?? n.assetRoot) ?? v(t);
79
+ let n = v(), r = b(e.assetRoot ?? n.assetRoot) ?? _(t);
77
80
  return {
78
81
  root: r,
79
- speechPath: b(e.speechPath ?? n.speechPath) ?? (r ? `${r}/${g}` : void 0),
82
+ speechPath: b(e.speechPath ?? n.speechPath) ?? (r ? `${r}/${h}` : void 0),
80
83
  speechLocales: S(e.speechLocales ?? n.speechLocales),
81
84
  urls: x(e.assetUrls ?? n.assetUrls)
82
85
  };
@@ -85,16 +88,16 @@ function w({ root: e, urls: t }, n) {
85
88
  return t?.get(n) ?? (e ? `${e}/${n}` : void 0);
86
89
  }
87
90
  function T({ speechPath: e, urls: t }, n) {
88
- return t?.get(`${g}/${n}`) ?? (e ? `${e}/${n}` : void 0);
91
+ return t?.get(`${h}/${n}`) ?? (e ? `${e}/${n}` : void 0);
89
92
  }
90
93
  function E(e, t) {
91
94
  if (!(!e || !t)) {
92
- for (let n of [...e.keys()]) !t.has(n) && !h.includes(n) && e.delete(n);
95
+ for (let n of [...e.keys()]) !t.has(n) && !m.includes(n) && e.delete(n);
93
96
  for (let [n, r] of t) (r || !e.has(n)) && e.set(n, r ?? n);
94
97
  }
95
98
  }
96
99
  function D(e) {
97
- if (!(!e || e.has("en"))) return [...e.keys()].find((e) => !h.includes(e));
100
+ if (!(!e || e.has("en"))) return [...e.keys()].find((e) => !m.includes(e));
98
101
  }
99
102
  var O = {
100
103
  untypeset: "no MathJax loads, so math stays untypeset",
@@ -107,17 +110,17 @@ function A(e) {
107
110
  let n = t[k];
108
111
  if (n.includes(e)) return;
109
112
  n.push(e);
110
- let r = `[math-rendering] No asset root for MathJax: ${O[e]}. Set window['${m}'].opts.assetRoot to an npm root. See ${p}`;
113
+ let r = `[math-rendering] No asset root for MathJax: ${O[e]}. Set window['${p}'].opts.assetRoot to an npm root. See ${f}`;
111
114
  e === "untypeset" ? console.error(r) : console.warn(r), !(typeof window > "u") && window.dispatchEvent(new CustomEvent("pie-mathjax-no-asset-root", { detail: {
112
115
  effect: e,
113
116
  message: r,
114
- docsUrl: p
117
+ docsUrl: f
115
118
  } }));
116
119
  }
117
120
  var j = Symbol.for("@pie-element/shared-math-rendering-mathjax/speech-worker-failed");
118
121
  function M() {
119
122
  let e = globalThis;
120
- e[j] || (e[j] = !0, console.warn(`[math-rendering] MathJax's speech worker did not start, so speech, braille and the explorer are off. A content security policy must allow blob: workers, and scripts and fetches from the asset root. See ${p}`));
123
+ e[j] || (e[j] = !0, console.warn(`[math-rendering] MathJax's speech worker did not start, so speech, braille and the explorer are off. A content security policy must allow blob: workers, and scripts and fetches from the asset root. See ${f}`));
121
124
  }
122
125
  function N(e) {
123
126
  let t = e.webworker;
@@ -133,7 +136,7 @@ function P(e) {
133
136
  return a.addEventListener("error", () => N(e), { once: !0 }), a;
134
137
  });
135
138
  }
136
- var F = `${g}/mathmaps/`;
139
+ var F = `${h}/mathmaps/`;
137
140
  function I(e) {
138
141
  let t = T(e, "speech-worker.js");
139
142
  if (!t) return;
@@ -152,6 +155,6 @@ function L(e, t) {
152
155
  }
153
156
  }
154
157
  //#endregion
155
- export { f as a, E as c, s as d, l as f, C as i, A as l, u as m, L as n, w as o, d as p, I as r, D as s, P as t, o as u };
158
+ export { d as a, E as c, o as d, s as f, y as i, w as l, l as m, I as n, C as o, u as p, A as r, D as s, L as t, P as u };
156
159
 
157
- //# sourceMappingURL=speech-worker-CP5P4gRS-OkQyXQak.js.map
160
+ //# sourceMappingURL=speech-worker-CTpOB9m5-BIgcSm3A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speech-worker-CTpOB9m5-BIgcSm3A.js","names":[],"sources":["../../../../shared/math-rendering-mathjax/dist/browser/speech-worker-CTpOB9m5.js"],"sourcesContent":["//#region src/assets.ts\nvar e = \"4.1.3\", t = \"https://github.com/pie-framework/pie-elements-ng/blob/develop/docs/MATH-RENDERING.md#assets\", n = \"@pie-lib/math-rendering@2\", r = [\"nemeth\", \"euro\"], i = `mathjax@${e}/sre`, a = /^[^@]+@[^@]+$/;\nfunction o(e) {\n\tif (!e) return;\n\tlet t;\n\ttry {\n\t\tt = new URL(e);\n\t} catch {\n\t\treturn;\n\t}\n\tif (t.origin === \"null\") return;\n\tlet n = t.pathname.split(\"/\");\n\tfor (let e = n.length - 1; e > 0; e--) {\n\t\tlet r = n[e];\n\t\tif (r === \"node_modules\") return;\n\t\tif (!a.test(r)) continue;\n\t\tlet i = n[e - 1]?.startsWith(\"@\") ? e - 1 : e;\n\t\treturn t.origin + n.slice(0, i).join(\"/\");\n\t}\n}\nfunction s() {\n\tlet e = globalThis[n]?.opts;\n\treturn e && typeof e == \"object\" ? e : {};\n}\nfunction c() {\n\treturn s().inTabOrder === !0;\n}\nfunction l(e) {\n\tif (typeof e != \"string\" || !e) return;\n\tlet t = typeof document > \"u\" ? void 0 : document.baseURI;\n\ttry {\n\t\treturn new URL(e, t).href.replace(/\\/+$/, \"\");\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction u(e) {\n\tif (!e || typeof e != \"object\") return;\n\tlet t = /* @__PURE__ */ new Map();\n\tfor (let [n, r] of Object.entries(e)) {\n\t\tlet e = l(r);\n\t\te && t.set(n, e);\n\t}\n\treturn t.size ? t : void 0;\n}\nfunction d(e) {\n\tif (Array.isArray(e)) return new Map(e.filter((e) => typeof e == \"string\").map((e) => [e, void 0]));\n\tif (e && typeof e == \"object\") return new Map(Object.entries(e).map(([e, t]) => [e, typeof t == \"string\" ? t : void 0]));\n}\nfunction f(e, t) {\n\tlet n = s(), r = l(e.assetRoot ?? n.assetRoot) ?? o(t);\n\treturn {\n\t\troot: r,\n\t\tspeechPath: l(e.speechPath ?? n.speechPath) ?? (r ? `${r}/${i}` : void 0),\n\t\tspeechLocales: d(e.speechLocales ?? n.speechLocales),\n\t\turls: u(e.assetUrls ?? n.assetUrls)\n\t};\n}\nfunction p({ root: e, urls: t }, n) {\n\treturn t?.get(n) ?? (e ? `${e}/${n}` : void 0);\n}\nfunction m({ speechPath: e, urls: t }, n) {\n\treturn t?.get(`${i}/${n}`) ?? (e ? `${e}/${n}` : void 0);\n}\nfunction h(e, t) {\n\tif (!(!e || !t)) {\n\t\tfor (let n of [...e.keys()]) !t.has(n) && !r.includes(n) && e.delete(n);\n\t\tfor (let [n, r] of t) (r || !e.has(n)) && e.set(n, r ?? n);\n\t}\n}\nfunction g(e) {\n\tif (!(!e || e.has(\"en\"))) return [...e.keys()].find((e) => !r.includes(e));\n}\nvar _ = \"pie-mathjax-no-asset-root\", v = {\n\tuntypeset: \"no MathJax loads, so math stays untypeset\",\n\t\"no-web-fonts\": \"math renders without web fonts\",\n\t\"no-web-fonts-or-speech\": \"math renders without web fonts and speech\"\n}, y = Symbol.for(\"@pie-element/shared-math-rendering-mathjax/no-assets\");\nfunction b(e) {\n\tlet r = globalThis;\n\tr[y] ??= [];\n\tlet i = r[y];\n\tif (i.includes(e)) return;\n\ti.push(e);\n\tlet a = `[math-rendering] No asset root for MathJax: ${v[e]}. Set window['${n}'].opts.assetRoot to an npm root. See ${t}`;\n\te === \"untypeset\" ? console.error(a) : console.warn(a), !(typeof window > \"u\") && window.dispatchEvent(new CustomEvent(_, { detail: {\n\t\teffect: e,\n\t\tmessage: a,\n\t\tdocsUrl: t\n\t} }));\n}\n//#endregion\n//#region src/speech-worker.ts\nvar x = Symbol.for(\"@pie-element/shared-math-rendering-mathjax/speech-worker-failed\");\nfunction S() {\n\tlet e = globalThis;\n\te[x] || (e[x] = !0, console.warn(`[math-rendering] MathJax's speech worker did not start, so speech, braille and the explorer are off. A content security policy must allow blob: workers, and scripts and fetches from the asset root. See ${t}`));\n}\nfunction C(e) {\n\tlet t = e.webworker;\n\tif (!t || t.ready) return;\n\te.options ??= {};\n\tlet n = e.options;\n\tn.enableSpeech = !1, n.enableBraille = !1, n.speechError = () => {}, t.Post = () => Promise.reject(/* @__PURE__ */ Error(\"The speech worker did not start\")), t.Terminate(), S();\n}\nfunction w(e) {\n\tlet t = e?.adaptor, n = t?.createWorker;\n\t!e || !t || !n || (t.createWorker = async (r, i) => {\n\t\tlet a = await n.call(t, r, i);\n\t\treturn a.addEventListener(\"error\", () => C(e), { once: !0 }), a;\n\t});\n}\nvar T = `${i}/mathmaps/`;\nfunction E(e) {\n\tlet t = m(e, \"speech-worker.js\");\n\tif (!t) return;\n\tlet n = e.speechPath ? `${e.speechPath}/mathmaps` : \"mathmaps\", r = {};\n\tfor (let [t, i] of e.urls ?? []) t.startsWith(T) && (r[`${n}/${t.slice(T.length)}`] = i);\n\tlet i = [`self.maps = ${JSON.stringify(n)};`];\n\treturn Object.keys(r).length && i.push(\"{\", ` const urls = new Map(Object.entries(${JSON.stringify(r)}));`, \" const fetchFile = self.fetch.bind(self);\", \" self.fetch = (input, init) => fetchFile(urls.get(input) ?? input, init);\", \"}\"), i.push(`importScripts(${JSON.stringify(t)});`), i.join(\"\\n\");\n}\nfunction D(e, t) {\n\tlet n = URL.createObjectURL(new Blob([e], { type: \"text/javascript\" }));\n\ttry {\n\t\tlet e = new Worker(n);\n\t\treturn e.onmessage = t, e;\n\t} finally {\n\t\tURL.revokeObjectURL(n);\n\t}\n}\n//#endregion\nexport { _ as a, h as c, f as d, e as i, c as l, E as n, p as o, D as r, g as s, w as t, b as u };\n"],"mappings":"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"}