@drghaliasri/butex 5.3.2 → 5.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/document.js +25 -1
- package/dist/document.js.map +1 -1
- package/dist/document.mjs +25 -1
- package/dist/document.mjs.map +1 -1
- package/dist/document2.js +25 -1
- package/dist/document2.js.map +1 -1
- package/dist/document2.mjs +25 -1
- package/dist/document2.mjs.map +1 -1
- package/dist/index.d.mts +25 -1
- package/dist/index.d.ts +25 -1
- package/dist/index.global.js +61 -9
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +61 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +61 -9
- package/dist/index.mjs.map +1 -1
- package/dist/react-document.js +57 -3
- package/dist/react-document.js.map +1 -1
- package/dist/react-document.mjs +57 -3
- package/dist/react-document.mjs.map +1 -1
- package/dist/react-document2.js +57 -3
- package/dist/react-document2.js.map +1 -1
- package/dist/react-document2.mjs +57 -3
- package/dist/react-document2.mjs.map +1 -1
- package/dist/react.d.mts +25 -1
- package/dist/react.d.ts +25 -1
- package/dist/react.js +57 -3
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +57 -3
- package/dist/react.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -151,17 +151,15 @@ mjx-container[jax="SVG"] svg text[data-butex-svg-text] {
|
|
|
151
151
|
unicode-bidi: isolate;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
.
|
|
154
|
+
/* CHTML only: CSS flip is safe here because layout is unaffected.
|
|
155
|
+
* SVG mirrors are baked into the transform attribute by patchBuTeXSvgMath
|
|
156
|
+
* (CSS transform would override MathJax's translate presentation attribute). */
|
|
157
|
+
mjx-container[jax="CHTML"] .butex-preview-mirror {
|
|
155
158
|
transform: scaleX(-1);
|
|
156
159
|
transform-origin: center;
|
|
157
160
|
display: inline-block;
|
|
158
161
|
}
|
|
159
162
|
|
|
160
|
-
mjx-container[jax="SVG"] svg .butex-preview-mirror {
|
|
161
|
-
transform-box: fill-box;
|
|
162
|
-
transform-origin: center center;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
163
|
/* Keeps Arabic text shaping sane after double flip; tweak fonts in page preamble */
|
|
166
164
|
.mjx-rtl-unmirror .mjx-text,
|
|
167
165
|
.mjx-rtl-unmirror .mjx-char {
|
|
@@ -1718,7 +1716,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1718
1716
|
id: "neq",
|
|
1719
1717
|
category: "operators1",
|
|
1720
1718
|
Tex: "\\neq",
|
|
1721
|
-
mirror:
|
|
1719
|
+
mirror: true,
|
|
1722
1720
|
Label: "\u2260",
|
|
1723
1721
|
title: "\u0644\u0627 \u064A\u0633\u0627\u0648\u064A",
|
|
1724
1722
|
svg_path: null
|
|
@@ -1728,6 +1726,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1728
1726
|
category: "operators1",
|
|
1729
1727
|
Tex: "\\approx",
|
|
1730
1728
|
mirror: false,
|
|
1729
|
+
displayMirror: true,
|
|
1731
1730
|
Label: "\u2248",
|
|
1732
1731
|
title: "\u062A\u0642\u0631\u064A\u0628\u0627 \u064A\u0633\u0627\u0648\u064A",
|
|
1733
1732
|
svg_path: null
|
|
@@ -1737,6 +1736,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1737
1736
|
category: "operators1",
|
|
1738
1737
|
Tex: "\\sim",
|
|
1739
1738
|
mirror: false,
|
|
1739
|
+
displayMirror: true,
|
|
1740
1740
|
Label: "\u223C",
|
|
1741
1741
|
title: "\u0645\u0634\u0627\u0628\u0647",
|
|
1742
1742
|
svg_path: null
|
|
@@ -1755,6 +1755,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1755
1755
|
category: "operators1",
|
|
1756
1756
|
Tex: "\\leq",
|
|
1757
1757
|
mirror: true,
|
|
1758
|
+
displayMirror: false,
|
|
1758
1759
|
Label: "\u2264",
|
|
1759
1760
|
title: "\u0623\u0635\u063A\u0631 \u0645\u0646 \u0623\u0648 \u064A\u0633\u0627\u0648\u064A",
|
|
1760
1761
|
svg_path: null
|
|
@@ -1764,6 +1765,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1764
1765
|
category: "operators1",
|
|
1765
1766
|
Tex: "\\geq",
|
|
1766
1767
|
mirror: true,
|
|
1768
|
+
displayMirror: false,
|
|
1767
1769
|
Label: "\u2265",
|
|
1768
1770
|
title: "\u0623\u0643\u0628\u0631 \u0645\u0646 \u0623\u0648 \u064A\u0633\u0627\u0648\u064A",
|
|
1769
1771
|
svg_path: null
|
|
@@ -1773,6 +1775,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1773
1775
|
category: "operators1",
|
|
1774
1776
|
Tex: "\\coloneqq",
|
|
1775
1777
|
mirror: true,
|
|
1778
|
+
displayMirror: false,
|
|
1776
1779
|
Label: "\u2254",
|
|
1777
1780
|
title: "\u064A\u0639\u0631\u0641 \u0628\u0623\u0646\u0647 \u064A\u0633\u0627\u0648\u064A",
|
|
1778
1781
|
svg_path: null
|
|
@@ -1782,6 +1785,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1782
1785
|
category: "operators1",
|
|
1783
1786
|
Tex: "\\eqqcolon",
|
|
1784
1787
|
mirror: true,
|
|
1788
|
+
displayMirror: false,
|
|
1785
1789
|
Label: "\u2255",
|
|
1786
1790
|
title: "\u064A\u0633\u0627\u0648\u064A \u0628\u0627\u0644\u062A\u0639\u0631\u064A\u0641",
|
|
1787
1791
|
svg_path: null
|
|
@@ -1792,6 +1796,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1792
1796
|
category: "operators2",
|
|
1793
1797
|
Tex: "\\propto",
|
|
1794
1798
|
mirror: true,
|
|
1799
|
+
displayMirror: false,
|
|
1795
1800
|
Label: "\u221D",
|
|
1796
1801
|
title: "\u064A\u062A\u0646\u0627\u0633\u0628 \u0645\u0639",
|
|
1797
1802
|
svg_path: null
|
|
@@ -1801,6 +1806,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1801
1806
|
category: "operators2",
|
|
1802
1807
|
Tex: "\\in",
|
|
1803
1808
|
mirror: true,
|
|
1809
|
+
displayMirror: false,
|
|
1804
1810
|
Label: "\u2208",
|
|
1805
1811
|
title: "\u064A\u0646\u062A\u0645\u064A \u0625\u0644\u0649",
|
|
1806
1812
|
svg_path: null
|
|
@@ -1810,6 +1816,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1810
1816
|
category: "operators2",
|
|
1811
1817
|
Tex: "\\notin",
|
|
1812
1818
|
mirror: false,
|
|
1819
|
+
displayMirror: true,
|
|
1813
1820
|
Label: "\u2209",
|
|
1814
1821
|
title: "\u0644\u0627 \u064A\u0646\u062A\u0645\u064A \u0625\u0644\u0649",
|
|
1815
1822
|
svg_path: null
|
|
@@ -1819,6 +1826,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1819
1826
|
category: "operators2",
|
|
1820
1827
|
Tex: "\\subset",
|
|
1821
1828
|
mirror: true,
|
|
1829
|
+
displayMirror: false,
|
|
1822
1830
|
Label: "\u2282",
|
|
1823
1831
|
title: "\u0645\u062C\u0645\u0648\u0639\u0629 \u062C\u0632\u0626\u064A\u0629 \u0645\u0646",
|
|
1824
1832
|
svg_path: null
|
|
@@ -1828,6 +1836,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1828
1836
|
category: "operators2",
|
|
1829
1837
|
Tex: "\\supset",
|
|
1830
1838
|
mirror: true,
|
|
1839
|
+
displayMirror: false,
|
|
1831
1840
|
Label: "\u2283",
|
|
1832
1841
|
title: "\u0645\u062C\u0645\u0648\u0639\u0629 \u0634\u0627\u0645\u0644\u0629 \u0644\u0640",
|
|
1833
1842
|
svg_path: null
|
|
@@ -1837,6 +1846,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1837
1846
|
category: "operators2",
|
|
1838
1847
|
Tex: "\\subseteq",
|
|
1839
1848
|
mirror: true,
|
|
1849
|
+
displayMirror: false,
|
|
1840
1850
|
Label: "\u2286",
|
|
1841
1851
|
title: "\u0645\u062C\u0645\u0648\u0639\u0629 \u062C\u0632\u0626\u064A\u0629 \u0623\u0648 \u062A\u0633\u0627\u0648\u064A",
|
|
1842
1852
|
svg_path: null
|
|
@@ -1846,6 +1856,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1846
1856
|
category: "operators2",
|
|
1847
1857
|
Tex: "\\supseteq",
|
|
1848
1858
|
mirror: true,
|
|
1859
|
+
displayMirror: false,
|
|
1849
1860
|
Label: "\u2287",
|
|
1850
1861
|
title: "\u0645\u062C\u0645\u0648\u0639\u0629 \u0634\u0627\u0645\u0644\u0629 \u0623\u0648 \u062A\u0633\u0627\u0648\u064A",
|
|
1851
1862
|
svg_path: null
|
|
@@ -1855,6 +1866,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1855
1866
|
category: "operators2",
|
|
1856
1867
|
Tex: "\\cap",
|
|
1857
1868
|
mirror: false,
|
|
1869
|
+
displayMirror: true,
|
|
1858
1870
|
Label: "\u2229",
|
|
1859
1871
|
title: "\u062A\u0642\u0627\u0637\u0639",
|
|
1860
1872
|
svg_path: null
|
|
@@ -1864,6 +1876,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1864
1876
|
category: "operators2",
|
|
1865
1877
|
Tex: "\\cup",
|
|
1866
1878
|
mirror: false,
|
|
1879
|
+
displayMirror: true,
|
|
1867
1880
|
Label: "\u222A",
|
|
1868
1881
|
title: "\u0627\u062A\u062D\u0627\u062F",
|
|
1869
1882
|
svg_path: null
|
|
@@ -1873,6 +1886,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1873
1886
|
category: "operators2",
|
|
1874
1887
|
Tex: "\\emptyset",
|
|
1875
1888
|
mirror: false,
|
|
1889
|
+
displayMirror: true,
|
|
1876
1890
|
Label: "\u2205",
|
|
1877
1891
|
title: "\u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0627\u0644\u062E\u0627\u0644\u064A\u0629",
|
|
1878
1892
|
svg_path: null
|
|
@@ -1882,6 +1896,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1882
1896
|
category: "operators2",
|
|
1883
1897
|
Tex: "\\nsubseteq",
|
|
1884
1898
|
mirror: true,
|
|
1899
|
+
displayMirror: false,
|
|
1885
1900
|
Label: "\u2288",
|
|
1886
1901
|
title: "\u0644\u064A\u0633\u062A \u0645\u062C\u0645\u0648\u0639\u0629 \u062C\u0632\u0626\u064A\u0629 \u0623\u0648 \u062A\u0633\u0627\u0648\u064A",
|
|
1887
1902
|
svg_path: null
|
|
@@ -1891,6 +1906,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
1891
1906
|
category: "operators2",
|
|
1892
1907
|
Tex: "\\nsupseteq",
|
|
1893
1908
|
mirror: true,
|
|
1909
|
+
displayMirror: false,
|
|
1894
1910
|
Label: "\u2289",
|
|
1895
1911
|
title: "\u0644\u064A\u0633\u062A \u0645\u062C\u0645\u0648\u0639\u0629 \u0634\u0627\u0645\u0644\u0629 \u0623\u0648 \u062A\u0633\u0627\u0648\u064A",
|
|
1896
1912
|
svg_path: null
|
|
@@ -2102,6 +2118,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
2102
2118
|
category: "integrals",
|
|
2103
2119
|
Tex: "\\iint",
|
|
2104
2120
|
mirror: true,
|
|
2121
|
+
displayMirror: false,
|
|
2105
2122
|
Label: "\u222C",
|
|
2106
2123
|
title: "\u062A\u0643\u0627\u0645\u0644 \u0645\u0632\u062F\u0648\u062C",
|
|
2107
2124
|
svg_path: null
|
|
@@ -2111,6 +2128,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
2111
2128
|
category: "integrals",
|
|
2112
2129
|
Tex: "\\iiint",
|
|
2113
2130
|
mirror: true,
|
|
2131
|
+
displayMirror: false,
|
|
2114
2132
|
Label: "\u222D",
|
|
2115
2133
|
title: "\u062A\u0643\u0627\u0645\u0644 \u062B\u0644\u0627\u062B\u064A",
|
|
2116
2134
|
svg_path: null
|
|
@@ -2120,6 +2138,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
2120
2138
|
category: "integrals",
|
|
2121
2139
|
Tex: "\\iiiint",
|
|
2122
2140
|
mirror: true,
|
|
2141
|
+
displayMirror: false,
|
|
2123
2142
|
Label: "\u2A0C",
|
|
2124
2143
|
title: "\u062A\u0643\u0627\u0645\u0644 \u0631\u0628\u0627\u0639\u064A",
|
|
2125
2144
|
svg_path: null
|
|
@@ -2129,6 +2148,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
2129
2148
|
category: "integrals",
|
|
2130
2149
|
Tex: "\\oint",
|
|
2131
2150
|
mirror: true,
|
|
2151
|
+
displayMirror: false,
|
|
2132
2152
|
Label: "\u222E",
|
|
2133
2153
|
title: "\u062A\u0643\u0627\u0645\u0644 \u0645\u063A\u0644\u0642",
|
|
2134
2154
|
svg_path: null
|
|
@@ -2138,6 +2158,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
2138
2158
|
category: "integrals",
|
|
2139
2159
|
Tex: "\\oiint",
|
|
2140
2160
|
mirror: true,
|
|
2161
|
+
displayMirror: false,
|
|
2141
2162
|
Label: "\u222F",
|
|
2142
2163
|
title: "\u062A\u0643\u0627\u0645\u0644 \u0633\u0637\u062D\u064A \u0645\u063A\u0644\u0642",
|
|
2143
2164
|
svg_path: null
|
|
@@ -2147,6 +2168,7 @@ var ATOMIC_OPERATOR_COMMANDS = {
|
|
|
2147
2168
|
category: "integrals",
|
|
2148
2169
|
Tex: "\\oiiint",
|
|
2149
2170
|
mirror: true,
|
|
2171
|
+
displayMirror: false,
|
|
2150
2172
|
Label: "\u2230",
|
|
2151
2173
|
title: "\u062A\u0643\u0627\u0645\u0644 \u062D\u062C\u0645\u064A \u0645\u063A\u0644\u0642",
|
|
2152
2174
|
svg_path: null
|
|
@@ -5868,7 +5890,10 @@ function parseBuTeX(input) {
|
|
|
5868
5890
|
// src/mathjax/svgPatcher.ts
|
|
5869
5891
|
var SVG_ARABSQRT_SELECTOR = 'mjx-container[jax="SVG"] svg .mjx-rtl-mirror[data-mjx-rtl-root="true"]';
|
|
5870
5892
|
var ARABSQRT_SELECTOR = '.mjx-rtl-mirror[data-mjx-rtl-root="true"]';
|
|
5893
|
+
var SVG_PREVIEW_MIRROR_SELECTOR = 'mjx-container[jax="SVG"] svg .butex-preview-mirror';
|
|
5894
|
+
var PREVIEW_MIRROR_SELECTOR = ".butex-preview-mirror";
|
|
5871
5895
|
var PATCHED_ATTR = "data-butex-svg-arabsqrt";
|
|
5896
|
+
var MIRROR_PATCHED_ATTR = "data-butex-svg-mirror";
|
|
5872
5897
|
var ROOT_INDEX_SCALE = 0.72;
|
|
5873
5898
|
var ROOT_INDEX_GAP_FACTOR = 0.08;
|
|
5874
5899
|
var ROOT_INDEX_MIN_GAP = 2;
|
|
@@ -5893,11 +5918,12 @@ function directSvgElementChildren(element) {
|
|
|
5893
5918
|
return Array.from(element.children).filter((child) => child instanceof SVGElement);
|
|
5894
5919
|
}
|
|
5895
5920
|
function boxFor(element) {
|
|
5896
|
-
|
|
5921
|
+
const candidate = element;
|
|
5922
|
+
if (typeof candidate.getBBox !== "function") {
|
|
5897
5923
|
return null;
|
|
5898
5924
|
}
|
|
5899
5925
|
try {
|
|
5900
|
-
const box =
|
|
5926
|
+
const box = candidate.getBBox();
|
|
5901
5927
|
return {
|
|
5902
5928
|
x: box.x,
|
|
5903
5929
|
y: box.y,
|
|
@@ -6141,6 +6167,31 @@ function patchArabSqrtRoot(root) {
|
|
|
6141
6167
|
root.setAttribute(PATCHED_ATTR, "patched");
|
|
6142
6168
|
rootNode.setAttribute(PATCHED_ATTR, "patched");
|
|
6143
6169
|
}
|
|
6170
|
+
function patchPreviewMirror(element) {
|
|
6171
|
+
if (element.getAttribute(MIRROR_PATCHED_ATTR) === "patched") {
|
|
6172
|
+
return;
|
|
6173
|
+
}
|
|
6174
|
+
const box = boxFor(element);
|
|
6175
|
+
if (!box || box.width <= 0) {
|
|
6176
|
+
return;
|
|
6177
|
+
}
|
|
6178
|
+
const [tx, ty] = readTranslate(element);
|
|
6179
|
+
const mirrorX = tx + 2 * box.x + box.width;
|
|
6180
|
+
element.setAttribute(
|
|
6181
|
+
"transform",
|
|
6182
|
+
`translate(${roundSvg(mirrorX)},${roundSvg(ty)}) scale(-1,1)`
|
|
6183
|
+
);
|
|
6184
|
+
element.setAttribute(MIRROR_PATCHED_ATTR, "patched");
|
|
6185
|
+
}
|
|
6186
|
+
function collectPreviewMirrors(root) {
|
|
6187
|
+
let mirrors = Array.from(root.querySelectorAll(SVG_PREVIEW_MIRROR_SELECTOR));
|
|
6188
|
+
if (!mirrors.length) {
|
|
6189
|
+
mirrors = Array.from(root.querySelectorAll(PREVIEW_MIRROR_SELECTOR)).filter((candidate) => {
|
|
6190
|
+
return candidate.closest('mjx-container[jax="SVG"]') != null;
|
|
6191
|
+
});
|
|
6192
|
+
}
|
|
6193
|
+
return mirrors;
|
|
6194
|
+
}
|
|
6144
6195
|
function patchBuTeXSvgMath(root) {
|
|
6145
6196
|
if (typeof root.querySelectorAll !== "function") {
|
|
6146
6197
|
return;
|
|
@@ -6152,6 +6203,7 @@ function patchBuTeXSvgMath(root) {
|
|
|
6152
6203
|
});
|
|
6153
6204
|
}
|
|
6154
6205
|
roots.sort((a, b) => rootDepth(b) - rootDepth(a)).forEach((arabSqrtRoot) => patchArabSqrtRoot(arabSqrtRoot));
|
|
6206
|
+
collectPreviewMirrors(root).forEach((mirror) => patchPreviewMirror(mirror));
|
|
6155
6207
|
}
|
|
6156
6208
|
|
|
6157
6209
|
// src/mathjax/renderIsland.ts
|