@drghaliasri/butex 3.2.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.
- package/README.md +311 -0
- package/dist/document.d.mts +307 -0
- package/dist/document.d.ts +307 -0
- package/dist/document.js +2886 -0
- package/dist/document.js.map +1 -0
- package/dist/document.mjs +2822 -0
- package/dist/document.mjs.map +1 -0
- package/dist/document2.d.mts +353 -0
- package/dist/document2.d.ts +353 -0
- package/dist/document2.js +3321 -0
- package/dist/document2.js.map +1 -0
- package/dist/document2.mjs +3260 -0
- package/dist/document2.mjs.map +1 -0
- package/dist/index.d.mts +1430 -0
- package/dist/index.d.ts +1430 -0
- package/dist/index.global.js +5903 -0
- package/dist/index.global.js.map +1 -0
- package/dist/index.js +5927 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +5884 -0
- package/dist/index.mjs.map +1 -0
- package/dist/react-document.d.mts +153 -0
- package/dist/react-document.d.ts +153 -0
- package/dist/react-document.js +9597 -0
- package/dist/react-document.js.map +1 -0
- package/dist/react-document.mjs +9574 -0
- package/dist/react-document.mjs.map +1 -0
- package/dist/react-document2.d.mts +366 -0
- package/dist/react-document2.d.ts +366 -0
- package/dist/react-document2.js +10812 -0
- package/dist/react-document2.js.map +1 -0
- package/dist/react-document2.mjs +10783 -0
- package/dist/react-document2.mjs.map +1 -0
- package/dist/react.d.mts +895 -0
- package/dist/react.d.ts +895 -0
- package/dist/react.js +6955 -0
- package/dist/react.js.map +1 -0
- package/dist/react.mjs +6935 -0
- package/dist/react.mjs.map +1 -0
- package/package.json +92 -0
package/dist/react.d.ts
ADDED
|
@@ -0,0 +1,895 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
|
|
3
|
+
type EditorSide = 'english' | 'arabic';
|
|
4
|
+
type EditorNodeKind = 'char' | 'number' | 'operator' | 'delimiter' | 'frac' | 'sqrt' | 'env' | 'atomicCommand' | 'atomicOperatorCommand';
|
|
5
|
+
type MatrixEnvStyle = 'matrix' | 'pmatrix' | 'bmatrix' | 'Bmatrix' | 'vmatrix' | 'Vmatrix';
|
|
6
|
+
type GridEnvName = MatrixEnvStyle | 'array' | 'aligned';
|
|
7
|
+
type EnvColumnAlignment = 'l' | 'c' | 'r';
|
|
8
|
+
type CharacterFontId = 'default' | 'takween' | 'diwani' | 'diwaniOutline';
|
|
9
|
+
type DigitFormId = 'western' | 'arabicIndic' | 'persianIndic';
|
|
10
|
+
type EditorSyncState = 'synced' | 'diverged';
|
|
11
|
+
type EditorChain = {
|
|
12
|
+
id: string;
|
|
13
|
+
nodes: EditorNode[];
|
|
14
|
+
};
|
|
15
|
+
type EditorNode = {
|
|
16
|
+
id: string;
|
|
17
|
+
kind: EditorNodeKind;
|
|
18
|
+
expr: string;
|
|
19
|
+
characterFont?: CharacterFontId;
|
|
20
|
+
superscript: EditorChain | null;
|
|
21
|
+
subscript: EditorChain | null;
|
|
22
|
+
leftDelimExpr: string;
|
|
23
|
+
rightDelimExpr: string;
|
|
24
|
+
innerExpr: EditorChain | null;
|
|
25
|
+
numerator: EditorChain | null;
|
|
26
|
+
denominator: EditorChain | null;
|
|
27
|
+
radicand: EditorChain | null;
|
|
28
|
+
rootIndex: EditorChain | null;
|
|
29
|
+
envName: GridEnvName | null;
|
|
30
|
+
matrixStyle: MatrixEnvStyle | null;
|
|
31
|
+
matrixRows: EditorChain[][] | null;
|
|
32
|
+
columnAlignments: EnvColumnAlignment[] | null;
|
|
33
|
+
};
|
|
34
|
+
type EditorCaret = {
|
|
35
|
+
chainId: string;
|
|
36
|
+
index: number;
|
|
37
|
+
};
|
|
38
|
+
type EditorSelectionRange = {
|
|
39
|
+
chainId: string;
|
|
40
|
+
anchorIndex: number;
|
|
41
|
+
focusIndex: number;
|
|
42
|
+
};
|
|
43
|
+
type EditorSyncMap = Record<string, {
|
|
44
|
+
expr: EditorSyncState;
|
|
45
|
+
}>;
|
|
46
|
+
type EditorDebugEntry = {
|
|
47
|
+
timestamp: string;
|
|
48
|
+
command: string;
|
|
49
|
+
activeSide: EditorSide;
|
|
50
|
+
englishLatex: string;
|
|
51
|
+
arabicLatex: string;
|
|
52
|
+
renderOk: boolean;
|
|
53
|
+
renderError: string | null;
|
|
54
|
+
note: string;
|
|
55
|
+
};
|
|
56
|
+
type EditorSession = {
|
|
57
|
+
englishTree: EditorChain;
|
|
58
|
+
arabicTree: EditorChain;
|
|
59
|
+
activeSide: EditorSide;
|
|
60
|
+
/** When true, each typed letter/digit inserts a new char/number leaf; when false, merge into adjacent same-kind leaves. */
|
|
61
|
+
splitLeafTyping: boolean;
|
|
62
|
+
/** One-shot: when true, the next insertChar/insertNumber bypasses leaf-merge (used by Space in merge mode). */
|
|
63
|
+
forceSplitNextLeaf: boolean;
|
|
64
|
+
/** When true and active side is Arabic, merged number typing prepends digits (RTL-style); still mirrored on EN/AR. */
|
|
65
|
+
arabicReverseNumberTyping: boolean;
|
|
66
|
+
/** Font applied to newly typed char nodes. */
|
|
67
|
+
currentCharacterFont: CharacterFontId;
|
|
68
|
+
/** Digit glyph form used for editor display and LaTeX preview output. */
|
|
69
|
+
currentDigitForm: DigitFormId;
|
|
70
|
+
caret: EditorCaret;
|
|
71
|
+
/** Whole-node range selection inside a single chain (anchor==focus means no selection). */
|
|
72
|
+
selection: EditorSelectionRange | null;
|
|
73
|
+
selectedNodeId: string | null;
|
|
74
|
+
selectedStructureNodeId: string | null;
|
|
75
|
+
sync: EditorSyncMap;
|
|
76
|
+
debugLog: EditorDebugEntry[];
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
declare const ATOMIC_COMMANDS: {
|
|
80
|
+
readonly cos: {
|
|
81
|
+
readonly id: "cos";
|
|
82
|
+
readonly category: "function";
|
|
83
|
+
readonly englishTex: "\\cos";
|
|
84
|
+
readonly arabicTex: "\\arcos";
|
|
85
|
+
readonly arabicLabel: "جتا";
|
|
86
|
+
readonly title: "جيب التمام";
|
|
87
|
+
};
|
|
88
|
+
readonly sin: {
|
|
89
|
+
readonly id: "sin";
|
|
90
|
+
readonly category: "function";
|
|
91
|
+
readonly englishTex: "\\sin";
|
|
92
|
+
readonly arabicTex: "\\arsin";
|
|
93
|
+
readonly arabicLabel: "جا";
|
|
94
|
+
readonly title: "جيب";
|
|
95
|
+
};
|
|
96
|
+
readonly tan: {
|
|
97
|
+
readonly id: "tan";
|
|
98
|
+
readonly category: "function";
|
|
99
|
+
readonly englishTex: "\\tan";
|
|
100
|
+
readonly arabicTex: "\\artan";
|
|
101
|
+
readonly arabicLabel: "ظا";
|
|
102
|
+
readonly title: "ظل";
|
|
103
|
+
};
|
|
104
|
+
readonly cot: {
|
|
105
|
+
readonly id: "cot";
|
|
106
|
+
readonly category: "function";
|
|
107
|
+
readonly englishTex: "\\cot";
|
|
108
|
+
readonly arabicTex: "\\arcot";
|
|
109
|
+
readonly arabicLabel: "ظتا";
|
|
110
|
+
readonly title: "ظل تمام";
|
|
111
|
+
};
|
|
112
|
+
readonly sec: {
|
|
113
|
+
readonly id: "sec";
|
|
114
|
+
readonly category: "function";
|
|
115
|
+
readonly englishTex: "\\sec";
|
|
116
|
+
readonly arabicTex: "\\arsec";
|
|
117
|
+
readonly arabicLabel: "قا";
|
|
118
|
+
readonly title: "قاطع";
|
|
119
|
+
};
|
|
120
|
+
readonly csc: {
|
|
121
|
+
readonly id: "csc";
|
|
122
|
+
readonly category: "function";
|
|
123
|
+
readonly englishTex: "\\csc";
|
|
124
|
+
readonly arabicTex: "\\arcsc";
|
|
125
|
+
readonly arabicLabel: "قتا";
|
|
126
|
+
readonly title: "قاطع تمام";
|
|
127
|
+
};
|
|
128
|
+
readonly arccos: {
|
|
129
|
+
readonly id: "arccos";
|
|
130
|
+
readonly category: "function";
|
|
131
|
+
readonly englishTex: "\\arccos";
|
|
132
|
+
readonly arabicTex: "\\aracos";
|
|
133
|
+
readonly arabicLabel: "قجتا";
|
|
134
|
+
readonly title: "قاطع جيب التمام";
|
|
135
|
+
};
|
|
136
|
+
readonly arcsin: {
|
|
137
|
+
readonly id: "arcsin";
|
|
138
|
+
readonly category: "function";
|
|
139
|
+
readonly englishTex: "\\arcsin";
|
|
140
|
+
readonly arabicTex: "\\arasin";
|
|
141
|
+
readonly arabicLabel: "قجا";
|
|
142
|
+
readonly title: "قاطع جيب";
|
|
143
|
+
};
|
|
144
|
+
readonly arctan: {
|
|
145
|
+
readonly id: "arctan";
|
|
146
|
+
readonly category: "function";
|
|
147
|
+
readonly englishTex: "\\arctan";
|
|
148
|
+
readonly arabicTex: "\\aratan";
|
|
149
|
+
readonly arabicLabel: "قظا";
|
|
150
|
+
readonly title: "قاطع ظل";
|
|
151
|
+
};
|
|
152
|
+
readonly arccot: {
|
|
153
|
+
readonly id: "arccot";
|
|
154
|
+
readonly category: "function";
|
|
155
|
+
readonly englishTex: "\\arccot";
|
|
156
|
+
readonly arabicTex: "\\aracot";
|
|
157
|
+
readonly arabicLabel: "قظتا";
|
|
158
|
+
readonly title: "قاطع ظل التمام";
|
|
159
|
+
};
|
|
160
|
+
readonly arcsec: {
|
|
161
|
+
readonly id: "arcsec";
|
|
162
|
+
readonly category: "function";
|
|
163
|
+
readonly englishTex: "\\arcsec";
|
|
164
|
+
readonly arabicTex: "\\arasec";
|
|
165
|
+
readonly arabicLabel: "ققا";
|
|
166
|
+
readonly title: "قاطع القاطع";
|
|
167
|
+
};
|
|
168
|
+
readonly arccsc: {
|
|
169
|
+
readonly id: "arccsc";
|
|
170
|
+
readonly category: "function";
|
|
171
|
+
readonly englishTex: "\\arccsc";
|
|
172
|
+
readonly arabicTex: "\\aracsc";
|
|
173
|
+
readonly arabicLabel: "ققتا";
|
|
174
|
+
readonly title: "قاطع القاطع التمام";
|
|
175
|
+
};
|
|
176
|
+
readonly cosh: {
|
|
177
|
+
readonly id: "cosh";
|
|
178
|
+
readonly category: "function";
|
|
179
|
+
readonly englishTex: "\\cosh";
|
|
180
|
+
readonly arabicTex: "\\arcosh";
|
|
181
|
+
readonly arabicLabel: "جتزا";
|
|
182
|
+
readonly title: "جيب التمام الزائد";
|
|
183
|
+
};
|
|
184
|
+
readonly sinh: {
|
|
185
|
+
readonly id: "sinh";
|
|
186
|
+
readonly category: "function";
|
|
187
|
+
readonly englishTex: "\\sinh";
|
|
188
|
+
readonly arabicTex: "\\arsinh";
|
|
189
|
+
readonly arabicLabel: "جزا";
|
|
190
|
+
readonly title: "جيب الزائد";
|
|
191
|
+
};
|
|
192
|
+
readonly tanh: {
|
|
193
|
+
readonly id: "tanh";
|
|
194
|
+
readonly category: "function";
|
|
195
|
+
readonly englishTex: "\\tanh";
|
|
196
|
+
readonly arabicTex: "\\artanh";
|
|
197
|
+
readonly arabicLabel: "ظزا";
|
|
198
|
+
readonly title: "ظل الزائد";
|
|
199
|
+
};
|
|
200
|
+
readonly coth: {
|
|
201
|
+
readonly id: "coth";
|
|
202
|
+
readonly category: "function";
|
|
203
|
+
readonly englishTex: "\\coth";
|
|
204
|
+
readonly arabicTex: "\\arcoth";
|
|
205
|
+
readonly arabicLabel: "ظتزا";
|
|
206
|
+
readonly title: "ظل تمام الزائد";
|
|
207
|
+
};
|
|
208
|
+
readonly sum: {
|
|
209
|
+
readonly id: "sum";
|
|
210
|
+
readonly category: "limits_series";
|
|
211
|
+
readonly englishTex: "\\sum";
|
|
212
|
+
readonly arabicTex: "\\arsum";
|
|
213
|
+
readonly arabicLabel: "مجـــ";
|
|
214
|
+
readonly title: "مجموع";
|
|
215
|
+
};
|
|
216
|
+
readonly prod: {
|
|
217
|
+
readonly id: "prod";
|
|
218
|
+
readonly category: "limits_series";
|
|
219
|
+
readonly englishTex: "\\prod";
|
|
220
|
+
readonly arabicTex: "\\arprod";
|
|
221
|
+
readonly arabicLabel: "جـــد";
|
|
222
|
+
readonly title: "جداء";
|
|
223
|
+
};
|
|
224
|
+
readonly lim: {
|
|
225
|
+
readonly id: "lim";
|
|
226
|
+
readonly category: "limits_series";
|
|
227
|
+
readonly englishTex: "\\lim";
|
|
228
|
+
readonly arabicTex: "\\arlim";
|
|
229
|
+
readonly arabicLabel: "نـــــها";
|
|
230
|
+
readonly title: "حد";
|
|
231
|
+
};
|
|
232
|
+
readonly max: {
|
|
233
|
+
readonly id: "max";
|
|
234
|
+
readonly category: "limits_series";
|
|
235
|
+
readonly englishTex: "\\max";
|
|
236
|
+
readonly arabicTex: "\\armax";
|
|
237
|
+
readonly arabicLabel: "أكبر";
|
|
238
|
+
readonly title: "أكبر";
|
|
239
|
+
};
|
|
240
|
+
readonly min: {
|
|
241
|
+
readonly id: "min";
|
|
242
|
+
readonly category: "limits_series";
|
|
243
|
+
readonly englishTex: "\\min";
|
|
244
|
+
readonly arabicTex: "\\armin";
|
|
245
|
+
readonly arabicLabel: "أصغر";
|
|
246
|
+
readonly title: "أصغر";
|
|
247
|
+
};
|
|
248
|
+
readonly sup: {
|
|
249
|
+
readonly id: "sup";
|
|
250
|
+
readonly category: "limits_series";
|
|
251
|
+
readonly englishTex: "\\sup";
|
|
252
|
+
readonly arabicTex: "\\arsup";
|
|
253
|
+
readonly arabicLabel: "أعلى";
|
|
254
|
+
readonly title: "أعلى";
|
|
255
|
+
};
|
|
256
|
+
readonly inf: {
|
|
257
|
+
readonly id: "inf";
|
|
258
|
+
readonly category: "limits_series";
|
|
259
|
+
readonly englishTex: "\\inf";
|
|
260
|
+
readonly arabicTex: "\\arinf";
|
|
261
|
+
readonly arabicLabel: "أدنى";
|
|
262
|
+
readonly title: "أدنى";
|
|
263
|
+
};
|
|
264
|
+
readonly pi: {
|
|
265
|
+
readonly id: "pi";
|
|
266
|
+
readonly category: "function2";
|
|
267
|
+
readonly englishTex: "\\pi";
|
|
268
|
+
readonly arabicTex: "\\arpi";
|
|
269
|
+
readonly arabicLabel: "ط";
|
|
270
|
+
readonly title: "نسبة الدائرة";
|
|
271
|
+
};
|
|
272
|
+
readonly exp: {
|
|
273
|
+
readonly id: "exp";
|
|
274
|
+
readonly category: "function2";
|
|
275
|
+
readonly englishTex: "\\exp";
|
|
276
|
+
readonly arabicTex: "\\arexp";
|
|
277
|
+
readonly arabicLabel: "هـ";
|
|
278
|
+
readonly title: "أسية";
|
|
279
|
+
};
|
|
280
|
+
readonly ln: {
|
|
281
|
+
readonly id: "ln";
|
|
282
|
+
readonly category: "function2";
|
|
283
|
+
readonly englishTex: "\\ln";
|
|
284
|
+
readonly arabicTex: "\\arln";
|
|
285
|
+
readonly arabicRenderTex: "\\prescript{}{\\arexp}{\\arlog}";
|
|
286
|
+
readonly arabicLabel: "لو";
|
|
287
|
+
readonly title: "لوغاريتم طبيعي";
|
|
288
|
+
};
|
|
289
|
+
readonly log: {
|
|
290
|
+
readonly id: "log";
|
|
291
|
+
readonly category: "function2";
|
|
292
|
+
readonly englishTex: "\\log";
|
|
293
|
+
readonly arabicTex: "\\arlog";
|
|
294
|
+
readonly arabicLabel: "لو";
|
|
295
|
+
readonly title: "لوغاريتم";
|
|
296
|
+
};
|
|
297
|
+
readonly det: {
|
|
298
|
+
readonly id: "det";
|
|
299
|
+
readonly category: "function2";
|
|
300
|
+
readonly englishTex: "\\det";
|
|
301
|
+
readonly arabicTex: "\\ardet";
|
|
302
|
+
readonly arabicLabel: "محدد";
|
|
303
|
+
readonly title: "محدد";
|
|
304
|
+
};
|
|
305
|
+
readonly N: {
|
|
306
|
+
readonly id: "N";
|
|
307
|
+
readonly category: "groups";
|
|
308
|
+
readonly englishTex: "\\mathbb{N}";
|
|
309
|
+
readonly arabicTex: "\\arabN";
|
|
310
|
+
readonly arabicLabel: "ط";
|
|
311
|
+
readonly title: "أعداد طبيعية";
|
|
312
|
+
};
|
|
313
|
+
readonly Z: {
|
|
314
|
+
readonly id: "Z";
|
|
315
|
+
readonly category: "groups";
|
|
316
|
+
readonly englishTex: "\\mathbb{Z}";
|
|
317
|
+
readonly arabicTex: "\\arabZ";
|
|
318
|
+
readonly arabicLabel: "ص";
|
|
319
|
+
readonly title: "أعداد صحيحة";
|
|
320
|
+
};
|
|
321
|
+
readonly Q: {
|
|
322
|
+
readonly id: "Q";
|
|
323
|
+
readonly category: "groups";
|
|
324
|
+
readonly englishTex: "\\mathbb{Q}";
|
|
325
|
+
readonly arabicTex: "\\arabQ";
|
|
326
|
+
readonly arabicLabel: "ن";
|
|
327
|
+
readonly title: "أعداد نسبية";
|
|
328
|
+
};
|
|
329
|
+
readonly R: {
|
|
330
|
+
readonly id: "R";
|
|
331
|
+
readonly category: "groups";
|
|
332
|
+
readonly englishTex: "\\mathbb{R}";
|
|
333
|
+
readonly arabicTex: "\\arabR";
|
|
334
|
+
readonly arabicLabel: "ح";
|
|
335
|
+
readonly title: "أعداد حقيقية";
|
|
336
|
+
};
|
|
337
|
+
readonly C: {
|
|
338
|
+
readonly id: "C";
|
|
339
|
+
readonly category: "groups";
|
|
340
|
+
readonly englishTex: "\\mathbb{C}";
|
|
341
|
+
readonly arabicTex: "\\arabC";
|
|
342
|
+
readonly arabicLabel: "ع";
|
|
343
|
+
readonly title: "أعداد عُقدية";
|
|
344
|
+
};
|
|
345
|
+
readonly H: {
|
|
346
|
+
readonly id: "H";
|
|
347
|
+
readonly category: "groups";
|
|
348
|
+
readonly englishTex: "\\mathbb{H}";
|
|
349
|
+
readonly arabicTex: "\\arabH";
|
|
350
|
+
readonly arabicLabel: "ر";
|
|
351
|
+
readonly title: "أعداد رباعية";
|
|
352
|
+
};
|
|
353
|
+
readonly negThinSpace: {
|
|
354
|
+
readonly id: "negThinSpace";
|
|
355
|
+
readonly category: "spacing";
|
|
356
|
+
readonly englishTex: "\\!";
|
|
357
|
+
readonly arabicTex: "\\!";
|
|
358
|
+
readonly arabicLabel: "";
|
|
359
|
+
readonly title: "فراغ سالب رفيع";
|
|
360
|
+
readonly spacing: {
|
|
361
|
+
readonly direction: "negative";
|
|
362
|
+
readonly level: 1;
|
|
363
|
+
};
|
|
364
|
+
};
|
|
365
|
+
readonly mediumSpace: {
|
|
366
|
+
readonly id: "mediumSpace";
|
|
367
|
+
readonly category: "spacing";
|
|
368
|
+
readonly englishTex: "\\:";
|
|
369
|
+
readonly arabicTex: "\\:";
|
|
370
|
+
readonly arabicLabel: "";
|
|
371
|
+
readonly title: "فراغ متوسط";
|
|
372
|
+
readonly spacing: {
|
|
373
|
+
readonly direction: "positive";
|
|
374
|
+
readonly level: 1;
|
|
375
|
+
};
|
|
376
|
+
};
|
|
377
|
+
readonly thickSpace: {
|
|
378
|
+
readonly id: "thickSpace";
|
|
379
|
+
readonly category: "spacing";
|
|
380
|
+
readonly englishTex: "\\;";
|
|
381
|
+
readonly arabicTex: "\\;";
|
|
382
|
+
readonly arabicLabel: "";
|
|
383
|
+
readonly title: "فراغ عريض";
|
|
384
|
+
readonly spacing: {
|
|
385
|
+
readonly direction: "positive";
|
|
386
|
+
readonly level: 2;
|
|
387
|
+
};
|
|
388
|
+
};
|
|
389
|
+
readonly quadSpace: {
|
|
390
|
+
readonly id: "quadSpace";
|
|
391
|
+
readonly category: "spacing";
|
|
392
|
+
readonly englishTex: "\\quad";
|
|
393
|
+
readonly arabicTex: "\\quad";
|
|
394
|
+
readonly arabicLabel: "";
|
|
395
|
+
readonly title: "فراغ كبير";
|
|
396
|
+
readonly spacing: {
|
|
397
|
+
readonly direction: "positive";
|
|
398
|
+
readonly level: 3;
|
|
399
|
+
};
|
|
400
|
+
};
|
|
401
|
+
readonly qquadSpace: {
|
|
402
|
+
readonly id: "qquadSpace";
|
|
403
|
+
readonly category: "spacing";
|
|
404
|
+
readonly englishTex: "\\qquad";
|
|
405
|
+
readonly arabicTex: "\\qquad";
|
|
406
|
+
readonly arabicLabel: "";
|
|
407
|
+
readonly title: "فراغ كبير جدا";
|
|
408
|
+
readonly spacing: {
|
|
409
|
+
readonly direction: "positive";
|
|
410
|
+
readonly level: 4;
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
};
|
|
414
|
+
type AtomicCommandId = keyof typeof ATOMIC_COMMANDS;
|
|
415
|
+
|
|
416
|
+
declare const ATOMIC_OPERATOR_COMMANDS: {
|
|
417
|
+
readonly inf: {
|
|
418
|
+
readonly id: "inf";
|
|
419
|
+
readonly category: "operators1";
|
|
420
|
+
readonly Tex: "\\infty";
|
|
421
|
+
readonly mirror: true;
|
|
422
|
+
readonly Label: "∞";
|
|
423
|
+
readonly title: "اللانهاية";
|
|
424
|
+
readonly svg_path: null;
|
|
425
|
+
};
|
|
426
|
+
readonly times: {
|
|
427
|
+
readonly id: "times";
|
|
428
|
+
readonly category: "operators1";
|
|
429
|
+
readonly Tex: "\\times";
|
|
430
|
+
readonly mirror: false;
|
|
431
|
+
readonly Label: "×";
|
|
432
|
+
readonly title: "ضرب";
|
|
433
|
+
readonly svg_path: null;
|
|
434
|
+
};
|
|
435
|
+
readonly div: {
|
|
436
|
+
readonly id: "div";
|
|
437
|
+
readonly category: "operators1";
|
|
438
|
+
readonly Tex: "\\div";
|
|
439
|
+
readonly mirror: false;
|
|
440
|
+
readonly Label: "÷";
|
|
441
|
+
readonly title: "قسمة";
|
|
442
|
+
readonly svg_path: null;
|
|
443
|
+
};
|
|
444
|
+
readonly pm: {
|
|
445
|
+
readonly id: "pm";
|
|
446
|
+
readonly category: "operators1";
|
|
447
|
+
readonly Tex: "\\pm";
|
|
448
|
+
readonly mirror: false;
|
|
449
|
+
readonly Label: "±";
|
|
450
|
+
readonly title: "زائد أو ناقص";
|
|
451
|
+
readonly svg_path: null;
|
|
452
|
+
};
|
|
453
|
+
readonly mp: {
|
|
454
|
+
readonly id: "mp";
|
|
455
|
+
readonly category: "operators1";
|
|
456
|
+
readonly Tex: "\\mp";
|
|
457
|
+
readonly mirror: false;
|
|
458
|
+
readonly Label: "∓";
|
|
459
|
+
readonly title: "ناقص أو زائد";
|
|
460
|
+
readonly svg_path: null;
|
|
461
|
+
};
|
|
462
|
+
readonly neq: {
|
|
463
|
+
readonly id: "neq";
|
|
464
|
+
readonly category: "operators1";
|
|
465
|
+
readonly Tex: "\\neq";
|
|
466
|
+
readonly mirror: false;
|
|
467
|
+
readonly Label: "≠";
|
|
468
|
+
readonly title: "لا يساوي";
|
|
469
|
+
readonly svg_path: null;
|
|
470
|
+
};
|
|
471
|
+
readonly approx: {
|
|
472
|
+
readonly id: "approx";
|
|
473
|
+
readonly category: "operators1";
|
|
474
|
+
readonly Tex: "\\approx";
|
|
475
|
+
readonly mirror: false;
|
|
476
|
+
readonly Label: "≈";
|
|
477
|
+
readonly title: "تقريبا يساوي";
|
|
478
|
+
readonly svg_path: null;
|
|
479
|
+
};
|
|
480
|
+
readonly sim: {
|
|
481
|
+
readonly id: "sim";
|
|
482
|
+
readonly category: "operators1";
|
|
483
|
+
readonly Tex: "\\sim";
|
|
484
|
+
readonly mirror: false;
|
|
485
|
+
readonly Label: "∼";
|
|
486
|
+
readonly title: "مشابه";
|
|
487
|
+
readonly svg_path: null;
|
|
488
|
+
};
|
|
489
|
+
readonly mid: {
|
|
490
|
+
readonly id: "mid";
|
|
491
|
+
readonly category: "operators1";
|
|
492
|
+
readonly Tex: "\\mid";
|
|
493
|
+
readonly mirror: false;
|
|
494
|
+
readonly Label: "∣";
|
|
495
|
+
readonly title: "يقسم";
|
|
496
|
+
readonly svg_path: null;
|
|
497
|
+
};
|
|
498
|
+
readonly leq: {
|
|
499
|
+
readonly id: "leq";
|
|
500
|
+
readonly category: "operators1";
|
|
501
|
+
readonly Tex: "\\leq";
|
|
502
|
+
readonly mirror: true;
|
|
503
|
+
readonly Label: "≤";
|
|
504
|
+
readonly title: "أصغر من أو يساوي";
|
|
505
|
+
readonly svg_path: null;
|
|
506
|
+
};
|
|
507
|
+
readonly geq: {
|
|
508
|
+
readonly id: "geq";
|
|
509
|
+
readonly category: "operators1";
|
|
510
|
+
readonly Tex: "\\geq";
|
|
511
|
+
readonly mirror: true;
|
|
512
|
+
readonly Label: "≥";
|
|
513
|
+
readonly title: "أكبر من أو يساوي";
|
|
514
|
+
readonly svg_path: null;
|
|
515
|
+
};
|
|
516
|
+
readonly propto: {
|
|
517
|
+
readonly id: "propto";
|
|
518
|
+
readonly category: "operators2";
|
|
519
|
+
readonly Tex: "\\propto";
|
|
520
|
+
readonly mirror: true;
|
|
521
|
+
readonly Label: "∝";
|
|
522
|
+
readonly title: "يتناسب مع";
|
|
523
|
+
readonly svg_path: null;
|
|
524
|
+
};
|
|
525
|
+
readonly in: {
|
|
526
|
+
readonly id: "in";
|
|
527
|
+
readonly category: "operators2";
|
|
528
|
+
readonly Tex: "\\in";
|
|
529
|
+
readonly mirror: true;
|
|
530
|
+
readonly Label: "∈";
|
|
531
|
+
readonly title: "ينتمي إلى";
|
|
532
|
+
readonly svg_path: null;
|
|
533
|
+
};
|
|
534
|
+
readonly notin: {
|
|
535
|
+
readonly id: "notin";
|
|
536
|
+
readonly category: "operators2";
|
|
537
|
+
readonly Tex: "\\notin";
|
|
538
|
+
readonly mirror: false;
|
|
539
|
+
readonly Label: "∉";
|
|
540
|
+
readonly title: "لا ينتمي إلى";
|
|
541
|
+
readonly svg_path: null;
|
|
542
|
+
};
|
|
543
|
+
readonly subset: {
|
|
544
|
+
readonly id: "subset";
|
|
545
|
+
readonly category: "operators2";
|
|
546
|
+
readonly Tex: "\\subset";
|
|
547
|
+
readonly mirror: true;
|
|
548
|
+
readonly Label: "⊂";
|
|
549
|
+
readonly title: "مجموعة جزئية من";
|
|
550
|
+
readonly svg_path: null;
|
|
551
|
+
};
|
|
552
|
+
readonly supset: {
|
|
553
|
+
readonly id: "supset";
|
|
554
|
+
readonly category: "operators2";
|
|
555
|
+
readonly Tex: "\\supset";
|
|
556
|
+
readonly mirror: true;
|
|
557
|
+
readonly Label: "⊃";
|
|
558
|
+
readonly title: "مجموعة شاملة لـ";
|
|
559
|
+
readonly svg_path: null;
|
|
560
|
+
};
|
|
561
|
+
readonly subseteq: {
|
|
562
|
+
readonly id: "subseteq";
|
|
563
|
+
readonly category: "operators2";
|
|
564
|
+
readonly Tex: "\\subseteq";
|
|
565
|
+
readonly mirror: true;
|
|
566
|
+
readonly Label: "⊆";
|
|
567
|
+
readonly title: "مجموعة جزئية أو تساوي";
|
|
568
|
+
readonly svg_path: null;
|
|
569
|
+
};
|
|
570
|
+
readonly supseteq: {
|
|
571
|
+
readonly id: "supseteq";
|
|
572
|
+
readonly category: "operators2";
|
|
573
|
+
readonly Tex: "\\supseteq";
|
|
574
|
+
readonly mirror: true;
|
|
575
|
+
readonly Label: "⊇";
|
|
576
|
+
readonly title: "مجموعة شاملة أو تساوي";
|
|
577
|
+
readonly svg_path: null;
|
|
578
|
+
};
|
|
579
|
+
readonly cap: {
|
|
580
|
+
readonly id: "cap";
|
|
581
|
+
readonly category: "operators2";
|
|
582
|
+
readonly Tex: "\\cap";
|
|
583
|
+
readonly mirror: false;
|
|
584
|
+
readonly Label: "∩";
|
|
585
|
+
readonly title: "تقاطع";
|
|
586
|
+
readonly svg_path: null;
|
|
587
|
+
};
|
|
588
|
+
readonly cup: {
|
|
589
|
+
readonly id: "cup";
|
|
590
|
+
readonly category: "operators2";
|
|
591
|
+
readonly Tex: "\\cup";
|
|
592
|
+
readonly mirror: false;
|
|
593
|
+
readonly Label: "∪";
|
|
594
|
+
readonly title: "اتحاد";
|
|
595
|
+
readonly svg_path: null;
|
|
596
|
+
};
|
|
597
|
+
readonly emptyset: {
|
|
598
|
+
readonly id: "emptyset";
|
|
599
|
+
readonly category: "operators2";
|
|
600
|
+
readonly Tex: "\\emptyset";
|
|
601
|
+
readonly mirror: false;
|
|
602
|
+
readonly Label: "∅";
|
|
603
|
+
readonly title: "المجموعة الخالية";
|
|
604
|
+
readonly svg_path: null;
|
|
605
|
+
};
|
|
606
|
+
readonly nsubseteq: {
|
|
607
|
+
readonly id: "nsubseteq";
|
|
608
|
+
readonly category: "operators2";
|
|
609
|
+
readonly Tex: "\\nsubseteq";
|
|
610
|
+
readonly mirror: true;
|
|
611
|
+
readonly Label: "⊈";
|
|
612
|
+
readonly title: "ليست مجموعة جزئية أو تساوي";
|
|
613
|
+
readonly svg_path: null;
|
|
614
|
+
};
|
|
615
|
+
readonly nsupseteq: {
|
|
616
|
+
readonly id: "nsupseteq";
|
|
617
|
+
readonly category: "operators2";
|
|
618
|
+
readonly Tex: "\\nsupseteq";
|
|
619
|
+
readonly mirror: true;
|
|
620
|
+
readonly Label: "⊉";
|
|
621
|
+
readonly title: "ليست مجموعة شاملة أو تساوي";
|
|
622
|
+
readonly svg_path: null;
|
|
623
|
+
};
|
|
624
|
+
readonly ldots: {
|
|
625
|
+
readonly id: "ldots";
|
|
626
|
+
readonly category: "dots";
|
|
627
|
+
readonly Tex: "\\ldots";
|
|
628
|
+
readonly mirror: false;
|
|
629
|
+
readonly Label: "…";
|
|
630
|
+
readonly title: "نقاط أفقية";
|
|
631
|
+
readonly svg_path: null;
|
|
632
|
+
};
|
|
633
|
+
readonly cdot: {
|
|
634
|
+
readonly id: "cdot";
|
|
635
|
+
readonly category: "dots";
|
|
636
|
+
readonly Tex: "\\cdot";
|
|
637
|
+
readonly mirror: false;
|
|
638
|
+
readonly Label: "·";
|
|
639
|
+
readonly title: "نقطة ضرب";
|
|
640
|
+
readonly svg_path: null;
|
|
641
|
+
};
|
|
642
|
+
readonly cdots: {
|
|
643
|
+
readonly id: "cdots";
|
|
644
|
+
readonly category: "dots";
|
|
645
|
+
readonly Tex: "\\cdots";
|
|
646
|
+
readonly mirror: false;
|
|
647
|
+
readonly Label: "⋯";
|
|
648
|
+
readonly title: "نقاط وسطية أفقية";
|
|
649
|
+
readonly svg_path: null;
|
|
650
|
+
};
|
|
651
|
+
readonly vdots: {
|
|
652
|
+
readonly id: "vdots";
|
|
653
|
+
readonly category: "dots";
|
|
654
|
+
readonly Tex: "\\vdots";
|
|
655
|
+
readonly mirror: false;
|
|
656
|
+
readonly Label: "⋮";
|
|
657
|
+
readonly title: "نقاط عمودية";
|
|
658
|
+
readonly svg_path: null;
|
|
659
|
+
};
|
|
660
|
+
readonly ddots: {
|
|
661
|
+
readonly id: "ddots";
|
|
662
|
+
readonly category: "dots";
|
|
663
|
+
readonly Tex: "\\ddots";
|
|
664
|
+
readonly mirror: true;
|
|
665
|
+
readonly displayMirror: false;
|
|
666
|
+
readonly Label: "⋱";
|
|
667
|
+
readonly title: "نقاط قطرية";
|
|
668
|
+
readonly svg_path: null;
|
|
669
|
+
};
|
|
670
|
+
readonly leftrightarrowDouble: {
|
|
671
|
+
readonly id: "leftrightarrowDouble";
|
|
672
|
+
readonly category: "operators3";
|
|
673
|
+
readonly Tex: "\\Leftrightarrow";
|
|
674
|
+
readonly mirror: false;
|
|
675
|
+
readonly Label: "⇔";
|
|
676
|
+
readonly title: "يكافئ";
|
|
677
|
+
readonly svg_path: null;
|
|
678
|
+
};
|
|
679
|
+
readonly rightleftharpoons: {
|
|
680
|
+
readonly id: "rightleftharpoons";
|
|
681
|
+
readonly category: "operators3";
|
|
682
|
+
readonly Tex: "\\rightleftharpoons";
|
|
683
|
+
readonly mirror: true;
|
|
684
|
+
readonly Label: "⇌";
|
|
685
|
+
readonly title: "اتزان";
|
|
686
|
+
readonly svg_path: null;
|
|
687
|
+
};
|
|
688
|
+
readonly leftarrow: {
|
|
689
|
+
readonly id: "leftarrow";
|
|
690
|
+
readonly category: "operators3";
|
|
691
|
+
readonly Tex: "\\leftarrow";
|
|
692
|
+
readonly mirror: true;
|
|
693
|
+
readonly Label: "←";
|
|
694
|
+
readonly title: "سهم إلى اليسار";
|
|
695
|
+
readonly svg_path: null;
|
|
696
|
+
};
|
|
697
|
+
readonly rightarrow: {
|
|
698
|
+
readonly id: "rightarrow";
|
|
699
|
+
readonly category: "operators3";
|
|
700
|
+
readonly Tex: "\\rightarrow";
|
|
701
|
+
readonly mirror: true;
|
|
702
|
+
readonly Label: "→";
|
|
703
|
+
readonly title: "سهم إلى اليمين";
|
|
704
|
+
readonly svg_path: null;
|
|
705
|
+
};
|
|
706
|
+
readonly leftarrowDouble: {
|
|
707
|
+
readonly id: "leftarrowDouble";
|
|
708
|
+
readonly category: "operators3";
|
|
709
|
+
readonly Tex: "\\Leftarrow";
|
|
710
|
+
readonly mirror: true;
|
|
711
|
+
readonly Label: "⇐";
|
|
712
|
+
readonly title: "سهم مزدوج إلى اليسار";
|
|
713
|
+
readonly svg_path: null;
|
|
714
|
+
};
|
|
715
|
+
readonly rightarrowDouble: {
|
|
716
|
+
readonly id: "rightarrowDouble";
|
|
717
|
+
readonly category: "operators3";
|
|
718
|
+
readonly Tex: "\\Rightarrow";
|
|
719
|
+
readonly mirror: true;
|
|
720
|
+
readonly Label: "⇒";
|
|
721
|
+
readonly title: "سهم مزدوج إلى اليمين";
|
|
722
|
+
readonly svg_path: null;
|
|
723
|
+
};
|
|
724
|
+
readonly leftharpoonup: {
|
|
725
|
+
readonly id: "leftharpoonup";
|
|
726
|
+
readonly category: "operators3";
|
|
727
|
+
readonly Tex: "\\leftharpoonup";
|
|
728
|
+
readonly mirror: true;
|
|
729
|
+
readonly Label: "↼";
|
|
730
|
+
readonly title: "سهم خطافي علوي إلى اليسار";
|
|
731
|
+
readonly svg_path: null;
|
|
732
|
+
};
|
|
733
|
+
readonly rightharpoonup: {
|
|
734
|
+
readonly id: "rightharpoonup";
|
|
735
|
+
readonly category: "operators3";
|
|
736
|
+
readonly Tex: "\\rightharpoonup";
|
|
737
|
+
readonly mirror: true;
|
|
738
|
+
readonly Label: "⇀";
|
|
739
|
+
readonly title: "سهم خطافي علوي إلى اليمين";
|
|
740
|
+
readonly svg_path: null;
|
|
741
|
+
};
|
|
742
|
+
readonly leftharpoondown: {
|
|
743
|
+
readonly id: "leftharpoondown";
|
|
744
|
+
readonly category: "operators3";
|
|
745
|
+
readonly Tex: "\\leftharpoondown";
|
|
746
|
+
readonly mirror: true;
|
|
747
|
+
readonly Label: "↽";
|
|
748
|
+
readonly title: "سهم خطافي سفلي إلى اليسار";
|
|
749
|
+
readonly svg_path: null;
|
|
750
|
+
};
|
|
751
|
+
readonly rightharpoondown: {
|
|
752
|
+
readonly id: "rightharpoondown";
|
|
753
|
+
readonly category: "operators3";
|
|
754
|
+
readonly Tex: "\\rightharpoondown";
|
|
755
|
+
readonly mirror: true;
|
|
756
|
+
readonly Label: "⇁";
|
|
757
|
+
readonly title: "سهم خطافي سفلي إلى اليمين";
|
|
758
|
+
readonly svg_path: null;
|
|
759
|
+
};
|
|
760
|
+
readonly int: {
|
|
761
|
+
readonly id: "int";
|
|
762
|
+
readonly category: "integrals";
|
|
763
|
+
readonly Tex: "\\int";
|
|
764
|
+
readonly mirror: true;
|
|
765
|
+
readonly Label: "∫";
|
|
766
|
+
readonly title: "تكامل";
|
|
767
|
+
readonly svg_path: null;
|
|
768
|
+
};
|
|
769
|
+
readonly iint: {
|
|
770
|
+
readonly id: "iint";
|
|
771
|
+
readonly category: "integrals";
|
|
772
|
+
readonly Tex: "\\iint";
|
|
773
|
+
readonly mirror: true;
|
|
774
|
+
readonly Label: "∬";
|
|
775
|
+
readonly title: "تكامل مزدوج";
|
|
776
|
+
readonly svg_path: null;
|
|
777
|
+
};
|
|
778
|
+
readonly iiint: {
|
|
779
|
+
readonly id: "iiint";
|
|
780
|
+
readonly category: "integrals";
|
|
781
|
+
readonly Tex: "\\iiint";
|
|
782
|
+
readonly mirror: true;
|
|
783
|
+
readonly Label: "∭";
|
|
784
|
+
readonly title: "تكامل ثلاثي";
|
|
785
|
+
readonly svg_path: null;
|
|
786
|
+
};
|
|
787
|
+
readonly iiiint: {
|
|
788
|
+
readonly id: "iiiint";
|
|
789
|
+
readonly category: "integrals";
|
|
790
|
+
readonly Tex: "\\iiiint";
|
|
791
|
+
readonly mirror: true;
|
|
792
|
+
readonly Label: "⨌";
|
|
793
|
+
readonly title: "تكامل رباعي";
|
|
794
|
+
readonly svg_path: null;
|
|
795
|
+
};
|
|
796
|
+
readonly oint: {
|
|
797
|
+
readonly id: "oint";
|
|
798
|
+
readonly category: "integrals";
|
|
799
|
+
readonly Tex: "\\oint";
|
|
800
|
+
readonly mirror: true;
|
|
801
|
+
readonly Label: "∮";
|
|
802
|
+
readonly title: "تكامل مغلق";
|
|
803
|
+
readonly svg_path: null;
|
|
804
|
+
};
|
|
805
|
+
readonly oiint: {
|
|
806
|
+
readonly id: "oiint";
|
|
807
|
+
readonly category: "integrals";
|
|
808
|
+
readonly Tex: "\\oiint";
|
|
809
|
+
readonly mirror: true;
|
|
810
|
+
readonly Label: "∯";
|
|
811
|
+
readonly title: "تكامل سطحي مغلق";
|
|
812
|
+
readonly svg_path: null;
|
|
813
|
+
};
|
|
814
|
+
readonly oiiint: {
|
|
815
|
+
readonly id: "oiiint";
|
|
816
|
+
readonly category: "integrals";
|
|
817
|
+
readonly Tex: "\\oiiint";
|
|
818
|
+
readonly mirror: true;
|
|
819
|
+
readonly Label: "∰";
|
|
820
|
+
readonly title: "تكامل حجمي مغلق";
|
|
821
|
+
readonly svg_path: null;
|
|
822
|
+
};
|
|
823
|
+
};
|
|
824
|
+
type AtomicOperatorCommandId = keyof typeof ATOMIC_OPERATOR_COMMANDS;
|
|
825
|
+
|
|
826
|
+
type EditorRuntimeApi = {
|
|
827
|
+
render: () => void;
|
|
828
|
+
destroy: () => void;
|
|
829
|
+
getSession: () => EditorSession;
|
|
830
|
+
setSession: (next: EditorSession) => void;
|
|
831
|
+
performUndo: () => void;
|
|
832
|
+
performRedo: () => void;
|
|
833
|
+
performCopy: () => Promise<void>;
|
|
834
|
+
performCut: () => Promise<void>;
|
|
835
|
+
performPaste: () => Promise<void>;
|
|
836
|
+
toggleSide: () => void;
|
|
837
|
+
toggleSplitLeafTyping: () => void;
|
|
838
|
+
toggleArabicReverseNumberTyping: () => void;
|
|
839
|
+
toggleTakweenCharacterFont: () => void;
|
|
840
|
+
setCurrentCharacterFont: (fontId: CharacterFontId) => void;
|
|
841
|
+
setCurrentDigitForm: (digitForm: DigitFormId) => void;
|
|
842
|
+
insertDelimiterByKind: (kind: 'paren' | 'bracket' | 'brace') => void;
|
|
843
|
+
insertFraction: () => void;
|
|
844
|
+
insertMatrixEnv: (style: MatrixEnvStyle, rows: number, columns: number) => void;
|
|
845
|
+
insertArrayEnv: (rows: number, columns: number) => void;
|
|
846
|
+
insertAlignedEnv: (rows: number, columns: number) => void;
|
|
847
|
+
insertSqrt: () => void;
|
|
848
|
+
insertAtomicCommand: (commandId: AtomicCommandId) => void;
|
|
849
|
+
insertAtomicOperatorCommand: (commandId: AtomicOperatorCommandId) => void;
|
|
850
|
+
addSup: () => void;
|
|
851
|
+
addSub: () => void;
|
|
852
|
+
removeSup: () => void;
|
|
853
|
+
removeSub: () => void;
|
|
854
|
+
setMatrixEnvStyle: (style: MatrixEnvStyle) => void;
|
|
855
|
+
setArrayColumnAlignment: (columnIndex: number, alignment: EnvColumnAlignment) => void;
|
|
856
|
+
addMatrixRow: () => void;
|
|
857
|
+
removeMatrixRow: () => void;
|
|
858
|
+
addMatrixColumn: () => void;
|
|
859
|
+
removeMatrixColumn: () => void;
|
|
860
|
+
deleteStructure: () => void;
|
|
861
|
+
};
|
|
862
|
+
|
|
863
|
+
declare global {
|
|
864
|
+
interface Window {
|
|
865
|
+
MathJax?: {
|
|
866
|
+
typesetPromise?: (nodes: HTMLElement[]) => Promise<void>;
|
|
867
|
+
typesetClear?: (nodes: HTMLElement[]) => void;
|
|
868
|
+
tex2chtml?: (input: string, options?: {
|
|
869
|
+
display?: boolean;
|
|
870
|
+
}) => HTMLElement;
|
|
871
|
+
tex2chtmlPromise?: (input: string, options?: {
|
|
872
|
+
display?: boolean;
|
|
873
|
+
}) => Promise<HTMLElement>;
|
|
874
|
+
startup?: {
|
|
875
|
+
promise?: Promise<void>;
|
|
876
|
+
document?: {
|
|
877
|
+
updateDocument?: () => void;
|
|
878
|
+
};
|
|
879
|
+
};
|
|
880
|
+
};
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
type ButexEditorProps = {
|
|
884
|
+
className?: string;
|
|
885
|
+
/** Developer panels: LaTeX dump, passive chain preview, debug log. */
|
|
886
|
+
debug?: boolean;
|
|
887
|
+
initialSession?: EditorSession;
|
|
888
|
+
onSessionChange?: (session: EditorSession) => void;
|
|
889
|
+
};
|
|
890
|
+
type ButexEditorHandle = {
|
|
891
|
+
getRuntime: () => EditorRuntimeApi | null;
|
|
892
|
+
};
|
|
893
|
+
declare const ButexEditor: react.ForwardRefExoticComponent<ButexEditorProps & react.RefAttributes<ButexEditorHandle>>;
|
|
894
|
+
|
|
895
|
+
export { ButexEditor, type ButexEditorHandle, type ButexEditorProps };
|