@zzish/math-rich-input 0.1.0

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.
@@ -0,0 +1,590 @@
1
+ const LATEX_SYMBOLS = [
2
+ // {name:"Times",latex:"\\times",tooltip:"Times [#X)"},
3
+ // {name:"Dot",latex:"\\cdot",tooltip:"Dot [#C]"},
4
+ // {name:"Divide",latex:"\\div",tooltip:"Divide [#/]"},
5
+ // {name:"Plus or minus",latex:"\\pm",tooltip:"Plus or minus [#-]"},
6
+ // {name:"Less than",latex:"<",tooltip:"Less than [<]"},
7
+ // {name:"Greater than",latex:">",tooltip:"Greater than [>]"},
8
+ // {name:"Greater than or equal",latex:"\\ge",tooltip:"Greater than or equal [#>]"},
9
+ // {name:"Less than or equal",latex:"\\le",tooltip:"Less than or equal [#<]"},
10
+ // {name:"Not equal",latex:"\\ne",tooltip:"Not equal [#=]"},
11
+ // {name:"Long division",latex:" 7 )\\hspace{-3px}\\overline{\\hspace{3px} 21 \\hspace{2px}}", scale:90},
12
+ // {name:"Long division 2",latex:" 7 |\\hspace{-1.5px}\\overline{\\hspace{2px} 21 \\hspace{2px}}", scale:90},
13
+
14
+ // {name:"Union",latex:"\\cup"},
15
+ // {name:"Intersection",latex:"\\cap"},
16
+ // {name:"In",latex:"\\in"},
17
+ // {name:"Not in",latex:"\\notin"},
18
+ // {name:"Empty set",latex:"\\emptyset"},
19
+ // {name:"For all",latex:"\\forall"},
20
+ // {name:"Exists",latex:"\\exists"},
21
+ // {name:"Not exists",latex:"\\nexists"},
22
+
23
+ // {name:"Right arrow",latex:"\\rightarrow"},
24
+ // {name:"Left arrow",latex:"\\leftarrow"},
25
+ // {name:"Left right arrow",latex:"\\leftrightarrow"},
26
+ // {name:"Long right arrow",latex:"\\longrightarrow"},
27
+ // {name:"Infinity",latex:"\\infty"},
28
+ // {name:"Proportional",latex:"\\propto"},
29
+
30
+ // {name:"Upside down triangle",latex:"\\triangledown"},
31
+ // {name:"Big circle",latex:"\\bigcirc"},
32
+ // {name:"Small circle",latex:"\\circ"},
33
+ // {name:"Left pointing triangle",latex:"\\triangleleft"},
34
+ // {name:"Right pointing triangle",latex:"\\triangleright"},
35
+
36
+ // {name:"Black lozenge",latex:"\\blacklozenge"},
37
+ // {name:"Black Star",latex:"\\bigstar"},
38
+ // {name:"Red Star",latex:"\\red \\bigstar"},
39
+ // {name:"Orange Star",latex:"\\orange \\bigstar"},
40
+ // {name:"Green Star",latex:"\\green \\bigstar"},
41
+ // {name:"Blue Star",latex:"\\blue \\bigstar"},
42
+ // {name:"Purple Star",latex:"\\purple \\bigstar"},
43
+
44
+ // {name:"Black Square",latex:"\\blacksquare"},
45
+ // {name:"Red Square",latex:"\\red \\blacksquare"},
46
+ // {name:"Orange Square",latex:"\\orange \\blacksquare"},
47
+ // {name:"Green Square",latex:"\\green \\blacksquare"},
48
+ // {name:"Blue Square",latex:"\\blue \\blacksquare"},
49
+ // {name:"Purple Square",latex:"\\purple \\blacksquare"},
50
+
51
+ // {name:"Dollar",latex:"\\$",scale:80,tooltip:"Dollar (type \\$)"},
52
+ // {name:"Percent",latex:"\\%",scale:80,tooltip:"Percent (type \\%)"},
53
+ // {name:"Parenenthesis",latex:"( x )"},
54
+ // {name:"Tall parenenthesis",latex:"\\left( \\right)",scale:100,buttonLatex:"\\left( \\frac{a}{b} \\right)"},
55
+ // {name:"Curly brackets",latex:"\\{ x \\}"},
56
+ // {name:"Tall curly brackets",latex:"\\left\\{ \\right\\}",scale:100,buttonLatex:"\\left\\{ \\frac{a}{b} \\right\\}"},
57
+ // {name:"Square brackets",latex:"[ x ]"},
58
+ // {name:"Tall square brackets",latex:"\\left[ \\right]",scale:100,buttonLatex:"\\left[ \\frac{a}{b} \\right]"},
59
+ // {name:"Angle brackets",latex:"\\lang x \\rang"},
60
+ // {name:"Tall angle brackets",latex:"\\left\\lang \\right\\rang",scale:100,buttonLatex:"\\left\\lang \\frac{a}{b} \\right\\rang"},
61
+ // {name:"Cases",latex:"x = \\begin{cases}\ra & \\text{if } b \\\\\rc & \\text{if } d\r\\end{cases}", scale:80},
62
+ // {name:"Bullets",latex:"\\newline\r\\begin{array}{ll}\r\\bullet & \\text{ Item 1 } \\\\\r\\bullet & \\text{ Item 2 } \\\\\r\\bullet & \\text{ Item 3 }\r\\end{array}\r\\newline", scale:70},
63
+ // {name:"Table",latex:"\\newline\r\\begin{array}{|c|c|}\r\\hline\r\\text{ Col 1 } & \\text{ Col 2 } \\\\\r\\hline\ra & b \\\\\rc & d \\\\\re & f \\\\\r\\hline\r\\end{array}\r\\newline", scale:60},
64
+
65
+ // {name:"Squared",latex:"x^2",tooltip:"Squared (type \\^2)"},
66
+ // {name:"Cubed",latex:"x^3"},
67
+ // {name:"Power 4",latex:"x^4"},
68
+ // {name:"Power 5",latex:"x^5"},
69
+ // {name:"Power 6",latex:"x^6"},
70
+ // {name:"Power 7",latex:"x^7"},
71
+ // {name:"Power 8",latex:"x^8"},
72
+ // {name:"Power 9",latex:"x^9"},
73
+ // {name:"Power 10",latex:"x^{10}"},
74
+ // {name:"Power -1",latex:"x^{-1}"},
75
+ // {name:"Power fraction",latex:"x^{\\frac{ a }{ b }}"},
76
+ // {name:"Fraction power n+1",latex:"\\left(\\frac{ a }{ b }\\right)^{n+1}"},
77
+ // {name:"Power n+1",latex:"x^{n+1}"},
78
+ // {name:"Power n-1",latex:"x^{n-1}"},
79
+ // {name:"Exponential growth",latex:"e^{kt}"},
80
+ // {name:"Natural log (ln)",latex:"\\ln"},
81
+ // {name:"Log 10",latex:"\\log_{10}"},
82
+
83
+ // {name:"Quadratic equation",latex:"ax^2+bx+c=0",scale:80},
84
+ // {name:"Circle equation",latex:"(x-p)^2+(y-q)^2=r^2",scale:80},
85
+ // {name:"Simultaneous equations",latex:"\\newline\r\\begin{array}{c}\rx + 2y = 1 \\\\\r2x + y = 5\r\\end{array}\r\\newline", scale:80},
86
+
87
+ // {name:"Subscript",latex:"x_i"},
88
+ // {name:"Subscript n+1",latex:"x_{n+1}"},
89
+ // {name:"Subscript n-1",latex:"x_{n-1}"},
90
+ // {name:"x intercept",latex:"x\\text{\\small-intercept}"},
91
+ // {name:"y intercept",latex:"y\\text{\\small-intercept}"},
92
+
93
+
94
+ // {name:"Square root",latex:"\\sqrt{x}"},
95
+ // {name:"Cube root",latex:"\\sqrt[3]{x}"},
96
+ // {name:"4th root",latex:"\\sqrt[4]{x}"},
97
+ // {name:"5th root",latex:"\\sqrt[5]{x}"},
98
+ // {name:"6th root",latex:"\\sqrt[6]{x}"},
99
+ // {name:"Root 2",latex:"\\surd 2"},
100
+ // {name:"Root 3",latex:"\\surd 3"},
101
+ // {name:"Root 5",latex:"\\surd 5"},
102
+ // {name:"Root 7",latex:"\\surd 7"},
103
+ // {name:"Root 11",latex:"\\surd 11"},
104
+ // {name:"Root 13",latex:"\\surd 13"},
105
+
106
+ // {name:"mean",latex:"\\overline{x}"},
107
+ // {name:"vector",latex:"\\vec{x}"},
108
+ // {name:"hat",latex:"\\hat{x}"},
109
+ // {name:"widehat",latex:"\\widehat{x}"},
110
+ // {name:"dot",latex:"\\dot{x}"},
111
+ // {name:"ddot",latex:"\\ddot{x}"},
112
+ // {name:"mathring",latex:"\\mathring{x}"},
113
+ // {name:"tilde",latex:"\\tilde{x}"},
114
+
115
+ // // {name:"fraction",latex:"\\frac{ ◻︎ }{ ◻︎ }",scale:80,buttonLatex:"\\frac{◻}{◻︎}"},
116
+ // {name:"Fraction",latex:"\\frac{ a }{ b }",scale:80},
117
+ // {name:"Fraction 2",latex:"\\small^{ a }{\\!/}_{ b }"},
118
+ // {name:"Mixed fraction",latex:"a \\frac{ b }{ c }",scale:80},
119
+ // {name:"One half",latex:"\\frac{1}{2}",scale:80},
120
+ // {name:"One third",latex:"\\frac{1}{3}",scale:80},
121
+ // {name:"One quarter",latex:"\\frac{1}{4}",scale:80},
122
+ // {name:"One over root 2",latex:"\\frac{1}{\\surd 2}",scale:80},
123
+ // {name:"One over root 3",latex:"\\frac{1}{\\surd 3}",scale:80},
124
+ // {name:"a over x + b",latex:"\\frac{ a }{ x + b }",tooltip:"a over x + b"},
125
+ // {name:"x + a over x + b",latex:"\\frac{ x + a }{ x + b }",tooltip:"x + a over x + b"},
126
+ // {name:"x + a over x + root b",latex:"\\frac{ x + a }{ x + \\surd b }",tooltip:"x + a over x + root b"},
127
+
128
+ // {name:"Degree",latex:"\\degree",buttonLatex:"\\! \\degree \\!"},
129
+ // {name:"Angle",latex:"\\angle"},
130
+ // {name:"Measured angle",latex:"\\measuredangle"},
131
+ // {name:"Spherical angle",latex:"\\sphericalangle"},
132
+
133
+ // {name:"Sum",latex:"\\sum"},
134
+ // {name:"Product",latex:"\\prod"},
135
+ // {name:"Sum i=1 to n",latex:"\\displaystyle \\sum_{i=1}^{n}"},
136
+ // {name:"Sum n=0 to infinity",latex:"\\displaystyle \\sum_{n=0}^{\\infty}"},
137
+ // {name:"Product i=1 to n",latex:"\\displaystyle \\prod_{i=1}^{n}"},
138
+ // {name:"Product n=0 to infinity",latex:"\\displaystyle \\prod_{n=0}^{\\infty}"},
139
+ // {name:"Integral",latex:"\\int"},
140
+ // {name:"Double integral",latex:"\\iint",buttonLatex:"\\! \\iint \\!"},
141
+ // {name:"Treble integral",latex:"\\iiint",buttonLatex:"\\! \\iiint \\!"},
142
+ // {name:"Integrate from a to b",latex:"\\int_{a}^{b}",buttonLatex:"\\! \\int_{a}^{b} \\!"},
143
+ // {name:"Integrate from 0 to infinity",latex:"\\int_{0}^{\\infty}",buttonLatex:"\\! \\int_{0}^{\\infty} \\!"},
144
+ // {name:"Integrate wrt x",latex:"\\int dx",buttonLatex:"\\! \\int \\! dx \\!"},
145
+ // {name:"Double integrate wrt uv",latex:"\\iint du\\,dv",scale:90,buttonLatex:"\\! \\iint \\! du\\,dv \\!"},
146
+ // {name:"dxdy",latex:"\\frac{dx}{dy}"},
147
+ // {name:"Partial dxdy",latex:"\\frac{\\partial x}{\\partial y}"},
148
+ // {name:"limxtoinfinity",latex:"\\small{\\underset{x \\to \\infty}{\\lim}}",scale:90,buttonLatex:"\\! \\underset{x \\to \\infty}{\\lim} \\!"},
149
+ // {name:"intbrackets",latex:"\\left[ x \\right]_{a}^{b}",scale:95,buttonLatex:"\\! \\left[ x \\right]_{a}^{b} \\!"},
150
+
151
+ // {name:"Vector OA",latex:"\\overrightarrow{\\rm OA}",
152
+ // scale:80,buttonLatex:"\\overrightarrow{\\rm OA}"},
153
+ // {name:"Vector OB",latex:"\\overrightarrow{\\rm OB}",
154
+ // scale:80,buttonLatex:"\\overrightarrow{\\rm OB}"},
155
+ // {name:"Vector PQ",latex:"\\overrightarrow{\\rm PQ}",
156
+ // scale:80,buttonLatex:"\\overrightarrow{\\rm PQ}"},
157
+ // {name:"1x2 matrix",latex:"\\begin{bmatrix} a & b \\end{bmatrix}",
158
+ // scale:48,buttonLatex:"\\begin{bmatrix} a & b \\end{bmatrix}"},
159
+ // {name:"1x3 matrix",latex:"\\begin{bmatrix} a & b & c \\end{bmatrix}",
160
+ // scale:48,buttonLatex:"\\begin{bmatrix} a & b & c \\end{bmatrix}"},
161
+ // {name:"2-vector",latex:"\\begin{bmatrix}\ra \\\\\rb\r\\end{bmatrix}",
162
+ // scale:48,buttonLatex:"\\begin{bmatrix}\ra \\\\\rb\r\\end{bmatrix}"},
163
+ // {name:"2x2 matrix",latex:"\\begin{bmatrix}\ra & b \\\\\rc & d\r\\end{bmatrix}",
164
+ // scale:48,buttonLatex:"\\begin{bmatrix}\ra & b \\\\\rc & d\r\\end{bmatrix}"},
165
+ // {name:"2x3 matrix",latex:"\\begin{bmatrix}\ra & b & c \\\\\rd & e & f\r\\end{bmatrix}",
166
+ // scale:48,buttonLatex:"\\begin{bmatrix}\ra & b & c \\\\\rd & e & f\r\\end{bmatrix}"},
167
+ // {name:"3-vector",latex:"\\begin{bmatrix}\ra \\\\\rb \\\\\rc\r\\end{bmatrix}",
168
+ // scale:48,buttonLatex:"\\begin{bmatrix}\ra \\\\\rb \\\\\rc\r\\end{bmatrix}"},
169
+ // {name:"3x3 matrix",latex:"\\begin{bmatrix}\ra & b & c \\\\\rd & e & f \\\\\rg & h & i\r\\end{bmatrix}",
170
+ // scale:48,buttonLatex:"\\begin{bmatrix}\ra & b & c \\\\\rd & e & f \\\\\rg & h & i\r\\end{bmatrix}"},
171
+ // {name:"3x2 matrix",latex:"\\begin{bmatrix}\ra & b \\\\\rc & d \\\\\re & f\r\\end{bmatrix}",
172
+ // scale:48,buttonLatex:"\\begin{bmatrix}\ra & b \\\\\rc & d \\\\\re & f\r\\end{bmatrix}"},
173
+
174
+ // {name:"carbon",latex:"_{6}^{12}\\mathrm{C}", scale:100,buttonLatex:"_{6}^{12}\\mathrm{C}"},
175
+ // {name:"neutron",latex:"_{1}^{0}\\mathrm{n}", scale:100,buttonLatex:"_{1}^{0}\\mathrm{n}"},
176
+ // {name:"electron",latex:"_{0}^{-1}\\mathrm{e}", scale:100,buttonLatex:"_{0}^{-1}\\mathrm{e}"},
177
+
178
+ // {name:"Symbols Toolbar",scale:100,buttonLatex:"\\pm \\, \\tiny \\blacktriangledown", tooltip:"Symbols"},
179
+ // {name:"Shapes Toolbar",scale:100,buttonLatex:"\\Box \\, \\tiny \\blacktriangledown", tooltip:"Shapes"},
180
+ // {name:"Special Toolbar",scale:100,buttonLatex:"\\$ \\, \\tiny \\blacktriangledown", tooltip:"Special"},
181
+ // {name:"Powers Toolbar",scale:100,buttonLatex:"x^2 \\, \\tiny \\blacktriangledown", tooltip:"Powers"},
182
+ // {name:"Subscripts Toolbar",scale:100,buttonLatex:"x_i \\, \\tiny \\blacktriangledown", tooltip:"Subscripts"},
183
+ // {name:"Roots Toolbar",scale:100,buttonLatex:"\\sqrt{x} \\, \\tiny \\blacktriangledown", tooltip:"Roots"},
184
+ // {name:"Fractions Toolbar", scale:100,buttonLatex:"\\frac{a}{b} \\, \\tiny \\blacktriangledown", tooltip:"Fractions"},
185
+ // {name:"Greek Letters Toolbar",scale:100,buttonLatex:"\\alpha \\, \\tiny \\blacktriangledown", tooltip:"Greek letters"},
186
+ // {name:"Overline Toolbar", scale:100,buttonLatex:"\\overline{x} \\, \\tiny \\blacktriangledown", tooltip:"Overlines"},
187
+ // {name:"Angles Toolbar", scale:100,buttonLatex:"\\degree \\, \\tiny \\blacktriangledown", tooltip:"Angles"},
188
+ // {name:"Sum and Product Toolbar", scale:100,buttonLatex:"\\small \\sum \\, \\tiny \\blacktriangledown", tooltip:"Sum and Prod"},
189
+ // {name:"Calculus Toolbar", scale:100,buttonLatex:"\\small \\int \\, \\tiny \\blacktriangledown", tooltip:"Calculus"},
190
+ // {name:"Matrices Toolbar", scale:100,buttonLatex:"\\tiny \\begin{bmatrix} \\cdot \\ \\cdot \\\\ \\cdot \\ \\cdot \\end{bmatrix} \\, \\tiny \\blacktriangledown", tooltip:"Matrices"},
191
+
192
+ {name:"Squared",latex:"^2",buttonLatex:"\\square^2",tooltip:"Squared (type \\^2)",typedText:true,moveCursor:1},
193
+ {name:"Power",latex:"^",buttonLatex:"\\square^x",tooltip:"Power (type \\^x)",typedText:true},
194
+ {name:"Subscript",latex:"_",buttonLatex:"\\square_x",tooltip:"Subscript (type \\_x)",typedText:true},
195
+ {name:"Root",latex:"\\sqrt{#}",buttonLatex:"\\sqrt{x}",tooltip:"Square root",moveCursor:-1},
196
+ {name:"Cube root",latex:"\\sqrt[3]{#}",buttonLatex:"\\sqrt[3]{x}",tooltip:"Cube root",moveCursor:-1},
197
+ {name:"Nth root",latex:"\\sqrt[#]{#}",buttonLatex:"\\sqrt[n]{x}",tooltip:"Nth root",moveCursor:-2},
198
+ {name:"Surd",latex:"\\surd{#}",buttonLatex:"\\surd{x}",tooltip:"Surd"},
199
+ {name:"Over",mathQuill:"/",latex:"\\frac{##}{#}",buttonLatex:"\\frac{\\square}{x}",tooltip:"Fraction",typedText:true},
200
+ {name:"Over root",latex:"/\\sqrt ",buttonLatex:"\\frac{a}{\\sqrt{x}}",tooltip:"Over square root",moveCursor:-1,typedText:true},
201
+ {name:"Hat",latex:"\\hat{#}",buttonLatex:"\\hat{x}",tooltip:"Hat",moveCursor:-1},
202
+
203
+ {name:"Vector",latex:"\\vec{#}",buttonLatex:"\\vec{x}",tooltip:"Vector",moveCursor:-1},
204
+ {name:"Line segment",latex:"\\overline{\\mathrm{AB#}}",buttonLatex:"\\overline{\\mathrm{AB}}",tooltip:"Overline",moveCursor:-2,scale:80},
205
+ {name:"Ray",latex:"\\overrightarrow{\\mathrm{AB#}}",buttonLatex:"\\overrightarrow{\\mathrm{AB}}",tooltip:"Over left arrow",moveCursor:-2,scale:80},
206
+ {name:"Over left arrow",latex:"\\overleftarrow{\\mathrm{AB#}}",buttonLatex:"\\overleftarrow{\\mathrm{AB}}",tooltip:"Over left arrow",moveCursor:-2,scale:80},
207
+ {name:"Line",latex:"\\overleftrightarrow{\\mathrm{AB#}}",buttonLatex:"\\overleftrightarrow{\\mathrm{AB}}",tooltip:"Over left arrow",moveCursor:-2,scale:80},
208
+
209
+ {name:"Dot",latex:"\\dot{#}",buttonLatex:"\\dot{x}",tooltip:"Dot",moveCursor:-1},
210
+ {name:"Double dot",latex:"\\ddot{#}",buttonLatex:"\\ddot{x}",tooltip:"Double dot",moveCursor:-1},
211
+ {name:"dxdy",latex:"\\frac{dx}{dy}",scale:90},
212
+ {name:"Partial dxdy",latex:"\\frac{\\partial x}{\\partial y}",buttonLatex:"\\frac{\\partial x}{\\partial y}",tooltip:"Partial dxdy",scale:90},
213
+ {name:"Integral",latex:"\\int_{#}^{#}",buttonLatex:"\\int",tooltip:"Integral",moveCursor:-2,scale:90},
214
+ {name:"Double integral",latex:"\\iint_{#}^{#}",buttonLatex:"\\iint",tooltip:"Double integral",moveCursor:-2},
215
+ {name:"Triple integral",latex:"\\iiint_{#}^{#}",buttonLatex:"\\iiint",tooltip:"Double integral",moveCursor:-2},
216
+ {name:"Contour integral",latex:"\\oint_{#}^{#}",buttonLatex:"\\oint",tooltip:"Contour integral",moveCursor:-2},
217
+
218
+ {name:"Integral a b",latex:"\\int_{#}^{#}",buttonLatex:"\\int_{a}^{b}",tooltip:"Integral",moveCursor:-2,scale:90},
219
+ {name:"Double integral a b",latex:"\\iint_{#}^{#}",buttonLatex:"\\iint_{a}^{b}",tooltip:"Double integral",moveCursor:-2},
220
+ {name:"Triple integral a b",latex:"\\iiint_{#}^{#}",buttonLatex:"\\iiint_{a}^{b}",tooltip:"Double integral",moveCursor:-2},
221
+ {name:"Contour integral a b",latex:"\\oint_{#}^{#}",buttonLatex:"\\oint_{a}^{b}",tooltip:"Contour integral",moveCursor:-2},
222
+
223
+ {name:"Sum a b",mathQuill:"\\sum ",latex:"\\sum\\limits_{#}^{#}",buttonLatex:"\\sum\\limits_a^b",scale:75,moveCursor:-1,typedText:true},
224
+ {name:"Product a b",mathQuill:"\\prod ",latex:"\\prod\\limits_{#}^{#}",buttonLatex:"\\prod\\limits_a^b",scale:75,tooltip:"Product",moveCursor:-1,typedText:true},
225
+ {name:"Infinity",latex:"\\infty"},
226
+ {name:"Right arrow",latex:"\\rightarrow"},
227
+
228
+
229
+ {name:"Box",latex:"\\square",buttonLatex:"\\square",tooltip:"Box"},
230
+ {name:"Plus",latex:"+",buttonLatex:"+",tooltip:"Plus"},
231
+ {name:"Minus",latex:"-",buttonLatex:"-",tooltip:"Mius"},
232
+ {name:"Plus or minus",latex:"\\pm",buttonLatex:"\\pm",tooltip:"Plus or minus"},
233
+ {name:"Times",latex:"\\times",buttonLatex:"\\times",tooltip:"Times"},
234
+ {name:"Divide",latex:"\\div",buttonLatex:"\\div",tooltip:"Divide"},
235
+ {name:"Center dot",latex:"\\cdot",buttonLatex:"\\cdot",tooltip:"Center dot"},
236
+ {name:"Equals",latex:"=",buttonLatex:"=",tooltip:"Equals"},
237
+ {name:"Less than",latex:"<",buttonLatex:"<",tooltip:"Less than (type <)"},
238
+ {name:"Greater than",latex:">",buttonLatex:">",tooltip:"Greater than (type >=)"},
239
+ {name:"Not equal",latex:"\\ne",buttonLatex:"\\ne",tooltip:"Not equal"},
240
+ {name:"Less than or equal",latex:"\\le",buttonLatex:"\\le",tooltip:"Less than or equal"},
241
+ {name:"Greater than or equal",latex:"\\ge",buttonLatex:"\\ge",tooltip:"Greater than or equal"},
242
+ {name:"Equivalent",latex:"\\equiv",buttonLatex:"\\equiv",tooltip:"Equivalent"},
243
+ {name:"Similar",latex:"\\sim",buttonLatex:"\\sim",tooltip:"Similar"},
244
+ {name:"Approximately",latex:"\\approx",buttonLatex:"\\approx",tooltip:"Approximately"},
245
+ {name:"Congruent",latex:"\\cong",buttonLatex:"\\cong",tooltip:"Cong"},
246
+ {name:"Implies",latex:"\\Rightarrow",buttonLatex:"\\Rightarrow",tooltip:"Implies"},
247
+ {name:"Limit x to infinity",mathQuill:"\\lim_{x\\to \\infty}",latex:"\\lim\\limits_{x\\to \\infty}",scale:90},
248
+ // {name:"",latex:"\\",buttonLatex:"\\",tooltip:"",moveCursor:-1},
249
+
250
+ {name:"Measured angle",latex:"\\measuredangle"},
251
+ {name:"Spherical angle",latex:"\\sphericalangle"},
252
+ {name:"Proportionate",latex:"\\propto"},
253
+ {name:"Parallel",latex:"\\parallel"},
254
+ {name:"Perpendicular",latex:"\\perp"},
255
+
256
+ {name:"nsubset",latex:"\\nsubset",buttonLatex:"\\not\\subset"},
257
+
258
+ {name:"Algebraic numbers",latex:"\\A",buttonLatex:"\\mathbb A"},
259
+ {name:"Complex numbers",latex:"\\C",buttonLatex:"\\mathbb C"},
260
+ {name:"Natural numbers",latex:"\\N",buttonLatex:"\\mathbb N"},
261
+ {name:"Rational numbers",latex:"\\Q",buttonLatex:"\\mathbb Q"},
262
+ {name:"Real numbers",latex:"\\R",buttonLatex:"\\mathbb R"},
263
+ {name:"Integers",latex:"\\Z",buttonLatex:"\\mathbb Z"},
264
+
265
+ {name:"Subscript2",latex:"_2",buttonLatex:"\\square_2",tooltip:"Subscript (type \\_2)"},
266
+ {name:"SubscriptN",latex:"_",buttonLatex:"\\square_n",tooltip:"Subscript (type \\_n)", typedText:true},
267
+ {name:"SuperscriptN",latex:"^",buttonLatex:"\\square^n",tooltip:"Superscript (type \\^n)", typedText:true},
268
+ {name:"Chemistry arrow",latex:" \\longrightarrow ",buttonLatex:"\\longrightarrow",tooltip:"Chemistry arrow", typedText:true},
269
+
270
+ {name:"_e",latex:"\\mathrm{e^-}",buttonLatex:"\\mathrm{e^-}"},
271
+ {name:"_n",latex:"_{0}^{1}\\mathrm{n}",buttonLatex:"_{0}^{1}\\mathrm{n}"},
272
+ {name:"_p",latex:"_{1}^{1}\\mathrm{p}",buttonLatex:"_{1}^{1}\\mathrm{p}"},
273
+ {name:"_a",latex:"_{2}^{2}\\alpha",buttonLatex:"_{2}^{2}\\alpha"},
274
+ {name:"_em",latex:"_{-1}^{0}\\mathrm{e}",buttonLatex:"_{-1}^{0}\\mathrm{e}"},
275
+ {name:"_bm",latex:"_{-1}^{0}\\beta",buttonLatex:"_{-1}^{0}\\beta"},
276
+ {name:"_ep",latex:"_{1}^{0}\\mathrm{e}",buttonLatex:"_{1}^{0}\\mathrm{e}"},
277
+ {name:"_bp",latex:"_{1}^{0}\\beta",buttonLatex:"_{1}^{0}\\beta"},
278
+ {name:"_ga",latex:"_{0}^{0}\\gamma",buttonLatex:"_{0}^{0}\\gamma"},
279
+ {name:"_s",latex:"_{(s)}",buttonLatex:"\\square_{(s)}"},
280
+ {name:"_g",latex:"_{(g)}",buttonLatex:"\\square_{(g)}"},
281
+ {name:"_l",latex:"_{(l)}",buttonLatex:"\\square_{(l)}"},
282
+ {name:"_aq",latex:"_{(aq)}",buttonLatex:"\\square_{(aq)}"},
283
+
284
+ {name:"Type in Roman text",latex:"\\mathrm ",buttonLatex:"\\mathrm{[text]}",scale:70,typedText:true},
285
+ {name:"Uranium symbol",latex:"_{92}^{235}\\mathrm U",buttonLatex:"_{92}^{235}\\mathrm U"},
286
+
287
+ {name:"Half",latex:"\\frac{1}{2}",buttonLatex:"\\frac{1}{2}"},
288
+ {name:"Third",latex:"\\frac{1}{3}",buttonLatex:"\\frac{1}{3}"},
289
+ {name:"Over root 2",latex:"\\frac{#}{\\surd{2}}",buttonLatex:"\\frac{x}{\\surd{2}}",moveCursor:-4},
290
+ {name:"Over root 3",latex:"\\frac{#}{\\surd{3}}",buttonLatex:"\\frac{x}{\\surd{3}}",moveCursor:-4},
291
+ {name:"Subscript zero",latex:"_0",buttonLatex:"\\square_0"},
292
+ {name:"Subscript max",latex:"_{\\max}",buttonLatex:"\\square_{\\max}",scale:80},
293
+ {name:"Subscript min",latex:"_{\\min}",buttonLatex:"\\square_{\\min}",scale:80},
294
+ {name:"Subscript rms",latex:"_\\mathrm{rms}",buttonLatex:"\\square_\\mathrm{rms}",scale:80},
295
+ {name:"Root a over b",latex:"\\sqrt{\\frac{#}{#}}",buttonLatex:"\\sqrt{\\frac{a}{b}}",moveCursor:-3},
296
+ {name:"Capacitor discharge",latex:"e^{\\frac{-t}{RC}}",scale:80},
297
+ {name:"Radioactive decay",latex:"e^{-\\lambda t}",scale:80},
298
+ {name:"Attenuation of rays",latex:"e^{-\\mu x}",scale:80},
299
+ {name:"Delta x over delta t",latex:"\\frac{\\Delta{#}}{\\Delta{t}}",buttonLatex:"\\frac{\\Delta{x}}{\\Delta{t}}",moveCursor:-4},
300
+ {name:"dxdt",latex:"\\frac{d}{d{t}}",buttonLatex:"\\frac{dx}{dt}",moveCursor:-4},
301
+
302
+ {name:"Widehat",latex:"\\widehat{#}",buttonLatex:"\\widehat{x}"},
303
+ {name:"Double dot",latex:"\\ddot{#}",buttonLatex:"\\ddot{x}"},
304
+ {name:"Mathring",latex:"\\mathring{#}",buttonLatex:"\\mathring{x}"},
305
+ {name:"Tilde",latex:"\\tilde{#}",buttonLatex:"\\tilde{x}"},
306
+ {name:"Check",latex:"\\check{#}",buttonLatex:"\\check{x}"},
307
+ {name:"Right arrow with text",latex:"\\xrightarrow[#]{#}",buttonLatex:"\\xrightarrow[text]{text}",scale:90},
308
+
309
+ {name:"Vector OA",latex:"\\overrightarrow{\\rm OA}",
310
+ scale:80,buttonLatex:"\\overrightarrow{\\rm OA}"},
311
+ {name:"Vector OB",latex:"\\overrightarrow{\\rm OB}",
312
+ scale:80,buttonLatex:"\\overrightarrow{\\rm OB}"},
313
+ {name:"Vector PQ",latex:"\\overrightarrow{\\rm PQ}",
314
+ scale:80,buttonLatex:"\\overrightarrow{\\rm PQ}"},
315
+ {name:"1-vector",latex:"\\begin{bmatrix} a# \\end{bmatrix}",
316
+ scale:70,buttonLatex:"\\begin{bmatrix} a \\end{bmatrix}"},
317
+ {name:"1x2 matrix",latex:"\\begin{bmatrix} a# & b \\end{bmatrix}",
318
+ scale:60,buttonLatex:"\\begin{bmatrix} a & b \\end{bmatrix}"},
319
+ {name:"1x3 matrix",latex:"\\begin{bmatrix} a# & b & c \\end{bmatrix}",
320
+ scale:38,buttonLatex:"\\begin{bmatrix} a & b & c \\end{bmatrix}"},
321
+ {name:"2-vector",latex:"\\begin{bmatrix}\ra# \\\\\rb\r\\end{bmatrix}",
322
+ scale:60,buttonLatex:"\\begin{bmatrix}\ra \\\\\rb\r\\end{bmatrix}"},
323
+ {name:"2x2 matrix",latex:"\\begin{bmatrix}\ra# & b \\\\\rc & d\r\\end{bmatrix}",
324
+ scale:60,buttonLatex:"\\begin{bmatrix}\ra & b \\\\\rc & d\r\\end{bmatrix}"},
325
+ {name:"2x3 matrix",latex:"\\begin{bmatrix}\ra# & b & c \\\\\rd & e & f\r\\end{bmatrix}",
326
+ scale:38,buttonLatex:"\\begin{bmatrix}\ra & b & c \\\\\rd & e & f\r\\end{bmatrix}"},
327
+ {name:"3-vector",latex:"\\begin{bmatrix}\ra# \\\\\rb \\\\\rc\r\\end{bmatrix}",
328
+ scale:40,buttonLatex:"\\begin{bmatrix}\ra \\\\\rb \\\\\rc\r\\end{bmatrix}"},
329
+ {name:"3x2 matrix",latex:"\\begin{bmatrix}\ra# & b \\\\\rc & d \\\\\re & f\r\\end{bmatrix}",
330
+ scale:40,buttonLatex:"\\begin{bmatrix}\ra & b \\\\\rc & d \\\\\re & f\r\\end{bmatrix}"},
331
+ {name:"3x3 matrix",latex:"\\begin{bmatrix}\ra# & b & c \\\\\rd & e & f \\\\\rg & h & i\r\\end{bmatrix}",
332
+ scale:38,buttonLatex:"\\begin{bmatrix}\r a & b & c \\\\\rd & e & f \\\\\rg & h & i\r\\end{bmatrix}"},
333
+
334
+ {name:"1-vector round brackets",latex:"\\begin{pmatrix} a# \\end{pmatrix}",
335
+ scale:70,buttonLatex:"\\begin{pmatrix} a \\end{pmatrix}"},
336
+ {name:"2x2 matrix round brackets",latex:"\\begin{pmatrix}\ra# & b \\\\\rc & d\r\\end{pmatrix}",
337
+ scale:55,buttonLatex:"\\begin{pmatrix}\ra & b \\\\\rc & d\r\\end{pmatrix}"},
338
+ {name:"2x2 matrix curly brackets",latex:"\\begin{Bmatrix}\ra# & b \\\\\rc & d\r\\end{Bmatrix}",
339
+ scale:55,buttonLatex:"\\begin{Bmatrix}\ra & b \\\\\rc & d\r\\end{Bmatrix}"},
340
+
341
+ // {name:"_",latex:"\\mathrm{}",buttonLatex:"\\mathrm{}"}
342
+ ]
343
+
344
+ const NORMAL_SYMBOLS = [
345
+ {name:"pounds",latex:"£",scale:100,buttonLatex:"£"},
346
+ {name:"cents",latex:"¢",scale:100,buttonLatex:"¢"},
347
+ ]
348
+
349
+ const BUTTON_AREAS = {
350
+ "Common": ["Squared", "Power", "Subscript", "Over",
351
+ "Surd", "Root", "Nth root", "Hat", "Line",
352
+ "Ray", "Line segment",
353
+ "Dot", "dxdy", "Partial dxdy", "Integral a b",
354
+ "Sum a b", "Product a b", "Right arrow", "Infinity","Limit x to infinity"],
355
+ "Operators": ["Plus","Minus","Center dot",
356
+ "Times","Divide","Equals",
357
+ "Less than", "Greater than","Not equal",
358
+ "Less than or equal","Greater than or equal","Plus or minus",
359
+ "Proportionate","Approximately","Implies"],
360
+ "Angles": ["degree","theta","phi",
361
+ "pi","alpha","beta",
362
+ "gamma", "delta", "epsilon",
363
+ "Delta", "angle",
364
+ "Parallel", "Perpendicular", "Similar", "Congruent"],
365
+ "GreekLower": ["alpha", "beta", "gamma", "delta", "epsilon",
366
+ "zeta", "eta", "theta", "iota",
367
+ "kappa", "lambda", "mu", "nu",
368
+ "xi", "omicron", "pi", "rho", "sigma", "tau",
369
+ "upsilon", "phi", "chi", "psi", "omega"],
370
+ "GreekUpper": ["Gamma", "Delta", "Theta", "Lambda",
371
+ "Xi", "Pi", "Sigma", "Phi", "Psi", "Omega","nabla"],
372
+ "Sets": ["cup", "cap", "in", "notin",
373
+ "emptyset", "forall", "exists", "nexists",
374
+ "subset", "subseteq", "supset", "supseteq", "nsubset", "nsubseteq",
375
+ "neg", "Complex numbers","Natural numbers",
376
+ "Rational numbers","Real numbers","Integers"],
377
+ "Misc": ["because", "therefore","dots","cdots",
378
+ "ll", "gg",
379
+ "leftarrow", "leftrightarrow", "Leftrightarrow","mapsto",
380
+ "bullet", "circ", "Box", "bigcirc","bigtriangleup","bigtriangledown",
381
+ "heartsuit", "diamondsuit", "clubsuit", "spadesuit"
382
+ ],
383
+ "Chemistry": ["SubscriptN","SuperscriptN","Plus","Minus",
384
+ "_s","_g","_l","_aq",
385
+ "_e","_n","_p","_a",
386
+ "_em","_ep","_bm","_bp",
387
+ "gamma","_ga","Uranium symbol","Chemistry arrow"],
388
+ "Elements": ["Type in Roman text","_Al","_Ar","_Be","_B","_C","_Ca","_Cl","_Co","_Cr",
389
+ "_Cu","_F","_Fe","_H","_He","_K","_Li","_Mg","_Mn",
390
+ "_N","_Na","_Ne","_Ni","_O","_P","_S","_Sc","_Si",
391
+ "_Ti","_Zn"],
392
+ // "Elements": ["_H", "_He", "_Li", "_Be", "_B", "_C", "_N",
393
+ // "_O", "_F", "_Ne", "_Na", "_Mg", "_Al", "_Si",
394
+ // "_P", "_S", "_Cl", "_Ar", "_K", "_Ca", "_Sc",
395
+ // "_Ti", "_V", "_Cr", "_Mn", "_Fe", "_Co", "_Ni",
396
+ // "_Cu"]
397
+ "Physics1": ["Squared", "Power", "Subscript", "Over",
398
+ "Root", "Nth root", "Surd", "Root a over b",
399
+ "Half","Third", "Over root 2", "Over root 3",
400
+ "sum", "delta", "Delta",
401
+ "Capacitor discharge","Radioactive decay", "Attenuation of rays",
402
+ "Delta x over delta t","dxdt"],
403
+ "Physics2": ["Plus","Minus","Plus or minus","Times","Equals",
404
+ "Approximately", "Proportionate"],
405
+ "Physics3": ["alpha","varepsilon", "eta", "gamma","lambda", "omega", "mu", "nu",
406
+ "pi", "rho", "sigma", "phi", "varPhi", "theta",
407
+ "overline{v_e}","overline{v_\\mu}",
408
+ "Subscript zero", "Subscript max", "Subscript min", "Subscript rms"],
409
+ "Expert": ["langle","rangle",
410
+ "Double integral", "Triple integral", "Contour integral",
411
+ "Double dot", "Widehat","Check", "Tilde","Mathring",
412
+ "Right arrow with text","rightleftharpoons"],
413
+ "Matrices": ["1-vector", "1x2 matrix","1x3 matrix",
414
+ "2-vector", "2x2 matrix", "2x3 matrix",
415
+ "3-vector", "3x2 matrix","3x3 matrix",
416
+ "cdots", "vdots","ddots",
417
+ "vec{a}","2x2 matrix round brackets","2x2 matrix curly brackets"]
418
+
419
+ }
420
+
421
+ function removeMarks(latex) {
422
+ return latex.replace(/#/g,"")
423
+ }
424
+
425
+ function fill(symbolData) {
426
+ var filledSymbolData = {name:symbolData["name"],
427
+ latex:removeMarks(symbolData["latex"]),
428
+ latexWithMarks:symbolData["latex"]}
429
+
430
+ var mathQuillLatex = symbolData["mathQuill"]
431
+ if (mathQuillLatex != null)
432
+ filledSymbolData["mathQuillLatex"] = mathQuillLatex
433
+ else
434
+ filledSymbolData["mathQuillLatex"] = filledSymbolData["latex"]
435
+
436
+ var buttonLatex = symbolData["buttonLatex"]
437
+ if (buttonLatex != null)
438
+ filledSymbolData["buttonLatex"] = buttonLatex
439
+ else
440
+ filledSymbolData["buttonLatex"] = filledSymbolData["latex"]
441
+
442
+ var scaling = symbolData["scale"]
443
+ if (scaling != null)
444
+ filledSymbolData["scale"] = scaling
445
+ else
446
+ filledSymbolData["scale"] = 100
447
+
448
+ var moveCursor = symbolData["moveCursor"]
449
+ if (moveCursor != null)
450
+ filledSymbolData["moveCursor"] = moveCursor
451
+ else
452
+ filledSymbolData["moveCursor"] = 0
453
+
454
+ var typedText = symbolData["typedText"]
455
+ if (typedText != null)
456
+ filledSymbolData["typedText"] = typedText
457
+ else
458
+ filledSymbolData["typedText"] = false
459
+
460
+ var tooltip = symbolData["tooltip"]
461
+ if (tooltip != null) {
462
+ if (navigator.userAgent.indexOf('Mac OS X') !== -1) {
463
+ var displayAlt = String.fromCharCode(8997)
464
+ } else {
465
+ displayAlt = "ALT"
466
+ }
467
+ tooltip = tooltip.replace(/#/g, displayAlt);
468
+ filledSymbolData["tooltip"] = tooltip
469
+ } else {
470
+ var name = symbolData['name']
471
+ var char0 = name.charAt(0)
472
+ char0 = char0.toUpperCase()
473
+ filledSymbolData["tooltip"] = char0+name.substr(1)
474
+ }
475
+
476
+ return filledSymbolData
477
+ }
478
+
479
+ function toDict(symbols) {
480
+ var dict = {}
481
+ for (var i = 0; i < symbols.length; i++) {
482
+ var symbolData = fill(symbols[i])
483
+ dict[symbols[i]["name"]] = symbolData
484
+ }
485
+ return dict;
486
+ }
487
+
488
+ const LATEX_SYMBOLS_DICT = toDict(LATEX_SYMBOLS)
489
+ const NORMAL_SYMBOLS_DICT = toDict(NORMAL_SYMBOLS)
490
+
491
+ function getSymbolData(name) {
492
+ if (name in LATEX_SYMBOLS_DICT)
493
+ return LATEX_SYMBOLS_DICT[name]
494
+
495
+ if (name in NORMAL_SYMBOLS_DICT)
496
+ return NORMAL_SYMBOLS_DICT[name]
497
+
498
+ if (name.charAt(0) === '_') {
499
+ if (name.charAt(1) >= 'A' && name.charAt(1) <= 'Z')
500
+ var latex="\\mathrm{"+name.substring(1)+"}"
501
+ return fill({name:name,latex:latex})
502
+ }
503
+
504
+ return fill({name:name,latex:"\\"+name})
505
+ }
506
+
507
+ export function buttonAreaExists(toolbarName) {
508
+ return toolbarName in BUTTON_AREAS
509
+ }
510
+
511
+ export function getSymbolsForButtonArea(buttonAreaName) {
512
+ return BUTTON_AREAS[buttonAreaName]
513
+ }
514
+
515
+ export function getSymbolLatex(name) {
516
+ var symbolData = getSymbolData(name)
517
+ if (!symbolData)
518
+ return null
519
+ return symbolData['latex']
520
+ }
521
+
522
+ export function getSymbolLatexWithMarks(name) {
523
+ var symbolData = getSymbolData(name)
524
+ if (!symbolData)
525
+ return null
526
+ return symbolData['latexWithMarks']
527
+ }
528
+
529
+ export function getSymbolMathQuillLatex(name) {
530
+ var symbolData = getSymbolData(name)
531
+ if (!symbolData)
532
+ return null
533
+ return symbolData['mathQuillLatex']
534
+ }
535
+
536
+ export function getSymbolMoveCursor(name) {
537
+ var symbolData = getSymbolData(name)
538
+ if (!symbolData)
539
+ return null
540
+ return symbolData['moveCursor']
541
+ }
542
+
543
+ export function getLatexInsertionParams(name) {
544
+ var symbolData = getSymbolData(name)
545
+ if (!symbolData)
546
+ return null
547
+ return {
548
+ latexWithMarks: symbolData.latexWithMarks,
549
+ mathQuillLatex: symbolData.mathQuillLatex,
550
+ moveCursor: symbolData.moveCursor,
551
+ typedText: symbolData.typedText
552
+ }
553
+ }
554
+
555
+
556
+
557
+ export function getSymbolButtonLatex(name) {
558
+ var symbolData = getSymbolData(name)
559
+ if (!symbolData)
560
+ return null
561
+ return symbolData["buttonLatex"]
562
+ }
563
+
564
+ export function getSymbolButtonScaling(name) {
565
+ var symbolData = getSymbolData(name)
566
+ if (!symbolData)
567
+ return null
568
+ return symbolData["scale"]
569
+ }
570
+
571
+ export function getSymbolButtonHtml(name) {
572
+ var symbolData = getSymbolData(name)
573
+ if (!symbolData)
574
+ return null
575
+ return symbolData['html']
576
+ }
577
+
578
+ export function setSymbolButtonHtml(name, html) {
579
+ var symbolData = getSymbolData(name)
580
+ if (!symbolData)
581
+ return false
582
+ symbolData['html'] = html
583
+ }
584
+
585
+ export function getSymbolButtonTooltip(name) {
586
+ var symbolData = getSymbolData(name)
587
+ if (!symbolData)
588
+ return null
589
+ return symbolData['tooltip']
590
+ }
package/src/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export { default as MathRichInput } from "./MathRichInput";
2
+ export { default as MathRichArea } from "./MathRichArea";
3
+ export { renderMathInNode } from "./MathRichArea";
4
+
5
+
@@ -0,0 +1,39 @@
1
+ // This function adds the katex css stylesheet to the document head
2
+ export const setupKatex = () => {
3
+ let links = document.getElementsByTagName("link")
4
+ for (let i = 0; i < links.length; i++) {
5
+ if (links[i].id === "katex-css")
6
+ return
7
+ }
8
+
9
+ let link = document.createElement("link")
10
+ link.id = "katex-css"
11
+ link.rel = "stylesheet"
12
+ link.href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css"
13
+ // link.integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq"
14
+ link.crossorigin="anonymous"
15
+ document.head.appendChild(link);
16
+ console.log("Added katex css to document head")
17
+
18
+ // The following two scripts are required to have pages auto-render embedded latex.
19
+ // We don't need to do this as we render everything programatically.
20
+ // These are inlcuded here only for reference in case of future need.
21
+
22
+ // let script = document.createElement("script");
23
+ // script.id = "katex-js"
24
+ // script.defer = true;
25
+ // script.src = "https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js"
26
+ // // script.integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz"
27
+ // script.crossorigin="anonymous"
28
+ // document.head.appendChild(script);
29
+ // console.log("Added script")
30
+
31
+ // script = document.createElement("script");
32
+ // script.id = "katex-js-auto-render"
33
+ // script.defer = true;
34
+ // script.src = "https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js"
35
+ // // script.integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI"
36
+ // script.crossorigin="anonymous"
37
+ // document.head.appendChild(script);
38
+ // console.log("Added script")
39
+ }