@hufe921/canvas-editor-plugin-special-characters 0.0.1

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 ADDED
@@ -0,0 +1,36 @@
1
+ <h1 align="center">canvas-editor-plugin-special-characters</h1>
2
+
3
+ <p align="center">special characters plugin for canvas-editor</p>
4
+
5
+ ## usage
6
+
7
+ ```bash
8
+ npm i @hufe921/canvas-editor-plugin-special-characters --save
9
+ ```
10
+
11
+ ```javascript
12
+ import Editor from '@hufe921/canvas-editor'
13
+ import specialCharactersPlugin from '@hufe921/canvas-editor-plugin-special-characters'
14
+
15
+ const instance = new Editor()
16
+ instance.use(specialCharactersPlugin)
17
+
18
+ // 打开字符选择弹窗
19
+ instance.command.executeOpenSpecialCharactersDialog()
20
+
21
+ // 使用自定义配置
22
+ instance.use(specialCharactersPlugin, {
23
+ characters: [
24
+ {
25
+ name: '自定义分组',
26
+ characters: [
27
+ { char: '★', name: '五角星' },
28
+ { char: '☆', name: '空心五角星' }
29
+ ]
30
+ }
31
+ ],
32
+ onSelect: (char) => {
33
+ console.log('Selected:', char)
34
+ }
35
+ })
36
+ ```
@@ -0,0 +1,583 @@
1
+ var l = Object.defineProperty;
2
+ var v = (m, a, c) => a in m ? l(m, a, { enumerable: !0, configurable: !0, writable: !0, value: c }) : m[a] = c;
3
+ var s = (m, a, c) => (v(m, typeof a != "symbol" ? a + "" : a, c), c);
4
+ import { ElementType as E, EDITOR_COMPONENT as u, EditorComponent as C } from "@hufe921/canvas-editor";
5
+ const d = [
6
+ {
7
+ name: "常用符号",
8
+ characters: [
9
+ { char: "©", name: "版权" },
10
+ { char: "®", name: "注册商标" },
11
+ { char: "™", name: "商标" },
12
+ { char: "§", name: "章节" },
13
+ { char: "¶", name: "段落" },
14
+ { char: "†", name: "剑标" },
15
+ { char: "‡", name: "双剑标" },
16
+ { char: "•", name: "项目符号" },
17
+ { char: "…", name: "省略号" },
18
+ { char: "—", name: "破折号" },
19
+ { char: "–", name: "短破折号" },
20
+ { char: "°", name: "度" },
21
+ { char: "‰", name: "千分号" },
22
+ { char: "‱", name: "万分号" },
23
+ { char: "№", name: "序号" },
24
+ { char: "℗", name: "录音版权" },
25
+ { char: "℠", name: "服务标记" },
26
+ { char: "℡", name: "电话" },
27
+ { char: "℀", name: "账户" },
28
+ { char: "℁", name: "地址" },
29
+ { char: "℅", name: "照顾" },
30
+ { char: "※", name: "米印" },
31
+ { char: "¡", name: "倒感叹号" },
32
+ { char: "¿", name: "倒问号" }
33
+ ]
34
+ },
35
+ {
36
+ name: "数学符号",
37
+ characters: [
38
+ { char: "±", name: "正负" },
39
+ { char: "×", name: "乘" },
40
+ { char: "÷", name: "除" },
41
+ { char: "≠", name: "不等于" },
42
+ { char: "≡", name: "恒等于" },
43
+ { char: "≌", name: "全等于" },
44
+ { char: "≈", name: "约等于" },
45
+ { char: "≃", name: "渐近等于" },
46
+ { char: "≅", name: "同构" },
47
+ { char: "≤", name: "小于等于" },
48
+ { char: "≥", name: "大于等于" },
49
+ { char: "≮", name: "不小于" },
50
+ { char: "≯", name: "不大于" },
51
+ { char: "∞", name: "无穷" },
52
+ { char: "∑", name: "求和" },
53
+ { char: "∏", name: "求积" },
54
+ { char: "√", name: "平方根" },
55
+ { char: "∛", name: "立方根" },
56
+ { char: "∜", name: "四次方根" },
57
+ { char: "∫", name: "积分" },
58
+ { char: "∬", name: "二重积分" },
59
+ { char: "∮", name: "曲线积分" },
60
+ { char: "∂", name: "偏导" },
61
+ { char: "∆", name: "增量" },
62
+ { char: "∇", name: "梯度" },
63
+ { char: "π", name: "圆周率" },
64
+ { char: "∝", name: "成正比" },
65
+ { char: "∠", name: "角" },
66
+ { char: "∟", name: "直角" },
67
+ { char: "⌒", name: "弧" },
68
+ { char: "∣", name: "整除" },
69
+ { char: "∤", name: "不整除" },
70
+ { char: "∥", name: "平行" },
71
+ { char: "∦", name: "不平行" },
72
+ { char: "⊥", name: "垂直" },
73
+ { char: "∧", name: "逻辑与" },
74
+ { char: "∨", name: "逻辑或" },
75
+ { char: "∩", name: "交集" },
76
+ { char: "∪", name: "并集" },
77
+ { char: "∅", name: "空集" },
78
+ { char: "∈", name: "属于" },
79
+ { char: "∉", name: "不属于" },
80
+ { char: "⊆", name: "包含于" },
81
+ { char: "⊇", name: "包含" },
82
+ { char: "⊂", name: "真包含于" },
83
+ { char: "⊃", name: "真包含" },
84
+ { char: "∵", name: "因为" },
85
+ { char: "∴", name: "所以" },
86
+ { char: "∃", name: "存在" },
87
+ { char: "∀", name: "任意" },
88
+ { char: "¬", name: "非" },
89
+ { char: "⊕", name: "异或" },
90
+ { char: "⊙", name: "同或" }
91
+ ]
92
+ },
93
+ {
94
+ name: "希腊字母",
95
+ characters: [
96
+ { char: "α", name: "Alpha" },
97
+ { char: "β", name: "Beta" },
98
+ { char: "γ", name: "Gamma" },
99
+ { char: "δ", name: "Delta" },
100
+ { char: "ε", name: "Epsilon" },
101
+ { char: "ζ", name: "Zeta" },
102
+ { char: "η", name: "Eta" },
103
+ { char: "θ", name: "Theta" },
104
+ { char: "ι", name: "Iota" },
105
+ { char: "κ", name: "Kappa" },
106
+ { char: "λ", name: "Lambda" },
107
+ { char: "μ", name: "Mu" },
108
+ { char: "ν", name: "Nu" },
109
+ { char: "ξ", name: "Xi" },
110
+ { char: "ο", name: "Omicron" },
111
+ { char: "π", name: "Pi" },
112
+ { char: "ρ", name: "Rho" },
113
+ { char: "σ", name: "Sigma" },
114
+ { char: "τ", name: "Tau" },
115
+ { char: "υ", name: "Upsilon" },
116
+ { char: "φ", name: "Phi" },
117
+ { char: "χ", name: "Chi" },
118
+ { char: "ψ", name: "Psi" },
119
+ { char: "ω", name: "Omega" },
120
+ { char: "Α", name: "Alpha大写" },
121
+ { char: "Β", name: "Beta大写" },
122
+ { char: "Γ", name: "Gamma大写" },
123
+ { char: "Δ", name: "Delta大写" },
124
+ { char: "Ε", name: "Epsilon大写" },
125
+ { char: "Ζ", name: "Zeta大写" },
126
+ { char: "Η", name: "Eta大写" },
127
+ { char: "Θ", name: "Theta大写" },
128
+ { char: "Ι", name: "Iota大写" },
129
+ { char: "Κ", name: "Kappa大写" },
130
+ { char: "Λ", name: "Lambda大写" },
131
+ { char: "Μ", name: "Mu大写" },
132
+ { char: "Ν", name: "Nu大写" },
133
+ { char: "Ξ", name: "Xi大写" },
134
+ { char: "Ο", name: "Omicron大写" },
135
+ { char: "Π", name: "Pi大写" },
136
+ { char: "Ρ", name: "Rho大写" },
137
+ { char: "Σ", name: "Sigma大写" },
138
+ { char: "Τ", name: "Tau大写" },
139
+ { char: "Υ", name: "Upsilon大写" },
140
+ { char: "Φ", name: "Phi大写" },
141
+ { char: "Χ", name: "Chi大写" },
142
+ { char: "Ψ", name: "Psi大写" },
143
+ { char: "Ω", name: "Omega大写" }
144
+ ]
145
+ },
146
+ {
147
+ name: "单位符号",
148
+ characters: [
149
+ // 货币
150
+ { char: "€", name: "欧元" },
151
+ { char: "£", name: "英镑" },
152
+ { char: "¥", name: "日元/人民币" },
153
+ { char: "¢", name: "美分" },
154
+ { char: "$", name: "美元" },
155
+ { char: "₩", name: "韩元" },
156
+ { char: "₽", name: "卢布" },
157
+ { char: "₹", name: "卢比" },
158
+ // 长度/面积/体积
159
+ { char: "㎜", name: "毫米" },
160
+ { char: "㎝", name: "厘米" },
161
+ { char: "dm", name: "分米" },
162
+ { char: "m", name: "米" },
163
+ { char: "㎞", name: "千米" },
164
+ { char: "㎡", name: "平方米" },
165
+ { char: "㎥", name: "立方米" },
166
+ { char: "μm", name: "微米" },
167
+ { char: "nm", name: "纳米" },
168
+ { char: "Å", name: "埃" },
169
+ // 重量
170
+ { char: "㎎", name: "毫克" },
171
+ { char: "g", name: "克" },
172
+ { char: "㎏", name: "千克" },
173
+ { char: "t", name: "吨" },
174
+ // 容积
175
+ { char: "mL", name: "毫升" },
176
+ { char: "L", name: "升" },
177
+ // 温度
178
+ { char: "℃", name: "摄氏度" },
179
+ { char: "℉", name: "华氏度" },
180
+ { char: "K", name: "开尔文" },
181
+ // 电学/物理
182
+ { char: "Ω", name: "欧姆" },
183
+ { char: "μΩ", name: "微欧" },
184
+ { char: "mΩ", name: "毫欧" },
185
+ { char: "kΩ", name: "千欧" },
186
+ { char: "MΩ", name: "兆欧" },
187
+ { char: "V", name: "伏特" },
188
+ { char: "A", name: "安培" },
189
+ { char: "W", name: "瓦特" },
190
+ { char: "Hz", name: "赫兹" },
191
+ { char: "㎐", name: "赫兹" }
192
+ ]
193
+ },
194
+ {
195
+ name: "数字序号",
196
+ characters: [
197
+ { char: "Ⅰ", name: "罗马数字1" },
198
+ { char: "Ⅱ", name: "罗马数字2" },
199
+ { char: "Ⅲ", name: "罗马数字3" },
200
+ { char: "Ⅳ", name: "罗马数字4" },
201
+ { char: "Ⅴ", name: "罗马数字5" },
202
+ { char: "Ⅵ", name: "罗马数字6" },
203
+ { char: "Ⅶ", name: "罗马数字7" },
204
+ { char: "Ⅷ", name: "罗马数字8" },
205
+ { char: "Ⅸ", name: "罗马数字9" },
206
+ { char: "Ⅹ", name: "罗马数字10" },
207
+ { char: "Ⅺ", name: "罗马数字11" },
208
+ { char: "Ⅻ", name: "罗马数字12" },
209
+ { char: "ⅰ", name: "小写罗马1" },
210
+ { char: "ⅱ", name: "小写罗马2" },
211
+ { char: "ⅲ", name: "小写罗马3" },
212
+ { char: "ⅳ", name: "小写罗马4" },
213
+ { char: "ⅴ", name: "小写罗马5" },
214
+ { char: "ⅵ", name: "小写罗马6" },
215
+ { char: "ⅶ", name: "小写罗马7" },
216
+ { char: "ⅷ", name: "小写罗马8" },
217
+ { char: "ⅸ", name: "小写罗马9" },
218
+ { char: "ⅹ", name: "小写罗马10" },
219
+ { char: "①", name: "圆圈1" },
220
+ { char: "②", name: "圆圈2" },
221
+ { char: "③", name: "圆圈3" },
222
+ { char: "④", name: "圆圈4" },
223
+ { char: "⑤", name: "圆圈5" },
224
+ { char: "⑥", name: "圆圈6" },
225
+ { char: "⑦", name: "圆圈7" },
226
+ { char: "⑧", name: "圆圈8" },
227
+ { char: "⑨", name: "圆圈9" },
228
+ { char: "⑩", name: "圆圈10" },
229
+ { char: "❶", name: "黑圆圈1" },
230
+ { char: "❷", name: "黑圆圈2" },
231
+ { char: "❸", name: "黑圆圈3" },
232
+ { char: "❹", name: "黑圆圈4" },
233
+ { char: "❺", name: "黑圆圈5" },
234
+ { char: "❻", name: "黑圆圈6" },
235
+ { char: "❼", name: "黑圆圈7" },
236
+ { char: "❽", name: "黑圆圈8" },
237
+ { char: "❾", name: "黑圆圈9" },
238
+ { char: "❿", name: "黑圆圈10" },
239
+ { char: "⑴", name: "括号1" },
240
+ { char: "⑵", name: "括号2" },
241
+ { char: "⑶", name: "括号3" },
242
+ { char: "⑷", name: "括号4" },
243
+ { char: "⑸", name: "括号5" },
244
+ { char: "⑹", name: "括号6" },
245
+ { char: "⑺", name: "括号7" },
246
+ { char: "⑻", name: "括号8" },
247
+ { char: "⑼", name: "括号9" },
248
+ { char: "⑽", name: "括号10" },
249
+ { char: "⒈", name: "点1" },
250
+ { char: "⒉", name: "点2" },
251
+ { char: "⒊", name: "点3" },
252
+ { char: "⒋", name: "点4" },
253
+ { char: "⒌", name: "点5" },
254
+ { char: "⒍", name: "点6" },
255
+ { char: "⒎", name: "点7" },
256
+ { char: "⒏", name: "点8" },
257
+ { char: "⒐", name: "点9" },
258
+ { char: "⒑", name: "点10" },
259
+ { char: "½", name: "二分之一" },
260
+ { char: "⅓", name: "三分之一" },
261
+ { char: "⅔", name: "三分之二" },
262
+ { char: "¼", name: "四分之一" },
263
+ { char: "¾", name: "四分之三" },
264
+ { char: "⅛", name: "八分之一" },
265
+ { char: "⅜", name: "八分之三" },
266
+ { char: "⅝", name: "八分之五" },
267
+ { char: "⅞", name: "八分之七" }
268
+ ]
269
+ },
270
+ {
271
+ name: "箭头符号",
272
+ characters: [
273
+ { char: "←", name: "左箭头" },
274
+ { char: "↑", name: "上箭头" },
275
+ { char: "→", name: "右箭头" },
276
+ { char: "↓", name: "下箭头" },
277
+ { char: "↔", name: "左右箭头" },
278
+ { char: "↕", name: "上下箭头" },
279
+ { char: "⇐", name: "左双箭头" },
280
+ { char: "⇑", name: "上双箭头" },
281
+ { char: "⇒", name: "右双箭头" },
282
+ { char: "⇓", name: "下双箭头" },
283
+ { char: "⇔", name: "左右双箭头" },
284
+ { char: "⇕", name: "上下双箭头" },
285
+ { char: "↖", name: "左上" },
286
+ { char: "↗", name: "右上" },
287
+ { char: "↘", name: "右下" },
288
+ { char: "↙", name: "左下" },
289
+ { char: "↺", name: "逆时针" },
290
+ { char: "↻", name: "顺时针" },
291
+ { char: "↩", name: "返回" },
292
+ { char: "↪", name: "进入" },
293
+ { char: "➔", name: "粗右箭头" },
294
+ { char: "➜", name: "粗右箭头" },
295
+ { char: "➝", name: "三角箭头" },
296
+ { char: "➞", name: "实心箭头" },
297
+ { char: "➟", name: "虚线箭头" },
298
+ { char: "➠", name: "三角虚线" },
299
+ { char: "➡", name: "黑右箭头" },
300
+ { char: "➢", name: "黑三角头" },
301
+ { char: "➤", name: "黑三角头" },
302
+ { char: "➥", name: "黑右下" },
303
+ { char: "➦", name: "黑右上" },
304
+ { char: "➧", name: "黑右" }
305
+ ]
306
+ },
307
+ {
308
+ name: "图形符号",
309
+ characters: [
310
+ { char: "★", name: "实心五角星" },
311
+ { char: "☆", name: "空心五角星" },
312
+ { char: "✦", name: "四角星" },
313
+ { char: "✧", name: "空心四角星" },
314
+ { char: "◆", name: "实心菱形" },
315
+ { char: "◇", name: "空心菱形" },
316
+ { char: "●", name: "实心圆" },
317
+ { char: "○", name: "空心圆" },
318
+ { char: "◎", name: "双圆" },
319
+ { char: "■", name: "实心方块" },
320
+ { char: "□", name: "空心方块" },
321
+ { char: "▲", name: "实心三角形" },
322
+ { char: "△", name: "空心三角形" },
323
+ { char: "▼", name: "实心倒三角" },
324
+ { char: "▽", name: "空心倒三角" },
325
+ { char: "♠", name: "黑桃" },
326
+ { char: "♣", name: "梅花" },
327
+ { char: "♥", name: "红桃" },
328
+ { char: "♦", name: "方块" },
329
+ { char: "♤", name: "白花黑桃" },
330
+ { char: "♧", name: "白花梅花" },
331
+ { char: "♡", name: "白花红桃" },
332
+ { char: "♢", name: "白花方块" },
333
+ { char: "☀", name: "太阳" },
334
+ { char: "☁", name: "云" },
335
+ { char: "☂", name: "雨伞" },
336
+ { char: "☃", name: "雪人" },
337
+ { char: "☄", name: "彗星" },
338
+ { char: "☺", name: "笑脸" },
339
+ { char: "☹", name: "哭脸" },
340
+ { char: "✉", name: "信封" },
341
+ { char: "✂", name: "剪刀" },
342
+ { char: "✎", name: "铅笔" },
343
+ { char: "✒", name: "钢笔" },
344
+ { char: "✓", name: "对号" },
345
+ { char: "✔", name: "粗对号" },
346
+ { char: "✕", name: "错号" },
347
+ { char: "✖", name: "粗错号" },
348
+ { char: "♂", name: "男性" },
349
+ { char: "♀", name: "女性" },
350
+ { char: "♪", name: "八分音符" },
351
+ { char: "♫", name: "十六分音符" },
352
+ { char: "♬", name: "三十二分音符" },
353
+ { char: "♭", name: "降号" },
354
+ { char: "♯", name: "升号" },
355
+ { char: "♔", name: "白心王" },
356
+ { char: "♕", name: "白心后" },
357
+ { char: "♖", name: "白心车" },
358
+ { char: "♗", name: "白心象" },
359
+ { char: "♘", name: "白心马" },
360
+ { char: "♙", name: "白心兵" }
361
+ ]
362
+ },
363
+ {
364
+ name: "标点符号",
365
+ characters: [
366
+ { char: "、", name: "顿号" },
367
+ { char: "。", name: "句号" },
368
+ { char: "·", name: "间隔号" },
369
+ { char: "ˉ", name: "间隔符" },
370
+ { char: "ˇ", name: "抑扬符" },
371
+ { char: "¨", name: "分音符" },
372
+ { char: "〃", name: "同上" },
373
+ { char: "々", name: "叠字符" },
374
+ { char: "「", name: "左直角引号" },
375
+ { char: "」", name: "右直角引号" },
376
+ { char: "『", name: "左双直角引号" },
377
+ { char: "』", name: "右双直角引号" },
378
+ { char: "【", name: "左实心方头括号" },
379
+ { char: "】", name: "右实心方头括号" },
380
+ { char: "〖", name: "左空心方头括号" },
381
+ { char: "〗", name: "右空心方头括号" },
382
+ { char: "〔", name: "左六角括号" },
383
+ { char: "〕", name: "右六角括号" },
384
+ { char: "《", name: "左书名号" },
385
+ { char: "》", name: "右书名号" },
386
+ { char: "〈", name: "左单书名号" },
387
+ { char: "〉", name: "右单书名号" },
388
+ { char: "︵", name: "左圆括号" },
389
+ { char: "︶", name: "右圆括号" },
390
+ { char: "︷", name: "左大括号" },
391
+ { char: "︸", name: "右大括号" },
392
+ { char: "︹", name: "左方括号" },
393
+ { char: "︺", name: "右方括号" },
394
+ { char: "︻", name: "左实心方括号" },
395
+ { char: "︼", name: "右实心方括号" }
396
+ ]
397
+ },
398
+ {
399
+ name: "拼音注音",
400
+ characters: [
401
+ { char: "ā", name: "a一声" },
402
+ { char: "á", name: "a二声" },
403
+ { char: "ǎ", name: "a三声" },
404
+ { char: "à", name: "a四声" },
405
+ { char: "ō", name: "o一声" },
406
+ { char: "ó", name: "o二声" },
407
+ { char: "ǒ", name: "o三声" },
408
+ { char: "ò", name: "o四声" },
409
+ { char: "ē", name: "e一声" },
410
+ { char: "é", name: "e二声" },
411
+ { char: "ě", name: "e三声" },
412
+ { char: "è", name: "e四声" },
413
+ { char: "ī", name: "i一声" },
414
+ { char: "í", name: "i二声" },
415
+ { char: "ǐ", name: "i三声" },
416
+ { char: "ì", name: "i四声" },
417
+ { char: "ū", name: "u一声" },
418
+ { char: "ú", name: "u二声" },
419
+ { char: "ǔ", name: "u三声" },
420
+ { char: "ù", name: "u四声" },
421
+ { char: "ü", name: "v" },
422
+ { char: "ǖ", name: "v一声" },
423
+ { char: "ǘ", name: "v二声" },
424
+ { char: "ǚ", name: "v三声" },
425
+ { char: "ǜ", name: "v四声" },
426
+ { char: "ㄅ", name: "b" },
427
+ { char: "ㄆ", name: "p" },
428
+ { char: "ㄇ", name: "m" },
429
+ { char: "ㄈ", name: "f" },
430
+ { char: "ㄉ", name: "d" },
431
+ { char: "ㄊ", name: "t" },
432
+ { char: "ㄋ", name: "n" },
433
+ { char: "ㄌ", name: "l" },
434
+ { char: "ㄍ", name: "g" },
435
+ { char: "ㄎ", name: "k" },
436
+ { char: "ㄏ", name: "h" },
437
+ { char: "ㄐ", name: "j" },
438
+ { char: "ㄑ", name: "q" },
439
+ { char: "ㄒ", name: "x" },
440
+ { char: "ㄓ", name: "zh" },
441
+ { char: "ㄔ", name: "ch" },
442
+ { char: "ㄕ", name: "sh" },
443
+ { char: "ㄖ", name: "r" },
444
+ { char: "ㄗ", name: "z" },
445
+ { char: "ㄘ", name: "c" },
446
+ { char: "ㄙ", name: "s" },
447
+ { char: "ㄧ", name: "i" },
448
+ { char: "ㄨ", name: "u" },
449
+ { char: "ㄩ", name: "v" },
450
+ { char: "ㄚ", name: "a" },
451
+ { char: "ㄛ", name: "o" },
452
+ { char: "ㄜ", name: "e" },
453
+ { char: "ㄝ", name: "ie" },
454
+ { char: "ㄞ", name: "ai" },
455
+ { char: "ㄟ", name: "ei" },
456
+ { char: "ㄠ", name: "ao" },
457
+ { char: "ㄡ", name: "ou" },
458
+ { char: "ㄢ", name: "an" },
459
+ { char: "ㄣ", name: "en" },
460
+ { char: "ㄤ", name: "ang" },
461
+ { char: "ㄥ", name: "eng" },
462
+ { char: "ㄦ", name: "er" }
463
+ ]
464
+ }
465
+ ], n = "ce-special-characters", L = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
466
+ <path d="M12 4L4 12M4 4L12 12" stroke="#8c8c8c" stroke-width="1.5" stroke-linecap="round"/>
467
+ </svg>
468
+ `, g = L;
469
+ class S {
470
+ constructor(a = {}) {
471
+ s(this, "mask");
472
+ s(this, "container");
473
+ s(this, "options");
474
+ s(this, "activeCategory");
475
+ var r, h;
476
+ this.options = {
477
+ characters: d,
478
+ ...a
479
+ }, this.activeCategory = ((h = (r = this.options.characters) == null ? void 0 : r[0]) == null ? void 0 : h.name) || "";
480
+ const { mask: c, container: e } = this.createDialog();
481
+ this.mask = c, this.container = e;
482
+ }
483
+ // 创建弹窗DOM结构
484
+ createDialog() {
485
+ const a = document.createElement("div");
486
+ a.classList.add(`${n}-mask`);
487
+ const c = document.createElement("div");
488
+ c.classList.add(`${n}-container`), c.setAttribute(u, C.COMPONENT);
489
+ const e = this.createHeader(), r = this.createBody();
490
+ return c.append(e, r), document.body.append(a, c), a.onclick = () => this.destroy(), { mask: a, container: c };
491
+ }
492
+ // 创建头部
493
+ createHeader() {
494
+ const a = document.createElement("div");
495
+ a.classList.add(`${n}-header`);
496
+ const c = document.createElement("span");
497
+ c.textContent = "特殊字符", c.classList.add(`${n}-title`);
498
+ const e = document.createElement("span");
499
+ return e.innerHTML = g, e.classList.add(`${n}-close-btn`), e.onclick = () => this.destroy(), a.append(c, e), a;
500
+ }
501
+ // 创建主体内容区域
502
+ createBody() {
503
+ const a = document.createElement("div");
504
+ a.classList.add(`${n}-body`);
505
+ const c = this.createSidebar(), e = this.createContent();
506
+ return a.append(c, e), a;
507
+ }
508
+ // 创建侧边栏
509
+ createSidebar() {
510
+ var c;
511
+ const a = document.createElement("div");
512
+ return a.classList.add(`${n}-sidebar`), (c = this.options.characters) == null || c.forEach((e) => {
513
+ const r = document.createElement("div");
514
+ r.textContent = e.name, r.classList.add(`${n}-sidebar-item`), e.name === this.activeCategory && r.classList.add("active"), r.onclick = () => {
515
+ this.activeCategory = e.name, this.updateSidebarSelection(), this.updateContent();
516
+ }, a.appendChild(r);
517
+ }), a;
518
+ }
519
+ // 更新侧边栏选中状态
520
+ updateSidebarSelection() {
521
+ const a = this.container.querySelector(`.${n}-sidebar`);
522
+ if (!a)
523
+ return;
524
+ a.querySelectorAll(`.${n}-sidebar-item`).forEach((e) => {
525
+ e.textContent === this.activeCategory ? e.classList.add("active") : e.classList.remove("active");
526
+ });
527
+ }
528
+ // 创建内容区域
529
+ createContent() {
530
+ var e;
531
+ const a = document.createElement("div");
532
+ a.classList.add(`${n}-content`);
533
+ const c = (e = this.options.characters) == null ? void 0 : e.find((r) => r.name === this.activeCategory);
534
+ return c && this.renderCharacters(a, c.characters), a;
535
+ }
536
+ // 更新内容区域
537
+ updateContent() {
538
+ var e;
539
+ const a = this.container.querySelector(`.${n}-content`);
540
+ if (!a)
541
+ return;
542
+ a.innerHTML = "";
543
+ const c = (e = this.options.characters) == null ? void 0 : e.find((r) => r.name === this.activeCategory);
544
+ c && this.renderCharacters(a, c.characters);
545
+ }
546
+ // 渲染字符列表
547
+ renderCharacters(a, c) {
548
+ const e = document.createElement("div");
549
+ e.classList.add(`${n}-chars-grid`), c.forEach((r) => {
550
+ const h = document.createElement("button");
551
+ h.textContent = r.char, h.title = r.name, h.classList.add(`${n}-char-btn`), h.onclick = () => {
552
+ var i, t;
553
+ (t = (i = this.options).onSelect) == null || t.call(i, r.char), this.destroy();
554
+ }, e.append(h);
555
+ }), a.append(e);
556
+ }
557
+ // 销毁弹窗
558
+ destroy() {
559
+ this.mask.remove(), this.container.remove();
560
+ }
561
+ }
562
+ function p(m, a) {
563
+ const c = m.command;
564
+ c.executeOpenSpecialCharactersDialog = (e) => {
565
+ const r = {
566
+ characters: (e == null ? void 0 : e.characters) ?? (a == null ? void 0 : a.characters) ?? d,
567
+ onSelect: (h) => {
568
+ var t, o;
569
+ (e == null ? void 0 : e.onSelect) || (a == null ? void 0 : a.onSelect) ? ((t = e == null ? void 0 : e.onSelect) == null || t.call(e, h), (o = a == null ? void 0 : a.onSelect) == null || o.call(a, h)) : c.executeInsertElementList([
570
+ {
571
+ type: E.TEXT,
572
+ value: h
573
+ }
574
+ ]);
575
+ }
576
+ };
577
+ new S(r);
578
+ };
579
+ }
580
+ export {
581
+ p as default
582
+ };
583
+ //# sourceMappingURL=specialCharacters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialCharacters.js","sources":["../../src/specialCharacters/constant/index.ts","../src/specialCharacters/assets/close.svg?raw","../../src/specialCharacters/style/index.ts","../../src/specialCharacters/index.ts"],"sourcesContent":[null,"export default \"<svg width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<path d=\\\"M12 4L4 12M4 4L12 12\\\" stroke=\\\"#8c8c8c\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"/>\\n</svg>\\n\"",null,null],"names":["DEFAULT_CHARACTERS","PLUGIN_PREFIX","closeIcon","CLOSE_BUTTON_SVG","SpecialCharactersDialog","options","__publicField","_b","_a","mask","container","EDITOR_COMPONENT","EditorComponent","header","body","title","closeBtn","sidebar","content","group","item","activeGroup","g","characters","charsGrid","charInfo","charBtn","specialCharactersPlugin","editor","defaultOptions","command","mergedOptions","char","ElementType"],"mappings":"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M,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,MAAO;AAAA,MAC1B,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,MACxB,EAAE,MAAM,KAAK,MAAM,IAAK;AAAA,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"}
@@ -0,0 +1,5 @@
1
+ (function(h,m){typeof exports=="object"&&typeof module<"u"?module.exports=m(require("@hufe921/canvas-editor")):typeof define=="function"&&define.amd?define(["@hufe921/canvas-editor"],m):(h=typeof globalThis<"u"?globalThis:h||self,h.specialCharacters=m(h.canvasEditor))})(this,function(h){"use strict";var E=Object.defineProperty;var L=(h,m,n)=>m in h?E(h,m,{enumerable:!0,configurable:!0,writable:!0,value:n}):h[m]=n;var i=(h,m,n)=>(L(h,typeof m!="symbol"?m+"":m,n),n);const m=[{name:"常用符号",characters:[{char:"©",name:"版权"},{char:"®",name:"注册商标"},{char:"™",name:"商标"},{char:"§",name:"章节"},{char:"¶",name:"段落"},{char:"†",name:"剑标"},{char:"‡",name:"双剑标"},{char:"•",name:"项目符号"},{char:"…",name:"省略号"},{char:"—",name:"破折号"},{char:"–",name:"短破折号"},{char:"°",name:"度"},{char:"‰",name:"千分号"},{char:"‱",name:"万分号"},{char:"№",name:"序号"},{char:"℗",name:"录音版权"},{char:"℠",name:"服务标记"},{char:"℡",name:"电话"},{char:"℀",name:"账户"},{char:"℁",name:"地址"},{char:"℅",name:"照顾"},{char:"※",name:"米印"},{char:"¡",name:"倒感叹号"},{char:"¿",name:"倒问号"}]},{name:"数学符号",characters:[{char:"±",name:"正负"},{char:"×",name:"乘"},{char:"÷",name:"除"},{char:"≠",name:"不等于"},{char:"≡",name:"恒等于"},{char:"≌",name:"全等于"},{char:"≈",name:"约等于"},{char:"≃",name:"渐近等于"},{char:"≅",name:"同构"},{char:"≤",name:"小于等于"},{char:"≥",name:"大于等于"},{char:"≮",name:"不小于"},{char:"≯",name:"不大于"},{char:"∞",name:"无穷"},{char:"∑",name:"求和"},{char:"∏",name:"求积"},{char:"√",name:"平方根"},{char:"∛",name:"立方根"},{char:"∜",name:"四次方根"},{char:"∫",name:"积分"},{char:"∬",name:"二重积分"},{char:"∮",name:"曲线积分"},{char:"∂",name:"偏导"},{char:"∆",name:"增量"},{char:"∇",name:"梯度"},{char:"π",name:"圆周率"},{char:"∝",name:"成正比"},{char:"∠",name:"角"},{char:"∟",name:"直角"},{char:"⌒",name:"弧"},{char:"∣",name:"整除"},{char:"∤",name:"不整除"},{char:"∥",name:"平行"},{char:"∦",name:"不平行"},{char:"⊥",name:"垂直"},{char:"∧",name:"逻辑与"},{char:"∨",name:"逻辑或"},{char:"∩",name:"交集"},{char:"∪",name:"并集"},{char:"∅",name:"空集"},{char:"∈",name:"属于"},{char:"∉",name:"不属于"},{char:"⊆",name:"包含于"},{char:"⊇",name:"包含"},{char:"⊂",name:"真包含于"},{char:"⊃",name:"真包含"},{char:"∵",name:"因为"},{char:"∴",name:"所以"},{char:"∃",name:"存在"},{char:"∀",name:"任意"},{char:"¬",name:"非"},{char:"⊕",name:"异或"},{char:"⊙",name:"同或"}]},{name:"希腊字母",characters:[{char:"α",name:"Alpha"},{char:"β",name:"Beta"},{char:"γ",name:"Gamma"},{char:"δ",name:"Delta"},{char:"ε",name:"Epsilon"},{char:"ζ",name:"Zeta"},{char:"η",name:"Eta"},{char:"θ",name:"Theta"},{char:"ι",name:"Iota"},{char:"κ",name:"Kappa"},{char:"λ",name:"Lambda"},{char:"μ",name:"Mu"},{char:"ν",name:"Nu"},{char:"ξ",name:"Xi"},{char:"ο",name:"Omicron"},{char:"π",name:"Pi"},{char:"ρ",name:"Rho"},{char:"σ",name:"Sigma"},{char:"τ",name:"Tau"},{char:"υ",name:"Upsilon"},{char:"φ",name:"Phi"},{char:"χ",name:"Chi"},{char:"ψ",name:"Psi"},{char:"ω",name:"Omega"},{char:"Α",name:"Alpha大写"},{char:"Β",name:"Beta大写"},{char:"Γ",name:"Gamma大写"},{char:"Δ",name:"Delta大写"},{char:"Ε",name:"Epsilon大写"},{char:"Ζ",name:"Zeta大写"},{char:"Η",name:"Eta大写"},{char:"Θ",name:"Theta大写"},{char:"Ι",name:"Iota大写"},{char:"Κ",name:"Kappa大写"},{char:"Λ",name:"Lambda大写"},{char:"Μ",name:"Mu大写"},{char:"Ν",name:"Nu大写"},{char:"Ξ",name:"Xi大写"},{char:"Ο",name:"Omicron大写"},{char:"Π",name:"Pi大写"},{char:"Ρ",name:"Rho大写"},{char:"Σ",name:"Sigma大写"},{char:"Τ",name:"Tau大写"},{char:"Υ",name:"Upsilon大写"},{char:"Φ",name:"Phi大写"},{char:"Χ",name:"Chi大写"},{char:"Ψ",name:"Psi大写"},{char:"Ω",name:"Omega大写"}]},{name:"单位符号",characters:[{char:"€",name:"欧元"},{char:"£",name:"英镑"},{char:"¥",name:"日元/人民币"},{char:"¢",name:"美分"},{char:"$",name:"美元"},{char:"₩",name:"韩元"},{char:"₽",name:"卢布"},{char:"₹",name:"卢比"},{char:"㎜",name:"毫米"},{char:"㎝",name:"厘米"},{char:"dm",name:"分米"},{char:"m",name:"米"},{char:"㎞",name:"千米"},{char:"㎡",name:"平方米"},{char:"㎥",name:"立方米"},{char:"μm",name:"微米"},{char:"nm",name:"纳米"},{char:"Å",name:"埃"},{char:"㎎",name:"毫克"},{char:"g",name:"克"},{char:"㎏",name:"千克"},{char:"t",name:"吨"},{char:"mL",name:"毫升"},{char:"L",name:"升"},{char:"℃",name:"摄氏度"},{char:"℉",name:"华氏度"},{char:"K",name:"开尔文"},{char:"Ω",name:"欧姆"},{char:"μΩ",name:"微欧"},{char:"mΩ",name:"毫欧"},{char:"kΩ",name:"千欧"},{char:"MΩ",name:"兆欧"},{char:"V",name:"伏特"},{char:"A",name:"安培"},{char:"W",name:"瓦特"},{char:"Hz",name:"赫兹"},{char:"㎐",name:"赫兹"}]},{name:"数字序号",characters:[{char:"Ⅰ",name:"罗马数字1"},{char:"Ⅱ",name:"罗马数字2"},{char:"Ⅲ",name:"罗马数字3"},{char:"Ⅳ",name:"罗马数字4"},{char:"Ⅴ",name:"罗马数字5"},{char:"Ⅵ",name:"罗马数字6"},{char:"Ⅶ",name:"罗马数字7"},{char:"Ⅷ",name:"罗马数字8"},{char:"Ⅸ",name:"罗马数字9"},{char:"Ⅹ",name:"罗马数字10"},{char:"Ⅺ",name:"罗马数字11"},{char:"Ⅻ",name:"罗马数字12"},{char:"ⅰ",name:"小写罗马1"},{char:"ⅱ",name:"小写罗马2"},{char:"ⅲ",name:"小写罗马3"},{char:"ⅳ",name:"小写罗马4"},{char:"ⅴ",name:"小写罗马5"},{char:"ⅵ",name:"小写罗马6"},{char:"ⅶ",name:"小写罗马7"},{char:"ⅷ",name:"小写罗马8"},{char:"ⅸ",name:"小写罗马9"},{char:"ⅹ",name:"小写罗马10"},{char:"①",name:"圆圈1"},{char:"②",name:"圆圈2"},{char:"③",name:"圆圈3"},{char:"④",name:"圆圈4"},{char:"⑤",name:"圆圈5"},{char:"⑥",name:"圆圈6"},{char:"⑦",name:"圆圈7"},{char:"⑧",name:"圆圈8"},{char:"⑨",name:"圆圈9"},{char:"⑩",name:"圆圈10"},{char:"❶",name:"黑圆圈1"},{char:"❷",name:"黑圆圈2"},{char:"❸",name:"黑圆圈3"},{char:"❹",name:"黑圆圈4"},{char:"❺",name:"黑圆圈5"},{char:"❻",name:"黑圆圈6"},{char:"❼",name:"黑圆圈7"},{char:"❽",name:"黑圆圈8"},{char:"❾",name:"黑圆圈9"},{char:"❿",name:"黑圆圈10"},{char:"⑴",name:"括号1"},{char:"⑵",name:"括号2"},{char:"⑶",name:"括号3"},{char:"⑷",name:"括号4"},{char:"⑸",name:"括号5"},{char:"⑹",name:"括号6"},{char:"⑺",name:"括号7"},{char:"⑻",name:"括号8"},{char:"⑼",name:"括号9"},{char:"⑽",name:"括号10"},{char:"⒈",name:"点1"},{char:"⒉",name:"点2"},{char:"⒊",name:"点3"},{char:"⒋",name:"点4"},{char:"⒌",name:"点5"},{char:"⒍",name:"点6"},{char:"⒎",name:"点7"},{char:"⒏",name:"点8"},{char:"⒐",name:"点9"},{char:"⒑",name:"点10"},{char:"½",name:"二分之一"},{char:"⅓",name:"三分之一"},{char:"⅔",name:"三分之二"},{char:"¼",name:"四分之一"},{char:"¾",name:"四分之三"},{char:"⅛",name:"八分之一"},{char:"⅜",name:"八分之三"},{char:"⅝",name:"八分之五"},{char:"⅞",name:"八分之七"}]},{name:"箭头符号",characters:[{char:"←",name:"左箭头"},{char:"↑",name:"上箭头"},{char:"→",name:"右箭头"},{char:"↓",name:"下箭头"},{char:"↔",name:"左右箭头"},{char:"↕",name:"上下箭头"},{char:"⇐",name:"左双箭头"},{char:"⇑",name:"上双箭头"},{char:"⇒",name:"右双箭头"},{char:"⇓",name:"下双箭头"},{char:"⇔",name:"左右双箭头"},{char:"⇕",name:"上下双箭头"},{char:"↖",name:"左上"},{char:"↗",name:"右上"},{char:"↘",name:"右下"},{char:"↙",name:"左下"},{char:"↺",name:"逆时针"},{char:"↻",name:"顺时针"},{char:"↩",name:"返回"},{char:"↪",name:"进入"},{char:"➔",name:"粗右箭头"},{char:"➜",name:"粗右箭头"},{char:"➝",name:"三角箭头"},{char:"➞",name:"实心箭头"},{char:"➟",name:"虚线箭头"},{char:"➠",name:"三角虚线"},{char:"➡",name:"黑右箭头"},{char:"➢",name:"黑三角头"},{char:"➤",name:"黑三角头"},{char:"➥",name:"黑右下"},{char:"➦",name:"黑右上"},{char:"➧",name:"黑右"}]},{name:"图形符号",characters:[{char:"★",name:"实心五角星"},{char:"☆",name:"空心五角星"},{char:"✦",name:"四角星"},{char:"✧",name:"空心四角星"},{char:"◆",name:"实心菱形"},{char:"◇",name:"空心菱形"},{char:"●",name:"实心圆"},{char:"○",name:"空心圆"},{char:"◎",name:"双圆"},{char:"■",name:"实心方块"},{char:"□",name:"空心方块"},{char:"▲",name:"实心三角形"},{char:"△",name:"空心三角形"},{char:"▼",name:"实心倒三角"},{char:"▽",name:"空心倒三角"},{char:"♠",name:"黑桃"},{char:"♣",name:"梅花"},{char:"♥",name:"红桃"},{char:"♦",name:"方块"},{char:"♤",name:"白花黑桃"},{char:"♧",name:"白花梅花"},{char:"♡",name:"白花红桃"},{char:"♢",name:"白花方块"},{char:"☀",name:"太阳"},{char:"☁",name:"云"},{char:"☂",name:"雨伞"},{char:"☃",name:"雪人"},{char:"☄",name:"彗星"},{char:"☺",name:"笑脸"},{char:"☹",name:"哭脸"},{char:"✉",name:"信封"},{char:"✂",name:"剪刀"},{char:"✎",name:"铅笔"},{char:"✒",name:"钢笔"},{char:"✓",name:"对号"},{char:"✔",name:"粗对号"},{char:"✕",name:"错号"},{char:"✖",name:"粗错号"},{char:"♂",name:"男性"},{char:"♀",name:"女性"},{char:"♪",name:"八分音符"},{char:"♫",name:"十六分音符"},{char:"♬",name:"三十二分音符"},{char:"♭",name:"降号"},{char:"♯",name:"升号"},{char:"♔",name:"白心王"},{char:"♕",name:"白心后"},{char:"♖",name:"白心车"},{char:"♗",name:"白心象"},{char:"♘",name:"白心马"},{char:"♙",name:"白心兵"}]},{name:"标点符号",characters:[{char:"、",name:"顿号"},{char:"。",name:"句号"},{char:"·",name:"间隔号"},{char:"ˉ",name:"间隔符"},{char:"ˇ",name:"抑扬符"},{char:"¨",name:"分音符"},{char:"〃",name:"同上"},{char:"々",name:"叠字符"},{char:"「",name:"左直角引号"},{char:"」",name:"右直角引号"},{char:"『",name:"左双直角引号"},{char:"』",name:"右双直角引号"},{char:"【",name:"左实心方头括号"},{char:"】",name:"右实心方头括号"},{char:"〖",name:"左空心方头括号"},{char:"〗",name:"右空心方头括号"},{char:"〔",name:"左六角括号"},{char:"〕",name:"右六角括号"},{char:"《",name:"左书名号"},{char:"》",name:"右书名号"},{char:"〈",name:"左单书名号"},{char:"〉",name:"右单书名号"},{char:"︵",name:"左圆括号"},{char:"︶",name:"右圆括号"},{char:"︷",name:"左大括号"},{char:"︸",name:"右大括号"},{char:"︹",name:"左方括号"},{char:"︺",name:"右方括号"},{char:"︻",name:"左实心方括号"},{char:"︼",name:"右实心方括号"}]},{name:"拼音注音",characters:[{char:"ā",name:"a一声"},{char:"á",name:"a二声"},{char:"ǎ",name:"a三声"},{char:"à",name:"a四声"},{char:"ō",name:"o一声"},{char:"ó",name:"o二声"},{char:"ǒ",name:"o三声"},{char:"ò",name:"o四声"},{char:"ē",name:"e一声"},{char:"é",name:"e二声"},{char:"ě",name:"e三声"},{char:"è",name:"e四声"},{char:"ī",name:"i一声"},{char:"í",name:"i二声"},{char:"ǐ",name:"i三声"},{char:"ì",name:"i四声"},{char:"ū",name:"u一声"},{char:"ú",name:"u二声"},{char:"ǔ",name:"u三声"},{char:"ù",name:"u四声"},{char:"ü",name:"v"},{char:"ǖ",name:"v一声"},{char:"ǘ",name:"v二声"},{char:"ǚ",name:"v三声"},{char:"ǜ",name:"v四声"},{char:"ㄅ",name:"b"},{char:"ㄆ",name:"p"},{char:"ㄇ",name:"m"},{char:"ㄈ",name:"f"},{char:"ㄉ",name:"d"},{char:"ㄊ",name:"t"},{char:"ㄋ",name:"n"},{char:"ㄌ",name:"l"},{char:"ㄍ",name:"g"},{char:"ㄎ",name:"k"},{char:"ㄏ",name:"h"},{char:"ㄐ",name:"j"},{char:"ㄑ",name:"q"},{char:"ㄒ",name:"x"},{char:"ㄓ",name:"zh"},{char:"ㄔ",name:"ch"},{char:"ㄕ",name:"sh"},{char:"ㄖ",name:"r"},{char:"ㄗ",name:"z"},{char:"ㄘ",name:"c"},{char:"ㄙ",name:"s"},{char:"ㄧ",name:"i"},{char:"ㄨ",name:"u"},{char:"ㄩ",name:"v"},{char:"ㄚ",name:"a"},{char:"ㄛ",name:"o"},{char:"ㄜ",name:"e"},{char:"ㄝ",name:"ie"},{char:"ㄞ",name:"ai"},{char:"ㄟ",name:"ei"},{char:"ㄠ",name:"ao"},{char:"ㄡ",name:"ou"},{char:"ㄢ",name:"an"},{char:"ㄣ",name:"en"},{char:"ㄤ",name:"ang"},{char:"ㄥ",name:"eng"},{char:"ㄦ",name:"er"}]}],n="ce-special-characters",u=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 4L4 12M4 4L12 12" stroke="#8c8c8c" stroke-width="1.5" stroke-linecap="round"/>
3
+ </svg>
4
+ `,y="";class v{constructor(a={}){i(this,"mask");i(this,"container");i(this,"options");i(this,"activeCategory");var r,t;this.options={characters:m,...a},this.activeCategory=((t=(r=this.options.characters)==null?void 0:r[0])==null?void 0:t.name)||"";const{mask:c,container:e}=this.createDialog();this.mask=c,this.container=e}createDialog(){const a=document.createElement("div");a.classList.add(`${n}-mask`);const c=document.createElement("div");c.classList.add(`${n}-container`),c.setAttribute(h.EDITOR_COMPONENT,h.EditorComponent.COMPONENT);const e=this.createHeader(),r=this.createBody();return c.append(e,r),document.body.append(a,c),a.onclick=()=>this.destroy(),{mask:a,container:c}}createHeader(){const a=document.createElement("div");a.classList.add(`${n}-header`);const c=document.createElement("span");c.textContent="特殊字符",c.classList.add(`${n}-title`);const e=document.createElement("span");return e.innerHTML=u,e.classList.add(`${n}-close-btn`),e.onclick=()=>this.destroy(),a.append(c,e),a}createBody(){const a=document.createElement("div");a.classList.add(`${n}-body`);const c=this.createSidebar(),e=this.createContent();return a.append(c,e),a}createSidebar(){var c;const a=document.createElement("div");return a.classList.add(`${n}-sidebar`),(c=this.options.characters)==null||c.forEach(e=>{const r=document.createElement("div");r.textContent=e.name,r.classList.add(`${n}-sidebar-item`),e.name===this.activeCategory&&r.classList.add("active"),r.onclick=()=>{this.activeCategory=e.name,this.updateSidebarSelection(),this.updateContent()},a.appendChild(r)}),a}updateSidebarSelection(){const a=this.container.querySelector(`.${n}-sidebar`);if(!a)return;a.querySelectorAll(`.${n}-sidebar-item`).forEach(e=>{e.textContent===this.activeCategory?e.classList.add("active"):e.classList.remove("active")})}createContent(){var e;const a=document.createElement("div");a.classList.add(`${n}-content`);const c=(e=this.options.characters)==null?void 0:e.find(r=>r.name===this.activeCategory);return c&&this.renderCharacters(a,c.characters),a}updateContent(){var e;const a=this.container.querySelector(`.${n}-content`);if(!a)return;a.innerHTML="";const c=(e=this.options.characters)==null?void 0:e.find(r=>r.name===this.activeCategory);c&&this.renderCharacters(a,c.characters)}renderCharacters(a,c){const e=document.createElement("div");e.classList.add(`${n}-chars-grid`),c.forEach(r=>{const t=document.createElement("button");t.textContent=r.char,t.title=r.name,t.classList.add(`${n}-char-btn`),t.onclick=()=>{var o,s;(s=(o=this.options).onSelect)==null||s.call(o,r.char),this.destroy()},e.append(t)}),a.append(e)}destroy(){this.mask.remove(),this.container.remove()}}function C(d,a){const c=d.command;c.executeOpenSpecialCharactersDialog=e=>{const r={characters:(e==null?void 0:e.characters)??(a==null?void 0:a.characters)??m,onSelect:t=>{var s,l;(e==null?void 0:e.onSelect)||(a==null?void 0:a.onSelect)?((s=e==null?void 0:e.onSelect)==null||s.call(e,t),(l=a==null?void 0:a.onSelect)==null||l.call(a,t)):c.executeInsertElementList([{type:h.ElementType.TEXT,value:t}])}};new v(r)}}return C});
5
+ //# sourceMappingURL=specialCharacters.umd.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialCharacters.umd.cjs","sources":["../../src/specialCharacters/constant/index.ts","../../src/specialCharacters/style/index.ts","../src/specialCharacters/assets/close.svg?raw","../../src/specialCharacters/index.ts"],"sourcesContent":[null,null,"export default \"<svg width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<path d=\\\"M12 4L4 12M4 4L12 12\\\" stroke=\\\"#8c8c8c\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"/>\\n</svg>\\n\"",null],"names":["DEFAULT_CHARACTERS","PLUGIN_PREFIX","CLOSE_BUTTON_SVG","SpecialCharactersDialog","options","__publicField","_b","_a","mask","container","EDITOR_COMPONENT","EditorComponent","header","body","title","closeBtn","sidebar","content","group","item","activeGroup","g","characters","charsGrid","charInfo","charBtn","specialCharactersPlugin","editor","defaultOptions","command","mergedOptions","char","ElementType"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ISpecialCharacterGroup } from '../interface';
2
+ export declare const DEFAULT_CHARACTERS: ISpecialCharacterGroup[];
3
+ export declare const PLUGIN_PREFIX = "ce-special-characters";
@@ -0,0 +1,9 @@
1
+ import { Editor } from '@hufe921/canvas-editor';
2
+ import { ISpecialCharactersOption } from './interface';
3
+ import './style/index.scss';
4
+ declare module '@hufe921/canvas-editor' {
5
+ interface Command {
6
+ executeOpenSpecialCharactersDialog(options?: ISpecialCharactersOption): void;
7
+ }
8
+ }
9
+ export default function specialCharactersPlugin(editor: Editor, defaultOptions?: ISpecialCharactersOption): void;
@@ -0,0 +1,12 @@
1
+ export interface ISpecialCharactersOption {
2
+ characters?: ISpecialCharacterGroup[];
3
+ onSelect?: (char: string) => void;
4
+ }
5
+ export interface ISpecialCharacterGroup {
6
+ name: string;
7
+ characters: ISpecialCharacter[];
8
+ }
9
+ export interface ISpecialCharacter {
10
+ char: string;
11
+ name: string;
12
+ }
@@ -0,0 +1 @@
1
+ export declare const CLOSE_BUTTON_SVG: any;
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .ce-special-characters-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:9998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ce-special-characters-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;z-index:9999;width:620px;max-width:90vw;height:400px;display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}.ce-special-characters-container .ce-special-characters-header{padding:12px 20px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;background:#fff}.ce-special-characters-container .ce-special-characters-header .ce-special-characters-title{font-size:15px;font-weight:500;color:#000000e0}.ce-special-characters-container .ce-special-characters-header .ce-special-characters-close-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;transition:all .2s;color:#00000073}.ce-special-characters-container .ce-special-characters-header .ce-special-characters-close-btn:hover{background:rgba(0,0,0,.0588235294);color:#000000e0}.ce-special-characters-container .ce-special-characters-header .ce-special-characters-close-btn:hover svg{stroke:currentColor}.ce-special-characters-container .ce-special-characters-header .ce-special-characters-close-btn svg{transition:stroke .2s;width:14px;height:14px}.ce-special-characters-container .ce-special-characters-body{display:flex;flex:1;overflow:hidden}.ce-special-characters-container .ce-special-characters-sidebar{width:110px;border-right:1px solid #f0f0f0;overflow-y:auto;background:#fafafa;padding:8px 0}.ce-special-characters-container .ce-special-characters-sidebar .ce-special-characters-sidebar-item{padding:8px 12px;cursor:pointer;font-size:13px;color:#000000e0;transition:all .2s;margin:2px 8px;border-radius:4px}.ce-special-characters-container .ce-special-characters-sidebar .ce-special-characters-sidebar-item:hover{background:rgba(0,0,0,.0588235294)}.ce-special-characters-container .ce-special-characters-sidebar .ce-special-characters-sidebar-item.active{background:#e6f7ff;color:#1890ff;font-weight:500}.ce-special-characters-container .ce-special-characters-content{flex:1;padding:20px;overflow-y:auto;background:#fff}.ce-special-characters-container .ce-special-characters-content .ce-special-characters-chars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:8px}.ce-special-characters-container .ce-special-characters-content .ce-special-characters-chars-grid .ce-special-characters-char-btn{width:100%;aspect-ratio:1;font-size:16px;border:1px solid #e8e8e8;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:#262626}.ce-special-characters-container .ce-special-characters-content .ce-special-characters-chars-grid .ce-special-characters-char-btn:hover{border-color:#1890ff;color:#1890ff;background:#f0f5ff;transform:translateY(-2px);box-shadow:0 2px 8px #0000000d}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@hufe921/canvas-editor-plugin-special-characters",
3
+ "author": "Hufe",
4
+ "license": "MIT",
5
+ "version": "0.0.1",
6
+ "description": "special characters plugin for canvas-editor",
7
+ "type": "module",
8
+ "publishConfig": {
9
+ "registry": "https://registry.npmjs.org/",
10
+ "access": "public"
11
+ },
12
+ "files": [
13
+ "dist",
14
+ "README.md",
15
+ "LICENSE",
16
+ "package.json"
17
+ ],
18
+ "typings": "./dist/src/specialCharacters/index.d.ts",
19
+ "main": "./dist/specialCharacters.umd.cjs",
20
+ "module": "./dist/specialCharacters.js",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/Hufe921/canvas-editor-plugin.git"
24
+ },
25
+ "keywords": [
26
+ "canvas-editor",
27
+ "special-characters"
28
+ ],
29
+ "scripts": {
30
+ "dev": "vite",
31
+ "build": "vite build --mode lib",
32
+ "release": "node scripts/release.js",
33
+ "type:check": "tsc --noEmit"
34
+ },
35
+ "peerDependencies": {
36
+ "@hufe921/canvas-editor": ">=0.9.37"
37
+ },
38
+ "devDependencies": {
39
+ "@hufe921/canvas-editor": "0.9.37",
40
+ "@rollup/plugin-typescript": "^10.0.1",
41
+ "@typescript-eslint/eslint-plugin": "4.33.0",
42
+ "@typescript-eslint/parser": "4.33.0",
43
+ "eslint": "7.32.0",
44
+ "sass": "^1.97.3",
45
+ "simple-git-hooks": "^2.8.1",
46
+ "typescript": "^5.0.2",
47
+ "vite": "^4.3.9"
48
+ }
49
+ }