jodit 3.9.3 → 3.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/.idea/workspace.xml +306 -295
  2. package/CHANGELOG.MD +349 -119
  3. package/build/jodit.css +675 -538
  4. package/build/jodit.es2018.css +536 -436
  5. package/build/jodit.es2018.en.css +536 -436
  6. package/build/jodit.es2018.en.js +1529 -738
  7. package/build/jodit.es2018.en.min.css +1 -1
  8. package/build/jodit.es2018.en.min.js +1 -1
  9. package/build/jodit.es2018.js +1533 -742
  10. package/build/jodit.es2018.min.css +1 -1
  11. package/build/jodit.es2018.min.js +1 -1
  12. package/build/jodit.js +2598 -1680
  13. package/build/jodit.min.css +2 -2
  14. package/build/jodit.min.js +1 -1
  15. package/index.d.ts +10 -0
  16. package/package.json +10 -10
  17. package/src/config.ts +19 -20
  18. package/src/core/component/component.ts +16 -15
  19. package/src/core/component/statuses.ts +6 -6
  20. package/src/core/dom.ts +16 -4
  21. package/src/core/events/event-emitter.ts +4 -2
  22. package/src/core/global.ts +13 -2
  23. package/src/core/helpers/append-script.ts +14 -0
  24. package/src/core/helpers/selector.ts +8 -3
  25. package/src/core/helpers/size/index.ts +1 -0
  26. package/src/core/helpers/size/object-size.ts +22 -0
  27. package/src/core/selection/select.ts +1 -0
  28. package/src/core/selection/style/api/{get-closest-wrapper.ts → extract.ts} +26 -43
  29. package/src/core/selection/style/api/finite-state-machine.ts +66 -0
  30. package/src/core/selection/style/api/index.ts +12 -5
  31. package/src/core/selection/style/api/{check-special-elements.ts → is-inside-invisible-element.ts} +1 -1
  32. package/src/core/selection/style/api/is-suit-element.ts +12 -1
  33. package/src/core/selection/style/api/toggle/toggle-css.ts +134 -0
  34. package/src/core/selection/style/api/toggle/toggle-ordered-list.ts +49 -0
  35. package/src/core/selection/style/api/toggle-commit-styles.ts +27 -0
  36. package/src/core/selection/style/api/wrap-and-commit-style.ts +68 -0
  37. package/src/core/selection/style/api/wrap-ordered-list.ts +37 -0
  38. package/src/core/selection/style/api/wrap-unwrapped-text.ts +1 -4
  39. package/src/core/selection/style/apply-style.ts +161 -97
  40. package/src/core/selection/style/commit-style.ts +13 -0
  41. package/src/core/storage/engines/local-storage-provider.ts +9 -3
  42. package/src/core/storage/engines/memory-storage-provider.ts +6 -3
  43. package/src/core/storage/storage.ts +7 -4
  44. package/src/core/ui/button/button/button.less +10 -8
  45. package/src/core/ui/button/button/button.ts +9 -9
  46. package/src/core/ui/button/group/group.ts +2 -2
  47. package/src/core/ui/element.ts +4 -3
  48. package/src/core/ui/form/block/block.ts +1 -1
  49. package/src/core/ui/form/form.ts +8 -0
  50. package/src/core/ui/form/inputs/area/area.less +5 -0
  51. package/src/core/ui/form/inputs/area/area.ts +22 -1
  52. package/src/core/ui/form/inputs/checkbox/checkbox.less +50 -0
  53. package/src/core/ui/form/inputs/checkbox/checkbox.ts +48 -4
  54. package/src/core/ui/form/inputs/input/input.less +1 -1
  55. package/src/core/ui/form/inputs/input/input.ts +14 -4
  56. package/src/core/ui/helpers/buttons.ts +14 -6
  57. package/src/core/ui/icon.ts +3 -1
  58. package/src/core/ui/index.ts +1 -3
  59. package/src/core/ui/list/group.less +8 -2
  60. package/src/core/ui/list/group.ts +2 -2
  61. package/src/{modules/file-browser/consts.ts → core/ui/list/index.ts} +4 -4
  62. package/src/core/ui/list/list.less +10 -1
  63. package/src/core/ui/list/list.ts +20 -3
  64. package/src/core/ui/{separator.ts → list/separator.ts} +2 -2
  65. package/src/core/ui/list/spacer.ts +15 -0
  66. package/src/core/ui/popup/popup.less +5 -3
  67. package/src/core/ui/popup/popup.ts +53 -1
  68. package/src/core/view/view-with-toolbar.ts +6 -1
  69. package/src/jodit.ts +17 -14
  70. package/src/modules/dialog/dialog.less +1 -16
  71. package/src/modules/dialog/dialog.ts +10 -3
  72. package/src/modules/file-browser/builders/context-menu.ts +29 -22
  73. package/src/modules/file-browser/config.ts +10 -2
  74. package/src/modules/file-browser/file-browser.ts +50 -29
  75. package/src/modules/file-browser/listeners/native-listeners.ts +37 -19
  76. package/src/modules/file-browser/listeners/state-listeners.ts +48 -22
  77. package/src/modules/file-browser/styles/file-browser.less +4 -291
  78. package/src/modules/file-browser/styles/preview.less +11 -8
  79. package/src/modules/file-browser/ui/files/files.less +174 -0
  80. package/src/modules/file-browser/ui/files/files.ts +14 -0
  81. package/src/modules/file-browser/ui/index.ts +8 -0
  82. package/src/modules/file-browser/ui/tree/tree.less +118 -0
  83. package/src/modules/file-browser/ui/tree/tree.ts +14 -0
  84. package/src/modules/status-bar/status-bar.less +27 -1
  85. package/src/modules/status-bar/status-bar.ts +15 -1
  86. package/src/modules/toolbar/collection/collection.ts +17 -8
  87. package/src/modules/toolbar/collection/editor-collection.ts +27 -2
  88. package/src/modules/widget/file-selector/file-selector.ts +1 -1
  89. package/src/modules/widget/tabs/tabs.less +2 -1
  90. package/src/modules/widget/tabs/tabs.ts +5 -3
  91. package/src/plugins/add-new-line/add-new-line.ts +1 -0
  92. package/src/plugins/bold.ts +2 -2
  93. package/src/plugins/clipboard/drag-and-drop.ts +4 -1
  94. package/src/plugins/clipboard/paste/paste.ts +1 -1
  95. package/src/plugins/font.ts +11 -1
  96. package/src/plugins/image/image-properties/image-properties.ts +7 -0
  97. package/src/plugins/index.ts +1 -0
  98. package/src/plugins/inline-popup/config/config.ts +1 -0
  99. package/src/plugins/inline-popup/config/items/toolbar.ts +33 -0
  100. package/src/plugins/inline-popup/inline-popup.ts +17 -0
  101. package/src/plugins/keyboard/delete.ts +30 -8
  102. package/src/plugins/link/template.ts +2 -2
  103. package/src/plugins/mobile.ts +10 -14
  104. package/src/plugins/ordered-list.ts +40 -1
  105. package/src/plugins/powered-by-jodit.ts +39 -0
  106. package/src/plugins/print/preview.ts +103 -48
  107. package/src/plugins/resizer/resizer.less +10 -7
  108. package/src/plugins/resizer/resizer.ts +12 -14
  109. package/src/plugins/size/resize-handler.ts +4 -1
  110. package/src/plugins/size/size.less +2 -19
  111. package/src/plugins/size/size.ts +6 -1
  112. package/src/plugins/source/const.ts +7 -0
  113. package/src/plugins/source/editor/engines/ace.ts +5 -0
  114. package/src/plugins/source/source.ts +33 -7
  115. package/src/plugins/sticky/sticky.ts +2 -0
  116. package/src/styles/icons/index.ts +2 -0
  117. package/src/styles/icons/resize-handler.svg +4 -0
  118. package/src/styles/jodit.less +6 -0
  119. package/src/styles/mixins.less +20 -0
  120. package/src/styles/themes/dark.less +11 -1
  121. package/src/types/ajax.d.ts +0 -1
  122. package/src/types/file-browser.d.ts +13 -1
  123. package/src/types/jodit.d.ts +4 -1
  124. package/src/types/popup.d.ts +1 -0
  125. package/src/types/select.d.ts +2 -0
  126. package/src/types/storage.ts +3 -3
  127. package/src/types/style.d.ts +8 -0
  128. package/src/types/toolbar.d.ts +9 -2
  129. package/src/types/types.d.ts +1 -1
  130. package/src/types/ui.d.ts +23 -4
  131. package/src/types/view.d.ts +1 -0
  132. package/types/core/component/component.d.ts +10 -5
  133. package/types/core/component/statuses.d.ts +6 -6
  134. package/types/core/dom.d.ts +3 -2
  135. package/types/core/helpers/append-script.d.ts +1 -0
  136. package/types/core/helpers/selector.d.ts +2 -3
  137. package/types/core/helpers/size/index.d.ts +1 -0
  138. package/types/core/helpers/size/object-size.d.ts +7 -0
  139. package/types/core/selection/style/api/{get-closest-wrapper.d.ts → extract.d.ts} +6 -5
  140. package/types/core/selection/style/api/finite-state-machine.d.ts +21 -0
  141. package/types/core/selection/style/api/index.d.ts +12 -5
  142. package/types/core/selection/style/api/{check-special-elements.d.ts → is-inside-invisible-element.d.ts} +1 -1
  143. package/types/core/selection/style/api/is-suit-element.d.ts +9 -0
  144. package/types/core/selection/style/api/toggle/toggle-css.d.ts +11 -0
  145. package/types/core/selection/style/api/toggle/toggle-ordered-list.d.ts +11 -0
  146. package/types/core/selection/style/api/{toggle-styles.d.ts → toggle-commit-styles.d.ts} +1 -3
  147. package/types/core/selection/style/api/{post-process-list-element.d.ts → wrap-and-commit-style.d.ts} +3 -3
  148. package/types/core/selection/style/api/wrap-ordered-list.d.ts +12 -0
  149. package/types/core/selection/style/apply-style.d.ts +1 -4
  150. package/types/core/selection/style/commit-style.d.ts +7 -0
  151. package/types/core/storage/engines/local-storage-provider.d.ts +3 -3
  152. package/types/core/storage/engines/memory-storage-provider.d.ts +3 -3
  153. package/types/core/storage/storage.d.ts +3 -3
  154. package/types/core/ui/button/button/button.d.ts +3 -3
  155. package/types/core/ui/form/form.d.ts +1 -0
  156. package/types/core/ui/form/inputs/area/area.d.ts +7 -1
  157. package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +10 -3
  158. package/types/core/ui/helpers/buttons.d.ts +2 -2
  159. package/types/core/ui/icon.d.ts +1 -1
  160. package/types/core/ui/index.d.ts +1 -3
  161. package/types/core/ui/list/group.d.ts +2 -1
  162. package/types/core/ui/list/index.d.ts +9 -0
  163. package/types/core/ui/{separator.d.ts → list/separator.d.ts} +1 -1
  164. package/types/core/ui/list/spacer.d.ts +9 -0
  165. package/types/core/ui/popup/popup.d.ts +2 -1
  166. package/types/core/view/view-with-toolbar.d.ts +4 -2
  167. package/types/jodit.d.ts +6 -6
  168. package/types/modules/file-browser/file-browser.d.ts +3 -2
  169. package/types/modules/file-browser/listeners/native-listeners.d.ts +5 -1
  170. package/types/modules/file-browser/ui/files/files.d.ts +10 -0
  171. package/types/modules/file-browser/ui/index.d.ts +7 -0
  172. package/types/modules/file-browser/ui/tree/tree.d.ts +10 -0
  173. package/types/modules/status-bar/status-bar.d.ts +6 -1
  174. package/types/modules/toolbar/button/button.d.ts +1 -1
  175. package/types/modules/toolbar/collection/collection.d.ts +5 -2
  176. package/types/modules/toolbar/collection/editor-collection.d.ts +9 -1
  177. package/types/modules/widget/tabs/tabs.d.ts +2 -1
  178. package/types/plugins/index.d.ts +1 -0
  179. package/types/plugins/inline-popup/inline-popup.d.ts +4 -0
  180. package/types/plugins/keyboard/delete.d.ts +2 -0
  181. package/types/plugins/ordered-list.d.ts +8 -1
  182. package/types/plugins/powered-by-jodit.d.ts +12 -0
  183. package/types/plugins/source/const.d.ts +6 -0
  184. package/types/plugins/source/editor/engines/ace.d.ts +1 -0
  185. package/types/plugins/source/source.d.ts +1 -0
  186. package/types/styles/icons/index.d.ts +2 -1
  187. package/types/types/storage.d.ts +3 -3
  188. package/types/types/{ajax.d.ts → types/ajax.d.ts} +0 -1
  189. package/types/types/{async.d.ts → types/async.d.ts} +0 -0
  190. package/types/types/{context.d.ts → types/context.d.ts} +0 -0
  191. package/types/types/{core.ts → types/core.ts} +0 -0
  192. package/types/types/{create.d.ts → types/create.d.ts} +0 -0
  193. package/types/types/{dialog.d.ts → types/dialog.d.ts} +0 -0
  194. package/types/types/{events.d.ts → types/events.d.ts} +0 -0
  195. package/types/types/{file-browser.d.ts → types/file-browser.d.ts} +13 -1
  196. package/types/types/{form.d.ts → types/form.d.ts} +0 -0
  197. package/types/types/{index.d.ts → types/index.d.ts} +0 -0
  198. package/types/types/{jodit.d.ts → types/jodit.d.ts} +4 -1
  199. package/types/types/{observe.d.ts → types/observe.d.ts} +0 -0
  200. package/types/types/{plugin.d.ts → types/plugin.d.ts} +0 -0
  201. package/types/types/{popup.d.ts → types/popup.d.ts} +1 -0
  202. package/types/types/{select.d.ts → types/select.d.ts} +2 -0
  203. package/types/types/{source.d.ts → types/source.d.ts} +0 -0
  204. package/types/types/{storage.ts → types/storage.ts} +3 -3
  205. package/types/types/{style.d.ts → types/style.d.ts} +8 -0
  206. package/types/types/{toolbar.d.ts → types/toolbar.d.ts} +9 -2
  207. package/types/types/{traits.d.ts → types/traits.d.ts} +0 -0
  208. package/types/types/{types.d.ts → types/types.d.ts} +1 -1
  209. package/types/types/{ui.d.ts → types/ui.d.ts} +23 -4
  210. package/types/types/{uploader.d.ts → types/uploader.d.ts} +0 -0
  211. package/types/types/{view.d.ts → types/view.d.ts} +1 -0
  212. package/src/core/selection/style/api/post-process-list-element.ts +0 -33
  213. package/src/core/selection/style/api/toggle-styles.ts +0 -74
  214. package/types/modules/file-browser/consts.d.ts +0 -8
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser
3
3
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/)
4
- * Version: v3.9.3
4
+ * Version: v3.10.2
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -197,13 +197,9 @@ class Config {
197
197
  group: 'font-style',
198
198
  buttons: []
199
199
  },
200
- {
201
- group: 'script',
202
- buttons: []
203
- },
204
200
  {
205
201
  group: 'list',
206
- buttons: ['ul', 'ol']
202
+ buttons: []
207
203
  },
