wysiwyg-rails 4.6.2 → 4.7.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.
Files changed (161) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/froala_editor.min.js +2 -2
  3. data/app/assets/javascripts/froala_editor.pkgd.min.js +2 -2
  4. data/app/assets/javascripts/languages/ar.js +52 -2
  5. data/app/assets/javascripts/languages/bs.js +52 -2
  6. data/app/assets/javascripts/languages/cs.js +53 -3
  7. data/app/assets/javascripts/languages/da.js +52 -2
  8. data/app/assets/javascripts/languages/de.js +52 -2
  9. data/app/assets/javascripts/languages/el.js +51 -2
  10. data/app/assets/javascripts/languages/en_ca.js +52 -2
  11. data/app/assets/javascripts/languages/en_gb.js +46 -2
  12. data/app/assets/javascripts/languages/es.js +54 -2
  13. data/app/assets/javascripts/languages/et.js +53 -2
  14. data/app/assets/javascripts/languages/fa.js +53 -2
  15. data/app/assets/javascripts/languages/fi.js +53 -2
  16. data/app/assets/javascripts/languages/fr.js +53 -2
  17. data/app/assets/javascripts/languages/he.js +57 -11
  18. data/app/assets/javascripts/languages/hr.js +52 -2
  19. data/app/assets/javascripts/languages/hu.js +53 -2
  20. data/app/assets/javascripts/languages/id.js +53 -2
  21. data/app/assets/javascripts/languages/it.js +53 -2
  22. data/app/assets/javascripts/languages/ja.js +54 -2
  23. data/app/assets/javascripts/languages/ko.js +60 -27
  24. data/app/assets/javascripts/languages/ku.js +52 -2
  25. data/app/assets/javascripts/languages/me.js +53 -2
  26. data/app/assets/javascripts/languages/nb.js +51 -2
  27. data/app/assets/javascripts/languages/nl.js +53 -2
  28. data/app/assets/javascripts/languages/pl.js +53 -2
  29. data/app/assets/javascripts/languages/pt_br.js +53 -2
  30. data/app/assets/javascripts/languages/pt_pt.js +53 -2
  31. data/app/assets/javascripts/languages/ro.js +51 -2
  32. data/app/assets/javascripts/languages/ru.js +53 -2
  33. data/app/assets/javascripts/languages/sk.js +53 -2
  34. data/app/assets/javascripts/languages/sl.js +49 -2
  35. data/app/assets/javascripts/languages/sr.js +53 -2
  36. data/app/assets/javascripts/languages/sv.js +53 -2
  37. data/app/assets/javascripts/languages/th.js +53 -2
  38. data/app/assets/javascripts/languages/tr.js +53 -2
  39. data/app/assets/javascripts/languages/uk.js +53 -2
  40. data/app/assets/javascripts/languages/vi.js +53 -2
  41. data/app/assets/javascripts/languages/zh_cn.js +29 -264
  42. data/app/assets/javascripts/languages/zh_tw.js +53 -2
  43. data/app/assets/javascripts/plugins/align.min.js +2 -2
  44. data/app/assets/javascripts/plugins/char_counter.min.js +2 -2
  45. data/app/assets/javascripts/plugins/code_beautifier.min.js +1 -1
  46. data/app/assets/javascripts/plugins/code_view.min.js +1 -1
  47. data/app/assets/javascripts/plugins/colors.min.js +1 -1
  48. data/app/assets/javascripts/plugins/cryptojs.min.js +1 -1
  49. data/app/assets/javascripts/plugins/draggable.min.js +1 -1
  50. data/app/assets/javascripts/plugins/edit_in_popup.min.js +1 -1
  51. data/app/assets/javascripts/plugins/emoticons.min.js +1 -1
  52. data/app/assets/javascripts/plugins/entities.min.js +1 -1
  53. data/app/assets/javascripts/plugins/export_to_word.min.js +7 -0
  54. data/app/assets/javascripts/plugins/file.min.js +1 -1
  55. data/app/assets/javascripts/plugins/files_manager.min.js +1 -1
  56. data/app/assets/javascripts/plugins/filestack.min.js +1 -1
  57. data/app/assets/javascripts/plugins/find_and_replace.min.js +2 -2
  58. data/app/assets/javascripts/plugins/font_family.min.js +1 -1
  59. data/app/assets/javascripts/plugins/font_size.min.js +1 -1
  60. data/app/assets/javascripts/plugins/forms.min.js +1 -1
  61. data/app/assets/javascripts/plugins/fullscreen.min.js +1 -1
  62. data/app/assets/javascripts/plugins/help.min.js +1 -1
  63. data/app/assets/javascripts/plugins/image.min.js +1 -1
  64. data/app/assets/javascripts/plugins/image_manager.min.js +1 -1
  65. data/app/assets/javascripts/plugins/inline_class.min.js +1 -1
  66. data/app/assets/javascripts/plugins/inline_style.min.js +1 -1
  67. data/app/assets/javascripts/plugins/line_breaker.min.js +1 -1
  68. data/app/assets/javascripts/plugins/line_height.min.js +1 -1
  69. data/app/assets/javascripts/plugins/link.min.js +2 -2
  70. data/app/assets/javascripts/plugins/link_to_anchor.min.js +7 -0
  71. data/app/assets/javascripts/plugins/lists.min.js +2 -2
  72. data/app/assets/javascripts/plugins/markdown.min.js +1 -1
  73. data/app/assets/javascripts/plugins/page_break.min.js +7 -0
  74. data/app/assets/javascripts/plugins/paragraph_format.min.js +1 -1
  75. data/app/assets/javascripts/plugins/paragraph_style.min.js +1 -1
  76. data/app/assets/javascripts/plugins/print.min.js +2 -2
  77. data/app/assets/javascripts/plugins/quick_insert.min.js +1 -1
  78. data/app/assets/javascripts/plugins/quote.min.js +1 -1
  79. data/app/assets/javascripts/plugins/save.min.js +1 -1
  80. data/app/assets/javascripts/plugins/special_characters.min.js +1 -1
  81. data/app/assets/javascripts/plugins/table.min.js +2 -2
  82. data/app/assets/javascripts/plugins/track_changes.min.js +2 -2
  83. data/app/assets/javascripts/plugins/trim_video.min.js +1 -1
  84. data/app/assets/javascripts/plugins/url.min.js +1 -1
  85. data/app/assets/javascripts/plugins/video.min.js +1 -1
  86. data/app/assets/javascripts/plugins/word_counter.min.js +2 -2
  87. data/app/assets/javascripts/plugins/word_paste.min.js +2 -2
  88. data/app/assets/javascripts/plugins.pkgd.min.js +2 -2
  89. data/app/assets/javascripts/third_party/embedly.min.js +1 -1
  90. data/app/assets/javascripts/third_party/font_awesome.min.js +1 -1
  91. data/app/assets/javascripts/third_party/image_tui.min.js +1 -1
  92. data/app/assets/javascripts/third_party/showdown.min.js +1 -1
  93. data/app/assets/javascripts/third_party/spell_checker.min.js +1 -1
  94. data/app/assets/stylesheets/froala_editor.css +96 -1
  95. data/app/assets/stylesheets/froala_editor.min.css +2 -2
  96. data/app/assets/stylesheets/froala_editor.pkgd.css +302 -90
  97. data/app/assets/stylesheets/froala_editor.pkgd.min.css +2 -2
  98. data/app/assets/stylesheets/froala_style.css +1 -1
  99. data/app/assets/stylesheets/froala_style.min.css +1 -1
  100. data/app/assets/stylesheets/plugins/char_counter.css +1 -1
  101. data/app/assets/stylesheets/plugins/char_counter.min.css +1 -1
  102. data/app/assets/stylesheets/plugins/code_view.css +1 -1
  103. data/app/assets/stylesheets/plugins/code_view.min.css +1 -1
  104. data/app/assets/stylesheets/plugins/colors.css +1 -1
  105. data/app/assets/stylesheets/plugins/colors.min.css +1 -1
  106. data/app/assets/stylesheets/plugins/draggable.css +1 -1
  107. data/app/assets/stylesheets/plugins/draggable.min.css +1 -1
  108. data/app/assets/stylesheets/plugins/emoticons.css +1 -1
  109. data/app/assets/stylesheets/plugins/emoticons.min.css +1 -1
  110. data/app/assets/stylesheets/plugins/file.css +1 -1
  111. data/app/assets/stylesheets/plugins/file.min.css +1 -1
  112. data/app/assets/stylesheets/plugins/files_manager.css +1 -1
  113. data/app/assets/stylesheets/plugins/files_manager.min.css +1 -1
  114. data/app/assets/stylesheets/plugins/filestack.css +1 -1
  115. data/app/assets/stylesheets/plugins/filestack.min.css +1 -1
  116. data/app/assets/stylesheets/plugins/find_and_replace.css +1 -1
  117. data/app/assets/stylesheets/plugins/find_and_replace.min.css +1 -1
  118. data/app/assets/stylesheets/plugins/fullscreen.css +1 -1
  119. data/app/assets/stylesheets/plugins/fullscreen.min.css +1 -1
  120. data/app/assets/stylesheets/plugins/help.css +1 -1
  121. data/app/assets/stylesheets/plugins/help.min.css +1 -1
  122. data/app/assets/stylesheets/plugins/image.css +1 -1
  123. data/app/assets/stylesheets/plugins/image.min.css +1 -1
  124. data/app/assets/stylesheets/plugins/image_manager.css +1 -1
  125. data/app/assets/stylesheets/plugins/image_manager.min.css +1 -1
  126. data/app/assets/stylesheets/plugins/line_breaker.css +1 -1
  127. data/app/assets/stylesheets/plugins/line_breaker.min.css +1 -1
  128. data/app/assets/stylesheets/plugins/link_to_anchor.css +89 -0
  129. data/app/assets/stylesheets/plugins/link_to_anchor.min.css +7 -0
  130. data/app/assets/stylesheets/plugins/markdown.css +1 -1
  131. data/app/assets/stylesheets/plugins/markdown.min.css +1 -1
  132. data/app/assets/stylesheets/plugins/page_break.css +112 -0
  133. data/app/assets/stylesheets/plugins/page_break.min.css +7 -0
  134. data/app/assets/stylesheets/plugins/quick_insert.css +1 -1
  135. data/app/assets/stylesheets/plugins/quick_insert.min.css +1 -1
  136. data/app/assets/stylesheets/plugins/special_characters.css +1 -1
  137. data/app/assets/stylesheets/plugins/special_characters.min.css +1 -1
  138. data/app/assets/stylesheets/plugins/table.css +16 -90
  139. data/app/assets/stylesheets/plugins/table.min.css +2 -2
  140. data/app/assets/stylesheets/plugins/trim_video.css +1 -1
  141. data/app/assets/stylesheets/plugins/trim_video.min.css +1 -1
  142. data/app/assets/stylesheets/plugins/video.css +1 -1
  143. data/app/assets/stylesheets/plugins/video.min.css +1 -1
  144. data/app/assets/stylesheets/plugins.pkgd.css +207 -90
  145. data/app/assets/stylesheets/plugins.pkgd.min.css +2 -2
  146. data/app/assets/stylesheets/themes/dark.css +113 -50
  147. data/app/assets/stylesheets/themes/dark.min.css +2 -2
  148. data/app/assets/stylesheets/themes/gray.css +113 -50
  149. data/app/assets/stylesheets/themes/gray.min.css +2 -2
  150. data/app/assets/stylesheets/themes/royal.css +113 -50
  151. data/app/assets/stylesheets/themes/royal.min.css +2 -2
  152. data/app/assets/stylesheets/third_party/embedly.css +1 -1
  153. data/app/assets/stylesheets/third_party/embedly.min.css +1 -1
  154. data/app/assets/stylesheets/third_party/font_awesome.css +1 -1
  155. data/app/assets/stylesheets/third_party/font_awesome.min.css +1 -1
  156. data/app/assets/stylesheets/third_party/image_tui.css +1 -1
  157. data/app/assets/stylesheets/third_party/image_tui.min.css +1 -1
  158. data/app/assets/stylesheets/third_party/spell_checker.css +1 -1
  159. data/app/assets/stylesheets/third_party/spell_checker.min.css +1 -1
  160. data/lib/wysiwyg-rails/version.rb +1 -1
  161. metadata +9 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -12,11 +12,32 @@
12
12
 
13
13
  FE = FE && FE.hasOwnProperty('default') ? FE['default'] : FE;
14
14
 
15
- /**
16
- * Simplified Chinese spoken in China.
17
- */
15
+ function _defineProperty(e, r, t) {
16
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
17
+ value: t,
18
+ enumerable: !0,
19
+ configurable: !0,
20
+ writable: !0
21
+ }) : e[r] = t, e;
22
+ }
23
+ function _toPrimitive(t, r) {
24
+ if ("object" != typeof t || !t) return t;
25
+ var e = t[Symbol.toPrimitive];
26
+ if (void 0 !== e) {
27
+ var i = e.call(t, r || "default");
28
+ if ("object" != typeof i) return i;
29
+ throw new TypeError("@@toPrimitive must return a primitive value.");
30
+ }
31
+ return ("string" === r ? String : Number)(t);
32
+ }
33
+ function _toPropertyKey(t) {
34
+ var i = _toPrimitive(t, "string");
35
+ return "symbol" == typeof i ? i : i + "";
36
+ }
37
+
38
+ var _translation;
18
39
  FE.LANGUAGE['zh_cn'] = {
19
- translation: {
40
+ translation: (_translation = {
20
41
  // Place holder
21
42
  'Type something': '输入内容',
22
43
  // Basic formatting
@@ -24,6 +45,7 @@
24
45
  'Italic': '斜体',
25
46
  'Underline': '下划线',
26
47
  'Strikethrough': '删除线',
48
+ 'Size': '大小',
27
49
  // Main buttons
28
50
  'Insert': '插入',
29
51
  'Delete': '删除',
@@ -38,265 +60,8 @@
38
60
  'Font Family': '字体',
39
61
  'Font Size': '字号',
40
62
  // Colors
41
- 'Colors': '颜色',
42
- 'Background': '背景',
43
- 'Text': '字体',
44
- 'HEX Color': '十六进制颜色',
45
- // Paragraphs
46
- 'Paragraph Format': '段落格式',
47
- 'Normal': '正文',
48
- 'Code': '代码',
49
- 'Heading 1': '标题1',
50
- 'Heading 2': '标题2',
51
- 'Heading 3': '标题3',
52
- 'Heading 4': '标题4',
53
- // Style
54
- 'Paragraph Style': '段落样式',
55
- 'Inline Style': '内联样式',
56
- // Alignment
57
- 'Align': '对齐方式',
58
- 'Align Left': '左对齐',
59
- 'Align Center': '居中',
60
- 'Align Right': '右对齐',
61
- 'Align Justify': '两端对齐',
62
- 'None': '无',
63
- // Lists
64
- 'Ordered List': '编号',
65
- 'Unordered List': '项目符号',
66
- // Indent
67
- 'Decrease Indent': '减少缩进量',
68
- 'Increase Indent': '增加缩进量',
69
- // Links
70
- 'Insert Link': '插入超链接',
71
- 'Open in new tab': '在新标签页中打开',
72
- 'Open Link': '打开超链接',
73
- 'Edit Link': '编辑超链接',
74
- 'Unlink': '删除超链接',
75
- 'Choose Link': '选择超链接',
76
- // Images
77
- 'Insert Image': '插入图片',
78
- 'Upload Image': '上传图片',
79
- 'By URL': '通过 URL',
80
- 'Browse': '浏览',
81
- 'Drop image': '拖入图片',
82
- 'or click': '或点击',
83
- 'Manage Images': '管理图片',
84
- 'Loading': '加载中',
85
- 'Deleting': '删除中',
86
- 'Tags': '标签',
87
- 'Are you sure? Image will be deleted.': '图片将会被删除,是否确认?',
88
- 'Replace': '替换',
89
- 'Uploading': '上传中',
90
- 'Loading image': '图片加载中',
91
- 'Display': '显示',
92
- 'Inline': '嵌入型',
93
- 'Break Text': '上下型环绕',
94
- 'Alternative Text': '替换文字',
95
- 'Change Size': '改变大小',
96
- 'Width': '宽度',
97
- 'Height': '高度',
98
- 'Something went wrong. Please try again.': '发生错误,请重试。',
99
- 'Image Caption': '图片标题',
100
- 'Advanced Edit': '高级编辑',
101
- // Video
102
- 'Insert Video': '插入视频',
103
- 'Embedded Code': '嵌入代码',
104
- 'Paste in a video URL': '粘贴视频网址',
105
- 'Drop video': '拖入视频',
106
- 'Your browser does not support HTML5 video.': '您的浏览器不支持 HTML5 视频。',
107
- 'Upload Video': '上传视频',
108
- // Tables
109
- 'Insert Table': '插入表格',
110
- 'Table Header': '表头',
111
- 'Remove Table': '删除表格',
112
- 'Table Style': '表格样式',
113
- 'Horizontal Align': '水平对齐方式',
114
- 'Row': '行',
115
- 'Insert row above': '在上方插入',
116
- 'Insert row below': '在下方插入',
117
- 'Delete row': '删除行',
118
- 'Column': '列',
119
- 'Insert column before': '在左侧插入',
120
- 'Insert column after': '在右侧插入',
121
- 'Delete column': '删除列',
122
- 'Cell': '单元格',
123
- 'Merge cells': '合并单元格',
124
- 'Horizontal split': '水平分割',
125
- 'Vertical split': '垂直分割',
126
- 'Cell Background': '单元格背景',
127
- 'Vertical Align': '垂直对齐方式',
128
- 'Top': '靠上',
129
- 'Middle': '居中',
130
- 'Bottom': '靠下',
131
- 'Align Top': '靠上对齐',
132
- 'Align Middle': '居中对齐',
133
- 'Align Bottom': '靠下对齐',
134
- 'Cell Style': '单元格样式',
135
- // Files
136
- 'Upload File': '上传文件',
137
- 'Drop file': '拖入文件',
138
- // Emoticons
139
- 'Emoticons': '表情符号',
140
- 'Grinning face': '露齿笑脸',
141
- 'Grinning face with smiling eyes': '露齿笑到眯起眼',
142
- 'Face with tears of joy': '笑哭',
143
- 'Smiling face with open mouth': '张嘴微笑',
144
- 'Smiling face with open mouth and smiling eyes': '眯眼张嘴微笑',
145
- 'Smiling face with open mouth and cold sweat': '带冷汗的张嘴微笑',
146
- 'Smiling face with open mouth and tightly-closed eyes': '紧闭双眼张嘴微笑',
147
- 'Smiling face with halo': '带光环微笑',
148
- 'Smiling face with horns': '带牛角的微笑',
149
- 'Winking face': '眨眼',
150
- 'Smiling face with smiling eyes': '眯眼微笑',
151
- 'Face savoring delicious food': '馋',
152
- 'Relieved face': '如释重负',
153
- 'Smiling face with heart-shaped eyes': '桃心眼微笑',
154
- 'Smiling face with sunglasses': '戴太阳镜微笑',
155
- 'Smirking face': '得意地笑',
156
- 'Neutral face': '中性脸',
157
- 'Expressionless face': '面无表情',
158
- 'Unamused face': '不高兴',
159
- 'Face with cold sweat': '冷汗',
160
- 'Pensive face': '沉思',
161
- 'Confused face': '迷惑',
162
- 'Confounded face': '困惑',
163
- 'Kissing face': '嘴巴嘟嘟',
164
- 'Face throwing a kiss': '飞吻',
165
- 'Kissing face with smiling eyes': '眯眼接吻',
166
- 'Kissing face with closed eyes': '闭眼接吻',
167
- 'Face with stuck out tongue': '吐舌',
168
- 'Face with stuck out tongue and winking eye': '眨眼吐舌',
169
- 'Face with stuck out tongue and tightly-closed eyes': '眯眼吐舌',
170
- 'Disappointed face': '失望',
171
- 'Worried face': '担心',
172
- 'Angry face': '生气',
173
- 'Pouting face': '撅嘴',
174
- 'Crying face': '大哭',
175
- 'Persevering face': '坚强',
176
- 'Face with look of triumph': '扬眉吐气',
177
- 'Disappointed but relieved face': '失望',
178
- 'Frowning face with open mouth': '皱眉',
179
- 'Anguished face': '痛苦',
180
- 'Fearful face': '害怕',
181
- 'Weary face': '疲惫',
182
- 'Sleepy face': '困了',
183
- 'Tired face': '累了',
184
- 'Grimacing face': '扭曲脸',
185
- 'Loudly crying face': '大哭',
186
- 'Face with open mouth': '张开嘴',
187
- 'Hushed face': '安静',
188
- 'Face with open mouth and cold sweat': '冷汗',
189
- 'Face screaming in fear': '害怕尖叫',
190
- 'Astonished face': '惊讶',
191
- 'Flushed face': '脸红',
192
- 'Sleeping face': '熟睡',
193
- 'Dizzy face': '眩晕',
194
- 'Face without mouth': '没有嘴的脸',
195
- 'Face with medical mask': '口罩脸',
196
- // Line breaker
197
- 'Break': '换行',
198
- // Math
199
- 'Subscript': '下标',
200
- 'Superscript': '上标',
201
- // Full screen
202
- 'Fullscreen': '全屏',
203
- // Horizontal line
204
- 'Insert Horizontal Line': '插入水平线',
205
- // Clear formatting
206
- 'Clear Formatting': '清除格式',
207
- // Save
208
- 'Save': '保存',
209
- // Undo, redo
210
- 'Undo': '撤消',
211
- 'Redo': '恢复',
212
- // Select all
213
- 'Select All': '全选',
214
- // Code view
215
- 'Code View': '代码视图',
216
- // Quote
217
- 'Quote': '引用',
218
- 'Increase': '增加引用级别',
219
- 'Decrease': '减少引用级别',
220
- // Quick Insert
221
- 'Quick Insert': '快速插入',
222
- // Spcial Characters
223
- 'Special Characters': '特殊字符',
224
- 'Latin': '拉丁字母',
225
- 'Greek': '希腊字母',
226
- 'Cyrillic': '西里尔字母',
227
- 'Punctuation': '标点',
228
- 'Currency': '货币',
229
- 'Arrows': '箭头',
230
- 'Math': '数学',
231
- 'Misc': '杂项',
232
- // Print.
233
- 'Print': '打印',
234
- // Spell Checker.
235
- 'Spell Checker': '拼写检查器',
236
- // Help
237
- 'Help': '帮助',
238
- 'Shortcuts': '快捷键',
239
- 'Inline Editor': '内联编辑器',
240
- 'Show the editor': '显示编辑器',
241
- 'Common actions': '常用操作',
242
- 'Copy': '复制',
243
- 'Cut': '剪切',
244
- 'Paste': '粘贴',
245
- 'Basic Formatting': '基本格式',
246
- 'Increase quote level': '增加引用级别',
247
- 'Decrease quote level': '减少引用级别',
248
- 'Image / Video': '图像/视频',
249
- 'Resize larger': '放大',
250
- 'Resize smaller': '缩小',
251
- 'Table': '表格',
252
- 'Select table cell': '选择单元格',
253
- 'Extend selection one cell': '增加选中的单元格',
254
- 'Extend selection one row': '增加选中的行',
255
- 'Navigation': '导航',
256
- 'Focus popup / toolbar': '焦点弹出/工具栏',
257
- 'Return focus to previous position': '将焦点返回到上一个位置',
258
- // Embed.ly
259
- 'Embed URL': '嵌入网址',
260
- 'Paste in a URL to embed': '粘贴要嵌入的网址',
261
- // Word Paste.
262
- 'The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?': '粘贴的内容来自微软 Word 文档。你想保留还是清除格式?',
263
- 'Keep': '保留',
264
- 'Clean': '清除',
265
- 'Word Paste Detected': '检测到粘贴自 Word 的内容',
266
- // Character Counter
267
- 'Characters': '字数统计',
268
- // More Buttons
269
- 'More Text': ' 更多文字',
270
- 'More Paragraph': '更多段落',
271
- 'More Rich': '更多丰富',
272
- 'More Misc': '更多杂项',
273
- 'Rounded': '圆角',
274
- 'Bordered': '边框',
275
- 'Shadow': '阴影',
276
- 'Download PDF': '下载PDF',
277
- 'Text Color': '字体颜色',
278
- 'Background Color': '背景颜色',
279
- 'Inline Class': '内联类',
280
- 'Highlighted': '高亮',
281
- 'Transparent': '透明',
282
- 'Big Red': '大号红',
283
- 'Small Blue': '小号蓝',
284
- 'Default': '默认',
285
- 'Lower Alpha': 'a,b,c...',
286
- 'Lower Greek': 'α,β,γ...',
287
- 'Lower Roman': 'i,ii,iii...',
288
- 'Upper Alpha': 'A,B,C...',
289
- 'Upper Roman': 'Ⅰ,Ⅱ,Ⅲ...',
290
- 'Circle': '○ 空心圆',
291
- 'Disc': '● 实心圆',
292
- 'Square': '■ 实心方块',
293
- 'Gray': '灰色',
294
- 'Spaced': '字母间隙',
295
- 'Uppercase': '大写',
296
- 'Line Height': '行高',
297
- 'Single': '1',
298
- 'Double': '2'
299
- },
63
+ 'Colors': '颜色'
64
+ }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, "Size", '大小'), 'Background', '背景'), 'Text', '字体'), 'HEX Color', '十六进制颜色'), 'Paragraph Format', '段落格式'), 'Normal', '正文'), 'Code', '代码'), 'Heading 1', '标题1'), 'Heading 2', '标题2'), 'Heading 3', '标题3'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Heading 4', '标题4'), 'Paragraph Style', '段落样式'), 'Inline Style', '内联样式'), 'Padding', '内边距'), 'Align', '对齐方式'), 'Align Left', '左对齐'), 'Align Center', '居中'), 'Align Right', '右对齐'), 'Align Justify', '两端对齐'), 'None', '无'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Alignment', '对齐'), 'Next', '下一个'), 'Previous', '上一个'), 'Advanced Options', '高级选项'), 'Close', '关闭'), 'Ordered List', '编号'), 'Unordered List', '项目符号'), 'Decrease Indent', '减少缩进量'), 'Increase Indent', '增加缩进量'), 'Insert Link', '插入超链接'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Open in new tab', '在新标签页中打开'), 'Open Link', '打开超链接'), 'Edit Link', '编辑超链接'), 'Unlink', '删除超链接'), 'Choose Link', '选择超链接'), 'Insert Image', '插入图片'), 'Upload Image', '上传图片'), 'By URL', '通过 URL'), 'Browse', '浏览'), 'Drop image', '拖入图片'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'or click', '或点击'), 'Manage Images', '管理图片'), 'Loading', '加载中'), 'Deleting', '删除中'), 'Tags', '标签'), 'Are you sure? Image will be deleted.', '图片将会被删除,是否确认?'), 'Replace', '替换'), 'Uploading', '上传中'), 'Loading image', '图片加载中'), 'Display', '显示'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Inline', '嵌入型'), 'Break Text', '上下型环绕'), 'Alternative Text', '替换文字'), 'Change Size', '改变大小'), 'Width', '宽度'), 'Height', '高度'), 'Something went wrong. Please try again.', '发生错误,请重试。'), 'Image Caption', '图片标题'), 'Advanced Edit', '高级编辑'), 'Insert Video', '插入视频'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Embedded Code', '嵌入代码'), 'Paste in a video URL', '粘贴视频网址'), 'Drop video', '拖入视频'), 'Your browser does not support HTML5 video.', '您的浏览器不支持 HTML5 视频。'), 'Upload Video', '上传视频'), 'Insert Table', '插入表格'), 'Table Header', '表头'), 'Remove Table', '删除表格'), 'Table Style', '表格样式'), 'Horizontal Align', '水平对齐方式'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Row', '行'), 'Insert row above', '在上方插入'), 'Insert row below', '在下方插入'), 'Delete row', '删除行'), 'Column', '列'), 'Insert column before', '在左侧插入'), 'Insert column after', '在右侧插入'), 'Delete column', '删除列'), 'Cell', '单元格'), 'Merge cells', '合并单元格'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Horizontal split', '水平分割'), 'Vertical split', '垂直分割'), 'Cell Background', '单元格背景'), 'Vertical Align', '垂直对齐方式'), 'Top', '靠上'), 'Middle', '居中'), 'Bottom', '靠下'), 'Align Top', '靠上对齐'), 'Align Middle', '居中对齐'), 'Align Bottom', '靠下对齐'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Cell Style', '单元格样式'), 'Table Properties', '表格属性'), 'Cell Properties', '单元格属性'), 'Table Footer', '表尾'), 'Dimensions', '尺寸'), 'Custom background color input', '自定义背景颜色输入'), 'Background color picker', '背景颜色选择器'), 'Custom border color input', '自定义边框颜色输入'), 'Border color picker', '边框颜色选择器'), 'Border width', '边框宽度'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Border style', '边框样式'), 'Border color', '边框颜色'), 'Table width', '表格宽度'), 'Table height', '表格高度'), 'Left align', '左对齐'), 'Center align', '居中对齐'), 'Right align', '右对齐'), 'Upload File', '上传文件'), 'Drop file', '拖入文件'), 'Emoticons', '表情符号'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Grinning face', '露齿笑脸'), 'Grinning face with smiling eyes', '露齿笑到眯起眼'), 'Face with tears of joy', '笑哭'), 'Smiling face with open mouth', '张嘴微笑'), 'Smiling face with open mouth and smiling eyes', '眯眼张嘴微笑'), 'Smiling face with open mouth and cold sweat', '带冷汗的张嘴微笑'), 'Smiling face with open mouth and tightly-closed eyes', '紧闭双眼张嘴微笑'), 'Smiling face with halo', '带光环微笑'), 'Smiling face with horns', '带牛角的微笑'), 'Winking face', '眨眼'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Smiling face with smiling eyes', '眯眼微笑'), 'Face savoring delicious food', '馋'), 'Relieved face', '如释重负'), 'Smiling face with heart-shaped eyes', '桃心眼微笑'), 'Smiling face with sunglasses', '戴太阳镜微笑'), 'Smirking face', '得意地笑'), 'Neutral face', '中性脸'), 'Expressionless face', '面无表情'), 'Unamused face', '不高兴'), 'Face with cold sweat', '冷汗'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Pensive face', '沉思'), 'Confused face', '迷惑'), 'Confounded face', '困惑'), 'Kissing face', '嘴巴嘟嘟'), 'Face throwing a kiss', '飞吻'), 'Kissing face with smiling eyes', '眯眼接吻'), 'Kissing face with closed eyes', '闭眼接吻'), 'Face with stuck out tongue', '吐舌'), 'Face with stuck out tongue and winking eye', '眨眼吐舌'), 'Face with stuck out tongue and tightly-closed eyes', '眯眼吐舌'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Disappointed face', '失望'), 'Worried face', '担心'), 'Angry face', '生气'), 'Pouting face', '撅嘴'), 'Crying face', '大哭'), 'Persevering face', '坚强'), 'Face with look of triumph', '扬眉吐气'), 'Disappointed but relieved face', '失望'), 'Frowning face with open mouth', '皱眉'), 'Anguished face', '痛苦'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Fearful face', '害怕'), 'Weary face', '疲惫'), 'Sleepy face', '困了'), 'Tired face', '累了'), 'Grimacing face', '扭曲脸'), 'Loudly crying face', '大哭'), 'Face with open mouth', '张开嘴'), 'Hushed face', '安静'), 'Face with open mouth and cold sweat', '冷汗'), 'Face screaming in fear', '害怕尖叫'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Astonished face', '惊讶'), 'Flushed face', '脸红'), 'Sleeping face', '熟睡'), 'Dizzy face', '眩晕'), 'Face without mouth', '没有嘴的脸'), 'Face with medical mask', '口罩脸'), 'Break', '换行'), 'Subscript', '下标'), 'Superscript', '上标'), 'Fullscreen', '全屏'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Insert Horizontal Line', '插入水平线'), 'Clear Formatting', '清除格式'), 'Save', '保存'), 'Ok', '确定'), 'Undo', '撤消'), 'Redo', '恢复'), 'Select All', '全选'), 'Code View', '代码视图'), 'Quote', '引用'), 'Increase', '增加引用级别'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Decrease', '减少引用级别'), 'Quick Insert', '快速插入'), 'Special Characters', '特殊字符'), 'Latin', '拉丁字母'), 'Greek', '希腊字母'), 'Cyrillic', '西里尔字母'), 'Punctuation', '标点'), 'Currency', '货币'), 'Arrows', '箭头'), 'Math', '数学'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Misc', '杂项'), 'Print', '打印'), 'Spell Checker', '拼写检查器'), 'Help', '帮助'), 'Shortcuts', '快捷键'), 'Inline Editor', '内联编辑器'), 'Show the editor', '显示编辑器'), 'Common actions', '常用操作'), 'Copy', '复制'), 'Cut', '剪切'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Paste', '粘贴'), 'Basic Formatting', '基本格式'), 'Increase quote level', '增加引用级别'), 'Decrease quote level', '减少引用级别'), 'Image / Video', '图像/视频'), 'Resize larger', '放大'), 'Resize smaller', '缩小'), 'Table', '表格'), 'Select table cell', '选择单元格'), 'Extend selection one cell', '增加选中的单元格'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Extend selection one row', '增加选中的行'), 'Navigation', '导航'), 'Focus popup / toolbar', '焦点弹出/工具栏'), 'Return focus to previous position', '将焦点返回到上一个位置'), 'Embed URL', '嵌入网址'), 'Paste in a URL to embed', '粘贴要嵌入的网址'), 'The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?', '粘贴的内容来自微软 Word 文档。你想保留还是清除格式?'), 'Keep', '保留'), 'Clean', '清除'), 'Word Paste Detected', '检测到粘贴自 Word 的内容'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Characters', '字数统计'), 'Find and Replace', '查找和替换'), 'Find', '查找'), 'Replace with', '替换为'), 'Replace All', '全部替换'), "Advanced Options", '高级选项'), 'Match case', '区分大小写'), 'Whole words only', '仅整个单词'), 'More Text', ' 更多文字'), 'More Paragraph', '更多段落'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'More Rich', '更多丰富'), 'More Misc', '更多杂项'), 'Rounded', '圆角'), 'Bordered', '边框'), 'Shadow', '阴影'), 'Download PDF', '下载PDF'), 'Text Color', '字体颜色'), 'Background Color', '背景颜色'), 'Inline Class', '内联类'), 'Highlighted', '高亮'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Transparent', '透明'), 'Big Red', '大号红'), 'Small Blue', '小号蓝'), 'Default', '默认'), 'Lower Alpha', 'a,b,c...'), 'Lower Greek', 'α,β,γ...'), 'Lower Roman', 'i,ii,iii...'), 'Upper Alpha', 'A,B,C...'), 'Upper Roman', 'Ⅰ,Ⅱ,Ⅲ...'), 'Circle', '○ 空心圆'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Disc', '● 实心圆'), 'Square', '■ 实心方块'), 'Gray', '灰色'), 'Spaced', '字母间隙'), 'Uppercase', '大写'), 'Line Height', '行高'), 'Single', '1'), 'Double', '2'), 'Border', '边框'), 'Select Table', '选择表格'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Drag Table', '拖动表格'), 'Select PageBreak', '选择分页符'), 'Drag PageBreak', '拖动分页符'), 'Page Break', '分页符'), 'Insert Anchor', '插入锚点'), 'There are no entries matching', '没有匹配的条目'), 'Update Anchor', '更新锚点'), 'Edit Anchor', '编辑锚点'), 'Anchor Name', '锚点名称'), 'Anchor Link', '锚点链接'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_translation, 'Scroll to target', '滚动到目标'), 'Enter the anchor name without space', '请输入不含空格的锚点名称'), 'Anchor name already exists.', '锚点名称已存在。'), 'Export to Word', '导出为 Word')),
300
65
  direction: 'ltr'