208
204
  {
209
205
  group: 'indent',
@@ -217,6 +213,11 @@ class Config {
217
213
  group: 'color',
218
214
  buttons: []
219
215
  },
216
+ '---',
217
+ {
218
+ group: 'script',
219
+ buttons: []
220
+ },
220
221
  {
221
222
  group: 'media',
222
223
  buttons: []
@@ -238,6 +239,7 @@ class Config {
238
239
  group: 'form',
239
240
  buttons: []
240
241
  },
242
+ '---',
241
243
  {
242
244
  group: 'history',
243
245
  buttons: []
@@ -260,8 +262,6 @@ class Config {
260
262
  }
261
263
  ];
262
264
  this.buttonsMD = [
263
- 'source',
264
- '|',
265
265
  'bold',
266
266
  'italic',
267
267
  '|',
@@ -273,24 +273,23 @@ class Config {
273
273
  'fontsize',
274
274
  'brush',
275
275
  'paragraph',
276
- '|',
276
+ 'align',
277
+ '---',
277
278
  'image',
278
279
  'table',
279
- 'link',
280
280
  '|',
281
- 'align',
281
+ 'link',
282
282
  '\n',
283
- 'undo',
284
- 'redo',
285
- '|',
286
283
  'hr',
287
284
  'copyformat',
288
285
  'fullsize',
286
+ '---',
287
+ 'undo',
288
+ 'redo',
289
+ '|',
289
290
  'dots'
290
291
  ];
291
292
  this.buttonsSM = [
292
- 'source',
293
- '|',
294
293
  'bold',
295
294
  'italic',
296
295
  '|',
@@ -301,7 +300,7 @@ class Config {
301
300
  'fontsize',
302
301
  'brush',
303
302
  'paragraph',
304
- '|',
303
+ '---',
305
304
  'image',
306
305
  'table',
307
306
  '\n',
@@ -314,21 +313,21 @@ class Config {
314
313
  '|',
315
314
  'copyformat',
316
315
  'fullsize',
316
+ '---',
317
317
  'dots'
318
318
  ];
319
319
  this.buttonsXS = [
320
320
  'bold',
321
- 'image',
322
- '|',
323
321
  'brush',
324
322
  'paragraph',
325
323
  'eraser',
324
+ '---',
325
+ 'image',
326
326
  '\n',
327
327
  'align',
328
- '|',
329
328
  'undo',
330
329
  'redo',
331
- '|',
330
+ '---',
332
331
  'dots'
333
332
  ];
334
333
  this.events = {};
@@ -802,7 +801,7 @@ class EventEmitter {
802
801
  }
803
802
  const newCallback = (...args) => {
804
803
  this.off(subject, events, newCallback);
805
- callback(...args);
804
+ return callback(...args);
806
805
  };
807
806
  this.on(subject, events, newCallback, onTop);
808
807
  return this;
@@ -980,7 +979,7 @@ class EventsNative extends EventEmitter {
980
979
 
981
980
  // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js
982
981
  var tslib_es6 = __webpack_require__(18);
983
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
982
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
984
983
  var helpers = __webpack_require__(8);
985
984
  // EXTERNAL MODULE: ./src/core/decorators/index.ts + 10 modules
986
985
  var decorators = __webpack_require__(17);
@@ -1255,6 +1254,7 @@ __webpack_require__.d(__webpack_exports__, {
1255
1254
  "keys": function() { return /* reexport */ utils/* keys */.XP; },
1256
1255
  "loadImage": function() { return /* reexport */ utils/* loadImage */.po; },
1257
1256
  "loadNext": function() { return /* reexport */ loadNext; },
1257
+ "loadNextStyle": function() { return /* reexport */ loadNextStyle; },
1258
1258
  "markAsAtomic": function() { return /* reexport */ markAsAtomic; },
1259
1259
  "markDeprecated": function() { return /* reexport */ utils/* markDeprecated */.Q8; },
1260
1260
  "markOwner": function() { return /* reexport */ utils/* markOwner */.MN; },
@@ -1279,6 +1279,7 @@ __webpack_require__.d(__webpack_exports__, {
1279
1279
  "scrollIntoViewIfNeeded": function() { return /* reexport */ scrollIntoViewIfNeeded; },
1280
1280
  "set": function() { return /* reexport */ utils/* set */.t8; },
1281
1281
  "setTimeout": function() { return /* reexport */ set_timeout_setTimeout; },
1282
+ "size": function() { return /* reexport */ size; },
1282
1283
  "splitArray": function() { return /* reexport */ splitArray; },
1283
1284
  "sprintf": function() { return /* reexport */ string/* sprintf */.gB; },
1284
1285
  "stringify": function() { return /* reexport */ string/* stringify */.Pz; },
@@ -1450,7 +1451,7 @@ var constants = __webpack_require__(2);
1450
1451
  var type = __webpack_require__(4);
1451
1452
  // EXTERNAL MODULE: ./src/core/helpers/string/index.ts + 5 modules
1452
1453
  var string = __webpack_require__(27);
1453
- // EXTERNAL MODULE: ./src/core/ui/index.ts + 1 modules
1454
+ // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules
1454
1455
  var ui = __webpack_require__(32);
1455
1456
  ;// CONCATENATED MODULE: ./src/core/helpers/selector.ts
1456
1457
  /*!
@@ -1920,6 +1921,23 @@ function position(elm, jodit, recurse = false) {
1920
1921
  };
1921
1922
  }
1922
1923
 
1924
+ ;// CONCATENATED MODULE: ./src/core/helpers/size/object-size.ts
1925
+ /*!
1926
+ * Jodit Editor (https://xdsoft.net/jodit/)
1927
+ * Released under MIT see LICENSE.txt in the project root for license information.
1928
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
1929
+ */
1930
+
1931
+ function size(subject) {
1932
+ if ((0,checker/* isString */.HD)(subject) || (0,checker/* isArray */.kJ)(subject)) {
1933
+ return subject.length;
1934
+ }
1935
+ if ((0,checker/* isPlainObject */.PO)(subject)) {
1936
+ return Object.keys(subject).length;
1937
+ }
1938
+ return 0;
1939
+ }
1940
+
1923
1941
  ;// CONCATENATED MODULE: ./src/core/helpers/size/index.ts
1924
1942
  /*!
1925
1943
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -1932,6 +1950,7 @@ function position(elm, jodit, recurse = false) {
1932
1950
 
1933
1951
 
1934
1952
 
1953
+
1935
1954
  ;// CONCATENATED MODULE: ./src/core/helpers/complete-url.ts
1936
1955
  /*!
1937
1956
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -2010,6 +2029,12 @@ const loadNext = (jodit, urls, i = 0) => {
2010
2029
  }
2011
2030
  return appendScriptAsync(jodit, urls[i]).then(() => loadNext(jodit, urls, i + 1));
2012
2031
  };
2032
+ const loadNextStyle = (jodit, urls, i = 0) => {
2033
+ if (!(0,checker/* isString */.HD)(urls[i])) {
2034
+ return Promise.resolve();
2035
+ }
2036
+ return appendStyleAsync(jodit, urls[i]).then(() => loadNextStyle(jodit, urls, i + 1));
2037
+ };
2013
2038
 
2014
2039
  ;// CONCATENATED MODULE: ./src/core/helpers/browser.ts
2015
2040
  /*!
@@ -2645,15 +2670,14 @@ __webpack_require__.d(__webpack_exports__, {
2645
2670
  * Released under MIT see LICENSE.txt in the project root for license information.
2646
2671
  * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
2647
2672
  */
2648
- var STATUSES;
2649
- (function (STATUSES) {
2650
- STATUSES["beforeInit"] = "beforeInit";
2651
- STATUSES["ready"] = "ready";
2652
- STATUSES["beforeDestruct"] = "beforeDestruct";
2653
- STATUSES["destructed"] = "destructed";
2654
- })(STATUSES || (STATUSES = {}));
2673
+ const STATUSES = {
2674
+ beforeInit: 'beforeInit',
2675
+ ready: 'ready',
2676
+ beforeDestruct: 'beforeDestruct',
2677
+ destructed: 'destructed'
2678
+ };
2655
2679
 
2656
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
2680
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
2657
2681
  var helpers = __webpack_require__(8);
2658
2682
  // EXTERNAL MODULE: ./src/core/global.ts
2659
2683
  var global = __webpack_require__(13);
@@ -2671,10 +2695,15 @@ class Component {
2671
2695
  constructor() {
2672
2696
  this.ownerWindow = window;
2673
2697
  this.__componentStatus = STATUSES.beforeInit;
2674
- this.componentName =
2675
- 'jodit-' + (0,helpers.kebabCase)(this.className() || (0,helpers.getClassName)(this));
2676
2698
  this.uid = 'jodit-uid-' + (0,global/* uniqueUid */.fe)();
2677
2699
  }
2700
+ get componentName() {
2701
+ if (!this.__componentName) {
2702
+ this.__componentName =
2703
+ 'jodit-' + (0,helpers.kebabCase)(this.className() || (0,helpers.getClassName)(this));
2704
+ }
2705
+ return this.__componentName;
2706
+ }
2678
2707
  getFullElName(elementName, mod, modValue) {
2679
2708
  const result = [this.componentName];
2680
2709
  if (elementName) {
@@ -2709,14 +2738,8 @@ class Component {
2709
2738
  return (STATUSES.beforeDestruct === this.componentStatus ||
2710
2739
  STATUSES.destructed === this.componentStatus);
2711
2740
  }
2712
- bindDestruct(jodit) {
2713
- const destructMe = () => {
2714
- !this.isInDestruct && this.destruct();
2715
- };
2716
- jodit.e && jodit.e.on(STATUSES.beforeDestruct, destructMe);
2717
- this.hookStatus(STATUSES.beforeDestruct, () => {
2718
- jodit.e && jodit.e.off(STATUSES.beforeDestruct, destructMe);
2719
- });
2741
+ bindDestruct(component) {
2742
+ component.hookStatus(STATUSES.beforeDestruct, () => !this.isInDestruct && this.destruct());
2720
2743
  return this;
2721
2744
  }
2722
2745
  destruct() {
@@ -2837,9 +2860,18 @@ class ViewComponent extends Component {
2837
2860
 
2838
2861
  const instances = {};
2839
2862
  let counter = 1;
2863
+ const uuids = new Set();
2840
2864
  function uniqueUid() {
2841
- counter += 10 * (Math.random() + 1);
2842
- return Math.round(counter).toString(16);
2865
+ function gen() {
2866
+ counter += 10 * (Math.random() + 1);
2867
+ return Math.round(counter).toString(16);
2868
+ }
2869
+ let uid = gen();
2870
+ while (uuids.has(uid)) {
2871
+ uid = gen();
2872
+ }
2873
+ uuids.add(uid);
2874
+ return uid;
2843
2875
  }
2844
2876
  const pluginSystem = new _plugin_system__WEBPACK_IMPORTED_MODULE_0__/* .PluginSystem */ .h();
2845
2877
  const modules = {};
@@ -3147,6 +3179,9 @@ class Dom {
3147
3179
  }
3148
3180
  }
3149
3181
  static replace(elm, newTagName, create, withAttributes = false, notMoveContent = false) {
3182
+ if ((0,_helpers__WEBPACK_IMPORTED_MODULE_1__.isHTML)(newTagName)) {
3183
+ newTagName = create.fromHTML(newTagName);
3184
+ }
3150
3185
  const tag = (0,_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(newTagName)
3151
3186
  ? create.element(newTagName)
3152
3187
  : newTagName;
@@ -3168,8 +3203,12 @@ class Dom {
3168
3203
  static isEmptyTextNode(node) {
3169
3204
  return (Dom.isText(node) &&
3170
3205
  (!node.nodeValue ||
3171
- node.nodeValue.replace(_constants__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP(), '')
3172
- .length === 0));
3206
+ node.nodeValue
3207
+ .replace(_constants__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP(), '')
3208
+ .trim().length === 0));
3209
+ }
3210
+ static isEmptyContent(node) {
3211
+ return Dom.each(node, (elm) => Dom.isEmptyTextNode(elm));
3173
3212
  }
3174
3213
  static isEmpty(node, condNoEmptyElement = /^(img|svg|canvas|input|textarea|form)$/) {
3175
3214
  if (!node) {
@@ -3527,7 +3566,7 @@ class Dom {
3527
3566
  if (!Dom.isElement(element)) {
3528
3567
  return false;
3529
3568
  }
3530
- return _selection__WEBPACK_IMPORTED_MODULE_2__/* .Select.isMarker */ .P.isMarker(element) || (0,_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(element, _constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR) === 'true';
3569
+ return _selection__WEBPACK_IMPORTED_MODULE_2__/* .Select.isMarker */ .Ph.isMarker(element) || (0,_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(element, _constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR) === 'true';
3531
3570
  }
3532
3571
  static replaceTemporaryFromString(value) {
3533
3572
  return value.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi, '$2');
@@ -3546,28 +3585,21 @@ class Dom {
3546
3585
 
3547
3586
  // EXPORTS
3548
3587
  __webpack_require__.d(__webpack_exports__, {
3549
- "R": function() { return /* reexport */ CommitStyle; },
3550
- "P": function() { return /* reexport */ Select; }
3588
+ "RP": function() { return /* reexport */ CommitStyle; },
3589
+ "Ph": function() { return /* reexport */ Select; }
3551
3590
  });
3552
3591
 
3592
+ // UNUSED EXPORTS: CHANGE, INITIAL, REPLACE, UNSET, UNWRAP, WRAP
3593
+
3553
3594
  // EXTERNAL MODULE: ./src/core/constants.ts
3554
3595
  var constants = __webpack_require__(2);
3596
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
3597
+ var helpers = __webpack_require__(8);
3555
3598
  // EXTERNAL MODULE: ./src/core/dom.ts
3556
3599
  var dom = __webpack_require__(15);
3557
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
3558
- var helpers = __webpack_require__(8);
3559
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/is-normal-node.ts
3560
- /*!
3561
- * Jodit Editor (https://xdsoft.net/jodit/)
3562
- * Released under MIT see LICENSE.txt in the project root for license information.
3563
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
3564
- */
3565
-
3566
- function isNormalNode(elm) {
3567
- return Boolean(elm && !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm) && !dom/* Dom.isTemporary */.i.isTemporary(elm));
3568
- }
3569
-
3570
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/element-has-same-style.ts
3600
+ // EXTERNAL MODULE: ./src/core/global.ts
3601
+ var global = __webpack_require__(13);
3602
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle/toggle-css.ts
3571
3603
  /*!
3572
3604
  * Jodit Editor (https://xdsoft.net/jodit/)
3573
3605
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -3575,108 +3607,77 @@ function isNormalNode(elm) {
3575
3607
  */
3576
3608
 
3577
3609
 
3578
- function elementHasSameStyle(elm, rules) {
3579
- return Boolean(!dom/* Dom.isTag */.i.isTag(elm, 'font') &&
3580
- dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) &&
3581
- Object.keys(rules).every(property => {
3582
- const value = (0,helpers.css)(elm, property, true);
3583
- return (!(0,helpers.isVoid)(value) &&
3584
- value !== '' &&
3585
- !(0,helpers.isVoid)(rules[property]) &&
3586
- (0,helpers.normalizeCssValue)(property, rules[property])
3587
- .toString()
3588
- .toLowerCase() === value.toString().toLowerCase());
3589
- }));
3590
- }
3591
- function elementHasSameStyleKeys(elm, rules) {
3592
- return Boolean(!dom/* Dom.isTag */.i.isTag(elm, 'font') &&
3593
- dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) &&
3594
- Object.keys(rules).every(property => !(0,helpers.isVoid)((0,helpers.css)(elm, property, true))));
3595
- }
3596
-
3597
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/is-suit-element.ts
3598
-
3599
3610
 
3600
3611
 
3601
- function isSuitElement(commitStyle, elm, strict) {
3602
- if (!elm) {
3603
- return false;
3604
- }
3605
- const { element, elementIsDefault, options } = commitStyle;
3606
- const elmHasSameStyle = Boolean(options.style && elementHasSameStyle(elm, options.style));
3607
- const elmIsSame = elm.nodeName.toLowerCase() === element;
3608
- if (((!elementIsDefault || !strict) && elmIsSame) ||
3609
- (elmHasSameStyle && isNormalNode(elm))) {
3610
- return true;
3611
- }
3612
- return Boolean(!elmIsSame && !strict && elementIsDefault && dom/* Dom.isInlineBlock */.i.isInlineBlock(elm));
3613
- }
3614
- function isSameStyleChild(commitStyle, elm) {
3615
- const { element, options } = commitStyle;
3616
- if (!elm || !isNormalNode(elm)) {
3617
- return false;
3612
+ function toggleCSS(commitStyle, elm, jodit, mode, dry = false) {
3613
+ const { style, className } = commitStyle.options;
3614
+ if (style && (0,helpers.size)(style) > 0) {
3615
+ Object.keys(style).forEach((rule) => {
3616
+ const inlineValue = elm.style.getPropertyValue((0,helpers.kebabCase)(rule));
3617
+ if (inlineValue === '' && style[rule] == null) {
3618
+ return;
3619
+ }
3620
+ if (getNativeCSSValue(jodit, elm, rule) ===
3621
+ (0,helpers.normalizeCssValue)(rule, style[rule])) {
3622
+ !dry && (0,helpers.css)(elm, rule, null);
3623
+ mode = UNSET;
3624
+ mode = removeExtraCSS(commitStyle, elm, mode);
3625
+ return;
3626
+ }
3627
+ mode = CHANGE;
3628
+ !dry && (0,helpers.css)(elm, rule, style[rule]);
3629
+ });
3618
3630
  }
3619
- const elmIsSame = elm.nodeName.toLowerCase() === element;
3620
- const elmHasSameStyle = Boolean(options.style && elementHasSameStyleKeys(elm, options.style));
3621
- return elmIsSame && elmHasSameStyle;
3622
- }
3623
-
3624
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-parent.ts
3625
- /*!
3626
- * Jodit Editor (https://xdsoft.net/jodit/)
3627
- * Released under MIT see LICENSE.txt in the project root for license information.
3628
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
3629
- */
3630
-
3631
-
3632
-
3633
- function getSuitParent(style, node, root) {
3634
- const { parentNode } = node;
3635
- if (dom/* Dom.isHTMLElement */.i.isHTMLElement(parentNode) &&
3636
- !dom/* Dom.next */.i.next(node, isNormalNode, parentNode) &&
3637
- !dom/* Dom.prev */.i.prev(node, isNormalNode, parentNode) &&
3638
- isSuitElement(style, parentNode, false) &&
3639
- parentNode !== root &&
3640
- (!dom/* Dom.isBlock */.i.isBlock(parentNode) || style.elementIsBlock)) {
3641
- return parentNode;
3631
+ if (className) {
3632
+ if (elm.classList.contains(className)) {
3633
+ elm.classList.remove(className);
3634
+ mode = UNSET;
3635
+ }
3636
+ else {
3637
+ elm.classList.add(className);
3638
+ mode = CHANGE;
3639
+ }
3642
3640
  }
3643
- return null;
3641
+ return mode;
3644
3642
  }
3645
-
3646
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-child.ts
3647
- /*!
3648
- * Jodit Editor (https://xdsoft.net/jodit/)
3649
- * Released under MIT see LICENSE.txt in the project root for license information.
3650
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
3651
- */
3652
-
3653
-
3654
-
3655
- function getSuitChild(style, font) {
3656
- let { firstChild: child } = font;
3657
- while (child && !isNormalNode(child)) {
3658
- child = child.nextSibling;
3659
- if (!child) {
3660
- return null;
3643
+ function removeExtraCSS(commitStyle, elm, mode) {
3644
+ if (!(0,helpers.attr)(elm, 'style')) {
3645
+ (0,helpers.attr)(elm, 'style', null);
3646
+ if (elm.tagName.toLowerCase() === commitStyle.defaultTag) {
3647
+ dom/* Dom.unwrap */.i.unwrap(elm);
3648
+ mode = UNWRAP;
3661
3649
  }
3662
3650
  }
3663
- if (child &&
3664
- !dom/* Dom.next */.i.next(child, isNormalNode, font) &&
3665
- isSuitElement(style, child, false)) {
3666
- return child;
3651
+ return mode;
3652
+ }
3653
+ function getShadowRoot(jodit) {
3654
+ var _a;
3655
+ if ((0,helpers.dataBind)(jodit, 'shadowRoot') !== undefined) {
3656
+ return (0,helpers.dataBind)(jodit, 'shadowRoot');
3667
3657
  }
3668
- return null;
3658
+ const container = (0,global/* getContainer */.ZO)(jodit, function Utils() { });
3659
+ const iframe = document.createElement('iframe');
3660
+ (0,helpers.css)(iframe, {
3661
+ width: 0,
3662
+ height: 0,
3663
+ position: 'absolute',
3664
+ border: 0
3665
+ });
3666
+ iframe.src = 'about:blank';
3667
+ container.appendChild(iframe);
3668
+ const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document;
3669
+ const shadowRoot = !doc ? jodit.od.body : doc.body;
3670
+ (0,helpers.dataBind)(jodit, 'shadowRoot', shadowRoot);
3671
+ return shadowRoot;
3669
3672
  }
3670
-
3671
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/check-special-elements.ts
3672
- /*!
3673
- * Jodit Editor (https://xdsoft.net/jodit/)
3674
- * Released under MIT see LICENSE.txt in the project root for license information.
3675
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
3676
- */
3677
-
3678
- function checkSpecialElements(font, root) {
3679
- return Boolean(dom/* Dom.closest */.i.closest(font, ['style', 'script'], root));
3673
+ function getNativeCSSValue(jodit, elm, key) {
3674
+ const newElm = jodit.create.element(elm.tagName.toLowerCase());
3675
+ newElm.style.cssText = elm.style.cssText;
3676
+ const root = getShadowRoot(jodit);
3677
+ root.appendChild(newElm);
3678
+ const result = (0,helpers.css)(newElm, key);
3679
+ dom/* Dom.safeRemove */.i.safeRemove(newElm);
3680
+ return result;
3680
3681
  }
3681
3682
 
3682
3683
  // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js
@@ -4489,6 +4490,9 @@ class Select {
4489
4490
  return currentBox.previousElementSibling;
4490
4491
  }
4491
4492
  }
4493
+ (0,tslib_es6/* __decorate */.gn)([
4494
+ decorators.autobind
4495
+ ], Select.prototype, "createRange", null);
4492
4496
  (0,tslib_es6/* __decorate */.gn)([
4493
4497
  decorators.autobind
4494
4498
  ], Select.prototype, "focus", null);
@@ -4502,7 +4506,7 @@ class Select {
4502
4506
  decorators.autobind
4503
4507
  ], Select.prototype, "setCursorIn", null);
4504
4508
 
4505
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/get-closest-wrapper.ts
4509
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/extract.ts
4506
4510
  /*!
4507
4511
  * Jodit Editor (https://xdsoft.net/jodit/)
4508
4512
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -4511,29 +4515,20 @@ class Select {
4511
4515
 
4512
4516
 
4513
4517
 
4514
-
4515
- function getClosestWrapper(style, font, root, getRange) {
4516
- const wrapper = dom/* Dom.closest */.i.closest(font, node => isSuitElement(style, node, true), root);
4517
- if (wrapper) {
4518
- if (style.elementIsBlock) {
4519
- return wrapper;
4520
- }
4521
- const range = getRange();
4522
- const leftEdge = Select.isMarker(font.previousSibling)
4523
- ? font.previousSibling
4524
- : font;
4525
- range.setStartBefore(wrapper);
4526
- range.setEndBefore(leftEdge);
4527
- extractAndMove(wrapper, range, true);
4528
- const rightEdge = Select.isMarker(font.nextSibling)
4529
- ? font.nextSibling
4530
- : font;
4531
- range.setStartAfter(rightEdge);
4532
- range.setEndAfter(wrapper);
4533
- extractAndMove(wrapper, range, false);
4534
- return wrapper;
4535
- }
4536
- return null;
4518
+ function extractSelectedPart(wrapper, font, jodit) {
4519
+ const range = jodit.s.createRange();
4520
+ const leftEdge = Select.isMarker(font.previousSibling)
4521
+ ? font.previousSibling
4522
+ : font;
4523
+ range.setStartBefore(wrapper);
4524
+ range.setEndBefore(leftEdge);
4525
+ extractAndMove(wrapper, range, true);
4526
+ const rightEdge = Select.isMarker(font.nextSibling)
4527
+ ? font.nextSibling
4528
+ : font;
4529
+ range.setStartAfter(rightEdge);
4530
+ range.setEndAfter(wrapper);
4531
+ extractAndMove(wrapper, range, false);
4537
4532
  }
4538
4533
  function extractAndMove(wrapper, range, left) {
4539
4534
  const fragment = range.extractContents();
@@ -4546,6 +4541,225 @@ function extractAndMove(wrapper, range, left) {
4546
4541
  }
4547
4542
  }
4548
4543
 
4544
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle/toggle-ordered-list.ts
4545
+ /*!
4546
+ * Jodit Editor (https://xdsoft.net/jodit/)
4547
+ * Released under MIT see LICENSE.txt in the project root for license information.
4548
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4549
+ */
4550
+
4551
+
4552
+
4553
+
4554
+ function toggleOrderedList(style, li, jodit, mode) {
4555
+ if (!li) {
4556
+ return mode;
4557
+ }
4558
+ const list = li.parentElement;
4559
+ if (!list) {
4560
+ return mode;
4561
+ }
4562
+ if (list.tagName.toLowerCase() !== style.element) {
4563
+ const newList = dom/* Dom.replace */.i.replace(list, style.element, jodit.createInside);
4564
+ toggleCSS(style, newList, jodit, mode);
4565
+ return REPLACE;
4566
+ }
4567
+ if (toggleCSS(style, li.parentElement, jodit, INITIAL, true) === CHANGE) {
4568
+ return toggleCSS(style, li.parentElement, jodit, mode);
4569
+ }
4570
+ extractSelectedPart(list, li, jodit);
4571
+ dom/* Dom.unwrap */.i.unwrap(li.parentElement);
4572
+ dom/* Dom.replace */.i.replace(li, jodit.o.enter, jodit.createInside);
4573
+ return mode;
4574
+ }
4575
+
4576
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/element-has-same-style.ts
4577
+ /*!
4578
+ * Jodit Editor (https://xdsoft.net/jodit/)
4579
+ * Released under MIT see LICENSE.txt in the project root for license information.
4580
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4581
+ */
4582
+
4583
+
4584
+ function elementHasSameStyle(elm, rules) {
4585
+ return Boolean(!dom/* Dom.isTag */.i.isTag(elm, 'font') &&
4586
+ dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) &&
4587
+ Object.keys(rules).every(property => {
4588
+ const value = (0,helpers.css)(elm, property, true);
4589
+ return (!(0,helpers.isVoid)(value) &&
4590
+ value !== '' &&
4591
+ !(0,helpers.isVoid)(rules[property]) &&
4592
+ (0,helpers.normalizeCssValue)(property, rules[property])
4593
+ .toString()
4594
+ .toLowerCase() === value.toString().toLowerCase());
4595
+ }));
4596
+ }
4597
+ function elementHasSameStyleKeys(elm, rules) {
4598
+ return Boolean(!dom/* Dom.isTag */.i.isTag(elm, 'font') &&
4599
+ dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) &&
4600
+ Object.keys(rules).every(property => !(0,helpers.isVoid)((0,helpers.css)(elm, property, true))));
4601
+ }
4602
+
4603
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/finite-state-machine.ts
4604
+ /*!
4605
+ * Jodit Editor (https://xdsoft.net/jodit/)
4606
+ * Released under MIT see LICENSE.txt in the project root for license information.
4607
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4608
+ */
4609
+ class FiniteStateMachine {
4610
+ constructor(state, transitions) {
4611
+ this.state = state;
4612
+ this.transitions = transitions;
4613
+ this.subState = '';
4614
+ this.silent = true;
4615
+ }
4616
+ setState(state, subState) {
4617
+ this.state = state;
4618
+ if (subState != null) {
4619
+ this.subState = subState;
4620
+ }
4621
+ }
4622
+ getState() {
4623
+ return this.state;
4624
+ }
4625
+ getSubState() {
4626
+ return this.subState;
4627
+ }
4628
+ disableSilent() {
4629
+ this.silent = false;
4630
+ }
4631
+ dispatch(actionName, ...attrs) {
4632
+ const action = this.transitions[this.state][actionName];
4633
+ if (action) {
4634
+ if (!this.silent) {
4635
+ console.log('State: ' + this.state, 'Action: ' + actionName);
4636
+ }
4637
+ const res = action.call(this, ...attrs);
4638
+ if (!this.silent) {
4639
+ console.log('State: ' + this.state);
4640
+ }
4641
+ return res;
4642
+ }
4643
+ if (!this.silent) {
4644
+ throw new Error('invalid action: ' + this.state + '.' + actionName);
4645
+ }
4646
+ return;
4647
+ }
4648
+ }
4649
+
4650
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/is-normal-node.ts
4651
+ /*!
4652
+ * Jodit Editor (https://xdsoft.net/jodit/)
4653
+ * Released under MIT see LICENSE.txt in the project root for license information.
4654
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4655
+ */
4656
+
4657
+ function isNormalNode(elm) {
4658
+ return Boolean(elm && !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm) && !dom/* Dom.isTemporary */.i.isTemporary(elm));
4659
+ }
4660
+
4661
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/is-suit-element.ts
4662
+
4663
+
4664
+
4665
+ function isSuitElement(commitStyle, elm, strict) {
4666
+ if (!elm) {
4667
+ return false;
4668
+ }
4669
+ const { element, elementIsDefault, options } = commitStyle;
4670
+ const elmHasSameStyle = Boolean(options.style && elementHasSameStyle(elm, options.style));
4671
+ const elmIsSame = elm.nodeName.toLowerCase() === element ||
4672
+ (dom/* Dom.isTag */.i.isTag(elm, ['ul', 'ol']) && commitStyle.elementIsList);
4673
+ if (((!elementIsDefault || !strict) && elmIsSame) ||
4674
+ (elmHasSameStyle && isNormalNode(elm))) {
4675
+ return true;
4676
+ }
4677
+ return Boolean(!elmIsSame && !strict && elementIsDefault && dom/* Dom.isInlineBlock */.i.isInlineBlock(elm));
4678
+ }
4679
+ function isSameStyleChild(commitStyle, elm) {
4680
+ const { element, options } = commitStyle;
4681
+ if (!elm || !isNormalNode(elm)) {
4682
+ return false;
4683
+ }
4684
+ const elmIsSame = elm.nodeName.toLowerCase() === element;
4685
+ const elmHasSameStyle = Boolean(options.style && elementHasSameStyleKeys(elm, options.style));
4686
+ return elmIsSame && elmHasSameStyle;
4687
+ }
4688
+
4689
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-child.ts
4690
+ /*!
4691
+ * Jodit Editor (https://xdsoft.net/jodit/)
4692
+ * Released under MIT see LICENSE.txt in the project root for license information.
4693
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4694
+ */
4695
+
4696
+
4697
+
4698
+ function getSuitChild(style, font) {
4699
+ let { firstChild: child } = font;
4700
+ while (child && !isNormalNode(child)) {
4701
+ child = child.nextSibling;
4702
+ if (!child) {
4703
+ return null;
4704
+ }
4705
+ }
4706
+ if (child &&
4707
+ !dom/* Dom.next */.i.next(child, isNormalNode, font) &&
4708
+ isSuitElement(style, child, false)) {
4709
+ return child;
4710
+ }
4711
+ return null;
4712
+ }
4713
+
4714
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-parent.ts
4715
+ /*!
4716
+ * Jodit Editor (https://xdsoft.net/jodit/)
4717
+ * Released under MIT see LICENSE.txt in the project root for license information.
4718
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4719
+ */
4720
+
4721
+
4722
+
4723
+ function getSuitParent(style, node, root) {
4724
+ const { parentNode } = node;
4725
+ if (dom/* Dom.isHTMLElement */.i.isHTMLElement(parentNode) &&
4726
+ !dom/* Dom.next */.i.next(node, isNormalNode, parentNode) &&
4727
+ !dom/* Dom.prev */.i.prev(node, isNormalNode, parentNode) &&
4728
+ isSuitElement(style, parentNode, false) &&
4729
+ parentNode !== root &&
4730
+ (!dom/* Dom.isBlock */.i.isBlock(parentNode) || style.elementIsBlock)) {
4731
+ return parentNode;
4732
+ }
4733
+ return null;
4734
+ }
4735
+
4736
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/is-inside-invisible-element.ts
4737
+ /*!
4738
+ * Jodit Editor (https://xdsoft.net/jodit/)
4739
+ * Released under MIT see LICENSE.txt in the project root for license information.
4740
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4741
+ */
4742
+
4743
+ function isInsideInvisibleElement(font, root) {
4744
+ return Boolean(dom/* Dom.closest */.i.closest(font, ['style', 'script'], root));
4745
+ }
4746
+
4747
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle-commit-styles.ts
4748
+ /*!
4749
+ * Jodit Editor (https://xdsoft.net/jodit/)
4750
+ * Released under MIT see LICENSE.txt in the project root for license information.
4751
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4752
+ */
4753
+
4754
+ function toggleCommitStyles(commitStyle, elm) {
4755
+ if (commitStyle.elementIsBlock ||
4756
+ (dom/* Dom.isTag */.i.isTag(elm, commitStyle.element) && !commitStyle.elementIsDefault)) {
4757
+ dom/* Dom.unwrap */.i.unwrap(elm);
4758
+ return true;
4759
+ }
4760
+ return false;
4761
+ }
4762
+
4549
4763
  ;// CONCATENATED MODULE: ./src/core/selection/style/api/unwrap-children.ts
4550
4764
  /*!
4551
4765
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -4601,24 +4815,6 @@ function unwrapChildren(style, font) {
4601
4815
  return Boolean(firstElementSuit);
4602
4816
  }
4603
4817
 
4604
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/post-process-list-element.ts
4605
- /*!
4606
- * Jodit Editor (https://xdsoft.net/jodit/)
4607
- * Released under MIT see LICENSE.txt in the project root for license information.
4608
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4609
- */
4610
-
4611
- function postProcessListElement(style, wrapper, ci) {
4612
- if (/^(OL|UL)$/i.test(style.element) &&
4613
- !dom/* Dom.isTag */.i.isTag(wrapper.firstElementChild, 'li')) {
4614
- const li = dom/* Dom.replace */.i.replace(wrapper, 'li', ci), ul = dom/* Dom.wrap */.i.wrap(li, style.element, ci);
4615
- if (ul) {
4616
- return ul;
4617
- }
4618
- }
4619
- return wrapper;
4620
- }
4621
-
4622
4818
  ;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-unwrapped-text.ts
4623
4819
  /*!
4624
4820
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -4626,7 +4822,6 @@ function postProcessListElement(style, wrapper, ci) {
4626
4822
  * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4627
4823
  */
4628
4824
 
4629
-
4630
4825
  function wrapUnwrappedText(style, elm, jodit, getRange) {
4631
4826
  const root = jodit.editor, ci = jodit.createInside, edge = (n, key = 'previousSibling') => {
4632
4827
  let edgeNode = n, node = n;
@@ -4657,11 +4852,10 @@ function wrapUnwrappedText(style, elm, jodit, getRange) {
4657
4852
  range.setStartBefore(start);
4658
4853
  range.setEndAfter(end);
4659
4854
  const fragment = range.extractContents();
4660
- let wrapper = ci.element(style.element);
4855
+ const wrapper = ci.element(style.element);
4661
4856
  wrapper.appendChild(fragment);
4662
4857
  range.insertNode(wrapper);
4663
4858
  if (style.elementIsBlock) {
4664
- wrapper = postProcessListElement(style, wrapper, ci);
4665
4859
  if (dom/* Dom.isEmpty */.i.isEmpty(wrapper) &&
4666
4860
  !dom/* Dom.isTag */.i.isTag(wrapper.firstElementChild, 'br')) {
4667
4861
  wrapper.appendChild(ci.element('br'));
@@ -4670,46 +4864,67 @@ function wrapUnwrappedText(style, elm, jodit, getRange) {
4670
4864
  return wrapper;
4671
4865
  }
4672
4866
 
4673
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle-styles.ts
4867
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-ordered-list.ts
4674
4868
  /*!
4675
4869
  * Jodit Editor (https://xdsoft.net/jodit/)
4676
4870
  * Released under MIT see LICENSE.txt in the project root for license information.
4677
4871
  * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4678
4872
  */
4679
4873
 
4680
-
4681
- function toggleStyles(style, elm, wrap) {
4682
- const { options: { style: styles }, defaultTag, element } = style;
4683
- const tag = elm.nodeName.toLowerCase(), isStyleCommit = style.elementIsDefault && dom/* Dom.isInlineBlock */.i.isInlineBlock(elm);
4684
- if (styles && (tag === defaultTag || isStyleCommit)) {
4685
- Object.keys(styles).forEach(rule => {
4686
- if (wrap === false ||
4687
- (0,helpers.css)(elm, rule) ===
4688
- (0,helpers.normalizeCssValue)(rule, styles[rule])) {
4689
- (0,helpers.css)(elm, rule, '');
4690
- if (wrap == null) {
4691
- wrap = false;
4692
- }
4693
- }
4694
- else {
4695
- (0,helpers.css)(elm, rule, styles[rule]);
4696
- if (wrap == null) {
4697
- wrap = true;
4698
- }
4699
- }
4700
- });
4874
+ function wrapOrderedList(commitStyle, wrapper, jodit) {
4875
+ const newWrapper = dom/* Dom.replace */.i.replace(wrapper, 'li', jodit.createInside);
4876
+ let list = newWrapper.previousElementSibling || newWrapper.nextElementSibling;
4877
+ if (!dom/* Dom.isTag */.i.isTag(list, ['ul', 'ol'])) {
4878
+ list = jodit.createInside.element(commitStyle.element);
4879
+ dom/* Dom.before */.i.before(newWrapper, list);
4701
4880
  }
4702
- const isBlock = dom/* Dom.isBlock */.i.isBlock(elm);
4703
- const isSuitableInline = !isBlock &&
4704
- (!(0,helpers.attr)(elm, 'style') || (tag !== defaultTag && tag === element));
4705
- const isSameBlockElement = !isSuitableInline && isBlock && tag === element;
4706
- if (isSuitableInline || isSameBlockElement) {
4707
- dom/* Dom.unwrap */.i.unwrap(elm);
4708
- if (wrap == null) {
4709
- wrap = false;
4881
+ if (newWrapper.previousElementSibling === list) {
4882
+ dom/* Dom.append */.i.append(list, newWrapper);
4883
+ }
4884
+ else {
4885
+ dom/* Dom.prepend */.i.prepend(list, newWrapper);
4886
+ }
4887
+ return list;
4888
+ }
4889
+
4890
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-and-commit-style.ts
4891
+ /*!
4892
+ * Jodit Editor (https://xdsoft.net/jodit/)
4893
+ * Released under MIT see LICENSE.txt in the project root for license information.
4894
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4895
+ */
4896
+
4897
+
4898
+
4899
+
4900
+ function wrapAndCommitStyle(commitStyle, font, jodit) {
4901
+ const wrapper = findOrCreateWrapper(commitStyle, font, jodit);
4902
+ return commitStyle.elementIsList
4903
+ ? wrapOrderedList(commitStyle, wrapper, jodit)
4904
+ : dom/* Dom.replace */.i.replace(wrapper, commitStyle.element, jodit.createInside, true);
4905
+ }
4906
+ function findOrCreateWrapper(commitStyle, font, jodit) {
4907
+ if (commitStyle.elementIsBlock) {
4908
+ const box = dom/* Dom.up */.i.up(font, node => dom/* Dom.isBlock */.i.isBlock(node) &&
4909
+ !dom/* Dom.isTag */.i.isTag(node, [
4910
+ 'td',
4911
+ 'th',
4912
+ 'tr',
4913
+ 'tbody',
4914
+ 'table',
4915
+ 'li',
4916
+ 'ul',
4917
+ 'ol'
4918
+ ]), jodit.editor);
4919
+ if (box) {
4920
+ return box;
4710
4921
  }
4711
4922
  }
4712
- return wrap;
4923
+ if (commitStyle.elementIsBlock) {
4924
+ return wrapUnwrappedText(commitStyle, font, jodit, jodit.s.createRange);
4925
+ }
4926
+ (0,helpers.attr)(font, 'size', null);
4927
+ return font;
4713
4928
  }
4714
4929
 
4715
4930
  ;// CONCATENATED MODULE: ./src/core/selection/style/api/index.ts
@@ -4727,6 +4942,13 @@ function toggleStyles(style, elm, wrap) {
4727
4942
 
4728
4943
 
4729
4944
 
4945
+
4946
+
4947
+
4948
+
4949
+
4950
+
4951
+
4730
4952
  ;// CONCATENATED MODULE: ./src/core/selection/style/apply-style.ts
4731
4953
  /*!
4732
4954
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -4736,70 +4958,137 @@ function toggleStyles(style, elm, wrap) {
4736
4958
 
4737
4959
 
4738
4960
 
4739
- function ApplyStyle(jodit, style) {
4740
- const { s: sel } = jodit, rng = () => sel.createRange();
4741
- let wrap = null;
4742
- sel.save();
4743
- (0,helpers.normalizeNode)(sel.area.firstChild);
4744
- const gen = jodit.s.wrapInTagGen();
4745
- let font = gen.next();
4746
- while (!font.done) {
4747
- wrap = applyToElement(style, font.value, rng, jodit, wrap);
4748
- font = gen.next();
4749
- }
4750
- sel.restore();
4751
- }
4752
- function applyToElement(style, font, range, jodit, wrap) {
4753
- const root = jodit.editor;
4754
- if (checkSpecialElements(font, root)) {
4755
- return wrap;
4756
- }
4757
- const toggleNode = getSuitParent(style, font, root) ||
4758
- getSuitChild(style, font) ||
4759
- getClosestWrapper(style, font, root, range);
4760
- if (toggleNode) {
4761
- return toggleStyles(style, toggleNode, wrap);
4762
- }
4763
- if (unwrapChildren(style, font)) {
4764
- return wrap;
4765
- }
4766
- if (wrap == null) {
4767
- wrap = true;
4768
- }
4769
- if (!wrap) {
4770
- return wrap;
4771
- }
4772
- let wrapper = font;
4773
- if (style.elementIsBlock) {
4774
- const ulReg = /^(ul|ol|li|td|th|tr|tbody|table)$/i;
4775
- const box = dom/* Dom.up */.i.up(font, node => {
4776
- if (dom/* Dom.isBlock */.i.isBlock(node)) {
4777
- if (ulReg.test(style.element) ||
4778
- !ulReg.test(node.nodeName)) {
4779
- return true;
4961
+
4962
+
4963
+ function ApplyStyle(jodit, cs) {
4964
+ const { s: sel, editor } = jodit;
4965
+ const fsm = new FiniteStateMachine('start', {
4966
+ start: {
4967
+ start() {
4968
+ sel.save();
4969
+ (0,helpers.normalizeNode)(editor.firstChild);
4970
+ this.setState('generator');
4971
+ }
4972
+ },
4973
+ generator: {
4974
+ initGenerator() {
4975
+ return jodit.s.wrapInTagGen();
4976
+ },
4977
+ nextFont(gen) {
4978
+ const font = gen.next();
4979
+ if (font.done) {
4980
+ this.setState('end');
4981
+ return;
4780
4982
  }
4983
+ if (isInsideInvisibleElement(font.value, editor) ||
4984
+ dom/* Dom.isEmptyContent */.i.isEmptyContent(font.value)) {
4985
+ return;
4986
+ }
4987
+ this.setState('check');
4988
+ return font.value;
4989
+ }
4990
+ },
4991
+ check: {
4992
+ work(font) {
4993
+ let elm = getSuitParent(cs, font, jodit.editor) ||
4994
+ getSuitChild(cs, font);
4995
+ if (elm) {
4996
+ this.setState('wholeElement');
4997
+ return elm;
4998
+ }
4999
+ elm = dom/* Dom.closest */.i.closest(font, node => isSuitElement(cs, node, true), jodit.editor);
5000
+ if (elm) {
5001
+ if (!cs.elementIsBlock) {
5002
+ extractSelectedPart(elm, font, jodit);
5003
+ }
5004
+ }
5005
+ if (cs.elementIsList && dom/* Dom.isTag */.i.isTag(elm, ['ul', 'ol'])) {
5006
+ this.setState('orderList');
5007
+ return font;
5008
+ }
5009
+ if (elm) {
5010
+ this.setState('wholeElement');
5011
+ return elm;
5012
+ }
5013
+ if (unwrapChildren(cs, font)) {
5014
+ this.setState('endProcess');
5015
+ return null;
5016
+ }
5017
+ this.setState('wrap');
5018
+ return font;
5019
+ }
5020
+ },
5021
+ wholeElement: {
5022
+ toggleStyles(toggleElm) {
5023
+ let mode = INITIAL;
5024
+ if (toggleCommitStyles(cs, toggleElm)) {
5025
+ mode = UNWRAP;
5026
+ }
5027
+ else {
5028
+ mode = toggleCSS(cs, toggleElm, jodit, mode);
5029
+ }
5030
+ this.setState('generator', mode);
5031
+ }
5032
+ },
5033
+ orderList: {
5034
+ toggleStyles(font) {
5035
+ let mode = INITIAL;
5036
+ const li = dom/* Dom.closest */.i.closest(font, 'li', jodit.editor);
5037
+ if (!li) {
5038
+ this.setState('generator');
5039
+ return;
5040
+ }
5041
+ const ul = dom/* Dom.closest */.i.closest(font, ['ul', 'ol'], jodit.editor);
5042
+ if (!ul) {
5043
+ this.setState('generator');
5044
+ return;
5045
+ }
5046
+ mode = toggleOrderedList(cs, li, jodit, mode);
5047
+ if (mode === REPLACE || mode === UNWRAP || mode === CHANGE) {
5048
+ this.setState('endWhile');
5049
+ return;
5050
+ }
5051
+ this.setState('generator');
5052
+ }
5053
+ },
5054
+ wrap: {
5055
+ toggleStyles(font) {
5056
+ if (this.getSubState() !== 'unwrap') {
5057
+ const toggleElm = wrapAndCommitStyle(cs, font, jodit);
5058
+ toggleCSS(cs, toggleElm, jodit, WRAP);
5059
+ }
5060
+ this.setState('generator');
5061
+ }
5062
+ },
5063
+ endWhile: {
5064
+ nextFont(gen) {
5065
+ const font = gen.next();
5066
+ if (font.done) {
5067
+ this.setState('end');
5068
+ }
5069
+ }
5070
+ },
5071
+ endProcess: {
5072
+ toggleStyles() {
5073
+ this.setState('generator');
5074
+ }
5075
+ },
5076
+ end: {
5077
+ finalize() {
5078
+ sel.restore();
4781
5079
  }
4782
- return false;
4783
- }, root);
4784
- if (box) {
4785
- wrapper = box;
4786
5080
  }
4787
- else {
4788
- wrapper = wrapUnwrappedText(style, font, jodit, range);
5081
+ });
5082
+ fsm.dispatch('start');
5083
+ const gen = fsm.dispatch('initGenerator');
5084
+ while (fsm.getState() !== 'end') {
5085
+ const font = fsm.dispatch('nextFont', gen);
5086
+ if (font) {
5087
+ const wrapper = fsm.dispatch('work', font);
5088
+ fsm.dispatch('toggleStyles', wrapper);
4789
5089
  }
4790
5090
  }
4791
- const newWrapper = dom/* Dom.replace */.i.replace(wrapper, style.element, jodit.createInside, true);
4792
- (0,helpers.attr)(newWrapper, 'size', null);
4793
- if (style.elementIsBlock) {
4794
- postProcessListElement(style, newWrapper, jodit.createInside);
4795
- }
4796
- if (style.options.style && style.elementIsDefault) {
4797
- (0,helpers.css)(newWrapper, style.options.style);
4798
- }
4799
- if (style.options.className) {
4800
- newWrapper.classList.toggle(style.options.className);
4801
- }
4802
- return wrap;
5091
+ fsm.dispatch('finalize', gen);
4803
5092
  }
4804
5093
 
4805
5094
  ;// CONCATENATED MODULE: ./src/core/selection/style/commit-style.ts
@@ -4810,10 +5099,19 @@ function applyToElement(style, font, range, jodit, wrap) {
4810
5099
  */
4811
5100
 
4812
5101
 
5102
+ const WRAP = 'wrap';
5103
+ const UNWRAP = 'unwrap';
5104
+ const CHANGE = 'change';
5105
+ const UNSET = 'unset';
5106
+ const INITIAL = 'initial';
5107
+ const REPLACE = 'replace';
4813
5108
  class CommitStyle {
4814
5109
  constructor(options) {
4815
5110
  this.options = options;
4816
5111
  }
5112
+ get elementIsList() {
5113
+ return Boolean(this.options.element && ['ul', 'ol'].includes(this.options.element));
5114
+ }
4817
5115
  get element() {
4818
5116
  return this.options.element || this.defaultTag;
4819
5117
  }
@@ -4868,7 +5166,7 @@ __webpack_require__.d(__webpack_exports__, {
4868
5166
  "watch": function() { return /* reexport */ watch; }
4869
5167
  });
4870
5168
 
4871
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
5169
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
4872
5170
  var helpers = __webpack_require__(8);
4873
5171
  ;// CONCATENATED MODULE: ./src/core/decorators/cache.ts
4874
5172
  /*!
@@ -6408,7 +6706,7 @@ function ucfirst(value) {
6408
6706
  var config = __webpack_require__(1);
6409
6707
  // EXTERNAL MODULE: ./src/core/helpers/default-language.ts
6410
6708
  var default_language = __webpack_require__(28);
6411
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
6709
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
6412
6710
  var helpers = __webpack_require__(8);
6413
6711
  // EXTERNAL MODULE: ./src/core/global.ts
6414
6712
  var global = __webpack_require__(13);
@@ -6661,22 +6959,35 @@ __webpack_require__.d(__webpack_exports__, {
6661
6959
  "GJ": function() { return /* reexport */ ui_form/* UITextArea */.GJ; }
6662
6960
  });
6663
6961
 
6664
- // UNUSED EXPORTS: UIButtonGroup, UIButtonState, UISelect
6962
+ // UNUSED EXPORTS: UIButtonGroup, UIButtonState, UISelect, UISpacer
6665
6963
 
6666
6964
  // EXTERNAL MODULE: ./src/core/ui/element.ts
6667
6965
  var ui_element = __webpack_require__(33);
6668
6966
  // EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules
6669
6967
  var ui_button = __webpack_require__(36);
6670
6968
  // EXTERNAL MODULE: ./src/core/ui/popup/index.ts + 1 modules
6671
- var popup = __webpack_require__(42);
6672
- // EXTERNAL MODULE: ./src/core/ui/separator.ts
6673
- var separator = __webpack_require__(40);
6969
+ var popup = __webpack_require__(43);
6674
6970
  // EXTERNAL MODULE: ./src/core/ui/list/group.ts
6675
6971
  var group = __webpack_require__(39);
6676
6972
  // EXTERNAL MODULE: ./src/core/ui/list/list.ts + 1 modules
6677
6973
  var list = __webpack_require__(37);
6974
+ // EXTERNAL MODULE: ./src/core/ui/list/separator.ts
6975
+ var separator = __webpack_require__(41);
6976
+ // EXTERNAL MODULE: ./src/core/ui/list/spacer.ts
6977
+ var spacer = __webpack_require__(40);
6978
+ ;// CONCATENATED MODULE: ./src/core/ui/list/index.ts
6979
+ /*!
6980
+ * Jodit Editor (https://xdsoft.net/jodit/)
6981
+ * Released under MIT see LICENSE.txt in the project root for license information.
6982
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
6983
+ */
6984
+
6985
+
6986
+
6987
+
6988
+
6678
6989
  // EXTERNAL MODULE: ./src/core/ui/form/index.ts + 11 modules
6679
- var ui_form = __webpack_require__(43);
6990
+ var ui_form = __webpack_require__(44);
6680
6991
  // EXTERNAL MODULE: ./src/core/ui/icon.ts
6681
6992
  var icon = __webpack_require__(35);
6682
6993
  // EXTERNAL MODULE: ./src/core/dom.ts
@@ -6731,8 +7042,6 @@ class ProgressBar extends ui_element/* UIElement */.u {
6731
7042
 
6732
7043
 
6733
7044
 
6734
-
6735
-
6736
7045
  /***/ }),
6737
7046
  /* 33 */
6738
7047
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
@@ -6813,9 +7122,9 @@ class UIElement extends _component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent
6813
7122
  return null;
6814
7123
  }
6815
7124
  static closestElement(node, type) {
6816
- const elm = _dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.up */ .i.up(node, node => {
6817
- if (node) {
6818
- const { component } = node;
7125
+ const elm = _dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.up */ .i.up(node, elm => {
7126
+ if (elm) {
7127
+ const { component } = elm;
6819
7128
  return component && component instanceof type;
6820
7129
  }
6821
7130
  return false;
@@ -6959,6 +7268,7 @@ class Icon {
6959
7268
  }
6960
7269
  return (Icon.icons[name] ||
6961
7270
  Icon.icons[name.replace(/-/g, '_')] ||
7271
+ Icon.icons[name.replace(/_/g, '-')] ||
6962
7272
  Icon.icons[name.toLowerCase()]);
6963
7273
  }
6964
7274
  static exists(name) {
@@ -6969,6 +7279,7 @@ class Icon {
6969
7279
  }
6970
7280
  static set(name, value) {
6971
7281
  this.icons[name.replace('_', '-')] = value;
7282
+ return this;
6972
7283
  }
6973
7284
  static makeIcon(jodit, icon) {
6974
7285
  var _a;
@@ -7024,7 +7335,7 @@ var tslib_es6 = __webpack_require__(18);
7024
7335
  var ui_element = __webpack_require__(33);
7025
7336
  // EXTERNAL MODULE: ./src/core/dom.ts
7026
7337
  var dom = __webpack_require__(15);
7027
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
7338
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
7028
7339
  var helpers = __webpack_require__(8);
7029
7340
  // EXTERNAL MODULE: ./src/core/ui/icon.ts
7030
7341
  var icon = __webpack_require__(35);
@@ -7054,7 +7365,7 @@ const UIButtonState = () => ({
7054
7365
  type: 'button',
7055
7366
  name: '',
7056
7367
  value: '',
7057
- status: 'initial',
7368
+ variant: 'initial',
7058
7369
  disabled: false,
7059
7370
  activated: false,
7060
7371
  icon: {
@@ -7102,7 +7413,7 @@ let UIButton = class UIButton extends ui_element/* UIElement */.u {
7102
7413
  }
7103
7414
  }
7104
7415
  onChangeStatus() {
7105
- this.setMod('status', this.state.status);
7416
+ this.setMod('variant', this.state.variant);
7106
7417
  }
7107
7418
  onChangeText() {
7108
7419
  this.text.textContent = this.jodit.i18n(this.state.text);
@@ -7188,7 +7499,7 @@ let UIButton = class UIButton extends ui_element/* UIElement */.u {
7188
7499
  (0,decorators.watch)('parentElement')
7189
7500
  ], UIButton.prototype, "updateSize", null);
7190
7501
  (0,tslib_es6/* __decorate */.gn)([
7191
- (0,decorators.watch)('state.status')
7502
+ (0,decorators.watch)('state.variant')
7192
7503
  ], UIButton.prototype, "onChangeStatus", null);
7193
7504
  (0,tslib_es6/* __decorate */.gn)([
7194
7505
  (0,decorators.watch)('state.text')
@@ -7221,14 +7532,14 @@ UIButton = (0,tslib_es6/* __decorate */.gn)([
7221
7532
  decorators.component
7222
7533
  ], UIButton);
7223
7534
 
7224
- function Button(jodit, stateOrText, text, status) {
7535
+ function Button(jodit, stateOrText, text, variant) {
7225
7536
  const button = new UIButton(jodit);
7226
7537
  button.state.tabIndex = jodit.o.allowTabNavigation ? 0 : -1;
7227
7538
  if ((0,helpers.isString)(stateOrText)) {
7228
7539
  button.state.icon.name = stateOrText;
7229
7540
  button.state.name = stateOrText;
7230
- if (status) {
7231
- button.state.status = status;
7541
+ if (variant) {
7542
+ button.state.variant = variant;
7232
7543
  }
7233
7544
  if (text) {
7234
7545
  button.state.text = text;
@@ -7262,7 +7573,7 @@ let UIButtonGroup = class UIButtonGroup extends group/* UIGroup */.q {
7262
7573
  const btn = new UIButton(jodit, {
7263
7574
  text: opt.text,
7264
7575
  value: opt.value,
7265
- status: 'primary'
7576
+ variant: 'primary'
7266
7577
  });
7267
7578
  btn.onAction(() => {
7268
7579
  this.select(opt.value);
@@ -7340,7 +7651,7 @@ var get_control_type = __webpack_require__(38);
7340
7651
  var config = __webpack_require__(1);
7341
7652
  // EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 14 modules
7342
7653
  var checker = __webpack_require__(19);
7343
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
7654
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
7344
7655
  var helpers = __webpack_require__(8);
7345
7656
  ;// CONCATENATED MODULE: ./src/core/ui/helpers/get-strong-control-types.ts
7346
7657
  /*!
@@ -7366,10 +7677,12 @@ function getStrongControlTypes(items, controls) {
7366
7677
  var decorators = __webpack_require__(17);
7367
7678
  // EXTERNAL MODULE: ./src/core/ui/list/group.ts
7368
7679
  var group = __webpack_require__(39);
7369
- // EXTERNAL MODULE: ./src/core/ui/separator.ts
7370
- var separator = __webpack_require__(40);
7680
+ // EXTERNAL MODULE: ./src/core/ui/list/spacer.ts
7681
+ var spacer = __webpack_require__(40);
7682
+ // EXTERNAL MODULE: ./src/core/ui/list/separator.ts
7683
+ var separator = __webpack_require__(41);
7371
7684
  // EXTERNAL MODULE: ./src/core/ui/helpers/buttons.ts
7372
- var buttons = __webpack_require__(41);
7685
+ var buttons = __webpack_require__(42);
7373
7686
  ;// CONCATENATED MODULE: ./src/core/ui/list/list.ts
7374
7687
  /*!
7375
7688
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -7386,6 +7699,7 @@ var buttons = __webpack_require__(41);
7386
7699
 
7387
7700
 
7388
7701
 
7702
+
7389
7703
  let UIList = class UIList extends group/* UIGroup */.q {
7390
7704
  constructor(jodit) {
7391
7705
  super(jodit);
@@ -7420,12 +7734,14 @@ let UIList = class UIList extends group/* UIGroup */.q {
7420
7734
  let lastBtnSeparator = false;
7421
7735
  let line = this.makeGroup();
7422
7736
  this.append(line);
7737
+ line.setMod('line', true);
7423
7738
  let group;
7424
7739
  const addButton = (control) => {
7425
7740
  let elm = null;
7426
7741
  switch (control.name) {
7427
7742
  case '\n':
7428
7743
  line = this.makeGroup();
7744
+ line.setMod('line', true);
7429
7745
  group = this.makeGroup();
7430
7746
  line.append(group);
7431
7747
  this.append(line);
@@ -7436,6 +7752,15 @@ let UIList = class UIList extends group/* UIGroup */.q {
7436
7752
  elm = new separator/* UISeparator */.l(this.j);
7437
7753
  }
7438
7754
  break;
7755
+ case '---': {
7756
+ group.setMod('before-spacer', true);
7757
+ const space = new spacer/* UISpacer */.W(this.j);
7758
+ line.append(space);
7759
+ group = this.makeGroup();
7760
+ line.append(group);
7761
+ lastBtnSeparator = false;
7762
+ break;
7763
+ }
7439
7764
  default:
7440
7765
  lastBtnSeparator = false;
7441
7766
  elm = this.makeButton(control, target);
@@ -7454,8 +7779,8 @@ let UIList = class UIList extends group/* UIGroup */.q {
7454
7779
  const buttons = item.buttons.filter(b => b);
7455
7780
  if (buttons.length) {
7456
7781
  group = this.makeGroup();
7457
- line.append(group);
7458
7782
  group.setMod('separated', true).setMod('group', item.group);
7783
+ line.append(group);
7459
7784
  getStrongControlTypes(buttons, this.j.o.controls)
7460
7785
  .filter(isNotRemoved)
7461
7786
  .forEach(addButton);
@@ -7571,6 +7896,7 @@ var UIGroup_1;
7571
7896
  let UIGroup = UIGroup_1 = class UIGroup extends _element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u {
7572
7897
  constructor(jodit, elements, options) {
7573
7898
  super(jodit, options);
7899
+ this.options = options;
7574
7900
  this.syncMod = false;
7575
7901
  this.elements = [];
7576
7902
  this.buttonSize = 'middle';
@@ -7607,7 +7933,7 @@ let UIGroup = UIGroup_1 = class UIGroup extends _element__WEBPACK_IMPORTED_MODUL
7607
7933
  }
7608
7934
  append(elm, distElement) {
7609
7935
  if ((0,_helpers__WEBPACK_IMPORTED_MODULE_2__.isArray)(elm)) {
7610
- elm.forEach(item => this.append(item));
7936
+ elm.forEach(item => this.append(item, distElement));
7611
7937
  return this;
7612
7938
  }
7613
7939
  this.elements.push(elm);
@@ -7652,17 +7978,47 @@ let UIGroup = UIGroup_1 = class UIGroup extends _element__WEBPACK_IMPORTED_MODUL
7652
7978
  return super.destruct();
7653
7979
  }
7654
7980
  };
7655
- (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([
7656
- (0,_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('buttonSize')
7657
- ], UIGroup.prototype, "update", null);
7658
- UIGroup = UIGroup_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([
7981
+ (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([
7982
+ (0,_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('buttonSize')
7983
+ ], UIGroup.prototype, "update", null);
7984
+ UIGroup = UIGroup_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([
7985
+ _decorators__WEBPACK_IMPORTED_MODULE_1__.component
7986
+ ], UIGroup);
7987
+
7988
+
7989
+
7990
+ /***/ }),
7991
+ /* 40 */
7992
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7993
+
7994
+ "use strict";
7995
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7996
+ /* harmony export */ "W": function() { return /* binding */ UISpacer; }
7997
+ /* harmony export */ });
7998
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18);
7999
+ /* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33);
8000
+ /* harmony import */ var _decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17);
8001
+ /*!
8002
+ * Jodit Editor (https://xdsoft.net/jodit/)
8003
+ * Released under MIT see LICENSE.txt in the project root for license information.
8004
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
8005
+ */
8006
+
8007
+
8008
+
8009
+ let UISpacer = class UISpacer extends _element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u {
8010
+ className() {
8011
+ return 'UISpacer';
8012
+ }
8013
+ };
8014
+ UISpacer = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .gn)([
7659
8015
  _decorators__WEBPACK_IMPORTED_MODULE_1__.component
7660
- ], UIGroup);
8016
+ ], UISpacer);
7661
8017
 
7662
8018
 
7663
8019
 
7664
8020
  /***/ }),
7665
- /* 40 */
8021
+ /* 41 */
7666
8022
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7667
8023
 
7668
8024
  "use strict";
@@ -7692,7 +8048,7 @@ UISeparator = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .gn)([
7692
8048
 
7693
8049
 
7694
8050
  /***/ }),
7695
- /* 41 */
8051
+ /* 42 */
7696
8052
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7697
8053
 
7698
8054
  "use strict";
@@ -7710,19 +8066,26 @@ UISeparator = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .gn)([
7710
8066
  const isButtonGroup = (item) => {
7711
8067
  return (0,_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isArray */ .kJ)(item.buttons);
7712
8068
  };
7713
- const flatButtonsSet = (buttons) => new Set(buttons.reduce((acc, item) => {
7714
- if (isButtonGroup(item)) {
7715
- acc.push(...item.buttons);
7716
- }
7717
- else {
7718
- acc.push(item);
7719
- }
7720
- return acc;
7721
- }, []));
8069
+ function flatButtonsSet(buttons, jodit) {
8070
+ const groups = jodit.getRegisteredButtonGroups();
8071
+ return new Set(buttons.reduce((acc, item) => {
8072
+ var _a;
8073
+ if (isButtonGroup(item)) {
8074
+ acc = acc.concat([
8075
+ ...item.buttons,
8076
+ ...((_a = groups[item.group]) !== null && _a !== void 0 ? _a : [])
8077
+ ]);
8078
+ }
8079
+ else {
8080
+ acc.push(item);
8081
+ }
8082
+ return acc;
8083
+ }, []));
8084
+ }
7722
8085
 
7723
8086
 
7724
8087
  /***/ }),
7725
- /* 42 */
8088
+ /* 43 */
7726
8089
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7727
8090
 
7728
8091
  "use strict";
@@ -7736,7 +8099,7 @@ __webpack_require__.d(__webpack_exports__, {
7736
8099
  var tslib_es6 = __webpack_require__(18);
7737
8100
  // EXTERNAL MODULE: ./src/core/dom.ts
7738
8101
  var dom = __webpack_require__(15);
7739
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
8102
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
7740
8103
  var helpers = __webpack_require__(8);
7741
8104
  // EXTERNAL MODULE: ./src/core/global.ts
7742
8105
  var global = __webpack_require__(13);
@@ -7812,6 +8175,7 @@ class Popup extends ui_element/* UIElement */.u {
7812
8175
  }
7813
8176
  open(getBound, keepPosition = false) {
7814
8177
  (0,helpers.markOwner)(this.jodit, this.container);
8178
+ this.calculateZIndex();
7815
8179
  this.isOpened = true;
7816
8180
  this.addGlobalListeners();
7817
8181
  this.targetBound = !keepPosition
@@ -7825,6 +8189,40 @@ class Popup extends ui_element/* UIElement */.u {
7825
8189
  this.j.e.fire(this, 'afterOpen');
7826
8190
  return this;
7827
8191
  }
8192
+ calculateZIndex() {
8193
+ if (this.container.style.zIndex) {
8194
+ return;
8195
+ }
8196
+ const checkView = (view) => {
8197
+ const zIndex = view.container.style.zIndex || view.o.zIndex;
8198
+ if (zIndex) {
8199
+ this.setZIndex(1 + parseInt(zIndex.toString(), 10));
8200
+ return true;
8201
+ }
8202
+ return false;
8203
+ };
8204
+ if (checkView(this.j)) {
8205
+ return;
8206
+ }
8207
+ let pe = this.parentElement;
8208
+ while (pe) {
8209
+ if (checkView(pe.j)) {
8210
+ return;
8211
+ }
8212
+ if (pe.container.style.zIndex) {
8213
+ this.setZIndex(1 + parseInt(pe.container.style.zIndex.toString(), 10));
8214
+ return;
8215
+ }
8216
+ if (!pe.parentElement && pe.container.parentElement) {
8217
+ const elm = ui_element/* UIElement.closestElement */.u.closestElement(pe.container.parentElement, ui_element/* UIElement */.u);
8218
+ if (elm) {
8219
+ pe = elm;
8220
+ continue;
8221
+ }
8222
+ }
8223
+ pe = pe.parentElement;
8224
+ }
8225
+ }
7828
8226
  getKeepBound(getBound) {
7829
8227
  const oldBound = getBound();
7830
8228
  const elmUnderCursor = this.od.elementFromPoint(oldBound.left, oldBound.top);
@@ -8004,7 +8402,7 @@ class Popup extends ui_element/* UIElement */.u {
8004
8402
 
8005
8403
 
8006
8404
  /***/ }),
8007
- /* 43 */
8405
+ /* 44 */
8008
8406
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8009
8407
 
8010
8408
  "use strict";
@@ -8034,7 +8432,7 @@ var tslib_es6 = __webpack_require__(18);
8034
8432
  var group = __webpack_require__(39);
8035
8433
  // EXTERNAL MODULE: ./src/core/ui/element.ts
8036
8434
  var ui_element = __webpack_require__(33);
8037
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
8435
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
8038
8436
  var helpers = __webpack_require__(8);
8039
8437
  // EXTERNAL MODULE: ./src/core/dom.ts
8040
8438
  var dom = __webpack_require__(15);
@@ -8114,6 +8512,9 @@ let UIInput = UIInput_1 = class UIInput extends ui_element/* UIElement */.u {
8114
8512
  this.state = { ...UIInput_1.defaultState };
8115
8513
  this.__errorBox = this.j.c.span(this.getFullElName('error'));
8116
8514
  this.validators = new Set([]);
8515
+ if ((options === null || options === void 0 ? void 0 : options.value) !== undefined) {
8516
+ options.value = options.value.toString();
8517
+ }
8117
8518
  Object.assign(this.state, options);
8118
8519
  if (this.state.clearButton !== undefined) {
8119
8520
  this.j.e
@@ -8210,14 +8611,19 @@ let UIInput = UIInput_1 = class UIInput extends ui_element/* UIElement */.u {
8210
8611
  }
8211
8612
  }
8212
8613
  onChangeStateValue() {
8213
- this.value = this.state.value;
8614
+ const value = this.state.value.toString();
8615
+ if (value !== this.value) {
8616
+ this.value = value;
8617
+ }
8214
8618
  }
8215
8619
  onChangeValue() {
8216
8620
  var _a, _b;
8217
8621
  const { value } = this;
8218
- this.state.value = value;
8219
- this.j.e.fire(this, 'change', value);
8220
- (_b = (_a = this.state).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value);
8622
+ if (this.state.value !== value) {
8623
+ this.state.value = value;
8624
+ this.j.e.fire(this, 'change', value);
8625
+ (_b = (_a = this.state).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value);
8626
+ }
8221
8627
  }
8222
8628
  validate() {
8223
8629
  this.error = '';
@@ -8296,11 +8702,20 @@ UIInput = UIInput_1 = (0,tslib_es6/* __decorate */.gn)([
8296
8702
  * Released under MIT see LICENSE.txt in the project root for license information.
8297
8703
  * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
8298
8704
  */
8705
+ var UITextArea_1;
8299
8706
 
8300
8707
 
8301
8708
 
8302
8709
 
8303
- let UITextArea = class UITextArea extends UIInput {
8710
+ let UITextArea = UITextArea_1 = class UITextArea extends UIInput {
8711
+ constructor(jodit, state) {
8712
+ super(jodit, state);
8713
+ this.state = { ...UITextArea_1.defaultState };
8714
+ Object.assign(this.state, state);
8715
+ if (this.state.resizable === false) {
8716
+ this.nativeInput.style.resize = 'none';
8717
+ }
8718
+ }
8304
8719
  className() {
8305
8720
  return 'UITextArea';
8306
8721
  }
@@ -8309,7 +8724,12 @@ let UITextArea = class UITextArea extends UIInput {
8309
8724
  return super.createContainer(options);
8310
8725
  }
8311
8726
  };
8312
- UITextArea = (0,tslib_es6/* __decorate */.gn)([
8727
+ UITextArea.defaultState = {
8728
+ ...UIInput.defaultState,
8729
+ size: 5,
8730
+ resizable: true
8731
+ };
8732
+ UITextArea = UITextArea_1 = (0,tslib_es6/* __decorate */.gn)([
8313
8733
  decorators.component
8314
8734
  ], UITextArea);
8315
8735
 
@@ -8320,11 +8740,18 @@ UITextArea = (0,tslib_es6/* __decorate */.gn)([
8320
8740
  * Released under MIT see LICENSE.txt in the project root for license information.
8321
8741
  * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
8322
8742
  */
8743
+ var UICheckbox_1;
8323
8744
 
8324
8745
 
8325
8746
 
8326
8747
 
8327
- let UICheckbox = class UICheckbox extends UIInput {
8748
+
8749
+ let UICheckbox = UICheckbox_1 = class UICheckbox extends UIInput {
8750
+ constructor(jodit, options) {
8751
+ super(jodit, { ...options, type: 'checkbox' });
8752
+ this.state = { ...UICheckbox_1.defaultState };
8753
+ Object.assign(this.state, options);
8754
+ }
8328
8755
  className() {
8329
8756
  return 'UICheckbox';
8330
8757
  }
@@ -8333,11 +8760,45 @@ let UICheckbox = class UICheckbox extends UIInput {
8333
8760
  className: this.componentName
8334
8761
  });
8335
8762
  }
8336
- constructor(jodit, options) {
8337
- super(jodit, { ...options, type: 'checkbox' });
8763
+ onChangeChecked() {
8764
+ this.value = this.state.checked.toString();
8765
+ this.nativeInput.checked = this.state.checked;
8766
+ this.setMod('checked', this.state.checked);
8767
+ }
8768
+ onChangeNativeCheckBox() {
8769
+ this.state.checked = this.nativeInput.checked;
8770
+ }
8771
+ onChangeSwitch() {
8772
+ this.setMod('switch', this.state.switch);
8773
+ let slider = this.getElm('switch-slider');
8774
+ if (this.state.switch) {
8775
+ if (!slider) {
8776
+ slider = this.j.c.div(this.getFullElName('switch-slider'));
8777
+ }
8778
+ dom/* Dom.after */.i.after(this.nativeInput, slider);
8779
+ }
8780
+ else {
8781
+ dom/* Dom.safeRemove */.i.safeRemove(slider);
8782
+ }
8338
8783
  }
8339
8784
  };
8340
- UICheckbox = (0,tslib_es6/* __decorate */.gn)([
8785
+ UICheckbox.defaultState = {
8786
+ ...UIInput.defaultState,
8787
+ checked: false,
8788
+ switch: false
8789
+ };
8790
+ (0,tslib_es6/* __decorate */.gn)([
8791
+ (0,decorators.watch)('state.checked'),
8792
+ (0,decorators.hook)('ready')
8793
+ ], UICheckbox.prototype, "onChangeChecked", null);
8794
+ (0,tslib_es6/* __decorate */.gn)([
8795
+ (0,decorators.watch)('nativeInput:change')
8796
+ ], UICheckbox.prototype, "onChangeNativeCheckBox", null);
8797
+ (0,tslib_es6/* __decorate */.gn)([
8798
+ (0,decorators.watch)('state.switch'),
8799
+ (0,decorators.hook)('ready')
8800
+ ], UICheckbox.prototype, "onChangeSwitch", null);
8801
+ UICheckbox = UICheckbox_1 = (0,tslib_es6/* __decorate */.gn)([
8341
8802
  decorators.component
8342
8803
  ], UICheckbox);
8343
8804
 
@@ -8496,6 +8957,13 @@ var utils = __webpack_require__(9);
8496
8957
 
8497
8958
 
8498
8959
  let UIForm = class UIForm extends group/* UIGroup */.q {
8960
+ constructor(...args) {
8961
+ var _a, _b;
8962
+ super(...args);
8963
+ if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.className) {
8964
+ this.container.classList.add((_b = this.options) === null || _b === void 0 ? void 0 : _b.className);
8965
+ }
8966
+ }
8499
8967
  className() {
8500
8968
  return 'UIForm';
8501
8969
  }
@@ -8586,7 +9054,7 @@ UIBlock = (0,tslib_es6/* __decorate */.gn)([
8586
9054
 
8587
9055
 
8588
9056
  /***/ }),
8589
- /* 44 */
9057
+ /* 45 */
8590
9058
  /***/ (function(module) {
8591
9059
 
8592
9060
  /*!
@@ -8603,7 +9071,7 @@ module.exports = {
8603
9071
 
8604
9072
 
8605
9073
  /***/ }),
8606
- /* 45 */
9074
+ /* 46 */
8607
9075
  /***/ (function(module) {
8608
9076
 
8609
9077
  /*!
@@ -8834,7 +9302,7 @@ module.exports = {
8834
9302
 
8835
9303
 
8836
9304
  /***/ }),
8837
- /* 46 */
9305
+ /* 47 */
8838
9306
  /***/ (function(module) {
8839
9307
 
8840
9308
  /*!
@@ -9067,7 +9535,7 @@ module.exports = {
9067
9535
 
9068
9536
 
9069
9537
  /***/ }),
9070
- /* 47 */
9538
+ /* 48 */
9071
9539
  /***/ (function(module) {
9072
9540
 
9073
9541
  /*!
@@ -9300,7 +9768,7 @@ module.exports = {
9300
9768
 
9301
9769
 
9302
9770
  /***/ }),
9303
- /* 48 */
9771
+ /* 49 */
9304
9772
  /***/ (function(module) {
9305
9773
 
9306
9774
  /*!
@@ -9538,7 +10006,7 @@ module.exports = {
9538
10006
 
9539
10007
 
9540
10008
  /***/ }),
9541
- /* 49 */
10009
+ /* 50 */
9542
10010
  /***/ (function(module) {
9543
10011
 
9544
10012
  /*!
@@ -9766,7 +10234,7 @@ module.exports = {
9766
10234
 
9767
10235
 
9768
10236
  /***/ }),
9769
- /* 50 */
10237
+ /* 51 */
9770
10238
  /***/ (function(module) {
9771
10239
 
9772
10240
  /*!
@@ -9998,7 +10466,7 @@ module.exports = {
9998
10466
 
9999
10467
 
10000
10468
  /***/ }),
10001
- /* 51 */
10469
+ /* 52 */
10002
10470
  /***/ (function(module) {
10003
10471
 
10004
10472
  /*!
@@ -10232,7 +10700,7 @@ module.exports = {
10232
10700
 
10233
10701
 
10234
10702
  /***/ }),
10235
- /* 52 */
10703
+ /* 53 */
10236
10704
  /***/ (function(module) {
10237
10705
 
10238
10706
  /*!
@@ -10465,7 +10933,7 @@ module.exports = {
10465
10933
 
10466
10934
 
10467
10935
  /***/ }),
10468
- /* 53 */
10936
+ /* 54 */
10469
10937
  /***/ (function(module) {
10470
10938
 
10471
10939
  /*!
@@ -10698,7 +11166,7 @@ module.exports = {
10698
11166
 
10699
11167
 
10700
11168
  /***/ }),
10701
- /* 54 */
11169
+ /* 55 */
10702
11170
  /***/ (function(module) {
10703
11171
 
10704
11172
  /*!
@@ -10934,7 +11402,7 @@ module.exports = {
10934
11402
 
10935
11403
 
10936
11404
  /***/ }),
10937
- /* 55 */
11405
+ /* 56 */
10938
11406
  /***/ (function(module) {
10939
11407
 
10940
11408
  /*!
@@ -11165,7 +11633,7 @@ module.exports = {
11165
11633
 
11166
11634
 
11167
11635
  /***/ }),
11168
- /* 56 */
11636
+ /* 57 */
11169
11637
  /***/ (function(module) {
11170
11638
 
11171
11639
  /*!
@@ -11399,7 +11867,7 @@ module.exports = {
11399
11867
 
11400
11868
 
11401
11869
  /***/ }),
11402
- /* 57 */
11870
+ /* 58 */
11403
11871
  /***/ (function(module) {
11404
11872
 
11405
11873
  /*!
@@ -11633,7 +12101,7 @@ module.exports = {
11633
12101
 
11634
12102
 
11635
12103
  /***/ }),
11636
- /* 58 */
12104
+ /* 59 */
11637
12105
  /***/ (function(module) {
11638
12106
 
11639
12107
  /*!
@@ -11871,7 +12339,7 @@ module.exports = {
11871
12339
 
11872
12340
 
11873
12341
  /***/ }),
11874
- /* 59 */
12342
+ /* 60 */
11875
12343
  /***/ (function(module) {
11876
12344
 
11877
12345
  /*!
@@ -12103,7 +12571,7 @@ module.exports = {
12103
12571
 
12104
12572
 
12105
12573
  /***/ }),
12106
- /* 60 */
12574
+ /* 61 */
12107
12575
  /***/ (function(module) {
12108
12576
 
12109
12577
  /*!
@@ -12335,7 +12803,7 @@ module.exports = {
12335
12803
 
12336
12804
 
12337
12805
  /***/ }),
12338
- /* 61 */
12806
+ /* 62 */
12339
12807
  /***/ (function(module) {
12340
12808
 
12341
12809
  /*!
@@ -12567,7 +13035,7 @@ module.exports = {
12567
13035
 
12568
13036
 
12569
13037
  /***/ }),
12570
- /* 62 */
13038
+ /* 63 */
12571
13039
  /***/ (function(module) {
12572
13040
 
12573
13041
  /*!
@@ -12797,13 +13265,13 @@ module.exports = {
12797
13265
 
12798
13266
 
12799
13267
  /***/ }),
12800
- /* 63 */
13268
+ /* 64 */
12801
13269
  /***/ (function(module) {
12802
13270
 
12803
13271
  module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M36 4h-24c-2.21 0-4 1.79-4 4v32c0 2.21 1.79 4 4 4h24c2.21 0 4-1.79 4-4v-32c0-2.21-1.79-4-4-4zm-24 4h10v16l-5-3-5 3v-16z\"/> </svg>"
12804
13272
 
12805
13273
  /***/ }),
12806
- /* 64 */
13274
+ /* 65 */
12807
13275
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
12808
13276
 
12809
13277
  "use strict";
@@ -12815,9 +13283,9 @@ __webpack_require__.d(__webpack_exports__, {
12815
13283
  "IL": function() { return /* reexport */ TabsWidget; }
12816
13284
  });
12817
13285
 
12818
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
13286
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
12819
13287
  var helpers = __webpack_require__(8);
12820
- // EXTERNAL MODULE: ./src/core/ui/index.ts + 1 modules
13288
+ // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules
12821
13289
  var ui = __webpack_require__(32);
12822
13290
  // EXTERNAL MODULE: ./src/core/dom.ts
12823
13291
  var dom = __webpack_require__(15);
@@ -12917,7 +13385,7 @@ const TabsWidget = (editor, tabs, state) => {
12917
13385
  buttonList.push(button);
12918
13386
  button.container.classList.add('jodit-tabs__button', 'jodit-tabs__button_columns_' + tabs.length);
12919
13387
  if (!(0,helpers.isFunction)(content)) {
12920
- tab.appendChild(content);
13388
+ tab.appendChild(content instanceof ui/* UIElement */.u1 ? content.container : content);
12921
13389
  }
12922
13390
  else {
12923
13391
  tab.appendChild(editor.c.div('jodit-tab_empty'));
@@ -13016,7 +13484,7 @@ const FileSelectorWidget = (editor, callbacks, elm, close, isImage = true) => {
13016
13484
  if (callbacks.url) {
13017
13485
  const button = new ui/* UIButton */.y3(editor, {
13018
13486
  type: 'submit',
13019
- status: 'primary',
13487
+ variant: 'primary',
13020
13488
  text: 'Insert'
13021
13489
  }), form = new ui/* UIForm */.x4(editor, [
13022
13490
  new ui/* UIInput */.u3(editor, {
@@ -13072,7 +13540,7 @@ const FileSelectorWidget = (editor, callbacks, elm, close, isImage = true) => {
13072
13540
 
13073
13541
 
13074
13542
  /***/ }),
13075
- /* 65 */
13543
+ /* 66 */
13076
13544
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13077
13545
 
13078
13546
  "use strict";
@@ -13112,7 +13580,7 @@ const hAlignElement = (image, align) => {
13112
13580
 
13113
13581
 
13114
13582
  /***/ }),
13115
- /* 66 */
13583
+ /* 67 */
13116
13584
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13117
13585
 
13118
13586
  "use strict";
@@ -13146,7 +13614,7 @@ const hAlignElement = (image, align) => {
13146
13614
 
13147
13615
 
13148
13616
  /***/ }),
13149
- /* 67 */
13617
+ /* 68 */
13150
13618
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13151
13619
 
13152
13620
  "use strict";
@@ -13156,7 +13624,7 @@ const hAlignElement = (image, align) => {
13156
13624
  /* harmony import */ var _core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
13157
13625
  /* harmony import */ var _core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
13158
13626
  /* harmony import */ var _core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
13159
- /* harmony import */ var _image_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65);
13627
+ /* harmony import */ var _image_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(66);
13160
13628
  /*!
13161
13629
  * Jodit Editor (https://xdsoft.net/jodit/)
13162
13630
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -13231,13 +13699,13 @@ const align = {
13231
13699
 
13232
13700
 
13233
13701
  /***/ }),
13234
- /* 68 */
13702
+ /* 69 */
13235
13703
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13236
13704
 
13237
13705
  "use strict";
13238
13706
  /* harmony import */ var _core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19);
13239
13707
  /* harmony import */ var _core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
13240
- /* harmony import */ var _modules_widget__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64);
13708
+ /* harmony import */ var _modules_widget__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65);
13241
13709
  /*!
13242
13710
  * Jodit Editor (https://xdsoft.net/jodit/)
13243
13711
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -13366,11 +13834,50 @@ const cmd = (control) => control.args && (0,_core_helpers_checker__WEBPACK_IMPOR
13366
13834
 
13367
13835
 
13368
13836
  /***/ }),
13369
- /* 69 */
13837
+ /* 70 */
13838
+ /***/ (function(__unused_webpack_module, __webpack_exports__) {
13839
+
13840
+ "use strict";
13841
+ /*!
13842
+ * Jodit Editor (https://xdsoft.net/jodit/)
13843
+ * Released under MIT see LICENSE.txt in the project root for license information.
13844
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
13845
+ */
13846
+ /* harmony default export */ __webpack_exports__["Z"] = ([
13847
+ 'bold',
13848
+ 'italic',
13849
+ '|',
13850
+ 'ul',
13851
+ 'ol',
13852
+ 'eraser',
13853
+ '|',
13854
+ 'fontsize',
13855
+ 'brush',
13856
+ 'paragraph',
13857
+ '---',
13858
+ 'image',
13859
+ 'table',
13860
+ '\n',
13861
+ 'link',
13862
+ '|',
13863
+ 'align',
13864
+ '|',
13865
+ 'undo',
13866
+ 'redo',
13867
+ '|',
13868
+ 'copyformat',
13869
+ 'fullsize',
13870
+ '---',
13871
+ 'dots'
13872
+ ]);
13873
+
13874
+
13875
+ /***/ }),
13876
+ /* 71 */
13370
13877
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13371
13878
 
13372
13879
  "use strict";
13373
- /* harmony import */ var _img__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67);
13880
+ /* harmony import */ var _img__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(68);
13374
13881
  /*!
13375
13882
  * Jodit Editor (https://xdsoft.net/jodit/)
13376
13883
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -13390,487 +13897,493 @@ const cmd = (control) => control.args && (0,_core_helpers_checker__WEBPACK_IMPOR
13390
13897
 
13391
13898
 
13392
13899
  /***/ }),
13393
- /* 70 */
13900
+ /* 72 */
13394
13901
  /***/ (function(module) {
13395
13902
 
13396
13903
  module.exports = "<svg viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M1088 1256v240q0 16-12 28t-28 12h-240q-16 0-28-12t-12-28v-240q0-16 12-28t28-12h240q16 0 28 12t12 28zm316-600q0 54-15.5 101t-35 76.5-55 59.5-57.5 43.5-61 35.5q-41 23-68.5 65t-27.5 67q0 17-12 32.5t-28 15.5h-240q-15 0-25.5-18.5t-10.5-37.5v-45q0-83 65-156.5t143-108.5q59-27 84-56t25-76q0-42-46.5-74t-107.5-32q-65 0-108 29-35 25-107 115-13 16-31 16-12 0-25-8l-164-125q-13-10-15.5-25t5.5-28q160-266 464-266 80 0 161 31t146 83 106 127.5 41 158.5z\"/> </svg>"
13397
13904
 
13398
13905
  /***/ }),
13399
- /* 71 */
13906
+ /* 73 */
13400
13907
  /***/ (function(module) {
13401
13908
 
13402
13909
  module.exports = "<svg viewBox=\"0 0 18.151 18.151\" xmlns=\"http://www.w3.org/2000/svg\"> <g> <path stroke-width=\"0\" d=\"M6.237,16.546H3.649V1.604h5.916v5.728c0.474-0.122,0.968-0.194,1.479-0.194 c0.042,0,0.083,0.006,0.125,0.006V0H2.044v18.15h5.934C7.295,17.736,6.704,17.19,6.237,16.546z\"/> <path stroke-width=\"0\" d=\"M11.169,8.275c-2.723,0-4.938,2.215-4.938,4.938s2.215,4.938,4.938,4.938s4.938-2.215,4.938-4.938 S13.892,8.275,11.169,8.275z M11.169,16.81c-1.983,0-3.598-1.612-3.598-3.598c0-1.983,1.614-3.597,3.598-3.597 s3.597,1.613,3.597,3.597C14.766,15.198,13.153,16.81,11.169,16.81z\"/> <polygon stroke-width=\"0\" points=\"11.792,11.073 10.502,11.073 10.502,12.578 9.03,12.578 9.03,13.868 10.502,13.868 10.502,15.352 11.792,15.352 11.792,13.868 13.309,13.868 13.309,12.578 11.792,12.578 \"/> </g> </svg>"
13403
13910
 
13404
13911
  /***/ }),
13405
- /* 72 */
13912
+ /* 74 */
13406
13913
  /***/ (function(module) {
13407
13914
 
13408
13915
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 432 432\"> <g> <polygon points=\"203.688,96 0,96 0,144 155.688,144 \"/> <polygon points=\"155.719,288 0,288 0,336 203.719,336 \"/> <path d=\"M97.844,230.125c-3.701-3.703-5.856-8.906-5.856-14.141s2.154-10.438,5.856-14.141l9.844-9.844H0v48h107.719 L97.844,230.125z\"/> <polygon points=\"232,176 232,96 112,216 232,336 232,256 432,256 432,176\"/> </g> </svg>"
13409
13916
 
13410
13917
  /***/ }),
13411
- /* 73 */
13918
+ /* 75 */
13412
13919
  /***/ (function(module) {
13413
13920
 
13414
13921
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1395 736q0 13-10 23l-466 466q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l393 393 393-393q10-10 23-10t23 10l50 50q10 10 10 23z\"/> </svg>"
13415
13922
 
13416
13923
  /***/ }),
13417
- /* 74 */
13924
+ /* 76 */
13418
13925
  /***/ (function(module) {
13419
13926
 
13420
13927
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23z\"/> </svg>"
13421
13928
 
13422
13929
  /***/ }),
13423
- /* 75 */
13930
+ /* 77 */
13424
13931
  /***/ (function(module) {
13425
13932
 
13426
13933
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1171 960q0 13-10 23l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23z\"/> </svg>"
13427
13934
 
13428
13935
  /***/ }),
13429
- /* 76 */
13936
+ /* 78 */
13430
13937
  /***/ (function(module) {
13431
13938
 
13432
13939
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1395 1184q0 13-10 23l-50 50q-10 10-23 10t-23-10l-393-393-393 393q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l466 466q10 10 10 23z\"/> </svg>"
13433
13940
 
13434
13941
  /***/ }),
13435
- /* 77 */
13942
+ /* 79 */
13436
13943
  /***/ (function(module) {
13437
13944
 
13438
13945
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1411 541l-355 355 355 355 144-144q29-31 70-14 39 17 39 59v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l144-144-355-355-355 355 144 144q31 30 14 69-17 40-59 40h-448q-26 0-45-19t-19-45v-448q0-42 40-59 39-17 69 14l144 144 355-355-355-355-144 144q-19 19-45 19-12 0-24-5-40-17-40-59v-448q0-26 19-45t45-19h448q42 0 59 40 17 39-14 69l-144 144 355 355 355-355-144-144q-31-30-14-69 17-40 59-40h448q26 0 45 19t19 45v448q0 42-39 59-13 5-25 5-26 0-45-19z\"/> </svg>"
13439
13946
 
13440
13947
  /***/ }),
13441
- /* 78 */
13948
+ /* 80 */
13442
13949
  /***/ (function(module) {
13443
13950
 
13444
13951
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1792 896q0 26-19 45l-256 256q-19 19-45 19t-45-19-19-45v-128h-1024v128q0 26-19 45t-45 19-45-19l-256-256q-19-19-19-45t19-45l256-256q19-19 45-19t45 19 19 45v128h1024v-128q0-26 19-45t45-19 45 19l256 256q19 19 19 45z\"/> </svg>"
13445
13952
 
13446
13953
  /***/ }),
13447
- /* 79 */
13954
+ /* 81 */
13448
13955
  /***/ (function(module) {
13449
13956
 
13450
13957
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1596 1385q0 117-79 196t-196 79q-135 0-235-100l-777-776q-113-115-113-271 0-159 110-270t269-111q158 0 273 113l605 606q10 10 10 22 0 16-30.5 46.5t-46.5 30.5q-13 0-23-10l-606-607q-79-77-181-77-106 0-179 75t-73 181q0 105 76 181l776 777q63 63 145 63 64 0 106-42t42-106q0-82-63-145l-581-581q-26-24-60-24-29 0-48 19t-19 48q0 32 25 59l410 410q10 10 10 22 0 16-31 47t-47 31q-12 0-22-10l-410-410q-63-61-63-149 0-82 57-139t139-57q88 0 149 63l581 581q100 98 100 235z\"/> </svg>"
13451
13958
 
13452
13959
  /***/ }),
13453
- /* 80 */
13960
+ /* 82 */
13454
13961
  /***/ (function(module) {
13455
13962
 
13456
13963
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M704 1376v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm-544-992h448l-48-117q-7-9-17-11h-317q-10 2-17 11zm928 32v64q0 14-9 23t-23 9h-96v948q0 83-47 143.5t-113 60.5h-832q-66 0-113-58.5t-47-141.5v-952h-96q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h309l70-167q15-37 54-63t79-26h320q40 0 79 26t54 63l70 167h309q14 0 23 9t9 23z\"/> </svg>"
13457
13964
 
13458
13965
  /***/ }),
13459
- /* 81 */
13966
+ /* 83 */
13460
13967
  /***/ (function(module) {
13461
13968
 
13462
13969
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M747 1521q74 32 140 32 376 0 376-335 0-114-41-180-27-44-61.5-74t-67.5-46.5-80.5-25-84-10.5-94.5-2q-73 0-101 10 0 53-.5 159t-.5 158q0 8-1 67.5t-.5 96.5 4.5 83.5 12 66.5zm-14-746q42 7 109 7 82 0 143-13t110-44.5 74.5-89.5 25.5-142q0-70-29-122.5t-79-82-108-43.5-124-14q-50 0-130 13 0 50 4 151t4 152q0 27-.5 80t-.5 79q0 46 1 69zm-541 889l2-94q15-4 85-16t106-27q7-12 12.5-27t8.5-33.5 5.5-32.5 3-37.5.5-34v-65.5q0-982-22-1025-4-8-22-14.5t-44.5-11-49.5-7-48.5-4.5-30.5-3l-4-83q98-2 340-11.5t373-9.5q23 0 68.5.5t67.5.5q70 0 136.5 13t128.5 42 108 71 74 104.5 28 137.5q0 52-16.5 95.5t-39 72-64.5 57.5-73 45-84 40q154 35 256.5 134t102.5 248q0 100-35 179.5t-93.5 130.5-138 85.5-163.5 48.5-176 14q-44 0-132-3t-132-3q-106 0-307 11t-231 12z\"/> </svg>"
13463
13970
 
13464
13971
  /***/ }),
13465
- /* 82 */
13972
+ /* 84 */
13466
13973
  /***/ (function(module) {
13467
13974
 
13468
13975
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M896 1152q0-36-20-69-1-1-15.5-22.5t-25.5-38-25-44-21-50.5q-4-16-21-16t-21 16q-7 23-21 50.5t-25 44-25.5 38-15.5 22.5q-20 33-20 69 0 53 37.5 90.5t90.5 37.5 90.5-37.5 37.5-90.5zm512-128q0 212-150 362t-362 150-362-150-150-362q0-145 81-275 6-9 62.5-90.5t101-151 99.5-178 83-201.5q9-30 34-47t51-17 51.5 17 33.5 47q28 93 83 201.5t99.5 178 101 151 62.5 90.5q81 127 81 275z\"/> </svg>"
13469
13976
 
13470
13977
  /***/ }),
13471
- /* 83 */
13978
+ /* 85 */
13472
13979
  /***/ (function(module) {
13473
13980
 
13474
13981
  module.exports = "<svg viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\"> <g stroke=\"none\" stroke-width=\"1\"> <path d=\"M14,1.4 L12.6,0 L7,5.6 L1.4,0 L0,1.4 L5.6,7 L0,12.6 L1.4,14 L7,8.4 L12.6,14 L14,12.6 L8.4,7 L14,1.4 Z\"/> </g> </svg>"
13475
13982
 
13476
13983
  /***/ }),
13477
- /* 84 */
13984
+ /* 86 */
13478
13985
  /***/ (function(module) {
13479
13986
 
13480
13987
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h896q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-640q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h640q26 0 45 19t19 45z\"/> </svg>"
13481
13988
 
13482
13989
  /***/ }),
13483
- /* 85 */
13990
+ /* 87 */
13484
13991
  /***/ (function(module) {
13485
13992
 
13486
13993
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M503 1271l-256 256q-10 9-23 9-12 0-23-9-9-10-9-23t9-23l256-256q10-9 23-9t23 9q9 10 9 23t-9 23zm169 41v320q0 14-9 23t-23 9-23-9-9-23v-320q0-14 9-23t23-9 23 9 9 23zm-224-224q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23 9-23 23-9h320q14 0 23 9t9 23zm1264 128q0 120-85 203l-147 146q-83 83-203 83-121 0-204-85l-334-335q-21-21-42-56l239-18 273 274q27 27 68 27.5t68-26.5l147-146q28-28 28-67 0-40-28-68l-274-275 18-239q35 21 56 42l336 336q84 86 84 204zm-617-724l-239 18-273-274q-28-28-68-28-39 0-68 27l-147 146q-28 28-28 67 0 40 28 68l274 274-18 240q-35-21-56-42l-336-336q-84-86-84-204 0-120 85-203l147-146q83-83 203-83 121 0 204 85l334 335q21 21 42 56zm633 84q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23 9-23 23-9h320q14 0 23 9t9 23zm-544-544v320q0 14-9 23t-23 9-23-9-9-23v-320q0-14 9-23t23-9 23 9 9 23zm407 151l-256 256q-11 9-23 9t-23-9q-9-10-9-23t9-23l256-256q10-9 23-9t23 9q9 10 9 23t-9 23z\"/> </svg>"
13487
13994
 
13488
13995
  /***/ }),
13489
- /* 86 */
13996
+ /* 88 */
13490
13997
  /***/ (function(module) {
13491
13998
 
13492
13999
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1472 930v318q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q63 0 117 25 15 7 18 23 3 17-9 29l-49 49q-10 10-23 10-3 0-9-2-23-6-45-6h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113v-254q0-13 9-22l64-64q10-10 23-10 6 0 12 3 20 8 20 29zm231-489l-814 814q-24 24-57 24t-57-24l-430-430q-24-24-24-57t24-57l110-110q24-24 57-24t57 24l263 263 647-647q24-24 57-24t57 24l110 110q24 24 24 57t-24 57z\"/> </svg>"
13493
14000
 
13494
14001
  /***/ }),
13495
- /* 87 */
14002
+ /* 89 */
13496
14003
  /***/ (function(module) {
13497
14004
 
13498
14005
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"><path d=\"M813 1299l614-614q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-467 467-211-211q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l358 358q19 19 45 19t45-19zm851-883v960q0 119-84.5 203.5t-203.5 84.5h-960q-119 0-203.5-84.5t-84.5-203.5v-960q0-119 84.5-203.5t203.5-84.5h960q119 0 203.5 84.5t84.5 203.5z\"/></svg>"
13499
14006
 
13500
14007
  /***/ }),
13501
- /* 88 */
14008
+ /* 90 */
13502
14009
  /***/ (function(module) {
13503
14010
 
13504
14011
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 10 10\"> <path d=\"M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z\"/> </svg>"
13505
14012
 
13506
14013
  /***/ }),
13507
- /* 89 */
14014
+ /* 91 */
13508
14015
  /***/ (function(module) {
13509
14016
 
13510
14017
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 16 16\"> <path stroke-width=\"0\" d=\"M16 9v-6h-3v-1c0-0.55-0.45-1-1-1h-11c-0.55 0-1 0.45-1 1v3c0 0.55 0.45 1 1 1h11c0.55 0 1-0.45 1-1v-1h2v4h-9v2h-0.5c-0.276 0-0.5 0.224-0.5 0.5v5c0 0.276 0.224 0.5 0.5 0.5h2c0.276 0 0.5-0.224 0.5-0.5v-5c0-0.276-0.224-0.5-0.5-0.5h-0.5v-1h9zM12 3h-11v-1h11v1z\"/> </svg>"
13511
14018
 
13512
14019
  /***/ }),
13513
- /* 90 */
14020
+ /* 92 */
13514
14021
  /***/ (function(module) {
13515
14022
 
13516
14023
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M621 1280h595v-595zm-45-45l595-595h-595v595zm1152 77v192q0 14-9 23t-23 9h-224v224q0 14-9 23t-23 9h-192q-14 0-23-9t-9-23v-224h-864q-14 0-23-9t-9-23v-864h-224q-14 0-23-9t-9-23v-192q0-14 9-23t23-9h224v-224q0-14 9-23t23-9h192q14 0 23 9t9 23v224h851l246-247q10-9 23-9t23 9q9 10 9 23t-9 23l-247 246v851h224q14 0 23 9t9 23z\"/> </svg>"
13517
14024
 
13518
14025
  /***/ }),
13519
- /* 91 */
14026
+ /* 93 */
13520
14027
  /***/ (function(module) {
13521
14028
 
13522
14029
  module.exports = "<svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M24.89,6.61H22.31V4.47A2.47,2.47,0,0,0,19.84,2H6.78A2.47,2.47,0,0,0,4.31,4.47V22.92a2.47,2.47,0,0,0,2.47,2.47H9.69V27.2a2.8,2.8,0,0,0,2.8,2.8h12.4a2.8,2.8,0,0,0,2.8-2.8V9.41A2.8,2.8,0,0,0,24.89,6.61ZM6.78,23.52a.61.61,0,0,1-.61-.6V4.47a.61.61,0,0,1,.61-.6H19.84a.61.61,0,0,1,.61.6V6.61h-8a2.8,2.8,0,0,0-2.8,2.8V23.52Zm19,3.68a.94.94,0,0,1-.94.93H12.49a.94.94,0,0,1-.94-.93V9.41a.94.94,0,0,1,.94-.93h12.4a.94.94,0,0,1,.94.93Z\"/> <path d=\"M23.49,13.53h-9.6a.94.94,0,1,0,0,1.87h9.6a.94.94,0,1,0,0-1.87Z\"/> <path d=\"M23.49,17.37h-9.6a.94.94,0,1,0,0,1.87h9.6a.94.94,0,1,0,0-1.87Z\"/> <path d=\"M23.49,21.22h-9.6a.93.93,0,1,0,0,1.86h9.6a.93.93,0,1,0,0-1.86Z\"/> </svg>"
13523
14030
 
13524
14031
  /***/ }),
13525
- /* 92 */
14032
+ /* 94 */
13526
14033
  /***/ (function(module) {
13527
14034
 
13528
14035
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M960 896q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm300 64l507 398q28 20 25 56-5 35-35 51l-128 64q-13 7-29 7-17 0-31-8l-690-387-110 66q-8 4-12 5 14 49 10 97-7 77-56 147.5t-132 123.5q-132 84-277 84-136 0-222-78-90-84-79-207 7-76 56-147t131-124q132-84 278-84 83 0 151 31 9-13 22-22l122-73-122-73q-13-9-22-22-68 31-151 31-146 0-278-84-82-53-131-124t-56-147q-5-59 15.5-113t63.5-93q85-79 222-79 145 0 277 84 83 52 132 123t56 148q4 48-10 97 4 1 12 5l110 66 690-387q14-8 31-8 16 0 29 7l128 64q30 16 35 51 3 36-25 56zm-681-260q46-42 21-108t-106-117q-92-59-192-59-74 0-113 36-46 42-21 108t106 117q92 59 192 59 74 0 113-36zm-85 745q81-51 106-117t-21-108q-39-36-113-36-100 0-192 59-81 51-106 117t21 108q39 36 113 36 100 0 192-59zm178-613l96 58v-11q0-36 33-56l14-8-79-47-26 26q-3 3-10 11t-12 12q-2 2-4 3.5t-3 2.5zm224 224l96 32 736-576-128-64-768 431v113l-160 96 9 8q2 2 7 6 4 4 11 12t11 12l26 26zm704 416l128-64-520-408-177 138q-2 3-13 7z\"/> </svg>"
13529
14036
 
13530
14037
  /***/ }),
13531
- /* 93 */
14038
+ /* 95 */
13532
14039
  /***/ (function(module) {
13533
14040
 
13534
14041
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M384 544v576q0 13-9.5 22.5t-22.5 9.5q-14 0-23-9l-288-288q-9-9-9-23t9-23l288-288q9-9 23-9 13 0 22.5 9.5t9.5 22.5zm1408 768v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5z\"/> </svg>"
13535
14042
 
13536
14043
  /***/ }),
13537
- /* 94 */
14044
+ /* 96 */
13538
14045
  /***/ (function(module) {
13539
14046
 
13540
14047
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 24 24\" > <circle cx=\"12\" cy=\"12\" r=\"2.2\"/> <circle cx=\"12\" cy=\"5\" r=\"2.2\"/> <circle cx=\"12\" cy=\"19\" r=\"2.2\"/> </svg>"
13541
14048
 
13542
14049
  /***/ }),
13543
- /* 95 */
14050
+ /* 97 */
13544
14051
  /***/ (function(module) {
13545
14052
 
13546
14053
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 128 128\" xml:space=\"preserve\"> <polygon points=\"112.4560547,23.3203125 112.4560547,75.8154297 31.4853516,75.8154297 31.4853516,61.953125 16.0131836,72.6357422 0.5410156,83.3164063 16.0131836,93.9990234 31.4853516,104.6796875 31.4853516,90.8183594 112.4560547,90.8183594 112.4560547,90.8339844 127.4589844,90.8339844 127.4589844,23.3203125\"/> </svg>"
13547
14054
 
13548
14055
  /***/ }),
13549
- /* 96 */
14056
+ /* 98 */
13550
14057
  /***/ (function(module) {
13551
14058
 
13552
14059
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M832 1408l336-384h-768l-336 384h768zm1013-1077q15 34 9.5 71.5t-30.5 65.5l-896 1024q-38 44-96 44h-768q-38 0-69.5-20.5t-47.5-54.5q-15-34-9.5-71.5t30.5-65.5l896-1024q38-44 96-44h768q38 0 69.5 20.5t47.5 54.5z\"/> </svg>"
13553
14060
 
13554
14061
  /***/ }),
13555
- /* 97 */
14062
+ /* 99 */
13556
14063
  /***/ (function(module) {
13557
14064
 
13558
14065
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z\"/> </svg>"
13559
14066
 
13560
14067
  /***/ }),
13561
- /* 98 */
14068
+ /* 100 */
13562
14069
  /***/ (function(module) {
13563
14070
 
13564
14071
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1152 512v-472q22 14 36 28l408 408q14 14 28 36h-472zm-128 32q0 40 28 68t68 28h544v1056q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h800v544z\"/> </svg>"
13565
14072
 
13566
14073
  /***/ }),
13567
- /* 99 */
14074
+ /* 101 */
13568
14075
  /***/ (function(module) {
13569
14076
 
13570
14077
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1728 608v704q0 92-66 158t-158 66h-1216q-92 0-158-66t-66-158v-960q0-92 66-158t158-66h320q92 0 158 66t66 158v32h672q92 0 158 66t66 158z\"/> </svg>"
13571
14078
 
13572
14079
  /***/ }),
13573
- /* 100 */
14080
+ /* 102 */
13574
14081
  /***/ (function(module) {
13575
14082
 
13576
14083
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M789 559l-170 450q33 0 136.5 2t160.5 2q19 0 57-2-87-253-184-452zm-725 1105l2-79q23-7 56-12.5t57-10.5 49.5-14.5 44.5-29 31-50.5l237-616 280-724h128q8 14 11 21l205 480q33 78 106 257.5t114 274.5q15 34 58 144.5t72 168.5q20 45 35 57 19 15 88 29.5t84 20.5q6 38 6 57 0 4-.5 13t-.5 13q-63 0-190-8t-191-8q-76 0-215 7t-178 8q0-43 4-78l131-28q1 0 12.5-2.5t15.5-3.5 14.5-4.5 15-6.5 11-8 9-11 2.5-14q0-16-31-96.5t-72-177.5-42-100l-450-2q-26 58-76.5 195.5t-50.5 162.5q0 22 14 37.5t43.5 24.5 48.5 13.5 57 8.5 41 4q1 19 1 58 0 9-2 27-58 0-174.5-10t-174.5-10q-8 0-26.5 4t-21.5 4q-80 14-188 14z\"/> </svg>"
13577
14084
 
13578
14085
  /***/ }),
13579
- /* 101 */
14086
+ /* 103 */
13580
14087
  /***/ (function(module) {
13581
14088
 
13582
14089
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1744 1408q33 0 42 18.5t-11 44.5l-126 162q-20 26-49 26t-49-26l-126-162q-20-26-11-44.5t42-18.5h80v-1024h-80q-33 0-42-18.5t11-44.5l126-162q20-26 49-26t49 26l126 162q20 26 11 44.5t-42 18.5h-80v1024h80zm-1663-1279l54 27q12 5 211 5 44 0 132-2t132-2q36 0 107.5.5t107.5.5h293q6 0 21 .5t20.5 0 16-3 17.5-9 15-17.5l42-1q4 0 14 .5t14 .5q2 112 2 336 0 80-5 109-39 14-68 18-25-44-54-128-3-9-11-48t-14.5-73.5-7.5-35.5q-6-8-12-12.5t-15.5-6-13-2.5-18-.5-16.5.5q-17 0-66.5-.5t-74.5-.5-64 2-71 6q-9 81-8 136 0 94 2 388t2 455q0 16-2.5 71.5t0 91.5 12.5 69q40 21 124 42.5t120 37.5q5 40 5 50 0 14-3 29l-34 1q-76 2-218-8t-207-10q-50 0-151 9t-152 9q-3-51-3-52v-9q17-27 61.5-43t98.5-29 78-27q19-42 19-383 0-101-3-303t-3-303v-117q0-2 .5-15.5t.5-25-1-25.5-3-24-5-14q-11-12-162-12-33 0-93 12t-80 26q-19 13-34 72.5t-31.5 111-42.5 53.5q-42-26-56-44v-383z\"/> </svg>"
13583
14090
 
13584
14091
  /***/ }),
13585
- /* 102 */
14092
+ /* 104 */
13586
14093
  /***/ (function(module) {
13587
14094
 
13588
14095
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 24 24\"> <path stroke-width=\"0\" d=\"M22,20.6L3.4,2H8V0H0v8h2V3.4L20.6,22H16v2h8v-8h-2V20.6z M16,0v2h4.7l-6.3,6.3l1.4,1.4L22,3.5V8h2V0H16z M8.3,14.3L2,20.6V16H0v8h8v-2H3.5l6.3-6.3L8.3,14.3z\"/> </svg>"
13589
14096
 
13590
14097
  /***/ }),
13591
- /* 103 */
14098
+ /* 105 */
13592
14099
  /***/ (function(module) {
13593
14100
 
13594
14101
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1600 736v192q0 40-28 68t-68 28h-1216q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h1216q40 0 68 28t28 68z\"/> </svg>"
13595
14102
 
13596
14103
  /***/ }),
13597
- /* 104 */
14104
+ /* 106 */
13598
14105
  /***/ (function(module) {
13599
14106
 
13600
14107
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M576 576q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1024 384v448h-1408v-192l320-320 160 160 512-512zm96-704h-1600q-13 0-22.5 9.5t-9.5 22.5v1216q0 13 9.5 22.5t22.5 9.5h1600q13 0 22.5-9.5t9.5-22.5v-1216q0-13-9.5-22.5t-22.5-9.5zm160 32v1216q0 66-47 113t-113 47h-1600q-66 0-113-47t-47-113v-1216q0-66 47-113t113-47h1600q66 0 113 47t47 113z\"/> </svg>"
13601
14108
 
13602
14109
  /***/ }),
13603
- /* 105 */
14110
+ /* 107 */
13604
14111
  /***/ (function(module) {
13605
14112
 
13606
14113
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M352 832q0 14-9 23l-288 288q-9 9-23 9-13 0-22.5-9.5t-9.5-22.5v-576q0-13 9.5-22.5t22.5-9.5q14 0 23 9l288 288q9 9 9 23zm1440 480v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5z\"/> </svg>"
13607
14114
 
13608
14115
  /***/ }),
13609
- /* 106 */
14116
+ /* 108 */
13610
14117
  /***/ (function(module) {
13611
14118
 
13612
14119
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1152 1376v-160q0-14-9-23t-23-9h-96v-512q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v160q0 14 9 23t23 9h96v320h-96q-14 0-23 9t-9 23v160q0 14 9 23t23 9h448q14 0 23-9t9-23zm-128-896v-160q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v160q0 14 9 23t23 9h192q14 0 23-9t9-23zm640 416q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z\"/> </svg>"
13613
14120
 
13614
14121
  /***/ }),
13615
- /* 107 */
14122
+ /* 109 */
13616
14123
  /***/ (function(module) {
13617
14124
 
13618
14125
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M384 1662l17-85q6-2 81.5-21.5t111.5-37.5q28-35 41-101 1-7 62-289t114-543.5 52-296.5v-25q-24-13-54.5-18.5t-69.5-8-58-5.5l19-103q33 2 120 6.5t149.5 7 120.5 2.5q48 0 98.5-2.5t121-7 98.5-6.5q-5 39-19 89-30 10-101.5 28.5t-108.5 33.5q-8 19-14 42.5t-9 40-7.5 45.5-6.5 42q-27 148-87.5 419.5t-77.5 355.5q-2 9-13 58t-20 90-16 83.5-6 57.5l1 18q17 4 185 31-3 44-16 99-11 0-32.5 1.5t-32.5 1.5q-29 0-87-10t-86-10q-138-2-206-2-51 0-143 9t-121 11z\"/> </svg>"
13619
14126
 
13620
14127
  /***/ }),
13621
- /* 108 */
14128
+ /* 110 */
13622
14129
  /***/ (function(module) {
13623
14130
 
13624
14131
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45z\"/> </svg>"
13625
14132
 
13626
14133
  /***/ }),
13627
- /* 109 */
14134
+ /* 111 */
13628
14135
  /***/ (function(module) {
13629
14136
 
13630
14137
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z\"/> </svg>"
13631
14138
 
13632
14139
  /***/ }),
13633
- /* 110 */
14140
+ /* 112 */
13634
14141
  /***/ (function(module) {
13635
14142
 
13636
14143
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1520 1216q0-40-28-68l-208-208q-28-28-68-28-42 0-72 32 3 3 19 18.5t21.5 21.5 15 19 13 25.5 3.5 27.5q0 40-28 68t-68 28q-15 0-27.5-3.5t-25.5-13-19-15-21.5-21.5-18.5-19q-33 31-33 73 0 40 28 68l206 207q27 27 68 27 40 0 68-26l147-146q28-28 28-67zm-703-705q0-40-28-68l-206-207q-28-28-68-28-39 0-68 27l-147 146q-28 28-28 67 0 40 28 68l208 208q27 27 68 27 42 0 72-31-3-3-19-18.5t-21.5-21.5-15-19-13-25.5-3.5-27.5q0-40 28-68t68-28q15 0 27.5 3.5t25.5 13 19 15 21.5 21.5 18.5 19q33-31 33-73zm895 705q0 120-85 203l-147 146q-83 83-203 83-121 0-204-85l-206-207q-83-83-83-203 0-123 88-209l-88-88q-86 88-208 88-120 0-204-84l-208-208q-84-84-84-204t85-203l147-146q83-83 203-83 121 0 204 85l206 207q83 83 83 203 0 123-88 209l88 88q86-88 208-88 120 0 204 84l208 208q84 84 84 204z\"/> </svg>"
13637
14144
 
13638
14145
  /***/ }),
13639
- /* 111 */
14146
+ /* 113 */
13640
14147
  /***/ (function(module) {
13641
14148
 
13642
14149
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"><path d=\"M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z\"/></svg>"
13643
14150
 
13644
14151
  /***/ }),
13645
- /* 112 */
14152
+ /* 114 */
13646
14153
  /***/ (function(module) {
13647
14154
 
13648
14155
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"><path d=\"M1664 1344v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45z\"/></svg>"
13649
14156
 
13650
14157
  /***/ }),
13651
- /* 113 */
14158
+ /* 115 */
13652
14159
  /***/ (function(module) {
13653
14160
 
13654
14161
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 312 312\"> <g transform=\"translate(0.000000,312.000000) scale(0.100000,-0.100000)\" stroke=\"none\"> <path d=\"M50 3109 c0 -7 -11 -22 -25 -35 l-25 -23 0 -961 0 -961 32 -29 32 -30 501 -2 500 -3 3 -502 2 -502 31 -30 31 -31 958 0 958 0 23 25 c13 13 30 25 37 25 9 0 12 199 12 960 0 686 -3 960 -11 960 -6 0 -24 12 -40 28 l-29 27 -503 5 -502 5 -5 502 -5 503 -28 29 c-15 16 -27 34 -27 40 0 8 -274 11 -960 11 -710 0 -960 -3 -960 -11z m1738 -698 l2 -453 -40 -40 c-22 -22 -40 -43 -40 -47 0 -4 36 -42 79 -85 88 -87 82 -87 141 -23 l26 27 455 -2 454 -3 0 -775 0 -775 -775 0 -775 0 -3 450 -2 449 47 48 47 48 -82 80 c-44 44 -84 80 -87 80 -3 0 -25 -18 -48 -40 l-41 -40 -456 2 -455 3 -3 765 c-1 421 0 771 3 778 3 10 164 12 777 10 l773 -3 3 -454z\"/> <path d=\"M607 2492 c-42 -42 -77 -82 -77 -87 0 -6 86 -96 190 -200 105 -104 190 -197 190 -205 0 -8 -41 -56 -92 -107 -65 -65 -87 -94 -77 -98 8 -3 138 -4 289 -3 l275 3 3 275 c1 151 0 281 -3 289 -4 10 -35 -14 -103 -82 -54 -53 -103 -97 -109 -97 -7 0 -99 88 -206 195 -107 107 -196 195 -198 195 -3 0 -39 -35 -82 -78z\"/> <path d=\"M1470 1639 c-47 -49 -87 -91 -89 -94 -5 -6 149 -165 160 -165 9 0 189 179 189 188 0 12 -154 162 -165 161 -6 0 -48 -41 -95 -90z\"/> <path d=\"M1797 1303 c-9 -8 -9 -568 0 -576 4 -4 50 36 103 88 54 52 101 95 106 95 5 0 95 -85 199 -190 104 -104 194 -190 200 -190 6 0 46 36 90 80 l79 79 -197 196 c-108 108 -197 199 -197 203 0 4 45 52 99 106 55 55 98 103 95 108 -6 10 -568 11 -577 1z\"/> </g> </svg>"
13655
14162
 
13656
14163
  /***/ }),
13657
- /* 114 */
14164
+ /* 116 */
13658
14165
  /***/ (function(module) {
13659
14166
 
13660
14167
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 32 32\"> <path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\"/> </svg>"
13661
14168
 
13662
14169
  /***/ }),
13663
- /* 115 */
14170
+ /* 117 */
13664
14171
  /***/ (function(module) {
13665
14172
 
13666
14173
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path stroke-width=\"0\" d=\"M381 1620q0 80-54.5 126t-135.5 46q-106 0-172-66l57-88q49 45 106 45 29 0 50.5-14.5t21.5-42.5q0-64-105-56l-26-56q8-10 32.5-43.5t42.5-54 37-38.5v-1q-16 0-48.5 1t-48.5 1v53h-106v-152h333v88l-95 115q51 12 81 49t30 88zm2-627v159h-362q-6-36-6-54 0-51 23.5-93t56.5-68 66-47.5 56.5-43.5 23.5-45q0-25-14.5-38.5t-39.5-13.5q-46 0-81 58l-85-59q24-51 71.5-79.5t105.5-28.5q73 0 123 41.5t50 112.5q0 50-34 91.5t-75 64.5-75.5 50.5-35.5 52.5h127v-60h105zm1409 319v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-14 9-23t23-9h1216q13 0 22.5 9.5t9.5 22.5zm-1408-899v99h-335v-99h107q0-41 .5-122t.5-121v-12h-2q-8 17-50 54l-71-76 136-127h106v404h108zm1408 387v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-14 9-23t23-9h1216q13 0 22.5 9.5t9.5 22.5zm0-512v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5z\"/> </svg>"
13667
14174
 
13668
14175
  /***/ }),
13669
- /* 116 */
14176
+ /* 118 */
13670
14177
  /***/ (function(module) {
13671
14178
 
13672
14179
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 270 270\"> <path d=\"m240.443652,220.45085l-47.410809,0l0,-10.342138c13.89973,-8.43655 25.752896,-19.844464 34.686646,-33.469923c11.445525,-17.455846 17.496072,-37.709239 17.496072,-58.570077c0,-59.589197 -49.208516,-108.068714 -109.693558,-108.068714s-109.69263,48.479517 -109.69263,108.069628c0,20.860839 6.050547,41.113316 17.497001,58.570077c8.93375,13.625459 20.787845,25.032458 34.686646,33.469008l0,10.342138l-47.412666,0c-10.256959,0 -18.571354,8.191376 -18.571354,18.296574c0,10.105198 8.314395,18.296574 18.571354,18.296574l65.98402,0c10.256959,0 18.571354,-8.191376 18.571354,-18.296574l0,-39.496814c0,-7.073455 -4.137698,-13.51202 -10.626529,-16.537358c-25.24497,-11.772016 -41.557118,-37.145704 -41.557118,-64.643625c0,-39.411735 32.545369,-71.476481 72.549922,-71.476481c40.004553,0 72.550851,32.064746 72.550851,71.476481c0,27.497006 -16.312149,52.87161 -41.557118,64.643625c-6.487902,3.026253 -10.6256,9.464818 -10.6256,16.537358l0,39.496814c0,10.105198 8.314395,18.296574 18.571354,18.296574l65.982163,0c10.256959,0 18.571354,-8.191376 18.571354,-18.296574c0,-10.105198 -8.314395,-18.296574 -18.571354,-18.296574z\"/> </svg>"
13673
14180
 
13674
14181
  /***/ }),
13675
- /* 117 */
14182
+ /* 119 */
13676
14183
  /***/ (function(module) {
13677
14184
 
13678
14185
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M384 544v576q0 13-9.5 22.5t-22.5 9.5q-14 0-23-9l-288-288q-9-9-9-23t9-23l288-288q9-9 23-9 13 0 22.5 9.5t9.5 22.5zm1408 768v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5z\"/> </svg>"
13679
14186
 
13680
14187
  /***/ }),
13681
- /* 118 */
14188
+ /* 120 */
13682
14189
  /***/ (function(module) {
13683
14190
 
13684
14191
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' x=\"0px\" y=\"0px\" viewBox=\"0 0 459 459\"> <g> <path d=\"M229.5,0C102,0,0,102,0,229.5S102,459,229.5,459c20.4,0,38.25-17.85,38.25-38.25c0-10.2-2.55-17.85-10.2-25.5 c-5.1-7.65-10.2-15.3-10.2-25.5c0-20.4,17.851-38.25,38.25-38.25h45.9c71.4,0,127.5-56.1,127.5-127.5C459,91.8,357,0,229.5,0z M89.25,229.5c-20.4,0-38.25-17.85-38.25-38.25S68.85,153,89.25,153s38.25,17.85,38.25,38.25S109.65,229.5,89.25,229.5z M165.75,127.5c-20.4,0-38.25-17.85-38.25-38.25S145.35,51,165.75,51S204,68.85,204,89.25S186.15,127.5,165.75,127.5z M293.25,127.5c-20.4,0-38.25-17.85-38.25-38.25S272.85,51,293.25,51s38.25,17.85,38.25,38.25S313.65,127.5,293.25,127.5z M369.75,229.5c-20.4,0-38.25-17.85-38.25-38.25S349.35,153,369.75,153S408,170.85,408,191.25S390.15,229.5,369.75,229.5z\" /> </g> </svg>"
13685
14192
 
13686
14193
  /***/ }),
13687
- /* 119 */
14194
+ /* 121 */
13688
14195
  /***/ (function(module) {
13689
14196
 
13690
14197
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"><path d=\"M1534 189v73q0 29-18.5 61t-42.5 32q-50 0-54 1-26 6-32 31-3 11-3 64v1152q0 25-18 43t-43 18h-108q-25 0-43-18t-18-43v-1218h-143v1218q0 25-17.5 43t-43.5 18h-108q-26 0-43.5-18t-17.5-43v-496q-147-12-245-59-126-58-192-179-64-117-64-259 0-166 88-286 88-118 209-159 111-37 417-37h479q25 0 43 18t18 43z\"/></svg>"
13691
14198
 
13692
14199
  /***/ }),
13693
- /* 120 */
14200
+ /* 122 */
13694
14201
  /***/ (function(module) {
13695
14202
 
13696
14203
  module.exports = "<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path stroke-width=\"0\" d=\"M10.5 20H2a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h1V3l2.03-.4a3 3 0 0 1 5.94 0L13 3v1h1a2 2 0 0 1 2 2v1h-2V6h-1v1H3V6H2v12h5v2h3.5zM8 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm2 4h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-8c0-1.1.9-2 2-2zm0 2v8h8v-8h-8z\"/> </svg>"
13697
14204
 
13698
14205
  /***/ }),
13699
- /* 121 */
14206
+ /* 123 */
13700
14207
  /***/ (function(module) {
13701
14208
 
13702
14209
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"><path d=\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\"/></svg>"
13703
14210
 
13704
14211
  /***/ }),
13705
- /* 122 */
14212
+ /* 124 */
13706
14213
  /***/ (function(module) {
13707
14214
 
13708
14215
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"><path d=\"M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z\"/></svg>"
13709
14216
 
13710
14217
  /***/ }),
13711
- /* 123 */
14218
+ /* 125 */
13712
14219
  /***/ (function(module) {
13713
14220
 
13714
14221
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M448 1536h896v-256h-896v256zm0-640h896v-384h-160q-40 0-68-28t-28-68v-160h-640v640zm1152 64q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128 0v416q0 13-9.5 22.5t-22.5 9.5h-224v160q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-224q-13 0-22.5-9.5t-9.5-22.5v-416q0-79 56.5-135.5t135.5-56.5h64v-544q0-40 28-68t68-28h672q40 0 88 20t76 48l152 152q28 28 48 76t20 88v256h64q79 0 135.5 56.5t56.5 135.5z\"/> </svg>"
13715
14222
 
13716
14223
  /***/ }),
13717
- /* 124 */
14224
+ /* 126 */
13718
14225
  /***/ (function(module) {
13719
14226
 
13720
14227
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1664 256v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l138-138q-148-137-349-137-104 0-198.5 40.5t-163.5 109.5-109.5 163.5-40.5 198.5 40.5 198.5 109.5 163.5 163.5 109.5 198.5 40.5q119 0 225-52t179-147q7-10 23-12 14 0 25 9l137 138q9 8 9.5 20.5t-7.5 22.5q-109 132-264 204.5t-327 72.5q-156 0-298-61t-245-164-164-245-61-298 61-298 164-245 245-164 298-61q147 0 284.5 55.5t244.5 156.5l130-129q29-31 70-14 39 17 39 59z\"/> </svg>"
13721
14228
 
13722
14229
  /***/ }),
13723
- /* 125 */
14230
+ /* 127 */
13724
14231
  /***/ (function(module) {
13725
14232
 
13726
14233
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 24 24\"> <g transform=\"translate(-251.000000, -443.000000)\"> <g transform=\"translate(215.000000, 119.000000)\"/> <path d=\"M252,448 L256,448 L256,444 L252,444 L252,448 Z M257,448 L269,448 L269,446 L257,446 L257,448 Z M257,464 L269,464 L269,462 L257,462 L257,464 Z M270,444 L270,448 L274,448 L274,444 L270,444 Z M252,462 L252,466 L256,466 L256,462 L252,462 Z M270,462 L270,466 L274,466 L274,462 L270,462 Z M254,461 L256,461 L256,449 L254,449 L254,461 Z M270,461 L272,461 L272,449 L270,449 L270,461 Z\"/> </g> </svg>"
13727
14234
 
13728
14235
  /***/ }),
13729
- /* 126 */
14236
+ /* 128 */
14237
+ /***/ (function(module) {
14238
+
14239
+ module.exports = "<svg viewBox=\"0 0 13 13\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M5.9814 11.8049C5.59087 11.4144 5.59087 10.7812 5.9814 10.3907L10.224 6.14806C10.6146 5.75754 11.2477 5.75754 11.6383 6.14806C12.0288 6.53859 12.0288 7.17175 11.6383 7.56228L7.39561 11.8049C7.00509 12.1954 6.37192 12.1954 5.9814 11.8049Z\"/> <path d=\"M0.707107 12.0208C0.316582 11.6303 0.316582 10.9971 0.707107 10.6066L10.6066 0.707121C10.9971 0.316597 11.6303 0.316596 12.0208 0.707121C12.4113 1.09764 12.4113 1.73081 12.0208 2.12133L2.12132 12.0208C1.7308 12.4114 1.09763 12.4114 0.707107 12.0208Z\"/> </svg>"
14240
+
14241
+ /***/ }),
14242
+ /* 129 */
13730
14243
  /***/ (function(module) {
13731
14244
 
13732
14245
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M844 472q0 60-19 113.5t-63 92.5-105 39q-76 0-138-57.5t-92-135.5-30-151q0-60 19-113.5t63-92.5 105-39q77 0 138.5 57.5t91.5 135 30 151.5zm-342 483q0 80-42 139t-119 59q-76 0-141.5-55.5t-100.5-133.5-35-152q0-80 42-139.5t119-59.5q76 0 141.5 55.5t100.5 134 35 152.5zm394-27q118 0 255 97.5t229 237 92 254.5q0 46-17 76.5t-48.5 45-64.5 20-76 5.5q-68 0-187.5-45t-182.5-45q-66 0-192.5 44.5t-200.5 44.5q-183 0-183-146 0-86 56-191.5t139.5-192.5 187.5-146 193-59zm239-211q-61 0-105-39t-63-92.5-19-113.5q0-74 30-151.5t91.5-135 138.5-57.5q61 0 105 39t63 92.5 19 113.5q0 73-30 151t-92 135.5-138 57.5zm432-104q77 0 119 59.5t42 139.5q0 74-35 152t-100.5 133.5-141.5 55.5q-77 0-119-59t-42-139q0-74 35-152.5t100.5-134 141.5-55.5z\"/> </svg>"
13733
14246
 
13734
14247
  /***/ }),
13735
- /* 127 */
14248
+ /* 130 */
13736
14249
  /***/ (function(module) {
13737
14250
 
13738
14251
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z\"/> </svg>"
13739
14252
 
13740
14253
  /***/ }),
13741
- /* 128 */
14254
+ /* 131 */
13742
14255
  /***/ (function(module) {
13743
14256
 
13744
14257
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M512 1536h768v-384h-768v384zm896 0h128v-896q0-14-10-38.5t-20-34.5l-281-281q-10-10-34-20t-39-10v416q0 40-28 68t-68 28h-576q-40 0-68-28t-28-68v-416h-128v1280h128v-416q0-40 28-68t68-28h832q40 0 68 28t28 68v416zm-384-928v-320q0-13-9.5-22.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 22.5v320q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5-9.5t9.5-22.5zm640 32v928q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h928q40 0 88 20t76 48l280 280q28 28 48 76t20 88z\"/> </svg>"
13745
14258
 
13746
14259
  /***/ }),
13747
- /* 129 */
14260
+ /* 132 */
13748
14261
  /***/ (function(module) {
13749
14262
 
13750
14263
  module.exports = "<svg viewBox=\"0 0 500 500\" xmlns=\"http://www.w3.org/2000/svg\"> <path clip-rule=\"evenodd\" d=\"M306.39,154.09c19.628,4.543,35.244,21.259,39.787,39.523 c1.551,8.54,8.998,14.989,17.904,14.989c9.991,0,18.168-8.175,18.168-18.17c0-13.083-10.991-32.98-25.985-47.881 c-14.719-14.537-32.252-24.802-46.695-24.802c-9.991,0-18.172,8.45-18.172,18.446C291.396,145.094,297.847,152.546,306.39,154.09z M56.629,392.312c-14.09,14.08-14.09,36.979,0,51.059c14.08,14.092,36.981,14.092,50.965,0l104.392-104.303 c24.347,15.181,53.062,23.991,83.953,23.991c87.857,0,158.995-71.142,158.995-158.999c0-87.854-71.138-158.995-158.995-158.995 c-87.856,0-158.995,71.141-158.995,158.995c0,30.802,8.819,59.606,23.992,83.953L56.629,392.312z M182.371,204.06 c0-62.687,50.875-113.568,113.568-113.568s113.569,50.881,113.569,113.568c0,62.694-50.876,113.569-113.569,113.569 S182.371,266.754,182.371,204.06z\" fill-rule=\"evenodd\"/> </svg>"
13751
14264
 
13752
14265
  /***/ }),
13753
- /* 130 */
14266
+ /* 133 */
13754
14267
  /***/ (function(module) {
13755
14268
 
13756
14269
  module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"> <path stroke=\"null\" d=\"m42.276011,26.302547c0.098397,-0.76605 0.172194,-1.54407 0.172194,-2.33406s-0.073797,-1.56801 -0.172194,-2.33406l5.202718,-3.961917c0.467384,-0.359086 0.602679,-1.005441 0.29519,-1.532101l-4.919828,-8.29489c-0.307489,-0.51469 -0.947067,-0.730142 -1.500548,-0.51469l-6.125186,2.405877c-1.266856,-0.945594 -2.656707,-1.747553 -4.157255,-2.357999l-0.922468,-6.343855c-0.110696,-0.562568 -0.614979,-1.005441 -1.229957,-1.005441l-9.839656,0c-0.614979,0 -1.119261,0.442873 -1.217657,1.005441l-0.922468,6.343855c-1.500548,0.610446 -2.890399,1.400436 -4.157255,2.357999l-6.125186,-2.405877c-0.553481,-0.203482 -1.193058,0 -1.500548,0.51469l-4.919828,8.29489c-0.307489,0.51469 -0.172194,1.161045 0.29519,1.532101l5.190419,3.961917c-0.098397,0.76605 -0.172194,1.54407 -0.172194,2.33406s0.073797,1.56801 0.172194,2.33406l-5.190419,3.961917c-0.467384,0.359086 -0.602679,1.005441 -0.29519,1.532101l4.919828,8.29489c0.307489,0.51469 0.947067,0.730142 1.500548,0.51469l6.125186,-2.405877c1.266856,0.945594 2.656707,1.747553 4.157255,2.357999l0.922468,6.343855c0.098397,0.562568 0.602679,1.005441 1.217657,1.005441l9.839656,0c0.614979,0 1.119261,-0.442873 1.217657,-1.005441l0.922468,-6.343855c1.500548,-0.610446 2.890399,-1.400436 4.157255,-2.357999l6.125186,2.405877c0.553481,0.203482 1.193058,0 1.500548,-0.51469l4.919828,-8.29489c0.307489,-0.51469 0.172194,-1.161045 -0.29519,-1.532101l-5.190419,-3.961917zm-18.277162,6.044617c-4.759934,0 -8.609699,-3.746465 -8.609699,-8.378677s3.849766,-8.378677 8.609699,-8.378677s8.609699,3.746465 8.609699,8.378677s-3.849766,8.378677 -8.609699,8.378677z\"/> </svg>"
13757
14270
 
13758
14271
  /***/ }),
13759
- /* 131 */
14272
+ /* 134 */
13760
14273
  /***/ (function(module) {
13761
14274
 
13762
14275
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 18 18\"> <g fill-rule=\"evenodd\" stroke=\"none\" stroke-width=\"1\"> <g transform=\"translate(-381.000000, -381.000000)\"> <g transform=\"translate(381.000000, 381.000000)\"> <path d=\"M0,2 L2,2 L2,0 C0.9,0 0,0.9 0,2 L0,2 Z M0,10 L2,10 L2,8 L0,8 L0,10 L0,10 Z M4,18 L6,18 L6,16 L4,16 L4,18 L4,18 Z M0,6 L2,6 L2,4 L0,4 L0,6 L0,6 Z M10,0 L8,0 L8,2 L10,2 L10,0 L10,0 Z M16,0 L16,2 L18,2 C18,0.9 17.1,0 16,0 L16,0 Z M2,18 L2,16 L0,16 C0,17.1 0.9,18 2,18 L2,18 Z M0,14 L2,14 L2,12 L0,12 L0,14 L0,14 Z M6,0 L4,0 L4,2 L6,2 L6,0 L6,0 Z M8,18 L10,18 L10,16 L8,16 L8,18 L8,18 Z M16,10 L18,10 L18,8 L16,8 L16,10 L16,10 Z M16,18 C17.1,18 18,17.1 18,16 L16,16 L16,18 L16,18 Z M16,6 L18,6 L18,4 L16,4 L16,6 L16,6 Z M16,14 L18,14 L18,12 L16,12 L16,14 L16,14 Z M12,18 L14,18 L14,16 L12,16 L12,18 L12,18 Z M12,2 L14,2 L14,0 L12,0 L12,2 L12,2 Z M4,14 L14,14 L14,4 L4,4 L4,14 L4,14 Z M6,6 L12,6 L12,12 L6,12 L6,6 L6,6 Z\"/> </g> </g> </g> </svg>"
13763
14276
 
13764
14277
  /***/ }),
13765
- /* 132 */
14278
+ /* 135 */
13766
14279
  /***/ (function(module) {
13767
14280
 
13768
14281
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M896 960v448q0 26-19 45t-45 19-45-19l-144-144-332 332q-10 10-23 10t-23-10l-114-114q-10-10-10-23t10-23l332-332-144-144q-19-19-19-45t19-45 45-19h448q26 0 45 19t19 45zm755-672q0 13-10 23l-332 332 144 144q19 19 19 45t-19 45-45 19h-448q-26 0-45-19t-19-45v-448q0-26 19-45t45-19 45 19l144 144 332-332q10-10 23-10t23 10l114 114q10 10 10 23z\"/> </svg>"
13769
14282
 
13770
14283
  /***/ }),
13771
- /* 133 */
14284
+ /* 136 */
13772
14285
  /***/ (function(module) {
13773
14286
 
13774
14287
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M553 1399l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23t-10 23l-393 393 393 393q10 10 10 23t-10 23zm591-1067l-373 1291q-4 13-15.5 19.5t-23.5 2.5l-62-17q-13-4-19.5-15.5t-2.5-24.5l373-1291q4-13 15.5-19.5t23.5-2.5l62 17q13 4 19.5 15.5t2.5 24.5zm657 651l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23t-10 23z\"/> </svg>"
13775
14288
 
13776
14289
  /***/ }),
13777
- /* 134 */
14290
+ /* 137 */
13778
14291
  /***/ (function(module) {
13779
14292
 
13780
14293
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 48 48\"> <path d=\"M6 42h4v-4h-4v4zm4-28h-4v4h4v-4zm-4 20h4v-4h-4v4zm8 8h4v-4h-4v4zm-4-36h-4v4h4v-4zm8 0h-4v4h4v-4zm16 0h-4v4h4v-4zm-8 8h-4v4h4v-4zm0-8h-4v4h4v-4zm12 28h4v-4h-4v4zm-16 8h4v-4h-4v4zm-16-16h36v-4h-36v4zm32-20v4h4v-4h-4zm0 12h4v-4h-4v4zm-16 16h4v-4h-4v4zm8 8h4v-4h-4v4zm8 0h4v-4h-4v4z\"/> <path d=\"M0 0h48v48h-48z\" fill=\"none\"/> </svg>"
13781
14294
 
13782
14295
  /***/ }),
13783
- /* 135 */
14296
+ /* 138 */
13784
14297
  /***/ (function(module) {
13785
14298
 
13786
14299
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 48 48\"> <path d=\"M6 18h4v-4h-4v4zm0-8h4v-4h-4v4zm8 32h4v-4h-4v4zm0-16h4v-4h-4v4zm-8 0h4v-4h-4v4zm0 16h4v-4h-4v4zm0-8h4v-4h-4v4zm8-24h4v-4h-4v4zm24 24h4v-4h-4v4zm-16 8h4v-36h-4v36zm16 0h4v-4h-4v4zm0-16h4v-4h-4v4zm0-20v4h4v-4h-4zm0 12h4v-4h-4v4zm-8-8h4v-4h-4v4zm0 32h4v-4h-4v4zm0-16h4v-4h-4v4z\"/> <path d=\"M0 0h48v48h-48z\" fill=\"none\"/> </svg>"
13787
14300
 
13788
14301
  /***/ }),
13789
- /* 136 */
14302
+ /* 139 */
13790
14303
  /***/ (function(module) {
13791
14304
 
13792
14305
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1760 896q14 0 23 9t9 23v64q0 14-9 23t-23 9h-1728q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h1728zm-1277-64q-28-35-51-80-48-97-48-188 0-181 134-309 133-127 393-127 50 0 167 19 66 12 177 48 10 38 21 118 14 123 14 183 0 18-5 45l-12 3-84-6-14-2q-50-149-103-205-88-91-210-91-114 0-182 59-67 58-67 146 0 73 66 140t279 129q69 20 173 66 58 28 95 52h-743zm507 256h411q7 39 7 92 0 111-41 212-23 55-71 104-37 35-109 81-80 48-153 66-80 21-203 21-114 0-195-23l-140-40q-57-16-72-28-8-8-8-22v-13q0-108-2-156-1-30 0-68l2-37v-44l102-2q15 34 30 71t22.5 56 12.5 27q35 57 80 94 43 36 105 57 59 22 132 22 64 0 139-27 77-26 122-86 47-61 47-129 0-84-81-157-34-29-137-71z\"/> </svg>"
13793
14306
 
13794
14307
  /***/ }),
13795
- /* 137 */
14308
+ /* 140 */
13796
14309
  /***/ (function(module) {
13797
14310
 
13798
14311
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1025 1369v167h-248l-159-252-24-42q-8-9-11-21h-3l-9 21q-10 20-25 44l-155 250h-258v-167h128l197-291-185-272h-137v-168h276l139 228q2 4 23 42 8 9 11 21h3q3-9 11-21l25-42 140-228h257v168h-125l-184 267 204 296h109zm639 217v206h-514l-4-27q-3-45-3-46 0-64 26-117t65-86.5 84-65 84-54.5 65-54 26-64q0-38-29.5-62.5t-70.5-24.5q-51 0-97 39-14 11-36 38l-105-92q26-37 63-66 80-65 188-65 110 0 178 59.5t68 158.5q0 66-34.5 118.5t-84 86-99.5 62.5-87 63-41 73h232v-80h126z\"/> </svg>"
13799
14312
 
13800
14313
  /***/ }),
13801
- /* 138 */
14314
+ /* 141 */
13802
14315
  /***/ (function(module) {
13803
14316
 
13804
14317
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1025 1369v167h-248l-159-252-24-42q-8-9-11-21h-3l-9 21q-10 20-25 44l-155 250h-258v-167h128l197-291-185-272h-137v-168h276l139 228q2 4 23 42 8 9 11 21h3q3-9 11-21l25-42 140-228h257v168h-125l-184 267 204 296h109zm637-679v206h-514l-3-27q-4-28-4-46 0-64 26-117t65-86.5 84-65 84-54.5 65-54 26-64q0-38-29.5-62.5t-70.5-24.5q-51 0-97 39-14 11-36 38l-105-92q26-37 63-66 83-65 188-65 110 0 178 59.5t68 158.5q0 56-24.5 103t-62 76.5-81.5 58.5-82 50.5-65.5 51.5-30.5 63h232v-80h126z\"/> </svg>"
13805
14318
 
13806
14319
  /***/ }),
13807
- /* 139 */
14320
+ /* 142 */
13808
14321
  /***/ (function(module) {
13809
14322
 
13810
14323
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M576 1376v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47h-1344q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1344q66 0 113 47t47 113z\"/> </svg>"
13811
14324
 
13812
14325
  /***/ }),
13813
- /* 140 */
14326
+ /* 143 */
13814
14327
  /***/ (function(module) {
13815
14328
 
13816
14329
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M512 1248v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm0-512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm640 512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm-640-1024v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm640 512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm640 512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm-640-1024v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm640 512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm0-512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68z\"/> </svg>"
13817
14330
 
13818
14331
  /***/ }),
13819
- /* 141 */
14332
+ /* 144 */
13820
14333
  /***/ (function(module) {
13821
14334
 
13822
14335
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M512 1248v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm0-512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm1280 512v192q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h960q40 0 68 28t28 68zm-1280-1024v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm1280 512v192q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h960q40 0 68 28t28 68zm0-512v192q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h960q40 0 68 28t28 68z\"/> </svg>"
13823
14336
 
13824
14337
  /***/ }),
13825
- /* 142 */
14338
+ /* 145 */
13826
14339
  /***/ (function(module) {
13827
14340
 
13828
14341
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path stroke-width=\"0\" d=\"M384 1408q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm0-512q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1408 416v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5zm-1408-928q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1408 416v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5zm0-512v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5z\"/> </svg>"
13829
14342
 
13830
14343
  /***/ }),
13831
- /* 143 */
14344
+ /* 146 */
13832
14345
  /***/ (function(module) {
13833
14346
 
13834
14347
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M176 223q-37-2-45-4l-3-88q13-1 40-1 60 0 112 4 132 7 166 7 86 0 168-3 116-4 146-5 56 0 86-2l-1 14 2 64v9q-60 9-124 9-60 0-79 25-13 14-13 132 0 13 .5 32.5t.5 25.5l1 229 14 280q6 124 51 202 35 59 96 92 88 47 177 47 104 0 191-28 56-18 99-51 48-36 65-64 36-56 53-114 21-73 21-229 0-79-3.5-128t-11-122.5-13.5-159.5l-4-59q-5-67-24-88-34-35-77-34l-100 2-14-3 2-86h84l205 10q76 3 196-10l18 2q6 38 6 51 0 7-4 31-45 12-84 13-73 11-79 17-15 15-15 41 0 7 1.5 27t1.5 31q8 19 22 396 6 195-15 304-15 76-41 122-38 65-112 123-75 57-182 89-109 33-255 33-167 0-284-46-119-47-179-122-61-76-83-195-16-80-16-237v-333q0-188-17-213-25-36-147-39zm1488 1409v-64q0-14-9-23t-23-9h-1472q-14 0-23 9t-9 23v64q0 14 9 23t23 9h1472q14 0 23-9t9-23z\"/> </svg>"
13835
14348
 
13836
14349
  /***/ }),
13837
- /* 144 */
14350
+ /* 147 */
13838
14351
  /***/ (function(module) {
13839
14352
 
13840
14353
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1664 896q0 156-61 298t-164 245-245 164-298 61q-172 0-327-72.5t-264-204.5q-7-10-6.5-22.5t8.5-20.5l137-138q10-9 25-9 16 2 23 12 73 95 179 147t225 52q104 0 198.5-40.5t163.5-109.5 109.5-163.5 40.5-198.5-40.5-198.5-109.5-163.5-163.5-109.5-198.5-40.5q-98 0-188 35.5t-160 101.5l137 138q31 30 14 69-17 40-59 40h-448q-26 0-45-19t-19-45v-448q0-42 40-59 39-17 69 14l130 129q107-101 244.5-156.5t284.5-55.5q156 0 298 61t245 164 164 245 61 298z\"/> </svg>"
13841
14354
 
13842
14355
  /***/ }),
13843
- /* 145 */
14356
+ /* 148 */
13844
14357
  /***/ (function(module) {
13845
14358
 
13846
14359
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M503 1271l-256 256q-10 9-23 9-12 0-23-9-9-10-9-23t9-23l256-256q10-9 23-9t23 9q9 10 9 23t-9 23zm169 41v320q0 14-9 23t-23 9-23-9-9-23v-320q0-14 9-23t23-9 23 9 9 23zm-224-224q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23 9-23 23-9h320q14 0 23 9t9 23zm1264 128q0 120-85 203l-147 146q-83 83-203 83-121 0-204-85l-334-335q-21-21-42-56l239-18 273 274q27 27 68 27.5t68-26.5l147-146q28-28 28-67 0-40-28-68l-274-275 18-239q35 21 56 42l336 336q84 86 84 204zm-617-724l-239 18-273-274q-28-28-68-28-39 0-68 27l-147 146q-28 28-28 67 0 40 28 68l274 274-18 240q-35-21-56-42l-336-336q-84-86-84-204 0-120 85-203l147-146q83-83 203-83 121 0 204 85l334 335q21 21 42 56zm633 84q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23 9-23 23-9h320q14 0 23 9t9 23zm-544-544v320q0 14-9 23t-23 9-23-9-9-23v-320q0-14 9-23t23-9 23 9 9 23zm407 151l-256 256q-11 9-23 9t-23-9q-9-10-9-23t9-23l256-256q10-9 23-9t23 9q9 10 9 23t-9 23z\"/> </svg>"
13847
14360
 
13848
14361
  /***/ }),
13849
- /* 146 */
14362
+ /* 149 */
13850
14363
  /***/ (function(module) {
13851
14364
 
13852
14365
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1728 576v256q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45v-256q0-106-75-181t-181-75-181 75-75 181v192h96q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h672v-192q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5z\"/> </svg>"
13853
14366
 
13854
14367
  /***/ }),
13855
- /* 147 */
14368
+ /* 150 */
13856
14369
  /***/ (function(module) {
13857
14370
 
13858
14371
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z\"/> </svg>"
13859
14372
 
13860
14373
  /***/ }),
13861
- /* 148 */
14374
+ /* 151 */
13862
14375
  /***/ (function(module) {
13863
14376
 
13864
14377
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1344 1472q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm256 0q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128-224v320q0 40-28 68t-68 28h-1472q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h427q21 56 70.5 92t110.5 36h256q61 0 110.5-36t70.5-92h427q40 0 68 28t28 68zm-325-648q-17 40-59 40h-256v448q0 26-19 45t-45 19h-256q-26 0-45-19t-19-45v-448h-256q-42 0-59-40-17-39 14-69l448-448q18-19 45-19t45 19l448 448q31 30 14 69z\"/> </svg>"
13865
14378
 
13866
14379
  /***/ }),
13867
- /* 149 */
14380
+ /* 152 */
13868
14381
  /***/ (function(module) {
13869
14382
 
13870
14383
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1216 320q0 26-19 45t-45 19h-128v1024h128q26 0 45 19t19 45-19 45l-256 256q-19 19-45 19t-45-19l-256-256q-19-19-19-45t19-45 45-19h128v-1024h-128q-26 0-45-19t-19-45 19-45l256-256q19-19 45-19t45 19l256 256q19 19 19 45z\"/> </svg>"
13871
14384
 
13872
14385
  /***/ }),
13873
- /* 150 */
14386
+ /* 153 */
13874
14387
  /***/ (function(module) {
13875
14388
 
13876
14389
  module.exports = "<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1792 352v1088q0 42-39 59-13 5-25 5-27 0-45-19l-403-403v166q0 119-84.5 203.5t-203.5 84.5h-704q-119 0-203.5-84.5t-84.5-203.5v-704q0-119 84.5-203.5t203.5-84.5h704q119 0 203.5 84.5t84.5 203.5v165l403-402q18-19 45-19 12 0 25 5 39 17 39 59z\"/> </svg>"
@@ -13951,7 +14464,7 @@ __webpack_require__.d(modules_namespaceObject, {
13951
14464
  "Ajax": function() { return Ajax; },
13952
14465
  "Alert": function() { return Alert; },
13953
14466
  "Async": function() { return Async; },
13954
- "CommitStyle": function() { return selection/* CommitStyle */.R; },
14467
+ "CommitStyle": function() { return selection/* CommitStyle */.RP; },
13955
14468
  "Component": function() { return component/* Component */.wA; },
13956
14469
  "Confirm": function() { return Confirm; },
13957
14470
  "ContextMenu": function() { return ContextMenu; },
@@ -13974,7 +14487,7 @@ __webpack_require__.d(modules_namespaceObject, {
13974
14487
  "Prompt": function() { return Prompt; },
13975
14488
  "Response": function() { return response_Response; },
13976
14489
  "STATUSES": function() { return component/* STATUSES */.n$; },
13977
- "Select": function() { return selection/* Select */.P; },
14490
+ "Select": function() { return selection/* Select */.Ph; },
13978
14491
  "Snapshot": function() { return Snapshot; },
13979
14492
  "StatusBar": function() { return StatusBar; },
13980
14493
  "Table": function() { return Table; },
@@ -14040,6 +14553,7 @@ __webpack_require__.d(plugins_namespaceObject, {
14040
14553
  "paste": function() { return paste; },
14041
14554
  "pasteStorage": function() { return pasteStorage; },
14042
14555
  "placeholder": function() { return placeholder; },
14556
+ "poweredByJodit": function() { return poweredByJodit; },
14043
14557
  "preview": function() { return preview; },
14044
14558
  "print": function() { return print; },
14045
14559
  "redoUndo": function() { return redoUndo; },
@@ -14121,6 +14635,7 @@ __webpack_require__.d(icons_namespaceObject, {
14121
14635
  "print": function() { return icons_print; },
14122
14636
  "redo": function() { return redo; },
14123
14637
  "resize": function() { return resize; },
14638
+ "resize_handler": function() { return resize_handler; },
14124
14639
  "resizer": function() { return icons_resizer; },
14125
14640
  "right": function() { return right; },
14126
14641
  "save": function() { return save; },
@@ -14156,7 +14671,7 @@ var config = __webpack_require__(1);
14156
14671
  var constants = __webpack_require__(2);
14157
14672
  // EXTERNAL MODULE: ./src/core/events/index.ts + 3 modules
14158
14673
  var events = __webpack_require__(3);
14159
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
14674
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
14160
14675
  var helpers = __webpack_require__(8);
14161
14676
  ;// CONCATENATED MODULE: ./src/core/async.ts
14162
14677
  /*!
@@ -14542,7 +15057,7 @@ Ajax.log = [];
14542
15057
  // EXTERNAL MODULE: ./src/core/component/index.ts + 3 modules
14543
15058
  var component = __webpack_require__(12);
14544
15059
  // EXTERNAL MODULE: ./src/core/ui/popup/index.ts + 1 modules
14545
- var ui_popup = __webpack_require__(42);
15060
+ var ui_popup = __webpack_require__(43);
14546
15061
  // EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules
14547
15062
  var ui_button = __webpack_require__(36);
14548
15063
  // EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 14 modules
@@ -14625,12 +15140,14 @@ class LocalStorageProvider {
14625
15140
  localStorage.setItem(this.rootKey, JSON.stringify(json));
14626
15141
  }
14627
15142
  catch (_a) { }
15143
+ return this;
14628
15144
  }
14629
15145
  delete(key) {
14630
15146
  try {
14631
15147
  localStorage.removeItem(this.rootKey);
14632
15148
  }
14633
15149
  catch (_a) { }
15150
+ return this;
14634
15151
  }
14635
15152
  get(key) {
14636
15153
  try {
@@ -14648,6 +15165,7 @@ class LocalStorageProvider {
14648
15165
  localStorage.removeItem(this.rootKey);
14649
15166
  }
14650
15167
  catch (_a) { }
15168
+ return this;
14651
15169
  }
14652
15170
  }
14653
15171
 
@@ -14663,9 +15181,11 @@ class MemoryStorageProvider {
14663
15181
  }
14664
15182
  set(key, value) {
14665
15183
  this.data.set(key, value);
15184
+ return this;
14666
15185
  }
14667
15186
  delete(key) {
14668
15187
  this.data.delete(key);
15188
+ return this;
14669
15189
  }
14670
15190
  get(key) {
14671
15191
  return this.data.get(key);
@@ -14675,6 +15195,7 @@ class MemoryStorageProvider {
14675
15195
  }
14676
15196
  clear() {
14677
15197
  this.data.clear();
15198
+ return this;
14678
15199
  }
14679
15200
  }
14680
15201
 
@@ -14698,9 +15219,11 @@ class Storage {
14698
15219
  }
14699
15220
  set(key, value) {
14700
15221
  this.provider.set((0,helpers.camelCase)(this.prefix + key), value);
15222
+ return this;
14701
15223
  }
14702
15224
  delete(key) {
14703
15225
  this.provider.delete((0,helpers.camelCase)(this.prefix + key));
15226
+ return this;
14704
15227
  }
14705
15228
  get(key) {
14706
15229
  return this.provider.get((0,helpers.camelCase)(this.prefix + key));
@@ -14709,7 +15232,8 @@ class Storage {
14709
15232
  return this.provider.exists((0,helpers.camelCase)(this.prefix + key));
14710
15233
  }
14711
15234
  clear() {
14712
- return this.provider.clear();
15235
+ this.provider.clear();
15236
+ return this;
14713
15237
  }
14714
15238
  static makeStorage(persistent = false, suffix) {
14715
15239
  let provider;
@@ -14761,7 +15285,7 @@ class View extends component/* Component */.wA {
14761
15285
  this.isView = true;
14762
15286
  this.mods = {};
14763
15287
  this.components = new Set();
14764
- this.version = "3.9.3";
15288
+ this.version = "3.10.2";
14765
15289
  this.async = new Async();
14766
15290
  this.buffer = Storage.makeStorage();
14767
15291
  this.storage = Storage.makeStorage(true, this.componentName);
@@ -14859,10 +15383,10 @@ class View extends component/* Component */.wA {
14859
15383
  return this.__isFullSize;
14860
15384
  }
14861
15385
  getVersion() {
14862
- return "3.9.3";
15386
+ return "3.10.2";
14863
15387
  }
14864
15388
  static getVersion() {
14865
- return "3.9.3";
15389
+ return "3.10.2";
14866
15390
  }
14867
15391
  initOptions(options) {
14868
15392
  this.options = (0,helpers.ConfigProto)(options || {}, (0,helpers.ConfigProto)(this.options || {}, View.defaultOptions));
@@ -14944,7 +15468,7 @@ View.defaultOptions = {
14944
15468
 
14945
15469
  // EXTERNAL MODULE: ./src/core/dom.ts
14946
15470
  var dom = __webpack_require__(15);
14947
- // EXTERNAL MODULE: ./src/core/ui/index.ts + 1 modules
15471
+ // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules
14948
15472
  var ui = __webpack_require__(32);
14949
15473
  ;// CONCATENATED MODULE: ./src/modules/toolbar/collection/collection.ts
14950
15474
  /*!
@@ -14977,9 +15501,6 @@ let ToolbarCollection = class ToolbarCollection extends ui/* UIList */.bz {
14977
15501
  return makeButton(this.j, control, target);
14978
15502
  }
14979
15503
  shouldBeActive(button) {
14980
- if ((0,helpers.isJoditObject)(this.j) && !this.j.editorIsActive) {
14981
- return false;
14982
- }
14983
15504
  if ((0,helpers.isFunction)(button.control.isActive)) {
14984
15505
  return button.control.isActive(this.j, button.control, button);
14985
15506
  }
@@ -15019,6 +15540,15 @@ let ToolbarCollection = class ToolbarCollection extends ui/* UIList */.bz {
15019
15540
  .on(this.listenEvents, this.update)
15020
15541
  .on('afterSetMode focus', this.immediateUpdate);
15021
15542
  }
15543
+ hide() {
15544
+ this.container.remove();
15545
+ }
15546
+ show() {
15547
+ this.appendTo(this.j.toolbarContainer);
15548
+ }
15549
+ showInline(bound) {
15550
+ throw (0,helpers.error)('The method is not implemented for this class.');
15551
+ }
15022
15552
  build(items, target = null) {
15023
15553
  const itemsWithGroupps = this.j.e.fire('beforeToolbarBuild', items);
15024
15554
  if (itemsWithGroupps) {
@@ -15094,6 +15624,9 @@ let ToolbarEditorCollection = class ToolbarEditorCollection extends ToolbarColle
15094
15624
  return !(mode === constants.MODE_SPLIT || mode === this.j.getRealMode());
15095
15625
  }
15096
15626
  shouldBeActive(button) {
15627
+ if ((0,helpers.isJoditObject)(this.j) && !this.j.editorIsActive) {
15628
+ return false;
15629
+ }
15097
15630
  const active = super.shouldBeActive(button);
15098
15631
  if (active !== undefined) {
15099
15632
  return active;
@@ -15139,6 +15672,18 @@ let ToolbarEditorCollection = class ToolbarEditorCollection extends ToolbarColle
15139
15672
  });
15140
15673
  dom/* Dom.appendChildFirst */.i.appendChildFirst(container, input);
15141
15674
  }
15675
+ showInline(bound) {
15676
+ this.jodit.e.fire('showInlineToolbar', bound);
15677
+ }
15678
+ hide() {
15679
+ this.jodit.e.fire('hidePopup');
15680
+ super.hide();
15681
+ this.jodit.e.fire('toggleToolbar');
15682
+ }
15683
+ show() {
15684
+ super.show();
15685
+ this.jodit.e.fire('toggleToolbar');
15686
+ }
15142
15687
  };
15143
15688
  ToolbarEditorCollection = (0,tslib_es6/* __decorate */.gn)([
15144
15689
  decorators.component
@@ -15504,7 +16049,7 @@ function makeButton(jodit, control, target = null) {
15504
16049
  }
15505
16050
 
15506
16051
  // EXTERNAL MODULE: ./src/core/ui/helpers/buttons.ts
15507
- var helpers_buttons = __webpack_require__(41);
16052
+ var helpers_buttons = __webpack_require__(42);
15508
16053
  ;// CONCATENATED MODULE: ./src/core/view/view-with-toolbar.ts
15509
16054
  /*!
15510
16055
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -15556,6 +16101,9 @@ class ViewWithToolbar extends View {
15556
16101
  .build(buttons.concat(this.o.extraButtons || []))
15557
16102
  .appendTo(this.toolbarContainer);
15558
16103
  }
16104
+ getRegisteredButtonGroups() {
16105
+ return this.groupToButtons;
16106
+ }
15559
16107
  registerButton(btn) {
15560
16108
  var _a;
15561
16109
  this.registeredButtons.add(btn);
@@ -15635,6 +16183,7 @@ class ViewWithToolbar extends View {
15635
16183
 
15636
16184
 
15637
16185
 
16186
+
15638
16187
  config/* Config.prototype.dialog */.D.prototype.dialog = {
15639
16188
  namespace: '',
15640
16189
  extraButtons: [],
@@ -15696,7 +16245,9 @@ let Dialog = class Dialog extends ViewWithToolbar {
15696
16245
  </div>
15697
16246
  <div class="${n('content')}"></div>
15698
16247
  <div class="${n('footer')}"></div>
15699
- ${self.o.resizable ? `<div class="${n('resizer')}"></div>` : ''}
16248
+ ${self.o.resizable
16249
+ ? `<div class="${n('resizer')}">${ui/* Icon.get */.JO.get('resize_handler')}</div>`
16250
+ : ''}
15700
16251
  </div>
15701
16252
  </div>`);
15702
16253
  (0,helpers.attr)(self.container, 'role', 'dialog');
@@ -15980,8 +16531,8 @@ let Dialog = class Dialog extends ViewWithToolbar {
15980
16531
  e.stopImmediatePropagation();
15981
16532
  e.preventDefault();
15982
16533
  }
15983
- if (this.e) {
15984
- this.e.fire('beforeClose', this);
16534
+ if (this.e && this.e.fire('beforeClose', this) === false) {
16535
+ return this;
15985
16536
  }
15986
16537
  this.setMod('active', false);
15987
16538
  this.isOpened = false;
@@ -16328,16 +16879,6 @@ class Create {
16328
16879
  }
16329
16880
  }
16330
16881
 
16331
- ;// CONCATENATED MODULE: ./src/modules/file-browser/consts.ts
16332
- /*!
16333
- * Jodit Editor (https://xdsoft.net/jodit/)
16334
- * Released under MIT see LICENSE.txt in the project root for license information.
16335
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
16336
- */
16337
- const F_CLASS = 'jodit-filebrowser';
16338
- const ITEM_CLASS = F_CLASS + '__files-item';
16339
- const ICON_LOADER = '<i class="jodit-icon_loader"></i>';
16340
-
16341
16882
  ;// CONCATENATED MODULE: ./src/modules/file-browser/config.ts
16342
16883
  /*!
16343
16884
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -16347,7 +16888,6 @@ const ICON_LOADER = '<i class="jodit-icon_loader"></i>';
16347
16888
 
16348
16889
 
16349
16890
 
16350
-
16351
16891
  config/* Config.prototype.filebrowser */.D.prototype.filebrowser = {
16352
16892
  namespace: '',
16353
16893
  extraButtons: [],
@@ -16412,6 +16952,7 @@ config/* Config.prototype.filebrowser */.D.prototype.filebrowser = {
16412
16952
  moveFolder: true,
16413
16953
  moveFile: true,
16414
16954
  showFoldersPanel: true,
16955
+ storeLastOpenedFolder: true,
16415
16956
  width: 859,
16416
16957
  height: 400,
16417
16958
  buttons: [
@@ -16443,24 +16984,28 @@ config/* Config.prototype.filebrowser */.D.prototype.filebrowser = {
16443
16984
  showFileName: true,
16444
16985
  showFileSize: true,
16445
16986
  showFileChangeTime: true,
16446
- saveStateInStorage: true,
16987
+ saveStateInStorage: {
16988
+ storeLastOpenedFolder: true,
16989
+ storeView: true,
16990
+ storeSortBy: true
16991
+ },
16447
16992
  pixelOffsetLoadNewChunk: 200,
16448
16993
  getThumbTemplate(item, source, source_name) {
16449
- const opt = this.options, showName = opt.showFileName, showSize = opt.showFileSize && item.size, showTime = opt.showFileChangeTime && item.time;
16994
+ const opt = this.options, IC = this.files.getFullElName('item'), showName = opt.showFileName, showSize = opt.showFileSize && item.size, showTime = opt.showFileChangeTime && item.time;
16450
16995
  let name = '';
16451
16996
  if (item.file !== undefined) {
16452
16997
  name = item.file;
16453
16998
  }
16454
- const info = `<div class="${ITEM_CLASS}-info">${showName ? `<span class="${ITEM_CLASS}-info-filename">${name}</span>` : ''}${showSize
16455
- ? `<span class="${ITEM_CLASS}-info-filesize">${item.size}</span>`
16999
+ const info = `<div class="${IC}-info">${showName ? `<span class="${IC}-info-filename">${name}</span>` : ''}${showSize
17000
+ ? `<span class="${IC}-info-filesize">${item.size}</span>`
16456
17001
  : ''}${showTime
16457
- ? `<span class="${ITEM_CLASS}-info-filechanged">${showTime}</span>`
17002
+ ? `<span class="${IC}-info-filechanged">${showTime}</span>`
16458
17003
  : ''}</div>`;
16459
17004
  return `<a
16460
17005
  data-jodit-filebrowser-item="true"
16461
17006
  data-is-file="${item.isImage ? 0 : 1}"
16462
17007
  draggable="true"
16463
- class="${ITEM_CLASS}"
17008
+ class="${IC}"
16464
17009
  href="${item.fileURL}"
16465
17010
  data-source="${source_name}"
16466
17011
  data-path="${item.path}"
@@ -17030,8 +17575,7 @@ var normalize = __webpack_require__(26);
17030
17575
 
17031
17576
 
17032
17577
 
17033
-
17034
- const state_listeners_DEFAULT_SOURCE_NAME = 'default', ITEM_ACTIVE_CLASS = ITEM_CLASS + '_active_true';
17578
+ const state_listeners_DEFAULT_SOURCE_NAME = 'default';
17035
17579
  function stateListeners() {
17036
17580
  const { state, files, create, options, elementsMap } = this, getDomElement = (item) => {
17037
17581
  const key = item.uniqueHashKey;
@@ -17048,57 +17592,69 @@ function stateListeners() {
17048
17592
  };
17049
17593
  state
17050
17594
  .on(['change.currentPath', 'change.currentSource'], this.async.debounce(() => {
17595
+ if (this.o.saveStateInStorage &&
17596
+ this.o.saveStateInStorage.storeLastOpenedFolder) {
17597
+ this.storage
17598
+ .set('currentPath', this.state.currentPath)
17599
+ .set('currentSource', this.state.currentSource);
17600
+ }
17051
17601
  this.loadTree();
17052
17602
  }, this.defaultTimeout))
17053
17603
  .on('beforeChange.activeElements', () => {
17054
17604
  state.activeElements.forEach(item => {
17055
17605
  const key = item.uniqueHashKey, { elm } = elementsMap[key];
17056
- elm && elm.classList.remove(ITEM_ACTIVE_CLASS);
17606
+ elm &&
17607
+ elm.classList.remove(files.getFullElName('item', 'active', true));
17057
17608
  });
17058
17609
  })
17059
17610
  .on('change.activeElements', () => {
17060
17611
  this.e.fire('changeSelection');
17061
17612
  state.activeElements.forEach(item => {
17062
17613
  const key = item.uniqueHashKey, { elm } = elementsMap[key];
17063
- elm && elm.classList.add(ITEM_ACTIVE_CLASS);
17614
+ elm &&
17615
+ elm.classList.add(files.getFullElName('item', 'active', true));
17064
17616
  });
17065
17617
  })
17066
17618
  .on('change.view', () => {
17067
- files.classList.remove(F_CLASS + '__files_view_tiles');
17068
- files.classList.remove(F_CLASS + '__files_view_list');
17069
- files.classList.add(F_CLASS + '__files_view_' + state.view);
17070
- this.storage.set(F_CLASS + '_view', state.view);
17619
+ files.setMod('view', state.view);
17620
+ if (this.o.saveStateInStorage &&
17621
+ this.o.saveStateInStorage.storeView) {
17622
+ this.storage.set('view', state.view);
17623
+ }
17071
17624
  })
17072
17625
  .on('change.sortBy', () => {
17073
- this.storage.set(F_CLASS + '_sortby', state.sortBy);
17626
+ if (this.o.saveStateInStorage &&
17627
+ this.o.saveStateInStorage.storeSortBy) {
17628
+ this.storage.set('sortBy', state.sortBy);
17629
+ }
17074
17630
  })
17075
17631
  .on('change.elements', this.async.debounce(() => {
17076
- dom/* Dom.detach */.i.detach(files);
17632
+ dom/* Dom.detach */.i.detach(files.container);
17077
17633
  if (state.elements.length) {
17078
17634
  state.elements.forEach(item => {
17079
- this.files.appendChild(getDomElement(item));
17635
+ this.files.container.appendChild(getDomElement(item));
17080
17636
  });
17081
17637
  }
17082
17638
  else {
17083
- files.appendChild(create.div(F_CLASS + '_no_files', this.i18n('There are no files')));
17639
+ files.container.appendChild(create.div(this.componentName + '_no-files_true', this.i18n('There are no files')));
17084
17640
  }
17085
17641
  }, this.defaultTimeout))
17086
17642
  .on('change.sources', this.async.debounce(() => {
17087
- dom/* Dom.detach */.i.detach(this.tree);
17643
+ dom/* Dom.detach */.i.detach(this.tree.container);
17088
17644
  state.sources.forEach(source => {
17089
17645
  const sourceName = source.name;
17090
17646
  if (sourceName && sourceName !== state_listeners_DEFAULT_SOURCE_NAME) {
17091
- this.tree.appendChild(create.div(F_CLASS + '__source-title', sourceName));
17647
+ this.tree.container.appendChild(create.div(this.tree.getFullElName('source-title'), sourceName));
17092
17648
  }
17093
17649
  source.folders.forEach((name) => {
17094
- const folderElm = create.a(F_CLASS + '__tree-item', {
17650
+ const folderElm = create.a(this.tree.getFullElName('item'), {
17095
17651
  draggable: 'draggable',
17096
17652
  href: '#',
17097
17653
  'data-path': (0,normalize/* normalizePath */.AH)(source.path, name + '/'),
17098
17654
  'data-name': name,
17099
17655
  'data-source': sourceName,
17100
17656
  'data-source-path': source.path
17101
- }, create.span(F_CLASS + '__tree-item-title', name));
17657
+ }, create.span(this.tree.getFullElName('item-title'), name));
17102
17658
  const action = (actionName) => (e) => {
17103
17659
  this.e.fire(`${actionName}.filebrowser`, {
17104
17660
  name,
@@ -17109,7 +17665,7 @@ function stateListeners() {
17109
17665
  e.preventDefault();
17110
17666
  };
17111
17667
  this.e.on(folderElm, 'click', action('openFolder'));
17112
- this.tree.appendChild(folderElm);
17668
+ this.tree.container.appendChild(folderElm);
17113
17669
  if (name === '..' || name === '.') {
17114
17670
  return;
17115
17671
  }
@@ -17145,7 +17701,7 @@ function stateListeners() {
17145
17701
  source: sourceName
17146
17702
  });
17147
17703
  });
17148
- this.tree.appendChild(button.container);
17704
+ this.tree.append(button);
17149
17705
  }
17150
17706
  });
17151
17707
  }, this.defaultTimeout));
@@ -17806,8 +18362,7 @@ function openImageEditor(href, name, path, source, onSuccess, onFailed) {
17806
18362
 
17807
18363
 
17808
18364
 
17809
-
17810
- const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next', right = 'right') => `<div class="${CLASS_PREVIEW}navigation ${CLASS_PREVIEW}navigation-${next}">` +
18365
+ const CLASS_PREVIEW = 'jodit-filebrowser-preview', preview_tpl_next = (next = 'next', right = 'right') => `<div class="${CLASS_PREVIEW}__navigation ${CLASS_PREVIEW}__navigation_arrow_${next}">` +
17811
18366
  '' +
17812
18367
  ui/* Icon.get */.JO.get('angle-' + right) +
17813
18368
  '</a>';
@@ -17824,6 +18379,11 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
17824
18379
  let item = a;
17825
18380
  const opt = self.options, ga = (key) => (0,helpers.attr)(item, key) || '';
17826
18381
  self.async.setTimeout(() => {
18382
+ const selectedItem = elementToItem(a, self.elementsMap);
18383
+ if (!selectedItem) {
18384
+ return;
18385
+ }
18386
+ self.state.activeElements = [selectedItem];
17827
18387
  contextmenu.show(e.clientX, e.clientY, [
17828
18388
  ga('data-is-file') !== '1' &&
17829
18389
  opt.editImage &&
@@ -17866,7 +18426,7 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
17866
18426
  fullsize: self.o.fullsize,
17867
18427
  language: self.o.language,
17868
18428
  buttons: ['fullsize', 'dialog.close']
17869
- }), temp_content = self.c.div(F_CLASS + '_preview', ICON_LOADER), preview_box = self.c.div(F_CLASS + '_preview_box'), next = self.c.fromHTML(preview_tpl_next()), prev = self.c.fromHTML(preview_tpl_next('prev', 'left')), addLoadHandler = (src) => {
18429
+ }), temp_content = self.c.div(CLASS_PREVIEW, '<div class="jodit-icon_loader"></div>'), preview_box = self.c.div(CLASS_PREVIEW + '__box'), next = self.c.fromHTML(preview_tpl_next()), prev = self.c.fromHTML(preview_tpl_next('prev', 'left')), addLoadHandler = (src) => {
17870
18430
  const image = self.c.element('img');
17871
18431
  image.setAttribute('src', src);
17872
18432
  const onload = () => {
@@ -17877,10 +18437,10 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
17877
18437
  self.e.off(image, 'load');
17878
18438
  dom/* Dom.detach */.i.detach(temp_content);
17879
18439
  if (opt.showPreviewNavigation) {
17880
- if (dom/* Dom.prevWithClass */.i.prevWithClass(item, ITEM_CLASS)) {
18440
+ if (dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item'))) {
17881
18441
  temp_content.appendChild(prev);
17882
18442
  }
17883
- if (dom/* Dom.nextWithClass */.i.nextWithClass(item, ITEM_CLASS)) {
18443
+ if (dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item'))) {
17884
18444
  temp_content.appendChild(next);
17885
18445
  }
17886
18446
  }
@@ -17895,25 +18455,25 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
17895
18455
  }
17896
18456
  };
17897
18457
  self.e.on([next, prev], 'click', function () {
17898
- if (this.classList.contains(CLASS_PREVIEW +
17899
- 'navigation-next')) {
17900
- item = dom/* Dom.nextWithClass */.i.nextWithClass(item, ITEM_CLASS);
18458
+ if (this === next) {
18459
+ item = dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item'));
17901
18460
  }
17902
18461
  else {
17903
- item = dom/* Dom.prevWithClass */.i.prevWithClass(item, ITEM_CLASS);
18462
+ item = dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item'));
17904
18463
  }
17905
18464
  if (!item) {
17906
18465
  throw (0,helpers.error)('Need element');
17907
18466
  }
17908
18467
  dom/* Dom.detach */.i.detach(temp_content);
17909
18468
  dom/* Dom.detach */.i.detach(preview_box);
17910
- temp_content.innerHTML = ICON_LOADER;
18469
+ temp_content.innerHTML =
18470
+ '<div class="jodit-icon_loader"></div>';
17911
18471
  addLoadHandler(ga('href'));
17912
18472
  });
17913
18473
  self.e.on('beforeDestruct', () => {
17914
18474
  preview.destruct();
17915
18475
  });
17916
- preview.container.classList.add(F_CLASS + '_preview_dialog');
18476
+ preview.container.classList.add(CLASS_PREVIEW + '__dialog');
17917
18477
  preview.setContent(temp_content);
17918
18478
  preview.setPosition();
17919
18479
  preview.open();
@@ -17938,9 +18498,7 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
17938
18498
  }
17939
18499
  ]);
17940
18500
  }, self.defaultTimeout);
17941
- self === null || self === void 0 ? void 0 : self.e.on('beforeDestruct', () => {
17942
- contextmenu.destruct();
17943
- });
18501
+ self === null || self === void 0 ? void 0 : self.dialog.e.on('beforeClose', () => contextmenu.close()).on('beforeDestruct', () => contextmenu.destruct());
17944
18502
  e.stopPropagation();
17945
18503
  e.preventDefault();
17946
18504
  return false;
@@ -17956,17 +18514,16 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
17956
18514
 
17957
18515
 
17958
18516
 
17959
-
17960
18517
  const getItem = (node, root, tag = 'a') => dom/* Dom.closest */.i.closest(node, elm => dom/* Dom.isTag */.i.isTag(elm, tag), root);
18518
+ const elementToItem = (elm, elementsMap) => {
18519
+ const { key } = elm.dataset, { item } = elementsMap[key || ''];
18520
+ return item;
18521
+ };
17961
18522
  function nativeListeners() {
17962
18523
  let dragElement = false;
17963
18524
  const self = this;
17964
- const elementToItem = (elm) => {
17965
- const { key } = elm.dataset, { item } = self.elementsMap[key || ''];
17966
- return item;
17967
- };
17968
18525
  self.e
17969
- .on(self.tree, 'dragstart', (e) => {
18526
+ .on(self.tree.container, 'dragstart', (e) => {
17970
18527
  const a = getItem(e.target, self.dialog.container);
17971
18528
  if (!a) {
17972
18529
  return;
@@ -17975,14 +18532,14 @@ function nativeListeners() {
17975
18532
  dragElement = a;
17976
18533
  }
17977
18534
  })
17978
- .on(self.tree, 'drop', (e) => {
18535
+ .on(self.tree.container, 'drop', (e) => {
17979
18536
  if ((self.o.moveFile || self.o.moveFolder) && dragElement) {
17980
18537
  let path = (0,helpers.attr)(dragElement, '-path') || '';
17981
18538
  if (!self.o.moveFolder &&
17982
- dragElement.classList.contains(F_CLASS + '__tree-item')) {
18539
+ dragElement.classList.contains(this.tree.getFullElName('item'))) {
17983
18540
  return false;
17984
18541
  }
17985
- if (dragElement.classList.contains(ITEM_CLASS)) {
18542
+ if (dragElement.classList.contains(this.files.getFullElName('item'))) {
17986
18543
  path += (0,helpers.attr)(dragElement, '-name');
17987
18544
  if (!self.o.moveFile) {
17988
18545
  return false;
@@ -17993,25 +18550,25 @@ function nativeListeners() {
17993
18550
  return;
17994
18551
  }
17995
18552
  self.dataProvider
17996
- .move(path, (0,helpers.attr)(a, '-path') || '', (0,helpers.attr)(a, '-source') || '', dragElement.classList.contains(ITEM_CLASS))
18553
+ .move(path, (0,helpers.attr)(a, '-path') || '', (0,helpers.attr)(a, '-source') || '', dragElement.classList.contains(this.files.getFullElName('item')))
17997
18554
  .then(() => {
17998
18555
  self.loadTree();
17999
18556
  }, self.status);
18000
18557
  dragElement = false;
18001
18558
  }
18002
18559
  })
18003
- .on(self.files, 'contextmenu', context_menu(self))
18004
- .on(self.files, 'click', (e) => {
18560
+ .on(self.files.container, 'contextmenu', context_menu(self))
18561
+ .on(self.files.container, 'click', (e) => {
18005
18562
  if (!(0,helpers.ctrlKey)(e)) {
18006
18563
  this.state.activeElements = [];
18007
18564
  }
18008
18565
  })
18009
- .on(self.files, 'click', (e) => {
18566
+ .on(self.files.container, 'click', (e) => {
18010
18567
  const a = getItem(e.target, self.dialog.container);
18011
18568
  if (!a) {
18012
18569
  return;
18013
18570
  }
18014
- const item = elementToItem(a);
18571
+ const item = elementToItem(a, self.elementsMap);
18015
18572
  if (!item) {
18016
18573
  return;
18017
18574
  }
@@ -18027,7 +18584,7 @@ function nativeListeners() {
18027
18584
  e.stopPropagation();
18028
18585
  return false;
18029
18586
  })
18030
- .on(self.files, 'dragstart', (e) => {
18587
+ .on(self.files.container, 'dragstart', (e) => {
18031
18588
  if (self.o.moveFile) {
18032
18589
  const a = getItem(e.target, self.dialog.container);
18033
18590
  if (!a) {
@@ -18166,6 +18723,43 @@ function selfListeners() {
18166
18723
  });
18167
18724
  }
18168
18725
 
18726
+ ;// CONCATENATED MODULE: ./src/modules/file-browser/ui/files/files.ts
18727
+ /*!
18728
+ * Jodit Editor (https://xdsoft.net/jodit/)
18729
+ * Released under MIT see LICENSE.txt in the project root for license information.
18730
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
18731
+ */
18732
+
18733
+
18734
+ class FileBrowserFiles extends ui/* UIGroup */.qe {
18735
+ className() {
18736
+ return 'FilebrowserFiles';
18737
+ }
18738
+ }
18739
+
18740
+ ;// CONCATENATED MODULE: ./src/modules/file-browser/ui/tree/tree.ts
18741
+ /*!
18742
+ * Jodit Editor (https://xdsoft.net/jodit/)
18743
+ * Released under MIT see LICENSE.txt in the project root for license information.
18744
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
18745
+ */
18746
+
18747
+
18748
+ class FileBrowserTree extends ui/* UIGroup */.qe {
18749
+ className() {
18750
+ return 'FilebrowserTree';
18751
+ }
18752
+ }
18753
+
18754
+ ;// CONCATENATED MODULE: ./src/modules/file-browser/ui/index.ts
18755
+ /*!
18756
+ * Jodit Editor (https://xdsoft.net/jodit/)
18757
+ * Released under MIT see LICENSE.txt in the project root for license information.
18758
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
18759
+ */
18760
+
18761
+
18762
+
18169
18763
  ;// CONCATENATED MODULE: ./src/modules/file-browser/file-browser.ts
18170
18764
  /*!
18171
18765
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -18194,11 +18788,11 @@ class FileBrowser extends ViewWithToolbar {
18194
18788
  constructor(options) {
18195
18789
  var _a;
18196
18790
  super(options);
18197
- this.loader = this.c.div(F_CLASS + '__loader', ICON_LOADER);
18198
- this.browser = this.c.div(F_CLASS + ' non-selected');
18199
- this.status_line = this.c.div(F_CLASS + '__status');
18200
- this.tree = this.c.div(F_CLASS + '__tree');
18201
- this.files = this.c.div(F_CLASS + '__files');
18791
+ this.loader = this.c.div(this.getFullElName('loader'), '<div class="jodit-icon_loader"></div>');
18792
+ this.browser = this.c.div(this.componentName);
18793
+ this.status_line = this.c.div(this.getFullElName('status'));
18794
+ this.tree = new FileBrowserTree(this);
18795
+ this.files = new FileBrowserFiles(this);
18202
18796
  this.state = events/* ObserveObject.create */.P5.create({
18203
18797
  currentPath: '',
18204
18798
  currentSource: DEFAULT_SOURCE_NAME,
@@ -18227,7 +18821,7 @@ class FileBrowser extends ViewWithToolbar {
18227
18821
  this.attachEvents(options);
18228
18822
  const self = this;
18229
18823
  self.options = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.filebrowser */.D.defaultOptions.filebrowser);
18230
- self.storage = Storage.makeStorage(this.o.saveStateInStorage);
18824
+ self.storage = Storage.makeStorage(Boolean(this.o.saveStateInStorage), this.componentName);
18231
18825
  self.dataProvider = makeDataProvider(self, self.options);
18232
18826
  self.dialog = new Dialog({
18233
18827
  fullsize: self.o.fullsize,
@@ -18244,10 +18838,11 @@ class FileBrowser extends ViewWithToolbar {
18244
18838
  this.e.fire(proxyEvent);
18245
18839
  });
18246
18840
  });
18841
+ self.browser.component = this;
18247
18842
  if (self.o.showFoldersPanel) {
18248
- self.browser.appendChild(self.tree);
18843
+ self.browser.appendChild(self.tree.container);
18249
18844
  }
18250
- self.browser.appendChild(self.files);
18845
+ self.browser.appendChild(self.files.container);
18251
18846
  self.browser.appendChild(self.status_line);
18252
18847
  selfListeners.call(self);
18253
18848
  nativeListeners.call(self);
@@ -18273,7 +18868,13 @@ class FileBrowser extends ViewWithToolbar {
18273
18868
  this.options[key] = (0,helpers.ConfigProto)(this.options[key], this.o.ajax);
18274
18869
  }
18275
18870
  });
18276
- const view = this.storage.get(F_CLASS + '_view');
18871
+ const { storeView, storeSortBy, storeLastOpenedFolder } = this.o
18872
+ .saveStateInStorage || {
18873
+ storeLastOpenedFolder: false,
18874
+ storeView: false,
18875
+ storeSortBy: false
18876
+ };
18877
+ const view = storeView && this.storage.get('view');
18277
18878
  if (view && this.o.view == null) {
18278
18879
  self.state.view = view === 'list' ? 'list' : 'tiles';
18279
18880
  }
@@ -18281,7 +18882,7 @@ class FileBrowser extends ViewWithToolbar {
18281
18882
  self.state.view = self.o.view === 'list' ? 'list' : 'tiles';
18282
18883
  }
18283
18884
  this.state.fire('change.view');
18284
- const sortBy = self.storage.get(F_CLASS + '_sortby');
18885
+ const sortBy = storeSortBy && self.storage.get('sortBy');
18285
18886
  if (sortBy) {
18286
18887
  const parts = sortBy.split('-');
18287
18888
  self.state.sortBy = ['changed', 'name', 'size'].includes(parts[0])
@@ -18291,14 +18892,19 @@ class FileBrowser extends ViewWithToolbar {
18291
18892
  else {
18292
18893
  self.state.sortBy = self.o.sortBy || 'changed-desc';
18293
18894
  }
18895
+ if (storeLastOpenedFolder) {
18896
+ const currentPath = self.storage.get('currentPath'), currentSource = self.storage.get('currentSource');
18897
+ self.state.currentPath = currentPath !== null && currentPath !== void 0 ? currentPath : '';
18898
+ self.state.currentSource = currentSource !== null && currentSource !== void 0 ? currentSource : '';
18899
+ }
18294
18900
  self.initUploader(self);
18295
18901
  }
18296
18902
  className() {
18297
- return 'FileBrowser';
18903
+ return 'Filebrowser';
18298
18904
  }
18299
18905
  async loadItems() {
18300
- this.files.classList.add('jodit-filebrowser_active');
18301
- this.files.appendChild(this.loader.cloneNode(true));
18906
+ this.files.setMod('active', true);
18907
+ this.files.container.appendChild(this.loader.cloneNode(true));
18302
18908
  return this.dataProvider
18303
18909
  .items(this.state.currentPath, this.state.currentSource, {
18304
18910
  sortBy: this.state.sortBy,
@@ -18319,9 +18925,9 @@ class FileBrowser extends ViewWithToolbar {
18319
18925
  this.uploader.setPath(this.state.currentPath);
18320
18926
  this.uploader.setSource(this.state.currentSource);
18321
18927
  }
18322
- this.tree.classList.add('jodit-filebrowser_active');
18323
- dom/* Dom.detach */.i.detach(this.tree);
18324
- this.tree.appendChild(this.loader.cloneNode(true));
18928
+ this.tree.setMod('active', true);
18929
+ dom/* Dom.detach */.i.detach(this.tree.container);
18930
+ this.tree.container.appendChild(this.loader.cloneNode(true));
18325
18931
  const items = this.loadItems();
18326
18932
  if (this.o.showFoldersPanel) {
18327
18933
  const tree = this.dataProvider
@@ -18336,7 +18942,7 @@ class FileBrowser extends ViewWithToolbar {
18336
18942
  return Promise.all([tree, items]).catch(helpers.error);
18337
18943
  }
18338
18944
  else {
18339
- this.tree.classList.remove('jodit-filebrowser_active');
18945
+ this.tree.setMod('active', false);
18340
18946
  }
18341
18947
  return items.catch(helpers.error);
18342
18948
  }
@@ -18381,16 +18987,17 @@ class FileBrowser extends ViewWithToolbar {
18381
18987
  if (!(0,helpers.isString)(message)) {
18382
18988
  message = message.message;
18383
18989
  }
18384
- this.status_line.classList.remove('jodit-filebrowser_success');
18385
- this.status_line.classList.add('jodit-filebrowser_active');
18990
+ const successClass = this.getFullElName('status', 'success', true), activeClass = this.getFullElName('status', 'active', true);
18991
+ this.status_line.classList.remove(successClass);
18992
+ this.status_line.classList.add(activeClass);
18386
18993
  const messageBox = this.c.div();
18387
18994
  messageBox.textContent = message;
18388
18995
  this.status_line.appendChild(messageBox);
18389
18996
  if (success) {
18390
- this.status_line.classList.add('jodit-filebrowser_success');
18997
+ this.status_line.classList.add(successClass);
18391
18998
  }
18392
18999
  this.async.setTimeout(() => {
18393
- this.status_line.classList.remove('jodit-filebrowser_active');
19000
+ this.status_line.classList.remove(activeClass);
18394
19001
  dom/* Dom.detach */.i.detach(this.status_line);
18395
19002
  }, {
18396
19003
  timeout: this.o.howLongShowMsg,
@@ -18407,9 +19014,9 @@ class FileBrowser extends ViewWithToolbar {
18407
19014
  }
18408
19015
  let localTimeout = 0;
18409
19016
  this.e
18410
- .off(this.files, 'dblclick')
18411
- .on(this.files, 'dblclick', this.onSelect(callback))
18412
- .on(this.files, 'touchstart', () => {
19017
+ .off(this.files.container, 'dblclick')
19018
+ .on(this.files.container, 'dblclick', this.onSelect(callback))
19019
+ .on(this.files.container, 'touchstart', () => {
18413
19020
  const now = new Date().getTime();
18414
19021
  if (now - localTimeout < constants.EMULATE_DBLCLICK_TIMEOUT) {
18415
19022
  this.onSelect(callback)();
@@ -18803,7 +19410,7 @@ class Observer extends component/* ViewComponent */.Hr {
18803
19410
  (0,decorators.debounce)()
18804
19411
  ], Observer.prototype, "onChange", null);
18805
19412
 
18806
- // EXTERNAL MODULE: ./src/core/selection/index.ts + 15 modules
19413
+ // EXTERNAL MODULE: ./src/core/selection/index.ts + 19 modules
18807
19414
  var selection = __webpack_require__(16);
18808
19415
  ;// CONCATENATED MODULE: ./src/modules/status-bar/status-bar.ts
18809
19416
  /*!
@@ -18814,10 +19421,12 @@ var selection = __webpack_require__(16);
18814
19421
 
18815
19422
 
18816
19423
 
19424
+
18817
19425
  class StatusBar extends component/* ViewComponent */.Hr {
18818
19426
  constructor(jodit, target) {
18819
19427
  super(jodit);
18820
19428
  this.target = target;
19429
+ this.mods = {};
18821
19430
  this.container = jodit.c.div('jodit-status-bar');
18822
19431
  target.appendChild(this.container);
18823
19432
  this.hide();
@@ -18834,6 +19443,13 @@ class StatusBar extends component/* ViewComponent */.Hr {
18834
19443
  get isShown() {
18835
19444
  return !this.container.classList.contains('jodit_hidden');
18836
19445
  }
19446
+ setMod(name, value) {
19447
+ traits/* Mods.setMod.call */.$.setMod.call(this, name, value);
19448
+ return this;
19449
+ }
19450
+ getMod(name) {
19451
+ return traits/* Mods.getMod.call */.$.getMod.call(this, name);
19452
+ }
18837
19453
  getHeight() {
18838
19454
  var _a, _b;
18839
19455
  return (_b = (_a = this.container) === null || _a === void 0 ? void 0 : _a.offsetHeight) !== null && _b !== void 0 ? _b : 0;
@@ -19961,7 +20577,7 @@ class Jodit extends ViewWithToolbar {
19961
20577
  }
19962
20578
  });
19963
20579
  this.e.on('prepareWYSIWYGEditor', this.prepareWYSIWYGEditor);
19964
- this.selection = new selection/* Select */.P(this);
20580
+ this.selection = new selection/* Select */.Ph(this);
19965
20581
  const beforeInitHookResult = this.beforeInitHook();
19966
20582
  (0,helpers.callPromise)(beforeInitHookResult, () => {
19967
20583
  this.e.fire('beforeInit', this);
@@ -20006,12 +20622,6 @@ class Jodit extends ViewWithToolbar {
20006
20622
  div.innerHTML = this.getElementValue();
20007
20623
  return div.innerText || '';
20008
20624
  }
20009
- get value() {
20010
- return this.getEditorValue();
20011
- }
20012
- set value(html) {
20013
- this.setEditorValue(html);
20014
- }
20015
20625
  get defaultTimeout() {
20016
20626
  return this.options && this.o.observer
20017
20627
  ? this.o.observer.timeout
@@ -20144,9 +20754,15 @@ class Jodit extends ViewWithToolbar {
20144
20754
  this.editor.innerHTML = data.value;
20145
20755
  }
20146
20756
  }
20147
- getEditorValue(removeSelectionMarkers = true) {
20757
+ get value() {
20758
+ return this.getEditorValue();
20759
+ }
20760
+ set value(html) {
20761
+ this.setEditorValue(html);
20762
+ }
20763
+ getEditorValue(removeSelectionMarkers = true, consumer) {
20148
20764
  let value;
20149
- value = this.e.fire('beforeGetValueFromEditor');
20765
+ value = this.e.fire('beforeGetValueFromEditor', consumer);
20150
20766
  if (value !== undefined) {
20151
20767
  return value;
20152
20768
  }
@@ -20158,7 +20774,7 @@ class Jodit extends ViewWithToolbar {
20158
20774
  value = '';
20159
20775
  }
20160
20776
  const new_value = { value };
20161
- this.e.fire('afterGetValueFromEditor', new_value);
20777
+ this.e.fire('afterGetValueFromEditor', new_value, consumer);
20162
20778
  return new_value.value;
20163
20779
  }
20164
20780
  setEditorValue(value) {
@@ -20759,29 +21375,29 @@ Jodit.core = {
20759
21375
 
20760
21376
  ;// CONCATENATED MODULE: ./src/langs/index.ts
20761
21377
 
20762
- const en = __webpack_require__(44);
21378
+ const en = __webpack_require__(45);
20763
21379
  let exp = {
20764
21380
  en
20765
21381
  };
20766
21382
  if (true) {
20767
- const ar = __webpack_require__(45);
20768
- const cs_cz = __webpack_require__(46);
20769
- const de = __webpack_require__(47);
20770
- const es = __webpack_require__(48);
20771
- const fr = __webpack_require__(49);
20772
- const he = __webpack_require__(50);
20773
- const hu = __webpack_require__(51);
20774
- const id = __webpack_require__(52);
20775
- const it = __webpack_require__(53);
20776
- const ja = __webpack_require__(54);
20777
- const ko = __webpack_require__(55);
20778
- const nl = __webpack_require__(56);
20779
- const pl = __webpack_require__(57);
20780
- const pt_br = __webpack_require__(58);
20781
- const ru = __webpack_require__(59);
20782
- const tr = __webpack_require__(60);
20783
- const zh_cn = __webpack_require__(61);
20784
- const zh_tw = __webpack_require__(62);
21383
+ const ar = __webpack_require__(46);
21384
+ const cs_cz = __webpack_require__(47);
21385
+ const de = __webpack_require__(48);
21386
+ const es = __webpack_require__(49);
21387
+ const fr = __webpack_require__(50);
21388
+ const he = __webpack_require__(51);
21389
+ const hu = __webpack_require__(52);
21390
+ const id = __webpack_require__(53);
21391
+ const it = __webpack_require__(54);
21392
+ const ja = __webpack_require__(55);
21393
+ const ko = __webpack_require__(56);
21394
+ const nl = __webpack_require__(57);
21395
+ const pl = __webpack_require__(58);
21396
+ const pt_br = __webpack_require__(59);
21397
+ const ru = __webpack_require__(60);
21398
+ const tr = __webpack_require__(61);
21399
+ const zh_cn = __webpack_require__(62);
21400
+ const zh_tw = __webpack_require__(63);
20785
21401
  exp = {
20786
21402
  ar,
20787
21403
  cs_cz,
@@ -20838,6 +21454,7 @@ config/* Config.prototype.addNewLineTagsTriggers */.D.prototype.addNewLineTagsTr
20838
21454
  'iframe',
20839
21455
  'img',
20840
21456
  'hr',
21457
+ 'pre',
20841
21458
  'jodit'
20842
21459
  ];
20843
21460
  config/* Config.prototype.addNewLineDeltaShow */.D.prototype.addNewLineDeltaShow = 20;
@@ -21136,7 +21753,7 @@ function focus_focus(editor) {
21136
21753
 
21137
21754
  config/* Config.prototype.controls.classSpan */.D.prototype.controls.classSpan = {
21138
21755
  command: 'applyClassName',
21139
- icon: __webpack_require__(63),
21756
+ icon: __webpack_require__(64),
21140
21757
  exec: helpers.memorizeExec,
21141
21758
  list: [
21142
21759
  'enabled',
@@ -21276,8 +21893,10 @@ config/* Config.prototype.delete */.D.prototype["delete"] = {
21276
21893
  hotkeys: {
21277
21894
  delete: ['delete', 'cmd+backspace'],
21278
21895
  deleteWord: ['ctrl+delete', 'cmd+alt+backspace', 'ctrl+alt+backspace'],
21896
+ deleteSentence: ['ctrl+shift+delete', 'cmd+shift+delete'],
21279
21897
  backspace: ['backspace'],
21280
- backspaceWord: ['ctrl+backspace']
21898
+ backspaceWord: ['ctrl+backspace'],
21899
+ backspaceSentence: ['ctrl+shift+backspace', 'cmd+shift+backspace']
21281
21900
  }
21282
21901
  };
21283
21902
  class Delete extends Plugin {
@@ -21308,12 +21927,20 @@ class Delete extends Plugin {
21308
21927
  stopPropagation: false
21309
21928
  })
21310
21929
  .registerCommand('deleteWordButton', {
21311
- exec: () => this.onDelete(false, true),
21930
+ exec: () => this.onDelete(false, 'word'),
21312
21931
  hotkeys: jodit.o.delete.hotkeys.deleteWord
21313
21932
  })
21314
21933
  .registerCommand('backspaceWordButton', {
21315
- exec: () => this.onDelete(true, true),
21934
+ exec: () => this.onDelete(true, 'word'),
21316
21935
  hotkeys: jodit.o.delete.hotkeys.backspaceWord
21936
+ })
21937
+ .registerCommand('deleteSentenceButton', {
21938
+ exec: () => this.onDelete(false, 'sentence'),
21939
+ hotkeys: jodit.o.delete.hotkeys.deleteSentence
21940
+ })
21941
+ .registerCommand('backspaceSentenceButton', {
21942
+ exec: () => this.onDelete(true, 'sentence'),
21943
+ hotkeys: jodit.o.delete.hotkeys.backspaceSentence
21317
21944
  });
21318
21945
  }
21319
21946
  beforeDestruct(jodit) {
@@ -21333,7 +21960,7 @@ class Delete extends Plugin {
21333
21960
  jodit.s.removeNode(node);
21334
21961
  }
21335
21962
  }
21336
- onDelete(backspace, block = false) {
21963
+ onDelete(backspace, mode = 'char') {
21337
21964
  var _a;
21338
21965
  const sel = this.j.selection;
21339
21966
  if (!sel.isFocused()) {
@@ -21352,7 +21979,7 @@ class Delete extends Plugin {
21352
21979
  }
21353
21980
  normalizeCursorPosition(fakeNode, backspace);
21354
21981
  if (this.checkRemoveInseparableElement(fakeNode, backspace) ||
21355
- this.checkRemoveChar(fakeNode, backspace, block) ||
21982
+ this.checkRemoveChar(fakeNode, backspace, mode) ||
21356
21983
  this.checkTableCell(fakeNode) ||
21357
21984
  this.checkRemoveEmptyParent(fakeNode, backspace) ||
21358
21985
  this.checkRemoveEmptyNeighbor(fakeNode, backspace) ||
@@ -21378,7 +22005,7 @@ class Delete extends Plugin {
21378
22005
  return true;
21379
22006
  }
21380
22007
  }
21381
- checkRemoveChar(fakeNode, backspace, block) {
22008
+ checkRemoveChar(fakeNode, backspace, mode) {
21382
22009
  var _a, _b, _c;
21383
22010
  const step = backspace ? -1 : 1;
21384
22011
  const anotherSibling = getSibling(fakeNode, !backspace);
@@ -21435,8 +22062,11 @@ class Delete extends Plugin {
21435
22062
  if (!(0,helpers.isVoid)(removed) && removed !== constants.INVISIBLE_SPACE) {
21436
22063
  charRemoved = true;
21437
22064
  (0,helpers.call)(backspace ? dom/* Dom.after */.i.after : dom/* Dom.before */.i.before, sibling, fakeNode);
21438
- if (block) {
21439
- while (this.checkRemoveChar(fakeNode, backspace, false)) { }
22065
+ if (mode === 'sentence' ||
22066
+ (mode === 'word' &&
22067
+ removed !== ' ' &&
22068
+ removed !== constants.NBSP_SPACE)) {
22069
+ this.checkRemoveChar(fakeNode, backspace, mode);
21440
22070
  }
21441
22071
  break;
21442
22072
  }
@@ -21689,7 +22319,7 @@ config/* Config.prototype.controls.underline */.D.prototype.controls.underline =
21689
22319
  tagRegExp: /^(u)$/i,
21690
22320
  tags: ['u'],
21691
22321
  css: {
21692
- 'text-decoration': 'underline'
22322
+ 'text-decoration-line': 'underline'
21693
22323
  },
21694
22324
  tooltip: 'Underline'
21695
22325
  };
@@ -21697,7 +22327,7 @@ config/* Config.prototype.controls.strikethrough */.D.prototype.controls.striket
21697
22327
  tagRegExp: /^(s)$/i,
21698
22328
  tags: ['s'],
21699
22329
  css: {
21700
- 'text-decoration': 'line-through'
22330
+ 'text-decoration-line': 'line-through'
21701
22331
  },
21702
22332
  tooltip: 'Strike through'
21703
22333
  };
@@ -22534,7 +23164,7 @@ class paste extends Plugin {
22534
23164
  const keep = (0,ui_button/* Button */.zx)(this.j, {
22535
23165
  text: 'Keep',
22536
23166
  name: 'keep',
22537
- status: 'primary',
23167
+ variant: 'primary',
22538
23168
  tabIndex: 0
22539
23169
  });
22540
23170
  const clear = (0,ui_button/* Button */.zx)(this.j, {
@@ -22862,7 +23492,7 @@ function copyFormat(editor) {
22862
23492
 
22863
23493
 
22864
23494
  // EXTERNAL MODULE: ./src/modules/widget/index.ts + 3 modules
22865
- var widget = __webpack_require__(64);
23495
+ var widget = __webpack_require__(65);
22866
23496
  ;// CONCATENATED MODULE: ./src/plugins/color.ts
22867
23497
  /*!
22868
23498
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -23020,6 +23650,7 @@ function color(editor) {
23020
23650
 
23021
23651
 
23022
23652
 
23653
+
23023
23654
  class DragAndDrop extends Plugin {
23024
23655
  constructor() {
23025
23656
  super(...arguments);
@@ -23054,7 +23685,7 @@ class DragAndDrop extends Plugin {
23054
23685
  this.startDragPoint.x = event.clientX;
23055
23686
  this.startDragPoint.y = event.clientY;
23056
23687
  if (dom/* Dom.isElement */.i.isElement(target) &&
23057
- target.classList.contains('jodit-filebrowser__files-item')) {
23688
+ target.classList.contains(FileBrowserFiles.prototype.getFullElName('item'))) {
23058
23689
  target = target.querySelector('img');
23059
23690
  }
23060
23691
  if (dom/* Dom.isTag */.i.isTag(target, 'img')) {
@@ -23676,7 +24307,14 @@ config/* Config.prototype.controls.font */.D.prototype.controls.font = {
23676
24307
  'Verdana,Geneva,sans-serif': 'Verdana'
23677
24308
  },
23678
24309
  childTemplate: (editor, key, value) => {
23679
- return `<span style="font-family: ${key}!important;">${value}</span>`;
24310
+ let isAvailable = false;
24311
+ try {
24312
+ isAvailable =
24313
+ key.indexOf('dings') === -1 &&
24314
+ document.fonts.check(`16px ${key}`, value);
24315
+ }
24316
+ catch (_a) { }
24317
+ return `<span style="${isAvailable ? `font-family: ${key}!important;` : ''}">${value}</span>`;
23680
24318
  },
23681
24319
  data: {
23682
24320
  cssRule: 'font-family',
@@ -24419,7 +25057,7 @@ function positionTab(editor) {
24419
25057
 
24420
25058
 
24421
25059
  // EXTERNAL MODULE: ./src/plugins/image/helpers.ts
24422
- var image_helpers = __webpack_require__(65);
25060
+ var image_helpers = __webpack_require__(66);
24423
25061
  ;// CONCATENATED MODULE: ./src/plugins/image/image-properties/image-properties.ts
24424
25062
  /*!
24425
25063
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -24844,6 +25482,10 @@ class imageProperties extends Plugin {
24844
25482
  return;
24845
25483
  }
24846
25484
  if (editor.o.image.openOnDblClick) {
25485
+ if (this.j.e.fire('openOnDblClick', image) ===
25486
+ false) {
25487
+ return;
25488
+ }
24847
25489
  self.state.image = image;
24848
25490
  if (!editor.o.readonly) {
24849
25491
  e.stopImmediatePropagation();
@@ -25116,11 +25758,12 @@ config/* Config.prototype.toolbarInlineForSelection */.D.prototype.toolbarInline
25116
25758
  config/* Config.prototype.toolbarInlineDisableFor */.D.prototype.toolbarInlineDisableFor = [];
25117
25759
  config/* Config.prototype.toolbarInlineDisabledButtons */.D.prototype.toolbarInlineDisabledButtons = ['source'];
25118
25760
  config/* Config.prototype.popup */.D.prototype.popup = {
25119
- a: __webpack_require__(66)/* ["default"] */ .Z,
25120
- img: __webpack_require__(67)/* ["default"] */ .Z,
25121
- cells: __webpack_require__(68)/* ["default"] */ .Z,
25122
- jodit: __webpack_require__(69)/* ["default"] */ .Z,
25123
- 'jodit-media': __webpack_require__(69)/* ["default"] */ .Z,
25761
+ a: __webpack_require__(67)/* ["default"] */ .Z,
25762
+ img: __webpack_require__(68)/* ["default"] */ .Z,
25763
+ cells: __webpack_require__(69)/* ["default"] */ .Z,
25764
+ toolbar: __webpack_require__(70)/* ["default"] */ .Z,
25765
+ jodit: __webpack_require__(71)/* ["default"] */ .Z,
25766
+ 'jodit-media': __webpack_require__(71)/* ["default"] */ .Z,
25124
25767
  selection: [
25125
25768
  'bold',
25126
25769
  'underline',
@@ -25238,6 +25881,7 @@ class inlinePopup extends Plugin {
25238
25881
  }
25239
25882
  })
25240
25883
  .on('hidePopup', this.hidePopup)
25884
+ .on('showInlineToolbar', this.showInlineToolbar)
25241
25885
  .on('showPopup', (elm, rect, type) => {
25242
25886
  this.showPopup(rect, type || ((0,helpers.isString)(elm) ? elm : elm.nodeName), (0,helpers.isString)(elm) ? undefined : elm);
25243
25887
  })
@@ -25313,6 +25957,15 @@ class inlinePopup extends Plugin {
25313
25957
  removeListenersForElements() {
25314
25958
  this.j.e.off(this.elmsList.map(e => (0,helpers.camelCase)(`click_${e}`)).join(' '), this.onClick);
25315
25959
  }
25960
+ showInlineToolbar(bound) {
25961
+ this.showPopup(() => {
25962
+ if (bound) {
25963
+ return bound;
25964
+ }
25965
+ const { range } = this.j.s;
25966
+ return range.getBoundingClientRect();
25967
+ }, 'toolbar');
25968
+ }
25316
25969
  }
25317
25970
  (0,tslib_es6/* __decorate */.gn)([
25318
25971
  decorators.autobind
@@ -25336,6 +25989,9 @@ class inlinePopup extends Plugin {
25336
25989
  (0,tslib_es6/* __decorate */.gn)([
25337
25990
  (0,decorators.debounce)(ctx => ctx.defaultTimeout)
25338
25991
  ], inlinePopup.prototype, "onSelectionChange", null);
25992
+ (0,tslib_es6/* __decorate */.gn)([
25993
+ decorators.autobind
25994
+ ], inlinePopup.prototype, "showInlineToolbar", null);
25339
25995
 
25340
25996
  ;// CONCATENATED MODULE: ./src/plugins/justify.ts
25341
25997
  /*!
@@ -25551,7 +26207,7 @@ class limit extends Plugin {
25551
26207
  ], limit.prototype, "checkPreventChanging", null);
25552
26208
 
25553
26209
  // EXTERNAL MODULE: ./src/core/ui/form/index.ts + 11 modules
25554
- var ui_form = __webpack_require__(43);
26210
+ var ui_form = __webpack_require__(44);
25555
26211
  ;// CONCATENATED MODULE: ./src/plugins/link/template.ts
25556
26212
  /*!
25557
26213
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -25623,13 +26279,13 @@ const formTemplate = (editor) => {
25623
26279
  new ui_form/* UIBlock */.eC(editor, [
25624
26280
  new ui_button/* UIButton */.y3(editor, {
25625
26281
  name: 'unlink',
25626
- status: 'default',
26282
+ variant: 'default',
25627
26283
  text: 'Unlink'
25628
26284
  }),
25629
26285
  new ui_button/* UIButton */.y3(editor, {
25630
26286
  name: 'insert',
25631
26287
  type: 'submit',
25632
- status: 'primary',
26288
+ variant: 'primary',
25633
26289
  text: 'Insert'
25634
26290
  })
25635
26291
  ], {
@@ -26220,15 +26876,9 @@ function mobile(editor) {
26220
26876
  }
26221
26877
  editor.e.on('getDiffButtons.mobile', (toolbar) => {
26222
26878
  if (toolbar === editor.toolbar) {
26223
- const buttons = (0,helpers.splitArray)(editor.o.buttons), flatStore = (0,helpers_buttons/* flatButtonsSet */.q)(store);
26224
- return buttons.reduce((acc, item) => {
26225
- if ((0,helpers_buttons/* isButtonGroup */.A)(item)) {
26226
- acc.push({
26227
- ...item,
26228
- buttons: item.buttons.filter(btn => !flatStore.has(btn))
26229
- });
26230
- }
26231
- else if (!flatStore.has(item)) {
26879
+ const buttons = (0,helpers_buttons/* flatButtonsSet */.q)((0,helpers.splitArray)(editor.o.buttons), editor), flatStore = (0,helpers_buttons/* flatButtonsSet */.q)(store, editor);
26880
+ return (0,helpers.toArray)(buttons).reduce((acc, item) => {
26881
+ if (!flatStore.has(item)) {
26232
26882
  acc.push(item);
26233
26883
  }
26234
26884
  return acc;
@@ -26275,6 +26925,9 @@ function mobile(editor) {
26275
26925
 
26276
26926
 
26277
26927
 
26928
+
26929
+
26930
+
26278
26931
  const exec = (jodit, _, { control }) => {
26279
26932
  const key = `button${control.command}`;
26280
26933
  const value = (control.args && control.args[0]) || (0,helpers.dataBind)(jodit, key);
@@ -26307,8 +26960,41 @@ config/* Config.prototype.controls.ol */.D.prototype.controls.ol = {
26307
26960
  },
26308
26961
  exec
26309
26962
  };
26310
- function orderedList(editor) {
26311
- const isOurCommand = (command) => /insert(un)?orderedlist/i.test(command), getListWrapper = () => dom/* Dom.up */.i.up(editor.s.current(), (tag) => tag && /^UL|OL$/i.test(tag.nodeName), editor.editor), listStyleTypeEqual = (el, listStyleType) => {
26963
+ class orderedList extends Plugin {
26964
+ constructor() {
26965
+ super(...arguments);
26966
+ this.buttons = [
26967
+ {
26968
+ name: 'ul',
26969
+ group: 'list'
26970
+ },
26971
+ {
26972
+ name: 'ol',
26973
+ group: 'list'
26974
+ }
26975
+ ];
26976
+ }
26977
+ afterInit(jodit) {
26978
+ jodit
26979
+ .registerCommand('insertUnorderedList', this.onCommand)
26980
+ .registerCommand('insertOrderedList', this.onCommand);
26981
+ }
26982
+ onCommand(command, _, type) {
26983
+ this.jodit.s.applyStyle({
26984
+ listStyleType: type !== null && type !== void 0 ? type : null
26985
+ }, {
26986
+ element: command === 'insertunorderedlist' ? 'ul' : 'ol'
26987
+ });
26988
+ this.jodit.setEditorValue();
26989
+ return false;
26990
+ }
26991
+ beforeDestruct(jodit) { }
26992
+ }
26993
+ (0,tslib_es6/* __decorate */.gn)([
26994
+ decorators.autobind
26995
+ ], orderedList.prototype, "onCommand", null);
26996
+ function orderedList1(editor) {
26997
+ const isOurCommand = (command) => /insert(un)?orderedlist/i.test(command), getListWrapper = () => Dom.up(editor.s.current(), (tag) => tag && /^UL|OL$/i.test(tag.nodeName), editor.editor), listStyleTypeEqual = (el, listStyleType) => {
26312
26998
  const value = el.style.listStyleType;
26313
26999
  return (value === listStyleType ||
26314
27000
  (!value && listStyleType === 'default'));
@@ -26325,9 +27011,9 @@ function orderedList(editor) {
26325
27011
  if (isOurCommand(command) && listStyleType) {
26326
27012
  const ul = getListWrapper();
26327
27013
  if (ul && !listStyleTypeEqual(ul, listStyleType)) {
26328
- if ((dom/* Dom.isTag */.i.isTag(ul, 'ul') &&
27014
+ if ((Dom.isTag(ul, 'ul') &&
26329
27015
  /unordered/i.test(command)) ||
26330
- (dom/* Dom.isTag */.i.isTag(ul, 'ol') && !/unordered/i.test(command))) {
27016
+ (Dom.isTag(ul, 'ol') && !/unordered/i.test(command))) {
26331
27017
  setListStyleType(ul, listStyleType);
26332
27018
  return false;
26333
27019
  }
@@ -26345,7 +27031,7 @@ function orderedList(editor) {
26345
27031
  });
26346
27032
  }
26347
27033
  const unwrapList = [], shouldUnwrap = (elm) => {
26348
- if (dom/* Dom.isTag */.i.isTag(elm, [
27034
+ if (Dom.isTag(elm, [
26349
27035
  'p',
26350
27036
  'h1',
26351
27037
  'h2',
@@ -26362,12 +27048,12 @@ function orderedList(editor) {
26362
27048
  ul.querySelectorAll('li').forEach(li => shouldUnwrap(li.firstChild));
26363
27049
  if (unwrapList.length) {
26364
27050
  editor.s.save();
26365
- (0,helpers.toArray)(ul.childNodes).forEach(li => {
26366
- if (dom/* Dom.isTag */.i.isTag(li.lastChild, 'br')) {
26367
- dom/* Dom.safeRemove */.i.safeRemove(li.lastChild);
27051
+ toArray(ul.childNodes).forEach(li => {
27052
+ if (Dom.isTag(li.lastChild, 'br')) {
27053
+ Dom.safeRemove(li.lastChild);
26368
27054
  }
26369
27055
  });
26370
- unwrapList.forEach(elm => dom/* Dom.unwrap */.i.unwrap(elm));
27056
+ unwrapList.forEach(elm => Dom.unwrap(elm));
26371
27057
  editor.s.restore();
26372
27058
  }
26373
27059
  }
@@ -26376,6 +27062,31 @@ function orderedList(editor) {
26376
27062
  });
26377
27063
  }
26378
27064
 
27065
+ ;// CONCATENATED MODULE: ./src/plugins/powered-by-jodit.ts
27066
+ /*!
27067
+ * Jodit Editor (https://xdsoft.net/jodit/)
27068
+ * Released under MIT see LICENSE.txt in the project root for license information.
27069
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
27070
+ */
27071
+ function poweredByJodit(jodit) {
27072
+ if (!jodit.o.hidePoweredByJodit &&
27073
+ !jodit.o.inline &&
27074
+ (jodit.o.showCharsCounter ||
27075
+ jodit.o.showWordsCounter ||
27076
+ jodit.o.showXPathInStatusbar)) {
27077
+ jodit.hookStatus('ready', () => {
27078
+ jodit.statusbar.append(jodit.create.fromHTML(`<a
27079
+ tabindex="-1"
27080
+ style="text-transform: uppercase"
27081
+ class="jodit-status-bar-link"
27082
+ target="_blank"
27083
+ href="https://xdsoft.net/jodit/">
27084
+ Powered by Jodit
27085
+ </a>`), true);
27086
+ });
27087
+ }
27088
+ }
27089
+
26379
27090
  ;// CONCATENATED MODULE: ./src/plugins/placeholder/placeholder.ts
26380
27091
  /*!
26381
27092
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -26607,10 +27318,10 @@ class resizer extends Plugin {
26607
27318
  this.height = 0;
26608
27319
  this.ratio = 0;
26609
27320
  this.rect = this.j.c.fromHTML(`<div class="jodit-resizer">
26610
- <i class="jodit-resizer-topleft"></i>
26611
- <i class="jodit-resizer-topright"></i>
26612
- <i class="jodit-resizer-bottomright"></i>
26613
- <i class="jodit-resizer-bottomleft"></i>
27321
+ <div class="jodit-resizer__top-left"></div>
27322
+ <div class="jodit-resizer__top-right"></div>
27323
+ <div class="jodit-resizer__bottom-right"></div>
27324
+ <div class="jodit-resizer__bottom-left"></div>
26614
27325
  <span>100x100</span>
26615
27326
  </div>`);
26616
27327
  this.sizeViewer = this.rect.getElementsByTagName('span')[0];
@@ -26704,7 +27415,7 @@ class resizer extends Plugin {
26704
27415
  if (this.element && this.rect) {
26705
27416
  const workplacePosition = this.getWorkplacePosition();
26706
27417
  const pos = (0,helpers.offset)(this.element, this.j, this.j.ed), left = parseInt(this.rect.style.left || '0', 10), top = parseInt(this.rect.style.top || '0', 10), w = this.rect.offsetWidth, h = this.rect.offsetHeight;
26707
- const newTop = pos.top - 1 - workplacePosition.top, newLeft = pos.left - 1 - workplacePosition.left;
27418
+ const newTop = pos.top - workplacePosition.top, newLeft = pos.left - workplacePosition.left;
26708
27419
  if (top !== newTop ||
26709
27420
  left !== newLeft ||
26710
27421
  w !== this.element.offsetWidth ||
@@ -26729,7 +27440,7 @@ class resizer extends Plugin {
26729
27440
  };
26730
27441
  }
26731
27442
  afterInit(editor) {
26732
- (0,helpers.$$)('i', this.rect).forEach((resizeHandle) => {
27443
+ (0,helpers.$$)('div', this.rect).forEach((resizeHandle) => {
26733
27444
  editor.e.on(resizeHandle, 'mousedown.resizer touchstart.resizer', this.onClickHandle.bind(this, resizeHandle));
26734
27445
  });
26735
27446
  global/* eventEmitter.on */.TB.on('hideHelpers', this.hide);
@@ -27489,6 +28200,7 @@ config/* Config.prototype.saveHeightInStorage */.D.prototype.saveHeightInStorage
27489
28200
 
27490
28201
 
27491
28202
 
28203
+
27492
28204
  let resizeHandler = class resizeHandler extends Plugin {
27493
28205
  constructor() {
27494
28206
  super(...arguments);
@@ -27499,7 +28211,7 @@ let resizeHandler = class resizeHandler extends Plugin {
27499
28211
  w: 0,
27500
28212
  h: 0
27501
28213
  };
27502
- this.handle = this.j.c.div('jodit-editor__resize', '<span tabindex="-1"></span>');
28214
+ this.handle = this.j.c.div('jodit-editor__resize', ui/* Icon.get */.JO.get('resize_handler'));
27503
28215
  }
27504
28216
  afterInit(editor) {
27505
28217
  const { height, width, allowResizeX } = editor.o;
@@ -27509,6 +28221,7 @@ let resizeHandler = class resizeHandler extends Plugin {
27509
28221
  }
27510
28222
  if ((height !== 'auto' || width !== 'auto') &&
27511
28223
  (allowResizeX || allowResizeY)) {
28224
+ editor.statusbar.setMod('resize-handle', true);
27512
28225
  editor.e
27513
28226
  .on('toggleFullSize.resizeHandler', () => {
27514
28227
  this.handle.style.display = editor.isFullSize
@@ -27583,7 +28296,8 @@ let size = class size extends Plugin {
27583
28296
  .on('afterInit.size changePlace.size', this.initialize, undefined, true)
27584
28297
  .on(editor.ow, 'load.size', this.resizeWorkspaces)
27585
28298
  .on('afterInit.size resize.size afterUpdateToolbar.size ' +
27586
- 'scroll.size afterResize.size toggleFullSize.size', this.resizeWorkspaces);
28299
+ 'scroll.size afterResize.size', this.resizeWorkspaces)
28300
+ .on('toggleFullSize.size toggleToolbar.size', this.resizeWorkspaceImd);
27587
28301
  this.initialize();
27588
28302
  }
27589
28303
  initialize() {
@@ -27677,6 +28391,9 @@ let size = class size extends Plugin {
27677
28391
  jodit.e.off(jodit.ow, 'load.size', this.resizeWorkspaces).off('.size');
27678
28392
  }
27679
28393
  };
28394
+ (0,tslib_es6/* __decorate */.gn)([
28395
+ decorators.autobind
28396
+ ], size.prototype, "resizeWorkspaceImd", null);
27680
28397
  size = (0,tslib_es6/* __decorate */.gn)([
27681
28398
  decorators.autobind
27682
28399
  ], size);
@@ -27874,6 +28591,9 @@ class AceEditor extends SourceEditor {
27874
28591
  constructor() {
27875
28592
  super(...arguments);
27876
28593
  this.className = 'jodit_ace_editor';
28594
+ this.proxyOnBlur = (e) => {
28595
+ this.j.e.fire('blur', e);
28596
+ };
27877
28597
  this.proxyOnFocus = (e) => {
27878
28598
  this.j.e.fire('focus', e);
27879
28599
  };
@@ -27949,6 +28669,7 @@ class AceEditor extends SourceEditor {
27949
28669
  this.instance.on('change', this.toWYSIWYG);
27950
28670
  this.instance.on('focus', this.proxyOnFocus);
27951
28671
  this.instance.on('mousedown', this.proxyOnMouseDown);
28672
+ this.instance.on('blur', this.proxyOnBlur);
27952
28673
  if (editor.getRealMode() !== constants.MODE_WYSIWYG) {
27953
28674
  this.setValue(this.getValue());
27954
28675
  }
@@ -28089,6 +28810,14 @@ function createSourceEditor(type, editor, container, toWYSIWYG, fromWYSIWYG) {
28089
28810
  return sourceEditor;
28090
28811
  }
28091
28812
 
28813
+ ;// CONCATENATED MODULE: ./src/plugins/source/const.ts
28814
+ /*!
28815
+ * Jodit Editor (https://xdsoft.net/jodit/)
28816
+ * Released under MIT see LICENSE.txt in the project root for license information.
28817
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
28818
+ */
28819
+ const SOURCE_CONSUMER = 'source-consumer';
28820
+
28092
28821
  ;// CONCATENATED MODULE: ./src/plugins/source/source.ts
28093
28822
  /*!
28094
28823
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -28104,6 +28833,7 @@ function createSourceEditor(type, editor, container, toWYSIWYG, fromWYSIWYG) {
28104
28833
 
28105
28834
 
28106
28835
 
28836
+
28107
28837
  class source extends Plugin {
28108
28838
  constructor() {
28109
28839
  super(...arguments);
@@ -28139,7 +28869,7 @@ class source extends Plugin {
28139
28869
  fromWYSIWYG(force = false) {
28140
28870
  if (!this.__lock || force === true) {
28141
28871
  this.__lock = true;
28142
- const new_value = this.j.getEditorValue(false);
28872
+ const new_value = this.j.getEditorValue(false, SOURCE_CONSUMER);
28143
28873
  if (new_value !== this.getMirrorValue()) {
28144
28874
  this.setMirrorValue(new_value);
28145
28875
  }
@@ -28160,6 +28890,16 @@ class source extends Plugin {
28160
28890
  this.__oldMirrorValue = value;
28161
28891
  }
28162
28892
  getNormalPosition(pos, str) {
28893
+ str = str.replace(/<(script|style|iframe)[^>]*>.*?<\/\1>/is, m => {
28894
+ let res = '';
28895
+ for (let i = 0; i < m.length; i += 1) {
28896
+ res += constants.INVISIBLE_SPACE;
28897
+ }
28898
+ return res;
28899
+ });
28900
+ while (pos > 0 && str[pos] === constants.INVISIBLE_SPACE) {
28901
+ pos--;
28902
+ }
28163
28903
  let start = pos;
28164
28904
  while (start > 0) {
28165
28905
  start--;
@@ -28290,7 +29030,7 @@ class source extends Plugin {
28290
29030
  var _a;
28291
29031
  (_a = this.sourceEditor) === null || _a === void 0 ? void 0 : _a.setPlaceHolder(text);
28292
29032
  })
28293
- .on('change.source', this.fromWYSIWYG)
29033
+ .on('change.source', this.syncValueFromWYSIWYG)
28294
29034
  .on('beautifyHTML', html => html);
28295
29035
  if (editor.o.beautifyHTML) {
28296
29036
  const addEventListener = () => {
@@ -28306,9 +29046,16 @@ class source extends Plugin {
28306
29046
  (0,helpers.loadNext)(editor, editor.o.beautifyHTMLCDNUrlsJS).then(addEventListener);
28307
29047
  }
28308
29048
  }
28309
- this.fromWYSIWYG();
29049
+ this.syncValueFromWYSIWYG(true);
28310
29050
  this.initSourceEditor(editor);
28311
29051
  }
29052
+ syncValueFromWYSIWYG(force = false) {
29053
+ const editor = this.j;
29054
+ if (editor.getMode() === constants.MODE_SPLIT ||
29055
+ editor.getMode() === constants.MODE_SOURCE) {
29056
+ this.fromWYSIWYG(force);
29057
+ }
29058
+ }
28312
29059
  initSourceEditor(editor) {
28313
29060
  var _a;
28314
29061
  if (editor.o.sourceEditor !== 'area') {
@@ -28317,14 +29064,14 @@ class source extends Plugin {
28317
29064
  var _a, _b;
28318
29065
  (_a = this.sourceEditor) === null || _a === void 0 ? void 0 : _a.destruct();
28319
29066
  this.sourceEditor = sourceEditor;
28320
- this.fromWYSIWYG(true);
29067
+ this.syncValueFromWYSIWYG(true);
28321
29068
  (_b = editor.events) === null || _b === void 0 ? void 0 : _b.fire('sourceEditorReady', editor);
28322
29069
  });
28323
29070
  }
28324
29071
  else {
28325
29072
  (_a = this.sourceEditor) === null || _a === void 0 ? void 0 : _a.onReadyAlways(() => {
28326
29073
  var _a;
28327
- this.fromWYSIWYG(true);
29074
+ this.syncValueFromWYSIWYG(true);
28328
29075
  (_a = editor.events) === null || _a === void 0 ? void 0 : _a.fire('sourceEditorReady', editor);
28329
29076
  });
28330
29077
  }
@@ -28364,6 +29111,9 @@ class source extends Plugin {
28364
29111
  (0,tslib_es6/* __decorate */.gn)([
28365
29112
  (0,decorators.watch)(':readonly.source')
28366
29113
  ], source.prototype, "onReadonlyReact", null);
29114
+ (0,tslib_es6/* __decorate */.gn)([
29115
+ decorators.autobind
29116
+ ], source.prototype, "syncValueFromWYSIWYG", null);
28367
29117
 
28368
29118
  ;// CONCATENATED MODULE: ./src/plugins/source/index.ts
28369
29119
  /*!
@@ -29815,15 +30565,27 @@ class tooltip extends Plugin {
29815
30565
 
29816
30566
  config/* Config.prototype.controls.preview */.D.prototype.controls.preview = {
29817
30567
  icon: 'eye',
29818
- exec: (editor) => {
30568
+ command: 'preview',
30569
+ mode: constants.MODE_SOURCE + constants.MODE_WYSIWYG,
30570
+ tooltip: 'Preview'
30571
+ };
30572
+ function preview(editor) {
30573
+ editor.registerButton({
30574
+ name: 'preview'
30575
+ });
30576
+ editor.registerCommand('preview', (_, _1, defaultValue) => {
29819
30577
  const dialog = editor.getInstance('Dialog', {
29820
30578
  language: editor.o.language,
29821
30579
  theme: editor.o.theme
29822
30580
  });
29823
30581
  const div = editor.c.div();
29824
30582
  (0,helpers.css)(div, {
30583
+ position: 'relative',
29825
30584
  padding: 16
29826
30585
  });
30586
+ const value = defaultValue ||
30587
+ editor.value ||
30588
+ `<div style='position: absolute;left:50%;top:50%;transform: translateX(-50%) translateY(-50%);color:#ccc;'>${editor.i18n('Empty')}</div>`;
29827
30589
  if (editor.iframe) {
29828
30590
  const iframe = editor.create.element('iframe');
29829
30591
  (0,helpers.css)(iframe, {
@@ -29836,7 +30598,7 @@ config/* Config.prototype.controls.preview */.D.prototype.controls.preview = {
29836
30598
  const mywindow = iframe.contentWindow;
29837
30599
  if (mywindow) {
29838
30600
  editor.e.fire('generateDocumentStructure.iframe', mywindow.document, editor);
29839
- mywindow.document.body.innerHTML = editor.value;
30601
+ mywindow.document.body.innerHTML = value;
29840
30602
  }
29841
30603
  }
29842
30604
  else {
@@ -29845,17 +30607,42 @@ config/* Config.prototype.controls.preview */.D.prototype.controls.preview = {
29845
30607
  minHeight: 600,
29846
30608
  border: 0
29847
30609
  });
29848
- div.innerHTML = editor.value;
29849
- dialog.open(div, editor.i18n('Preview'));
30610
+ dialog.setSize(1024, 600).open(div, editor.i18n('Preview'));
30611
+ const setHTML = (box, value) => {
30612
+ const dv = editor.c.div();
30613
+ dv.innerHTML = value;
30614
+ for (let i = 0; i < dv.children.length; i += 1) {
30615
+ const c = dv.children[i];
30616
+ const newNode = document.createElement(c.nodeName);
30617
+ for (let j = 0; j < c.attributes.length; j += 1) {
30618
+ (0,helpers.attr)(newNode, c.attributes[j].nodeName, c.attributes[j].nodeValue);
30619
+ }
30620
+ if (c.children.length === 0) {
30621
+ switch (c.nodeName) {
30622
+ case 'SCRIPT':
30623
+ if (c.textContent) {
30624
+ newNode.textContent = c.textContent;
30625
+ }
30626
+ break;
30627
+ default:
30628
+ if (c.innerHTML) {
30629
+ newNode.innerHTML = c.innerHTML;
30630
+ }
30631
+ break;
30632
+ }
30633
+ }
30634
+ else {
30635
+ setHTML(newNode, c.innerHTML);
30636
+ }
30637
+ try {
30638
+ box.appendChild(newNode);
30639
+ }
30640
+ catch (_a) { }
30641
+ }
30642
+ };
30643
+ setHTML(div, value);
29850
30644
  }
29851
30645
  dialog.setModal(true);
29852
- },
29853
- mode: constants.MODE_SOURCE + constants.MODE_WYSIWYG,
29854
- tooltip: 'Preview'
29855
- };
29856
- function preview(editor) {
29857
- editor.registerButton({
29858
- name: 'preview'
29859
30646
  });
29860
30647
  }
29861
30648
 
@@ -30125,170 +30912,173 @@ class xpath extends Plugin {
30125
30912
 
30126
30913
 
30127
30914
 
30915
+
30128
30916
 
30129
30917
 
30130
30918
  // EXTERNAL MODULE: ./src/styles/icons/about.svg
30131
- var icons_about = __webpack_require__(70);
30919
+ var icons_about = __webpack_require__(72);
30132
30920
  // EXTERNAL MODULE: ./src/styles/icons/addcolumn.svg
30133
- var addcolumn = __webpack_require__(71);
30921
+ var addcolumn = __webpack_require__(73);
30134
30922
  // EXTERNAL MODULE: ./src/styles/icons/addrow.svg
30135
- var addrow = __webpack_require__(72);
30923
+ var addrow = __webpack_require__(74);
30136
30924
  // EXTERNAL MODULE: ./src/styles/icons/angle-down.svg
30137
- var angle_down = __webpack_require__(73);
30925
+ var angle_down = __webpack_require__(75);
30138
30926
  // EXTERNAL MODULE: ./src/styles/icons/angle-left.svg
30139
- var angle_left = __webpack_require__(74);
30927
+ var angle_left = __webpack_require__(76);
30140
30928
  // EXTERNAL MODULE: ./src/styles/icons/angle-right.svg
30141
- var angle_right = __webpack_require__(75);
30929
+ var angle_right = __webpack_require__(77);
30142
30930
  // EXTERNAL MODULE: ./src/styles/icons/angle-up.svg
30143
- var angle_up = __webpack_require__(76);
30931
+ var angle_up = __webpack_require__(78);
30144
30932
  // EXTERNAL MODULE: ./src/styles/icons/arrows-alt.svg
30145
- var arrows_alt = __webpack_require__(77);
30933
+ var arrows_alt = __webpack_require__(79);
30146
30934
  // EXTERNAL MODULE: ./src/styles/icons/arrows-h.svg
30147
- var arrows_h = __webpack_require__(78);
30935
+ var arrows_h = __webpack_require__(80);
30148
30936
  // EXTERNAL MODULE: ./src/styles/icons/attachment.svg
30149
- var attachment = __webpack_require__(79);
30937
+ var attachment = __webpack_require__(81);
30150
30938
  // EXTERNAL MODULE: ./src/styles/icons/bin.svg
30151
- var bin = __webpack_require__(80);
30939
+ var bin = __webpack_require__(82);
30152
30940
  // EXTERNAL MODULE: ./src/styles/icons/bold.svg
30153
- var icons_bold = __webpack_require__(81);
30941
+ var icons_bold = __webpack_require__(83);
30154
30942
  // EXTERNAL MODULE: ./src/styles/icons/brush.svg
30155
- var brush = __webpack_require__(82);
30943
+ var brush = __webpack_require__(84);
30156
30944
  // EXTERNAL MODULE: ./src/styles/icons/cancel.svg
30157
- var cancel = __webpack_require__(83);
30945
+ var cancel = __webpack_require__(85);
30158
30946
  // EXTERNAL MODULE: ./src/styles/icons/center.svg
30159
- var center = __webpack_require__(84);
30947
+ var center = __webpack_require__(86);
30160
30948
  // EXTERNAL MODULE: ./src/styles/icons/chain-broken.svg
30161
- var chain_broken = __webpack_require__(85);
30949
+ var chain_broken = __webpack_require__(87);
30162
30950
  // EXTERNAL MODULE: ./src/styles/icons/check.svg
30163
- var check = __webpack_require__(86);
30951
+ var check = __webpack_require__(88);
30164
30952
  // EXTERNAL MODULE: ./src/styles/icons/check-square.svg
30165
- var check_square = __webpack_require__(87);
30953
+ var check_square = __webpack_require__(89);
30166
30954
  // EXTERNAL MODULE: ./src/styles/icons/chevron.svg
30167
- var chevron = __webpack_require__(88);
30955
+ var chevron = __webpack_require__(90);
30168
30956
  // EXTERNAL MODULE: ./src/styles/icons/copyformat.svg
30169
- var copyformat = __webpack_require__(89);
30957
+ var copyformat = __webpack_require__(91);
30170
30958
  // EXTERNAL MODULE: ./src/styles/icons/crop.svg
30171
- var crop = __webpack_require__(90);
30959
+ var crop = __webpack_require__(92);
30172
30960
  // EXTERNAL MODULE: ./src/styles/icons/copy.svg
30173
- var copy = __webpack_require__(91);
30961
+ var copy = __webpack_require__(93);
30174
30962
  // EXTERNAL MODULE: ./src/styles/icons/cut.svg
30175
- var cut = __webpack_require__(92);
30963
+ var cut = __webpack_require__(94);
30176
30964
  // EXTERNAL MODULE: ./src/styles/icons/dedent.svg
30177
- var dedent = __webpack_require__(93);
30965
+ var dedent = __webpack_require__(95);
30178
30966
  // EXTERNAL MODULE: ./src/styles/icons/dots.svg
30179
- var dots = __webpack_require__(94);
30967
+ var dots = __webpack_require__(96);
30180
30968
  // EXTERNAL MODULE: ./src/styles/icons/enter.svg
30181
- var icons_enter = __webpack_require__(95);
30969
+ var icons_enter = __webpack_require__(97);
30182
30970
  // EXTERNAL MODULE: ./src/styles/icons/eraser.svg
30183
- var eraser = __webpack_require__(96);
30971
+ var eraser = __webpack_require__(98);
30184
30972
  // EXTERNAL MODULE: ./src/styles/icons/eye.svg
30185
- var eye = __webpack_require__(97);
30973
+ var eye = __webpack_require__(99);
30186
30974
  // EXTERNAL MODULE: ./src/styles/icons/file.svg
30187
- var icons_file = __webpack_require__(98);
30975
+ var icons_file = __webpack_require__(100);
30188
30976
  // EXTERNAL MODULE: ./src/styles/icons/folder.svg
30189
- var folder = __webpack_require__(99);
30977
+ var folder = __webpack_require__(101);
30190
30978
  // EXTERNAL MODULE: ./src/styles/icons/font.svg
30191
- var icons_font = __webpack_require__(100);
30979
+ var icons_font = __webpack_require__(102);
30192
30980
  // EXTERNAL MODULE: ./src/styles/icons/fontsize.svg
30193
- var fontsize = __webpack_require__(101);
30981
+ var fontsize = __webpack_require__(103);
30194
30982
  // EXTERNAL MODULE: ./src/styles/icons/fullsize.svg
30195
- var icons_fullsize = __webpack_require__(102);
30983
+ var icons_fullsize = __webpack_require__(104);
30196
30984
  // EXTERNAL MODULE: ./src/styles/icons/hr.svg
30197
- var icons_hr = __webpack_require__(103);
30985
+ var icons_hr = __webpack_require__(105);
30198
30986
  // EXTERNAL MODULE: ./src/styles/icons/image.svg
30199
- var icons_image = __webpack_require__(104);
30987
+ var icons_image = __webpack_require__(106);
30200
30988
  // EXTERNAL MODULE: ./src/styles/icons/indent.svg
30201
- var icons_indent = __webpack_require__(105);
30989
+ var icons_indent = __webpack_require__(107);
30202
30990
  // EXTERNAL MODULE: ./src/styles/icons/info-circle.svg
30203
- var info_circle = __webpack_require__(106);
30991
+ var info_circle = __webpack_require__(108);
30204
30992
  // EXTERNAL MODULE: ./src/styles/icons/italic.svg
30205
- var italic = __webpack_require__(107);
30993
+ var italic = __webpack_require__(109);
30206
30994
  // EXTERNAL MODULE: ./src/styles/icons/justify.svg
30207
- var icons_justify = __webpack_require__(108);
30995
+ var icons_justify = __webpack_require__(110);
30208
30996
  // EXTERNAL MODULE: ./src/styles/icons/left.svg
30209
- var left = __webpack_require__(109);
30997
+ var left = __webpack_require__(111);
30210
30998
  // EXTERNAL MODULE: ./src/styles/icons/link.svg
30211
- var icons_link = __webpack_require__(110);
30999
+ var icons_link = __webpack_require__(112);
30212
31000
  // EXTERNAL MODULE: ./src/styles/icons/lock.svg
30213
- var lock = __webpack_require__(111);
31001
+ var lock = __webpack_require__(113);
30214
31002
  // EXTERNAL MODULE: ./src/styles/icons/menu.svg
30215
- var menu = __webpack_require__(112);
31003
+ var menu = __webpack_require__(114);
30216
31004
  // EXTERNAL MODULE: ./src/styles/icons/merge.svg
30217
- var merge = __webpack_require__(113);
31005
+ var merge = __webpack_require__(115);
30218
31006
  // EXTERNAL MODULE: ./src/styles/icons/ok.svg
30219
- var ok = __webpack_require__(114);
31007
+ var ok = __webpack_require__(116);
30220
31008
  // EXTERNAL MODULE: ./src/styles/icons/ol.svg
30221
- var ol = __webpack_require__(115);
31009
+ var ol = __webpack_require__(117);
30222
31010
  // EXTERNAL MODULE: ./src/styles/icons/omega.svg
30223
- var omega = __webpack_require__(116);
31011
+ var omega = __webpack_require__(118);
30224
31012
  // EXTERNAL MODULE: ./src/styles/icons/outdent.svg
30225
- var outdent = __webpack_require__(117);
31013
+ var outdent = __webpack_require__(119);
30226
31014
  // EXTERNAL MODULE: ./src/styles/icons/palette.svg
30227
- var palette = __webpack_require__(118);
31015
+ var palette = __webpack_require__(120);
30228
31016
  // EXTERNAL MODULE: ./src/styles/icons/paragraph.svg
30229
- var paragraph = __webpack_require__(119);
31017
+ var paragraph = __webpack_require__(121);
30230
31018
  // EXTERNAL MODULE: ./src/styles/icons/paste.svg
30231
- var icons_paste = __webpack_require__(120);
31019
+ var icons_paste = __webpack_require__(122);
30232
31020
  // EXTERNAL MODULE: ./src/styles/icons/pencil.svg
30233
- var pencil = __webpack_require__(121);
31021
+ var pencil = __webpack_require__(123);
30234
31022
  // EXTERNAL MODULE: ./src/styles/icons/plus.svg
30235
- var plus = __webpack_require__(122);
31023
+ var plus = __webpack_require__(124);
30236
31024
  // EXTERNAL MODULE: ./src/styles/icons/print.svg
30237
- var icons_print = __webpack_require__(123);
31025
+ var icons_print = __webpack_require__(125);
30238
31026
  // EXTERNAL MODULE: ./src/styles/icons/redo.svg
30239
- var redo = __webpack_require__(124);
31027
+ var redo = __webpack_require__(126);
30240
31028
  // EXTERNAL MODULE: ./src/styles/icons/resize.svg
30241
- var resize = __webpack_require__(125);
31029
+ var resize = __webpack_require__(127);
31030
+ // EXTERNAL MODULE: ./src/styles/icons/resize-handler.svg
31031
+ var resize_handler = __webpack_require__(128);
30242
31032
  // EXTERNAL MODULE: ./src/styles/icons/resizer.svg
30243
- var icons_resizer = __webpack_require__(126);
31033
+ var icons_resizer = __webpack_require__(129);
30244
31034
  // EXTERNAL MODULE: ./src/styles/icons/right.svg
30245
- var right = __webpack_require__(127);
31035
+ var right = __webpack_require__(130);
30246
31036
  // EXTERNAL MODULE: ./src/styles/icons/save.svg
30247
- var save = __webpack_require__(128);
31037
+ var save = __webpack_require__(131);
30248
31038
  // EXTERNAL MODULE: ./src/styles/icons/search.svg
30249
- var icons_search = __webpack_require__(129);
31039
+ var icons_search = __webpack_require__(132);
30250
31040
  // EXTERNAL MODULE: ./src/styles/icons/settings.svg
30251
- var settings = __webpack_require__(130);
31041
+ var settings = __webpack_require__(133);
30252
31042
  // EXTERNAL MODULE: ./src/styles/icons/select-all.svg
30253
- var select_all = __webpack_require__(131);
31043
+ var select_all = __webpack_require__(134);
30254
31044
  // EXTERNAL MODULE: ./src/styles/icons/shrink.svg
30255
- var shrink = __webpack_require__(132);
31045
+ var shrink = __webpack_require__(135);
30256
31046
  // EXTERNAL MODULE: ./src/styles/icons/source.svg
30257
- var icons_source = __webpack_require__(133);
31047
+ var icons_source = __webpack_require__(136);
30258
31048
  // EXTERNAL MODULE: ./src/styles/icons/splitg.svg
30259
- var splitg = __webpack_require__(134);
31049
+ var splitg = __webpack_require__(137);
30260
31050
  // EXTERNAL MODULE: ./src/styles/icons/splitv.svg
30261
- var splitv = __webpack_require__(135);
31051
+ var splitv = __webpack_require__(138);
30262
31052
  // EXTERNAL MODULE: ./src/styles/icons/strikethrough.svg
30263
- var strikethrough = __webpack_require__(136);
31053
+ var strikethrough = __webpack_require__(139);
30264
31054
  // EXTERNAL MODULE: ./src/styles/icons/subscript.svg
30265
- var subscript = __webpack_require__(137);
31055
+ var subscript = __webpack_require__(140);
30266
31056
  // EXTERNAL MODULE: ./src/styles/icons/superscript.svg
30267
- var superscript = __webpack_require__(138);
31057
+ var superscript = __webpack_require__(141);
30268
31058
  // EXTERNAL MODULE: ./src/styles/icons/table.svg
30269
- var icons_table = __webpack_require__(139);
31059
+ var icons_table = __webpack_require__(142);
30270
31060
  // EXTERNAL MODULE: ./src/styles/icons/th.svg
30271
- var th = __webpack_require__(140);
31061
+ var th = __webpack_require__(143);
30272
31062
  // EXTERNAL MODULE: ./src/styles/icons/th-list.svg
30273
- var th_list = __webpack_require__(141);
31063
+ var th_list = __webpack_require__(144);
30274
31064
  // EXTERNAL MODULE: ./src/styles/icons/ul.svg
30275
- var ul = __webpack_require__(142);
31065
+ var ul = __webpack_require__(145);
30276
31066
  // EXTERNAL MODULE: ./src/styles/icons/underline.svg
30277
- var underline = __webpack_require__(143);
31067
+ var underline = __webpack_require__(146);
30278
31068
  // EXTERNAL MODULE: ./src/styles/icons/undo.svg
30279
- var undo = __webpack_require__(144);
31069
+ var undo = __webpack_require__(147);
30280
31070
  // EXTERNAL MODULE: ./src/styles/icons/unlink.svg
30281
- var unlink = __webpack_require__(145);
31071
+ var unlink = __webpack_require__(148);
30282
31072
  // EXTERNAL MODULE: ./src/styles/icons/unlock.svg
30283
- var unlock = __webpack_require__(146);
31073
+ var unlock = __webpack_require__(149);
30284
31074
  // EXTERNAL MODULE: ./src/styles/icons/update.svg
30285
- var update = __webpack_require__(147);
31075
+ var update = __webpack_require__(150);
30286
31076
  // EXTERNAL MODULE: ./src/styles/icons/upload.svg
30287
- var upload = __webpack_require__(148);
31077
+ var upload = __webpack_require__(151);
30288
31078
  // EXTERNAL MODULE: ./src/styles/icons/valign.svg
30289
- var valign = __webpack_require__(149);
31079
+ var valign = __webpack_require__(152);
30290
31080
  // EXTERNAL MODULE: ./src/styles/icons/video.svg
30291
- var icons_video = __webpack_require__(150);
31081
+ var icons_video = __webpack_require__(153);
30292
31082
  ;// CONCATENATED MODULE: ./src/styles/icons/index.ts
30293
31083
  /*!
30294
31084
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -30376,6 +31166,7 @@ var icons_video = __webpack_require__(150);
30376
31166
 
30377
31167
 
30378
31168
 
31169
+
30379
31170
 
30380
31171
 
30381
31172
  ;// CONCATENATED MODULE: ./src/index.ts