301
66
  };
302
67
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -24,6 +24,7 @@
24
24
  'Italic': '斜體',
25
25
  'Underline': '下劃線',
26
26
  'Strikethrough': '刪除線',
27
+ 'Size': '大小',
27
28
  // Main buttons
28
29
  'Insert': '插入',
29
30
  'Delete': '刪除',
@@ -39,6 +40,7 @@
39
40
  'Font Size': "\u5B57\u578B\u5927\u5C0F",
40
41
  // Colors
41
42
  'Colors': '顏色',
43
+ 'Color': '顏色',
42
44
  'Background': '背景',
43
45
  'Text': '文字',
44
46
  'HEX Color': '十六進制顏色',
@@ -53,6 +55,7 @@
53
55
  // Style
54
56
  'Paragraph Style': '段落樣式',
55
57
  'Inline Style': '內聯樣式',
58
+ 'Padding': '內邊距',
56
59
  // Alignment
57
60
  'Align': '对齐',
58
61
  'Align Left': '左對齊',
@@ -60,6 +63,11 @@
60
63
  'Align Right': "\u7F6E\u53F3\u5C0D\u9F4A",
61
64
  'Align Justify': '兩端對齊',
62
65
  'None': '没有',
66
+ 'Alignment': '對齊',
67
+ 'Next': '下一個',
68
+ 'Previous': '上一個',
69
+ 'Advanced Options': '進階選項',
70
+ 'Close': '關閉',
63
71
  // Lists
64
72
  'Ordered List': '有序列表',
65
73
  'Unordered List': '无序列表',
@@ -132,6 +140,22 @@
132
140
  'Align Middle': "\u4E2D\u9593\u5C0D\u9F4A",
133
141
  'Align Bottom': '靠下對齊',
134
142
  'Cell Style': '單元格樣式',
143
+ 'Table Properties': '表格屬性',
144
+ 'Cell Properties': '單元格屬性',
145
+ 'Table Footer': '表尾',
146
+ 'Dimensions': '尺寸',
147
+ 'Custom background color input': '自訂背景顏色輸入',
148
+ 'Background color picker': '背景顏色選擇器',
149
+ 'Custom border color input': '自訂邊框顏色輸入',
150
+ 'Border color picker': '邊框顏色選擇器',
151
+ 'Border width': '邊框寬度',
152
+ 'Border style': '邊框樣式',
153
+ 'Border color': '邊框顏色',
154
+ 'Table width': '表格寬度',
155
+ 'Table height': '表格高度',
156
+ 'Left align': '靠左對齊',
157
+ 'Center align': '置中對齊',
158
+ 'Right align': '靠右對齊',
135
159
  // Files
136
160
  'Upload File': '上傳文件',
137
161
  'Drop file': '拖入文件',
@@ -206,6 +230,7 @@
206
230
  'Clear Formatting': '清除格式',
207
231
  // Save
208
232
  'Save': '保存',
233
+ 'Ok': '確定',
209
234
  // Undo, redo
210
235
  'Undo': '撤消',
211
236
  'Redo': '重做',
@@ -265,11 +290,37 @@
265
290
  'Word Paste Detected': '檢測到貼上自 Word 的內容',
266
291
  // Character Counter
267
292
  'Characters': '人物',
293
+ // Find and Replace
294
+ 'Find and Replace': '尋找和取代',
295
+ 'Find': '尋找',
296
+ 'Replace with': '取代為',
297
+ 'Replace All': '全部取代',
298
+ 'Match case': '區分大小寫',
299
+ 'Whole words only': '僅完整單詞',
268
300
  // More Buttons
269
301
  'More Text': '更多文字',
270
302
  'More Paragraph': '更多段落',
271
303
  'More Rich': '更多豐富',
272
- 'More Misc': '更多雜項'
304
+ 'More Misc': '更多雜項',
305
+ 'Border': '邊框',
306
+ // selector icon
307
+ 'Select Table': '選擇表格',
308
+ 'Drag Table': '拖曳表格',
309
+ 'Select PageBreak': '選擇分頁符號',
310
+ 'Drag PageBreak': '拖曳分頁符號',
311
+ 'Page Break': '分頁符號',
312
+ //Link to anchor
313
+ 'Insert Anchor': '插入錨點',
314
+ 'There are no entries matching': '沒有匹配的項目',
315
+ 'Update Anchor': '更新錨點',
316
+ 'Edit Anchor': '編輯錨點',
317
+ 'Anchor Name': '錨點名稱',
318
+ 'Anchor Link': '錨點連結',
319
+ 'Scroll to target': '捲動至目標',
320
+ 'Enter the anchor name without space': '請輸入不含空格的錨點名稱',
321
+ 'Anchor name already exists.': '錨點名稱已存在。',
322
+ // Export to Word
323
+ 'Export to Word': '匯出至 Word'
273
324
  },
274
325
  direction: 'ltr'
275
326
  };
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
6
6
 
7
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(i){"use strict";(i=i&&i.hasOwnProperty("default")?i["default"]:i).PLUGINS.align=function(y){var v=y.$;return{apply:function b(n){var e,t,i=y.selection.ranges(0),l=i.commonAncestorContainer,a=l.nodeType===Node.TEXT_NODE?y.selection.element():l,r=v(a).closest(".fr-table-selected"),o=v(a).parents("TD, TH"),s=!y.selection.isCollapsed(),c="TD"===a.tagName||"TH"===a.tagName,g=s&&c,f=g&&(null===(e=a.textContent)||void 0===e?void 0:e.trim())===(null===(t=i.toString())||void 0===t?void 0:t.trim()),h=y.table.selectedCells(),u=c||0<h.length||o.length&&y.el.contains(o.get(0))&&"BR"===a.tagName;if(v(a).parents(".fr-img-caption").length)v(a).css("text-align",n);else if(r.length&&y.el.contains(r[0]))r.find("td").css("text-align",n);else if(u&&!g||f)if(h.length)h.forEach(function(e){var t=v(e);t.css("text-align",n),t.children().css("text-align","")});else{var p=["TD","TH"].includes(a.tagName)?v(a):o;p.css("text-align",n),p.children().css("text-align","")}else{y.selection.save(),h.length||y.html.wrap(!0,!0,!0,!0),y.selection.restore();for(var d=y.selection.blocks(),m=0;m<d.length;m++)v(d[m]).css("text-align",n).removeClass("fr-temp-div"),""===v(d[m]).attr("class")&&v(d[m]).removeAttr("class"),""===v(d[m]).attr("style")&&v(d[m]).removeAttr("style");y.selection.save(),y.html.unwrap(),y.selection.restore()}},refresh:function i(e){var t=y.selection.blocks();if(t.length){var n=y.helpers.getAlignment(v(t[0]));e.find("> *").first().replaceWith(y.icon.create("align-".concat(n)))}},refreshOnShow:function l(e,t){var n=y.selection.blocks();if(n.length){var i=y.helpers.getAlignment(v(n[0]));t.find('a.fr-command[data-param1="'.concat(i,'"]')).addClass("fr-active").attr("aria-selected",!0)}},refreshForToolbar:function a(e){var t=y.selection.blocks();if(t.length){var n=y.helpers.getAlignment(v(t[0]));n=n.charAt(0).toUpperCase()+n.slice(1),"align".concat(n)===e.attr("data-cmd")&&e.addClass("fr-active")}}}},i.DefineIcon("align",{NAME:"align-left",SVG_KEY:"alignLeft"}),i.DefineIcon("align-left",{NAME:"align-left",SVG_KEY:"alignLeft"}),i.DefineIcon("align-right",{NAME:"align-right",SVG_KEY:"alignRight"}),i.DefineIcon("align-center",{NAME:"align-center",SVG_KEY:"alignCenter"}),i.DefineIcon("align-justify",{NAME:"align-justify",SVG_KEY:"alignJustify"}),i.RegisterCommand("align",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"Align Center",right:"Align Right",justify:"Align Justify"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=i.COMMANDS.align.options;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="align"data-param1="\n '.concat(n,'" title="').concat(this.language.translate(t[n]),'">').concat(this.icon.create("align-".concat(n)),'<span class="fr-sr-only">\n ').concat(this.language.translate(t[n]),"</span></a></li>"));return e+="</ul>"},callback:function(e,t){this.align.apply(t)},refresh:function(e){this.align.refresh(e)},refreshOnShow:function(e,t){this.align.refreshOnShow(e,t)},plugin:"align"}),i.RegisterCommand("alignLeft",{type:"button",icon:"align-left",title:"Align Left",callback:function(){this.align.apply("left")},refresh:function(e){this.align.refreshForToolbar(e)},plugin:"align"}),i.RegisterCommand("alignRight",{type:"button",icon:"align-right",title:"Align Right",callback:function(){this.align.apply("right")},refresh:function(e){this.align.refreshForToolbar(e)},plugin:"align"}),i.RegisterCommand("alignCenter",{type:"button",icon:"align-center",title:"Align Center",callback:function(){this.align.apply("center")},refresh:function(e){this.align.refreshForToolbar(e)},plugin:"align"}),i.RegisterCommand("alignJustify",{type:"button",icon:"align-justify",title:"Align Justify",callback:function(){this.align.apply("justify")},refresh:function(e){this.align.refreshForToolbar(e)},plugin:"align"})});
7
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(i){"use strict";(i=i&&i.hasOwnProperty("default")?i["default"]:i).PLUGINS.align=function(y){var v=y.$;return{apply:function b(n){var e,t,i=y.selection.ranges(0),l=i.commonAncestorContainer,a=l.nodeType===Node.TEXT_NODE?y.selection.element():l,r=v(a).closest("table.fr-selection-handle-selected"),o=v(a).parents("TD, TH"),s=!y.selection.isCollapsed(),c="TD"===a.tagName||"TH"===a.tagName,g=s&&c,f=g&&(null===(e=a.textContent)||void 0===e?void 0:e.trim())===(null===(t=i.toString())||void 0===t?void 0:t.trim()),h=y.table.selectedCells(),u=c||0<h.length||o.length&&y.el.contains(o.get(0))&&"BR"===a.tagName;if(v(a).parents(".fr-img-caption").length)v(a).css("text-align",n);else if(r.length&&y.el.contains(r[0]))r.find("td").css("text-align",n);else if(u&&!g||f)if(h.length)h.forEach(function(e){var t=v(e);t.css("text-align",n),t.children().css("text-align","")});else{var d=["TD","TH"].includes(a.tagName)?v(a):o;d.css("text-align",n),d.children().css("text-align","")}else{y.selection.save(),h.length||y.html.wrap(!0,!0,!0,!0),y.selection.restore();for(var p=y.selection.blocks(),m=0;m<p.length;m++)v(p[m]).css("text-align",n).removeClass("fr-temp-div"),""===v(p[m]).attr("class")&&v(p[m]).removeAttr("class"),""===v(p[m]).attr("style")&&v(p[m]).removeAttr("style");y.selection.save(),y.html.unwrap(),y.selection.restore()}},refresh:function i(e){var t=y.selection.blocks();if(t.length){var n=y.helpers.getAlignment(v(t[0]));e.find("> *").first().replaceWith(y.icon.create("align-".concat(n)))}},refreshOnShow:function l(e,t){var n=y.selection.blocks();if(n.length){var i=y.helpers.getAlignment(v(n[0]));t.find('a.fr-command[data-param1="'.concat(i,'"]')).addClass("fr-active").attr("aria-selected",!0)}},refreshForToolbar:function a(e){var t=y.selection.blocks();if(t.length){var n=y.helpers.getAlignment(v(t[0]));n=n.charAt(0).toUpperCase()+n.slice(1),"align".concat(n)===e.attr("data-cmd")&&e.addClass("fr-active")}}}},i.DefineIcon("align",{NAME:"align-left",SVG_KEY:"alignLeft"}),i.DefineIcon("align-left",{NAME:"align-left",SVG_KEY:"alignLeft"}),i.DefineIcon("align-right",{NAME:"align-right",SVG_KEY:"alignRight"}),i.DefineIcon("align-center",{NAME:"align-center",SVG_KEY:"alignCenter"}),i.DefineIcon("align-justify",{NAME:"align-justify",SVG_KEY:"alignJustify"}),i.RegisterCommand("align",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"Align Center",right:"Align Right",justify:"Align Justify"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=i.COMMANDS.align.options;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="align"data-param1="\n '.concat(n,'" title="').concat(this.language.translate(t[n]),'">').concat(this.icon.create("align-".concat(n)),'<span class="fr-sr-only">\n ').concat(this.language.translate(t[n]),"</span></a></li>"));return e+="</ul>"},callback:function(e,t){this.align.apply(t)},refresh:function(e){this.align.refresh(e)},refreshOnShow:function(e,t){this.align.refreshOnShow(e,t)},plugin:"align"}),i.RegisterCommand("alignLeft",{type:"button",icon:"align-left",title:"Align Left",callback:function(){this.align.apply("left")},refresh:function(e){this.align.refreshForToolbar(e)},plugin:"align"}),i.RegisterCommand("alignRight",{type:"button",icon:"align-right",title:"Align Right",callback:function(){this.align.apply("right")},refresh:function(e){this.align.refreshForToolbar(e)},plugin:"align"}),i.RegisterCommand("alignCenter",{type:"button",icon:"align-center",title:"Align Center",callback:function(){this.align.apply("center")},refresh:function(e){this.align.refreshForToolbar(e)},plugin:"align"}),i.RegisterCommand("alignJustify",{type:"button",icon:"align-justify",title:"Align Justify",callback:function(){this.align.apply("justify")},refresh:function(e){this.align.refreshForToolbar(e)},plugin:"align"})});
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
6
6
 
7
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(d){"use strict";d=d&&d.hasOwnProperty("default")?d["default"]:d,Object.assign(d.DEFAULTS,{charCounterMax:-1,charCounterCount:!0}),d.PLUGINS.charCounter=function(s){var n,r=s.$,u=function u(){return(s.opts.iframe&&s.markdown&&s.markdown.isEnabled()?s.$el.text()||"":s.el.textContent||"").replace(/\u200B/g,"").length};function e(e){var t=s.opts.charCounterMax;if(t<0)return!0;var n=u();if("keydown"===e.type){if(n<t)return!0;var r=e.which;if(!s.keys.ctrlKey(e)&&s.keys.isCharacter(r)||r===d.KEYCODE.IME)return e.preventDefault(),e.stopPropagation(),s.events.trigger("charCounter.exceeded"),!1}var o=e.originalEvent&&e.originalEvent.inputType||"";if(/delete|historyUndo|historyRedo/.test(o))return!0;if("beforeinput"===e.type){var a=e.data||e.originalEvent&&e.originalEvent.data||e.originalEvent&&e.originalEvent.dataTransfer&&e.originalEvent.dataTransfer.getData("text")||"",i=n-s.win.getSelection().toString().length+a.length;if(t-n<=0||t<i)return e.preventDefault(),e.stopPropagation(),s.events.trigger("charCounter.exceeded"),!1}return"input"===e.type&&t<n&&(s.selection.save(),function c(e,t){var n,r="",o=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),a=!0;for(;(n=o.nextNode())&&r.length<t;){var i=t-r.length;if(n.textContent.length>i){n.textContent=n.textContent.slice(0,i),a=!1;break}r+=n.textContent}a&&(n=o.previousNode());for(;n=o.nextNode();)n.textContent=""}(s.el,t),s.selection.restore()),!0}function t(e){return s.opts.charCounterMax<0?e:r("<div>").html(e).text().length+u()<=s.opts.charCounterMax?e:(s.events.trigger("charCounter.exceeded"),"")}function o(e,t,n){return s.opts.charCounterMax<0||(e.includes('<span class="fr-emoticon')||e.includes('<i class="fa ')?!(u()>=s.opts.charCounterMax)||(s.events.trigger("charCounter.exceeded"),!1):r("<div>").html(e).text().length+u()<=s.opts.charCounterMax||(s.events.trigger("charCounter.exceeded"),!1))}function a(){if(s.opts.charCounterCount){var e=u()+(0<s.opts.charCounterMax?"/"+s.opts.charCounterMax:"");n.text("".concat(s.language.translate("Characters")," : ").concat(e)),s.opts.toolbarBottom&&n.css("margin-bottom",s.$tb.outerHeight(!0));var t=s.$wp.get(0).offsetWidth-s.$wp.get(0).clientWidth;0<=t&&("rtl"==s.opts.direction?n.css("margin-left",t):n.css("margin-right",t))}}return{_init:function i(){return!!s.$wp&&!!s.opts.charCounterCount&&((n=r(document.createElement("span")).attr("class","fr-counter")).css("bottom",s.$wp.css("border-bottom-width")),s.$second_tb?s.$second_tb.append(n):s.$wp.append(n),s.events.on("keydown beforeinput input",e,!0),s.events.on("paste.afterCleanup",t),s.events.on("keyup contentChanged input",function(){s.events.trigger("charCounter.update")}),s.events.on("html.beforeInsert",o),s.events.on("charCounter.update",a),s.events.trigger("charCounter.update"),void s.events.on("destroy",function(){r(s.o_win).off("resize.char".concat(s.id)),n.removeData().remove(),n=null}))},count:u}}});
7
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(d){"use strict";d=d&&d.hasOwnProperty("default")?d["default"]:d,Object.assign(d.DEFAULTS,{charCounterMax:-1,charCounterCount:!0}),d.PLUGINS.charCounter=function(s){var n,r=s.$,u=function u(){var e=s.opts.iframe&&s.markdown&&s.markdown.isEnabled()?s.$el.text()||"":s.el.textContent||"",t=s.$el.find(".fr-page-break"),n=(t.text()||"").length;return e.replace(/\u200B/g,"").length-n*t.length};function e(e){var t=s.opts.charCounterMax;if(t<0)return!0;var n=u();if("keydown"===e.type){if(n<t)return!0;var r=e.which;if(!s.keys.ctrlKey(e)&&s.keys.isCharacter(r)||r===d.KEYCODE.IME)return e.preventDefault(),e.stopPropagation(),s.events.trigger("charCounter.exceeded"),!1}var o=e.originalEvent&&e.originalEvent.inputType||"";if(/delete|historyUndo|historyRedo/.test(o))return!0;if("beforeinput"===e.type){var a=e.data||e.originalEvent&&e.originalEvent.data||e.originalEvent&&e.originalEvent.dataTransfer&&e.originalEvent.dataTransfer.getData("text")||"",i=n-s.win.getSelection().toString().length+a.length;if(t-n<=0||t<i)return e.preventDefault(),e.stopPropagation(),s.events.trigger("charCounter.exceeded"),!1}return"input"===e.type&&t<n&&(s.selection.save(),function c(e,t){var n,r="",o=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),a=!0;for(;(n=o.nextNode())&&r.length<t;){var i=t-r.length;if(n.textContent.length>i){n.textContent=n.textContent.slice(0,i),a=!1;break}r+=n.textContent}a&&(n=o.previousNode());for(;n=o.nextNode();)n.textContent=""}(s.el,t),s.selection.restore()),!0}function t(e){return s.opts.charCounterMax<0?e:r("<div>").html(e).text().length+u()<=s.opts.charCounterMax?e:(s.events.trigger("charCounter.exceeded"),"")}function o(e,t,n){return s.opts.charCounterMax<0||(e.includes('<span class="fr-emoticon')||e.includes('<i class="fa ')?!(u()>=s.opts.charCounterMax)||(s.events.trigger("charCounter.exceeded"),!1):r("<div>").html(e).text().length+u()<=s.opts.charCounterMax||(s.events.trigger("charCounter.exceeded"),!1))}function a(){if(s.opts.charCounterCount){var e=u()+(0<s.opts.charCounterMax?"/"+s.opts.charCounterMax:"");n.text("".concat(s.language.translate("Characters")," : ").concat(e)),s.opts.toolbarBottom&&n.css("margin-bottom",s.$tb.outerHeight(!0));var t=s.$wp.get(0).offsetWidth-s.$wp.get(0).clientWidth;0<=t&&("rtl"==s.opts.direction?n.css("margin-left",t):n.css("margin-right",t))}}return{_init:function i(){return!!s.$wp&&!!s.opts.charCounterCount&&((n=r(document.createElement("span")).attr("class","fr-counter")).css("bottom",s.$wp.css("border-bottom-width")),s.$second_tb?s.$second_tb.append(n):s.$wp.append(n),s.events.on("keydown beforeinput input",e,!0),s.events.on("paste.afterCleanup",t),s.events.on("keyup contentChanged input",function(){s.events.trigger("charCounter.update")}),s.events.on("html.beforeInsert",o),s.events.on("charCounter.update",a),s.events.trigger("charCounter.update"),void s.events.on("destroy",function(){r(s.o_win).off("resize.char".concat(s.id)),n.removeData().remove(),n=null}))},count:u}}});
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
3
  * License https://froala.com/wysiwyg-editor/terms/
4
4
  * Copyright 2014-2025 Froala Labs
5
5
  */
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * froala_editor v4.7.0 (https://www.froala.com/wysiwyg-editor)
3
+ * License https://froala.com/wysiwyg-editor/terms/
4
+ * Copyright 2014-2025 Froala Labs
5
+ */
6
+
7
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(e){"use strict";function c(e,t,r,n,o,i,l){try{var a=e[i](l),c=a.value}catch(e){return void r(e)}a.done?t(c):Promise.resolve(c).then(n,o)}function o(a){return function(){var e=this,l=arguments;return new Promise(function(t,r){var n=a.apply(e,l);function o(e){c(n,t,r,o,i,"next",e)}function i(e){c(n,t,r,o,i,"throw",e)}o(void 0)})}}function T(){var h,g,e="function"==typeof Symbol?Symbol:{},t=e.iterator||"@@iterator",r=e.toStringTag||"@@toStringTag";function n(e,t,r,f){var n=t&&t.prototype instanceof i?t:i,o=Object.create(n.prototype);return u(o,"_invoke",function(n,o,e){var i,l,a,c=0,s=f||[],u=!1,p={p:0,n:0,v:h,a:d,f:d.bind(h,4),d:function(e,t){return i=e,l=0,a=h,p.n=t,m}};function d(e,t){for(l=e,a=t,g=0;!u&&c&&!r&&g<s.length;g++){var r,n=s[g],o=p.p,i=n[2];3<e?(r=i===t)&&(a=n[(l=n[4])?5:(l=3,3)],n[4]=n[5]=h):n[0]<=o&&((r=e<2&&o<n[1])?(l=0,p.v=t,p.n=n[1]):o<i&&(r=e<3||n[0]>t||i<t)&&(n[4]=e,n[5]=t,p.n=i,l=0))}if(r||1<e)return m;throw u=!0,t}return function(e,t,r){if(1<c)throw TypeError("Generator is already running");for(u&&1===t&&d(t,r),l=t,a=r;(g=l<2?h:a)||!u;){i||(l?l<3?(1<l&&(p.n=-1),d(l,a)):p.n=a:p.v=a);try{if(c=2,i){if(l||(e="next"),g=i[e]){if(!(g=g.call(i,a)))throw TypeError("iterator result is not an object");if(!g.done)return g;a=g.value,l<2&&(l=0)}else 1===l&&(g=i["return"])&&g.call(i),l<2&&(a=TypeError("The iterator does not provide a '"+e+"' method"),l=1);i=h}else if((g=(u=p.n<0)?a:n.call(o,p))!==m)break}catch(g){i=h,l=1,a=g}finally{c=1}}return{value:g,done:u}}}(e,r),!0),o}var m={};function i(){}function o(){}function l(){}g=Object.getPrototypeOf;var a=[][t]?g(g([][t]())):(u(g={},t,function(){return this}),g),c=l.prototype=i.prototype=Object.create(a);function s(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,u(e,r,"GeneratorFunction")),e.prototype=Object.create(c),e}return u(c,"constructor",o.prototype=l),u(l,"constructor",o),u(l,r,o.displayName="GeneratorFunction"),u(c),u(c,r,"Generator"),u(c,t,function(){return this}),u(c,"toString",function(){return"[object Generator]"}),(T=function(){return{w:n,m:s}})()}function u(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}(u=function(e,t,r,n){function o(t,r){u(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(o("next",0),o("throw",1),o("return",2))})(e,t,r,n)}function a(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(typeof e+" is not iterable")}e=e&&e.hasOwnProperty("default")?e["default"]:e,Object.assign(e.POPUP_TEMPLATES,{"wordExport.error":"[_EXPORT_LAYER_]"}),Object.assign(e.DEFAULTS,{wordExportFileName:"froala_editor"}),e.PLUGINS.exportToWord=function(d){var p=d.$,f="";function h(e){var t="<div style='text-align:right;' class='fr-buttons'>\n <button class='fr-trim-button fr-plugins-ok'>".concat(d.language.translate("OK"),"</button> \n </div>"),r={export_layer:"<div style= 'padding:10px'>\n <div class = 'fr-message fr-error-message'><h3 style ='font-size: 16px; margin: 10px 10px;font-weight: normal;'>".concat(d.language.translate(e),"</h3></div>\n ").concat(t,"\n ")},n=d.popups.create("wordExport.error",r);d.popups.setContainer("wordExport.error",d.$tb);var o=n.find(".fr-plugins-ok")[0];return o&&o.addEventListener("click",function(e){d.popups.hide("wordExport.error"),e.preventDefault()}),n}function g(e,t){var r=new RegExp("\\b".concat(t,"\\s*:\\s*([^;]+)"),"i").exec(e);return r?r[1].trim():""}function m(e,t){var r=g(e,"border");if(r)return r;var n=g(e,"border-width")||t.width,o=g(e,"border-style")||t.style,i=g(e,"border-color")||t.color;return"".concat(n," ").concat(o," ").concat(i)}function i(e){return t.apply(this,arguments)}function t(){return(t=o(T().m(function e(t){var r,S,H,n,o,i,l,k;return T().w(function(e){for(;;)switch(e.n){case 0:for((r=document.createElement("div")).innerHTML=t,S=r.querySelectorAll("img"),H=d.el.querySelectorAll("img"),n=0;n<S.length;n++)o=S[n],(i=o.parentElement).classList.contains("fr-img-wrap")&&(o=i.parentElement,i=o.parentElement),i&&"SPAN"===i.tagName&&!i.classList.contains("fr-marker")&&(i.parentNode.insertBefore(o,i),0!==i.childNodes.length&&""!==i.textContent.trim()||i.remove());l=T().m(function L(){var t,r,n,o,i,l,a,c,s,u,p,d,f,h,g,m,b,y,v,w,x,A,E,C;return T().w(function(e){for(;;)switch(e.p=e.n){case 0:if(t=S[k],r=H[k],!(n=t.getAttribute("src"))||n.startsWith("data:"))return e.a(2,1);e.n=1;break;case 1:return r=r.closest("span.fr-img-caption")?r.closest("span.fr-img-caption"):r,o=r?window.getComputedStyle(r):{},i=o["float"]||"",l=o.height||t.getAttribute("height")||"100px",a=o.width||t.getAttribute("width")||"100px",c=o.marginLeft&&"0px"!==o.marginLeft?o.marginLeft:"",s=o.marginRight&&"0px"!==o.marginRight?o.marginRight:"",u="0px"===c||""==c?"left":"0px"===s||""===s?"right":"center",e.p=2,e.n=3,fetch(n).then(function(e){return e.blob()});case 3:return p=e.v,e.n=4,new Promise(function(e,t){var r=new FileReader;r.onloadend=function(){return e(r.result)},r.onerror=t,r.readAsDataURL(p)});case 4:d=e.v,(f=document.createElement("img")).setAttribute("src",d),f.setAttribute("width",parseInt(a)),f.setAttribute("height",parseInt(l)),f.style.display="block",h=t.closest("span.fr-img-caption")||null,g=null,h&&((g=document.createElement("table")).style.borderCollapse="collapse",g.style.margin="auto",g.classList.add("fr-img-caption"),m=document.createElement("tr"),(b=document.createElement("td")).style.textAlign="center",b.appendChild(f),m.appendChild(b),g.appendChild(m),y=document.createElement("tr"),(v=document.createElement("td")).style.textAlign="center",v.style.width=a+"px",w=h.querySelector("span.fr-inner"),x=w.cloneNode(!0),v.appendChild(x),y.appendChild(v),g.appendChild(y)),(A=h?g:f).style.display="inline-block","left"===i||"right"===i?(A.setAttribute("align",i),h?h.replaceWith(A):(A.style.margin="0 0 1em 1em",(E=document.createElement("p")).setAttribute("align",i),E.style.display="inline-block",E.appendChild(A),t.replaceWith(E))):"none"===i&&("5px"===c||"5px"===s?(A.setAttribute("align",u),A.style.textAlign=u,h?h.replaceWith(A):t.replaceWith(A)):((C=document.createElement("div")).setAttribute("align",u),C.style.textAlign=u,C.appendChild(A),h?h.replaceWith(C):t.replaceWith(C))),e.n=6;break;case 5:e.p=5,e.v;case 6:return e.a(2)}},L,null,[[2,5]])}),k=0;case 1:if(k<S.length)return e.d(a(l()),2);e.n=4;break;case 2:if(e.v)return e.a(3,3);e.n=3;break;case 3:k++,e.n=1;break;case 4:return e.a(2,r.innerHTML)}},e)}))).apply(this,arguments)}function r(){return(r=o(T().m(function e(t){var r,n,o,i,l,a,c,s,u;return T().w(function(e){for(;;)switch(e.n){case 0:return r=d.$el.find(".fr-selected-cell"),n=d.$el.find(".fr-selection-handle-selected"),0<r.length&&r.each(function(){var e=p(this);e.removeClass("fr-selected-cell"),""===e.attr("class")&&e.removeAttr("class")}),0<n.length&&((o=p(this)).removeClass("fr-selection-handle-selected"),""===o.attr("class")&&o.removeAttr("class")),d.popups.hideAll(),f=t||d.html.get(),e.n=1,d.events.trigger("word.beforeExport",[f]);case 1:if(!1===(f=e.v))return e.a(2,!1);e.n=2;break;case 2:d.popups.get("wordExport.error")||h(d.language.translate("Export libraries are missing.")),window.htmlDocx&&window.saveAs?(i=window.htmlDocx.asBlob(f),l=d.opts.wordExportFileName,window.saveAs(i,l+".docx")):(a=d.$tb.find('.fr-command[data-cmd="export_to_word"]'),c=d.button.getPosition(a),s=c.left,u=c.top,d.popups.show("wordExport.error",s,u,a.outerHeight(),!0)),d.events.trigger("word.afterExport",[f]);case 3:return e.a(2)}},e,this)}))).apply(this,arguments)}return d.events.on("word.beforeExport",function(){var t=o(T().m(function e(t){var r,n,o;return T().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,i(t);case 1:return r=e.v,(n=document.createElement("div")).innerHTML=r,n.querySelectorAll(".fr-emoticon").forEach(function(e){var t=(e.getAttribute("style")||"").match(/url\(["']?(.*?)["']?\)/);if(t&&t[1]){var r=document.createElement("img");r.src=t[1],r.alt="emoji",r.setAttribute("width","20"),r.setAttribute("height","20"),e.replaceWith(r)}}),n.querySelectorAll("table:not(.fr-img-caption)").forEach(function(e,t){e.setAttribute("border","1"),e.setAttribute("cellpadding","10"),e.setAttribute("cellspacing","0");var r,n,o,i=e.getAttribute("style")||"",c=d.el.querySelectorAll("table")[t];r=e,o="left",/\bfloat\s*:\s*right\b/i.test(n=i)?o="right":/\bmargin\s*:\s*auto\b/i.test(n)&&(o="center"),r.setAttribute("align",o);var l,s=window.getComputedStyle(c).border||"1px solid #DDD",u=(l=s.match(/^(\d+(?:\.\d+)?)/))?parseFloat(l[1]):1;e.style.borderCollapse=g(i,"border-collapse")||"collapse";var a=e.querySelectorAll("tr"),p=a.length;a.forEach(function(e,i){var t=e.querySelectorAll("td, th"),l=t.length,a=c?c.querySelectorAll("tr")[i]:null;e.style.backgroundColor=window.getComputedStyle(a).backgroundColor||"",t.forEach(function(e,t){var r=a?a.querySelectorAll("td, th")[t]:null,n=window.getComputedStyle(r)||"";e.style.padding="10px",e.style.height=e.style.height||"50px",e.setAttribute("valign","top"),e.style.verticalAlign="top",e.style.backgroundColor=n.backgroundColor;var o=m(e.getAttribute("style")||"",{width:"1px",style:"solid",color:"#DDD"});e.style.borderTop||(e.style.borderTop=o),e.style.borderBottom||(e.style.borderBottom=o),e.style.borderLeft||(e.style.borderLeft=o),e.style.borderRight||(e.style.borderRight=o),1<u&&(0===i&&(e.style.borderTop=s),i===p-1&&(e.style.borderBottom=s),0===t&&(e.style.borderLeft=s),t===l-1&&(e.style.borderRight=s)),e.style.borderStyle="none"!==n.borderStyle&&n.borderStyle?n.borderStyle:"solid"})})}),n.innerHTML=n.innerHTML.replace(/<strong>/g,'<span style="font-weight:bold;">').replace(/<\/strong>/g,"</span>").replace(/<em>/g,'<span style="font-style:italic;">').replace(/<\/em>/g,"</span>"),n.querySelectorAll('[data-title="PageBreak"]').forEach(function(e){var t=d.doc.createElement("span");t.innerHTML='<br clear=all style="mso-special-character:line-break;page-break-before:always">',e.replaceWith(t)}),o="\n <html xmlns:o='urn:schemas-microsoft-com:office:office'\n xmlns:w='urn:schemas-microsoft-com:office:word'\n xmlns='http://www.w3.org/TR/REC-html40'>\n <head><meta charset='utf-8'></head>\n <body>".concat(n.innerHTML,"</body>\n </html>"),e.a(2,o);case 2:return e.p=2,e.v,e.a(2,!1)}},e,null,[[0,2]])}));return function(e){return t.apply(this,arguments)}}()),{"export":function n(e){return r.apply(this,arguments)}}},e.DefineIcon("export_to_word",{template:"svgMultiplePath",PATHS:'\n <path d="M22.5247 17.7645L18.6914 21.5978L14.858 17.7645L16.1997 16.4228L17.733 17.9561V13.9551H19.6497V17.9561L21.183 16.4228L22.5247 17.7645Z" fill="#333333"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M9.06971 15.1051H2.62971C2.18513 15.1051 1.82471 14.7447 1.82471 14.3001V7.86008C1.82471 7.4155 2.18513 7.05508 2.62971 7.05508H9.06971C9.51429 7.05508 9.87471 7.4155 9.87471 7.86008V14.3001C9.87471 14.7447 9.51429 15.1051 9.06971 15.1051ZM4.50294 12.3628C4.49849 12.2917 4.48924 12.2085 4.47499 12.1129C4.46074 12.0176 4.44601 11.9408 4.43072 11.8829L3.74411 9.06758H2.83096L3.94451 13.0926H5.00877L5.715 10.4345C5.73029 10.3727 5.75058 10.2774 5.77579 10.1482C5.801 10.0191 5.81799 9.92188 5.82676 9.85639H5.83987C5.84641 9.91252 5.86338 10.0024 5.89076 10.1258C5.91814 10.2493 5.94277 10.3493 5.96468 10.4261L6.71689 13.0926H7.76482L8.86846 9.06758H7.97174L7.34101 11.8519C7.2972 12.0428 7.26984 12.2112 7.25888 12.3572H7.24577C7.21953 12.1457 7.18669 11.9718 7.14723 11.8352L6.35886 9.06758H5.37341L4.61139 11.8773C4.59384 11.9428 4.57571 12.0232 4.55712 12.1186C4.53853 12.2141 4.52596 12.2954 4.51937 12.3628H4.50294Z" fill="#333333"/>\n <path d="M5.27471 5.90508V4.37174C5.27471 3.84466 5.46238 3.39345 5.83773 3.0181C6.21307 2.64275 6.66429 2.45508 7.19137 2.45508H13.8997L19.6497 8.20508V11.104H17.733V9.16341H12.9414V4.37174H7.19137V5.90508H5.27471Z" fill="#333333"/>\n <path d="M5.83773 19.1421C6.21307 19.5174 6.66429 19.7051 7.19137 19.7051H12.9414V17.7884H7.19137V16.2551H5.27471V17.7884C5.27471 18.3155 5.46238 18.7667 5.83773 19.1421Z" fill="#333333"/>\n '}),e.RegisterCommand("export_to_word",{title:"Export to Word",focus:!1,undo:!1,refreshAfterCallback:!1,callback:function(){this.exportToWord["export"]()}})});