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,7 +4541,7 @@ function extractAndMove(wrapper, range, left) {
4546
4541
  }
4547
4542
  }
4548
4543
 
4549
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/unwrap-children.ts
4544
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle/toggle-ordered-list.ts
4550
4545
  /*!
4551
4546
  * Jodit Editor (https://xdsoft.net/jodit/)
4552
4547
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -4555,78 +4550,278 @@ function extractAndMove(wrapper, range, left) {
4555
4550
 
4556
4551
 
4557
4552
 
4558
- function unwrapChildren(style, font) {
4559
- const needUnwrap = [];
4560
- const needChangeStyle = [];
4561
- let firstElementSuit;
4562
- const cssStyle = style.options.style;
4563
- if (font.firstChild) {
4564
- const gen = dom/* Dom.eachGen */.i.eachGen(font);
4565
- let item = gen.next();
4566
- while (!item.done) {
4567
- const elm = item.value;
4568
- if (isSuitElement(style, elm, true)) {
4569
- if (firstElementSuit === undefined) {
4570
- firstElementSuit = true;
4571
- }
4572
- needUnwrap.push(elm);
4573
- }
4574
- else if (cssStyle && isSameStyleChild(style, elm)) {
4575
- if (firstElementSuit === undefined) {
4576
- firstElementSuit = false;
4577
- }
4578
- needChangeStyle.push(() => {
4579
- (0,helpers.css)(elm, Object.keys(cssStyle).reduce((acc, key) => {
4580
- acc[key] = null;
4581
- return acc;
4582
- }, {}));
4583
- if (!(0,helpers.attr)(elm, 'style')) {
4584
- (0,helpers.attr)(elm, 'style', null);
4585
- }
4586
- if (elm.nodeName.toLowerCase() === style.element) {
4587
- needUnwrap.push(elm);
4588
- }
4589
- });
4590
- }
4591
- else if (!dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm)) {
4592
- if (firstElementSuit === undefined) {
4593
- firstElementSuit = false;
4594
- }
4595
- }
4596
- item = gen.next();
4597
- }
4553
+
4554
+ function toggleOrderedList(style, li, jodit, mode) {
4555
+ if (!li) {
4556
+ return mode;
4598
4557
  }
4599
- needChangeStyle.forEach(clb => clb());
4600
- needUnwrap.forEach(dom/* Dom.unwrap */.i.unwrap);
4601
- return Boolean(firstElementSuit);
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;
4602
4574
  }
4603
4575
 
4604
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/post-process-list-element.ts
4576
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/element-has-same-style.ts
4605
4577
  /*!
4606
4578
  * Jodit Editor (https://xdsoft.net/jodit/)
4607
4579
  * Released under MIT see LICENSE.txt in the project root for license information.
4608
4580
  * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4609
4581
  */
4610
4582
 
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;
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))));
4620
4601
  }
4621
4602
 
4622
- ;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-unwrapped-text.ts
4603
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/finite-state-machine.ts
4623
4604
  /*!
4624
4605
  * Jodit Editor (https://xdsoft.net/jodit/)
4625
4606
  * Released under MIT see LICENSE.txt in the project root for license information.
4626
4607
  * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4627
4608
  */
4628
-
4629
-
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
+
4763
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/unwrap-children.ts
4764
+ /*!
4765
+ * Jodit Editor (https://xdsoft.net/jodit/)
4766
+ * Released under MIT see LICENSE.txt in the project root for license information.
4767
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4768
+ */
4769
+
4770
+
4771
+
4772
+ function unwrapChildren(style, font) {
4773
+ const needUnwrap = [];
4774
+ const needChangeStyle = [];
4775
+ let firstElementSuit;
4776
+ const cssStyle = style.options.style;
4777
+ if (font.firstChild) {
4778
+ const gen = dom/* Dom.eachGen */.i.eachGen(font);
4779
+ let item = gen.next();
4780
+ while (!item.done) {
4781
+ const elm = item.value;
4782
+ if (isSuitElement(style, elm, true)) {
4783
+ if (firstElementSuit === undefined) {
4784
+ firstElementSuit = true;
4785
+ }
4786
+ needUnwrap.push(elm);
4787
+ }
4788
+ else if (cssStyle && isSameStyleChild(style, elm)) {
4789
+ if (firstElementSuit === undefined) {
4790
+ firstElementSuit = false;
4791
+ }
4792
+ needChangeStyle.push(() => {
4793
+ (0,helpers.css)(elm, Object.keys(cssStyle).reduce((acc, key) => {
4794
+ acc[key] = null;
4795
+ return acc;
4796
+ }, {}));
4797
+ if (!(0,helpers.attr)(elm, 'style')) {
4798
+ (0,helpers.attr)(elm, 'style', null);
4799
+ }
4800
+ if (elm.nodeName.toLowerCase() === style.element) {
4801
+ needUnwrap.push(elm);
4802
+ }
4803
+ });
4804
+ }
4805
+ else if (!dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm)) {
4806
+ if (firstElementSuit === undefined) {
4807
+ firstElementSuit = false;
4808
+ }
4809
+ }
4810
+ item = gen.next();
4811
+ }
4812
+ }
4813
+ needChangeStyle.forEach(clb => clb());
4814
+ needUnwrap.forEach(dom/* Dom.unwrap */.i.unwrap);
4815
+ return Boolean(firstElementSuit);
4816
+ }
4817
+
4818
+ ;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-unwrapped-text.ts
4819
+ /*!
4820
+ * Jodit Editor (https://xdsoft.net/jodit/)
4821
+ * Released under MIT see LICENSE.txt in the project root for license information.
4822
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4823
+ */
4824
+
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;
4982
+ }
4983
+ if (isInsideInvisibleElement(font.value, editor) ||
4984
+ dom/* Dom.isEmptyContent */.i.isEmptyContent(font.value)) {
4985
+ return;
4780
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);
@@ -7665,6 +7991,36 @@ UIGroup = UIGroup_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn
7665
7991
  /* 40 */
7666
7992
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7667
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)([
8015
+ _decorators__WEBPACK_IMPORTED_MODULE_1__.component
8016
+ ], UISpacer);
8017
+
8018
+
8019
+
8020
+ /***/ }),
8021
+ /* 41 */
8022
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8023
+
7668
8024
  "use strict";
7669
8025
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7670
8026
  /* harmony export */ "l": function() { return /* binding */ UISeparator; }
@@ -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;
8338
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
+ }
8783
+ }
8784
+ };
8785
+ UICheckbox.defaultState = {
8786
+ ...UIInput.defaultState,
8787
+ checked: false,
8788
+ switch: false
8339
8789
  };
8340
- UICheckbox = (0,tslib_es6/* __decorate */.gn)([
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,13 +9071,13 @@ module.exports = {
8603
9071
 
8604
9072
 
8605
9073
  /***/ }),
8606
- /* 45 */
9074
+ /* 46 */
8607
9075
  /***/ (function(module) {
8608
9076
 
8609
9077
  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>"
8610
9078
 
8611
9079
  /***/ }),
8612
- /* 46 */
9080
+ /* 47 */
8613
9081
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8614
9082
 
8615
9083
  "use strict";
@@ -8621,9 +9089,9 @@ __webpack_require__.d(__webpack_exports__, {
8621
9089
  "IL": function() { return /* reexport */ TabsWidget; }
8622
9090
  });
8623
9091
 
8624
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
9092
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
8625
9093
  var helpers = __webpack_require__(8);
8626
- // EXTERNAL MODULE: ./src/core/ui/index.ts + 1 modules
9094
+ // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules
8627
9095
  var ui = __webpack_require__(32);
8628
9096
  // EXTERNAL MODULE: ./src/core/dom.ts
8629
9097
  var dom = __webpack_require__(15);
@@ -8723,7 +9191,7 @@ const TabsWidget = (editor, tabs, state) => {
8723
9191
  buttonList.push(button);
8724
9192
  button.container.classList.add('jodit-tabs__button', 'jodit-tabs__button_columns_' + tabs.length);
8725
9193
  if (!(0,helpers.isFunction)(content)) {
8726
- tab.appendChild(content);
9194
+ tab.appendChild(content instanceof ui/* UIElement */.u1 ? content.container : content);
8727
9195
  }
8728
9196
  else {
8729
9197
  tab.appendChild(editor.c.div('jodit-tab_empty'));
@@ -8822,7 +9290,7 @@ const FileSelectorWidget = (editor, callbacks, elm, close, isImage = true) => {
8822
9290
  if (callbacks.url) {
8823
9291
  const button = new ui/* UIButton */.y3(editor, {
8824
9292
  type: 'submit',
8825
- status: 'primary',
9293
+ variant: 'primary',
8826
9294
  text: 'Insert'
8827
9295
  }), form = new ui/* UIForm */.x4(editor, [
8828
9296
  new ui/* UIInput */.u3(editor, {
@@ -8878,7 +9346,7 @@ const FileSelectorWidget = (editor, callbacks, elm, close, isImage = true) => {
8878
9346
 
8879
9347
 
8880
9348
  /***/ }),
8881
- /* 47 */
9349
+ /* 48 */
8882
9350
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8883
9351
 
8884
9352
  "use strict";
@@ -8918,7 +9386,7 @@ const hAlignElement = (image, align) => {
8918
9386
 
8919
9387
 
8920
9388
  /***/ }),
8921
- /* 48 */
9389
+ /* 49 */
8922
9390
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8923
9391
 
8924
9392
  "use strict";
@@ -8952,7 +9420,7 @@ const hAlignElement = (image, align) => {
8952
9420
 
8953
9421
 
8954
9422
  /***/ }),
8955
- /* 49 */
9423
+ /* 50 */
8956
9424
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8957
9425
 
8958
9426
  "use strict";
@@ -8962,7 +9430,7 @@ const hAlignElement = (image, align) => {
8962
9430
  /* harmony import */ var _core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
8963
9431
  /* harmony import */ var _core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
8964
9432
  /* harmony import */ var _core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
8965
- /* harmony import */ var _image_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(47);
9433
+ /* harmony import */ var _image_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48);
8966
9434
  /*!
8967
9435
  * Jodit Editor (https://xdsoft.net/jodit/)
8968
9436
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -9037,13 +9505,13 @@ const align = {
9037
9505
 
9038
9506
 
9039
9507
  /***/ }),
9040
- /* 50 */
9508
+ /* 51 */
9041
9509
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9042
9510
 
9043
9511
  "use strict";
9044
9512
  /* harmony import */ var _core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19);
9045
9513
  /* harmony import */ var _core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
9046
- /* harmony import */ var _modules_widget__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46);
9514
+ /* harmony import */ var _modules_widget__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47);
9047
9515
  /*!
9048
9516
  * Jodit Editor (https://xdsoft.net/jodit/)
9049
9517
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -9172,11 +9640,50 @@ const cmd = (control) => control.args && (0,_core_helpers_checker__WEBPACK_IMPOR
9172
9640
 
9173
9641
 
9174
9642
  /***/ }),
9175
- /* 51 */
9643
+ /* 52 */
9644
+ /***/ (function(__unused_webpack_module, __webpack_exports__) {
9645
+
9646
+ "use strict";
9647
+ /*!
9648
+ * Jodit Editor (https://xdsoft.net/jodit/)
9649
+ * Released under MIT see LICENSE.txt in the project root for license information.
9650
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
9651
+ */
9652
+ /* harmony default export */ __webpack_exports__["Z"] = ([
9653
+ 'bold',
9654
+ 'italic',
9655
+ '|',
9656
+ 'ul',
9657
+ 'ol',
9658
+ 'eraser',
9659
+ '|',
9660
+ 'fontsize',
9661
+ 'brush',
9662
+ 'paragraph',
9663
+ '---',
9664
+ 'image',
9665
+ 'table',
9666
+ '\n',
9667
+ 'link',
9668
+ '|',
9669
+ 'align',
9670
+ '|',
9671
+ 'undo',
9672
+ 'redo',
9673
+ '|',
9674
+ 'copyformat',
9675
+ 'fullsize',
9676
+ '---',
9677
+ 'dots'
9678
+ ]);
9679
+
9680
+
9681
+ /***/ }),
9682
+ /* 53 */
9176
9683
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9177
9684
 
9178
9685
  "use strict";
9179
- /* harmony import */ var _img__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49);
9686
+ /* harmony import */ var _img__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50);
9180
9687
  /*!
9181
9688
  * Jodit Editor (https://xdsoft.net/jodit/)
9182
9689
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -9196,487 +9703,493 @@ const cmd = (control) => control.args && (0,_core_helpers_checker__WEBPACK_IMPOR
9196
9703
 
9197
9704
 
9198
9705
  /***/ }),
9199
- /* 52 */
9706
+ /* 54 */
9200
9707
  /***/ (function(module) {
9201
9708
 
9202
9709
  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>"
9203
9710
 
9204
9711
  /***/ }),
9205
- /* 53 */
9712
+ /* 55 */
9206
9713
  /***/ (function(module) {
9207
9714
 
9208
9715
  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>"
9209
9716
 
9210
9717
  /***/ }),
9211
- /* 54 */
9718
+ /* 56 */
9212
9719
  /***/ (function(module) {
9213
9720
 
9214
9721
  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>"
9215
9722
 
9216
9723
  /***/ }),
9217
- /* 55 */
9724
+ /* 57 */
9218
9725
  /***/ (function(module) {
9219
9726
 
9220
9727
  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>"
9221
9728
 
9222
9729
  /***/ }),
9223
- /* 56 */
9730
+ /* 58 */
9224
9731
  /***/ (function(module) {
9225
9732
 
9226
9733
  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>"
9227
9734
 
9228
9735
  /***/ }),
9229
- /* 57 */
9736
+ /* 59 */
9230
9737
  /***/ (function(module) {
9231
9738
 
9232
9739
  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>"
9233
9740
 
9234
9741
  /***/ }),
9235
- /* 58 */
9742
+ /* 60 */
9236
9743
  /***/ (function(module) {
9237
9744
 
9238
9745
  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>"
9239
9746
 
9240
9747
  /***/ }),
9241
- /* 59 */
9748
+ /* 61 */
9242
9749
  /***/ (function(module) {
9243
9750
 
9244
9751
  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>"
9245
9752
 
9246
9753
  /***/ }),
9247
- /* 60 */
9754
+ /* 62 */
9248
9755
  /***/ (function(module) {
9249
9756
 
9250
9757
  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>"
9251
9758
 
9252
9759
  /***/ }),
9253
- /* 61 */
9760
+ /* 63 */
9254
9761
  /***/ (function(module) {
9255
9762
 
9256
9763
  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>"
9257
9764
 
9258
9765
  /***/ }),
9259
- /* 62 */
9766
+ /* 64 */
9260
9767
  /***/ (function(module) {
9261
9768
 
9262
9769
  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>"
9263
9770
 
9264
9771
  /***/ }),
9265
- /* 63 */
9772
+ /* 65 */
9266
9773
  /***/ (function(module) {
9267
9774
 
9268
9775
  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>"
9269
9776
 
9270
9777
  /***/ }),
9271
- /* 64 */
9778
+ /* 66 */
9272
9779
  /***/ (function(module) {
9273
9780
 
9274
9781
  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>"
9275
9782
 
9276
9783
  /***/ }),
9277
- /* 65 */
9784
+ /* 67 */
9278
9785
  /***/ (function(module) {
9279
9786
 
9280
9787
  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>"
9281
9788
 
9282
9789
  /***/ }),
9283
- /* 66 */
9790
+ /* 68 */
9284
9791
  /***/ (function(module) {
9285
9792
 
9286
9793
  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>"
9287
9794
 
9288
9795
  /***/ }),
9289
- /* 67 */
9796
+ /* 69 */
9290
9797
  /***/ (function(module) {
9291
9798
 
9292
9799
  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>"
9293
9800
 
9294
9801
  /***/ }),
9295
- /* 68 */
9802
+ /* 70 */
9296
9803
  /***/ (function(module) {
9297
9804
 
9298
9805
  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>"
9299
9806
 
9300
9807
  /***/ }),
9301
- /* 69 */
9808
+ /* 71 */
9302
9809
  /***/ (function(module) {
9303
9810
 
9304
9811
  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>"
9305
9812
 
9306
9813
  /***/ }),
9307
- /* 70 */
9814
+ /* 72 */
9308
9815
  /***/ (function(module) {
9309
9816
 
9310
9817
  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>"
9311
9818
 
9312
9819
  /***/ }),
9313
- /* 71 */
9820
+ /* 73 */
9314
9821
  /***/ (function(module) {
9315
9822
 
9316
9823
  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>"
9317
9824
 
9318
9825
  /***/ }),
9319
- /* 72 */
9826
+ /* 74 */
9320
9827
  /***/ (function(module) {
9321
9828
 
9322
9829
  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>"
9323
9830
 
9324
9831
  /***/ }),
9325
- /* 73 */
9832
+ /* 75 */
9326
9833
  /***/ (function(module) {
9327
9834
 
9328
9835
  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>"
9329
9836
 
9330
9837
  /***/ }),
9331
- /* 74 */
9838
+ /* 76 */
9332
9839
  /***/ (function(module) {
9333
9840
 
9334
9841
  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>"
9335
9842
 
9336
9843
  /***/ }),
9337
- /* 75 */
9844
+ /* 77 */
9338
9845
  /***/ (function(module) {
9339
9846
 
9340
9847
  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>"
9341
9848
 
9342
9849
  /***/ }),
9343
- /* 76 */
9850
+ /* 78 */
9344
9851
  /***/ (function(module) {
9345
9852
 
9346
9853
  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>"
9347
9854
 
9348
9855
  /***/ }),
9349
- /* 77 */
9856
+ /* 79 */
9350
9857
  /***/ (function(module) {
9351
9858
 
9352
9859
  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>"
9353
9860
 
9354
9861
  /***/ }),
9355
- /* 78 */
9862
+ /* 80 */
9356
9863
  /***/ (function(module) {
9357
9864
 
9358
9865
  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>"
9359
9866
 
9360
9867
  /***/ }),
9361
- /* 79 */
9868
+ /* 81 */
9362
9869
  /***/ (function(module) {
9363
9870
 
9364
9871
  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>"
9365
9872
 
9366
9873
  /***/ }),
9367
- /* 80 */
9874
+ /* 82 */
9368
9875
  /***/ (function(module) {
9369
9876
 
9370
9877
  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>"
9371
9878
 
9372
9879
  /***/ }),
9373
- /* 81 */
9880
+ /* 83 */
9374
9881
  /***/ (function(module) {
9375
9882
 
9376
9883
  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>"
9377
9884
 
9378
9885
  /***/ }),
9379
- /* 82 */
9886
+ /* 84 */
9380
9887
  /***/ (function(module) {
9381
9888
 
9382
9889
  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>"
9383
9890
 
9384
9891
  /***/ }),
9385
- /* 83 */
9892
+ /* 85 */
9386
9893
  /***/ (function(module) {
9387
9894
 
9388
9895
  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>"
9389
9896
 
9390
9897
  /***/ }),
9391
- /* 84 */
9898
+ /* 86 */
9392
9899
  /***/ (function(module) {
9393
9900
 
9394
9901
  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>"
9395
9902
 
9396
9903
  /***/ }),
9397
- /* 85 */
9904
+ /* 87 */
9398
9905
  /***/ (function(module) {
9399
9906
 
9400
9907
  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>"
9401
9908
 
9402
9909
  /***/ }),
9403
- /* 86 */
9910
+ /* 88 */
9404
9911
  /***/ (function(module) {
9405
9912
 
9406
9913
  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>"
9407
9914
 
9408
9915
  /***/ }),
9409
- /* 87 */
9916
+ /* 89 */
9410
9917
  /***/ (function(module) {
9411
9918
 
9412
9919
  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>"
9413
9920
 
9414
9921
  /***/ }),
9415
- /* 88 */
9922
+ /* 90 */
9416
9923
  /***/ (function(module) {
9417
9924
 
9418
9925
  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>"
9419
9926
 
9420
9927
  /***/ }),
9421
- /* 89 */
9928
+ /* 91 */
9422
9929
  /***/ (function(module) {
9423
9930
 
9424
9931
  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>"
9425
9932
 
9426
9933
  /***/ }),
9427
- /* 90 */
9934
+ /* 92 */
9428
9935
  /***/ (function(module) {
9429
9936
 
9430
9937
  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>"
9431
9938
 
9432
9939
  /***/ }),
9433
- /* 91 */
9940
+ /* 93 */
9434
9941
  /***/ (function(module) {
9435
9942
 
9436
9943
  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>"
9437
9944
 
9438
9945
  /***/ }),
9439
- /* 92 */
9946
+ /* 94 */
9440
9947
  /***/ (function(module) {
9441
9948
 
9442
9949
  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>"
9443
9950
 
9444
9951
  /***/ }),
9445
- /* 93 */
9952
+ /* 95 */
9446
9953
  /***/ (function(module) {
9447
9954
 
9448
9955
  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>"
9449
9956
 
9450
9957
  /***/ }),
9451
- /* 94 */
9958
+ /* 96 */
9452
9959
  /***/ (function(module) {
9453
9960
 
9454
9961
  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>"
9455
9962
 
9456
9963
  /***/ }),
9457
- /* 95 */
9964
+ /* 97 */
9458
9965
  /***/ (function(module) {
9459
9966
 
9460
9967
  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>"
9461
9968
 
9462
9969
  /***/ }),
9463
- /* 96 */
9970
+ /* 98 */
9464
9971
  /***/ (function(module) {
9465
9972
 
9466
9973
  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>"
9467
9974
 
9468
9975
  /***/ }),
9469
- /* 97 */
9976
+ /* 99 */
9470
9977
  /***/ (function(module) {
9471
9978
 
9472
9979
  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>"
9473
9980
 
9474
9981
  /***/ }),
9475
- /* 98 */
9982
+ /* 100 */
9476
9983
  /***/ (function(module) {
9477
9984
 
9478
9985
  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>"
9479
9986
 
9480
9987
  /***/ }),
9481
- /* 99 */
9988
+ /* 101 */
9482
9989
  /***/ (function(module) {
9483
9990
 
9484
9991
  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>"
9485
9992
 
9486
9993
  /***/ }),
9487
- /* 100 */
9994
+ /* 102 */
9488
9995
  /***/ (function(module) {
9489
9996
 
9490
9997
  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>"
9491
9998
 
9492
9999
  /***/ }),
9493
- /* 101 */
10000
+ /* 103 */
9494
10001
  /***/ (function(module) {
9495
10002
 
9496
10003
  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>"
9497
10004
 
9498
10005
  /***/ }),
9499
- /* 102 */
10006
+ /* 104 */
9500
10007
  /***/ (function(module) {
9501
10008
 
9502
10009
  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>"
9503
10010
 
9504
10011
  /***/ }),
9505
- /* 103 */
10012
+ /* 105 */
9506
10013
  /***/ (function(module) {
9507
10014
 
9508
10015
  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>"
9509
10016
 
9510
10017
  /***/ }),
9511
- /* 104 */
10018
+ /* 106 */
9512
10019
  /***/ (function(module) {
9513
10020
 
9514
10021
  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>"
9515
10022
 
9516
10023
  /***/ }),
9517
- /* 105 */
10024
+ /* 107 */
9518
10025
  /***/ (function(module) {
9519
10026
 
9520
10027
  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>"
9521
10028
 
9522
10029
  /***/ }),
9523
- /* 106 */
10030
+ /* 108 */
9524
10031
  /***/ (function(module) {
9525
10032
 
9526
10033
  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>"
9527
10034
 
9528
10035
  /***/ }),
9529
- /* 107 */
10036
+ /* 109 */
9530
10037
  /***/ (function(module) {
9531
10038
 
9532
10039
  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>"
9533
10040
 
9534
10041
  /***/ }),
9535
- /* 108 */
10042
+ /* 110 */
10043
+ /***/ (function(module) {
10044
+
10045
+ 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>"
10046
+
10047
+ /***/ }),
10048
+ /* 111 */
9536
10049
  /***/ (function(module) {
9537
10050
 
9538
10051
  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>"
9539
10052
 
9540
10053
  /***/ }),
9541
- /* 109 */
10054
+ /* 112 */
9542
10055
  /***/ (function(module) {
9543
10056
 
9544
10057
  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>"
9545
10058
 
9546
10059
  /***/ }),
9547
- /* 110 */
10060
+ /* 113 */
9548
10061
  /***/ (function(module) {
9549
10062
 
9550
10063
  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>"
9551
10064
 
9552
10065
  /***/ }),
9553
- /* 111 */
10066
+ /* 114 */
9554
10067
  /***/ (function(module) {
9555
10068
 
9556
10069
  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>"
9557
10070
 
9558
10071
  /***/ }),
9559
- /* 112 */
10072
+ /* 115 */
9560
10073
  /***/ (function(module) {
9561
10074
 
9562
10075
  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>"
9563
10076
 
9564
10077
  /***/ }),
9565
- /* 113 */
10078
+ /* 116 */
9566
10079
  /***/ (function(module) {
9567
10080
 
9568
10081
  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>"
9569
10082
 
9570
10083
  /***/ }),
9571
- /* 114 */
10084
+ /* 117 */
9572
10085
  /***/ (function(module) {
9573
10086
 
9574
10087
  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>"
9575
10088
 
9576
10089
  /***/ }),
9577
- /* 115 */
10090
+ /* 118 */
9578
10091
  /***/ (function(module) {
9579
10092
 
9580
10093
  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>"
9581
10094
 
9582
10095
  /***/ }),
9583
- /* 116 */
10096
+ /* 119 */
9584
10097
  /***/ (function(module) {
9585
10098
 
9586
10099
  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>"
9587
10100
 
9588
10101
  /***/ }),
9589
- /* 117 */
10102
+ /* 120 */
9590
10103
  /***/ (function(module) {
9591
10104
 
9592
10105
  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>"
9593
10106
 
9594
10107
  /***/ }),
9595
- /* 118 */
10108
+ /* 121 */
9596
10109
  /***/ (function(module) {
9597
10110
 
9598
10111
  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>"
9599
10112
 
9600
10113
  /***/ }),
9601
- /* 119 */
10114
+ /* 122 */
9602
10115
  /***/ (function(module) {
9603
10116
 
9604
10117
  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>"
9605
10118
 
9606
10119
  /***/ }),
9607
- /* 120 */
10120
+ /* 123 */
9608
10121
  /***/ (function(module) {
9609
10122
 
9610
10123
  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>"
9611
10124
 
9612
10125
  /***/ }),
9613
- /* 121 */
10126
+ /* 124 */
9614
10127
  /***/ (function(module) {
9615
10128
 
9616
10129
  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>"
9617
10130
 
9618
10131
  /***/ }),
9619
- /* 122 */
10132
+ /* 125 */
9620
10133
  /***/ (function(module) {
9621
10134
 
9622
10135
  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>"
9623
10136
 
9624
10137
  /***/ }),
9625
- /* 123 */
10138
+ /* 126 */
9626
10139
  /***/ (function(module) {
9627
10140
 
9628
10141
  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>"
9629
10142
 
9630
10143
  /***/ }),
9631
- /* 124 */
10144
+ /* 127 */
9632
10145
  /***/ (function(module) {
9633
10146
 
9634
10147
  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>"
9635
10148
 
9636
10149
  /***/ }),
9637
- /* 125 */
10150
+ /* 128 */
9638
10151
  /***/ (function(module) {
9639
10152
 
9640
10153
  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>"
9641
10154
 
9642
10155
  /***/ }),
9643
- /* 126 */
10156
+ /* 129 */
9644
10157
  /***/ (function(module) {
9645
10158
 
9646
10159
  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>"
9647
10160
 
9648
10161
  /***/ }),
9649
- /* 127 */
10162
+ /* 130 */
9650
10163
  /***/ (function(module) {
9651
10164
 
9652
10165
  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>"
9653
10166
 
9654
10167
  /***/ }),
9655
- /* 128 */
10168
+ /* 131 */
9656
10169
  /***/ (function(module) {
9657
10170
 
9658
10171
  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>"
9659
10172
 
9660
10173
  /***/ }),
9661
- /* 129 */
10174
+ /* 132 */
9662
10175
  /***/ (function(module) {
9663
10176
 
9664
10177
  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>"
9665
10178
 
9666
10179
  /***/ }),
9667
- /* 130 */
10180
+ /* 133 */
9668
10181
  /***/ (function(module) {
9669
10182
 
9670
10183
  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>"
9671
10184
 
9672
10185
  /***/ }),
9673
- /* 131 */
10186
+ /* 134 */
9674
10187
  /***/ (function(module) {
9675
10188
 
9676
10189
  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>"
9677
10190
 
9678
10191
  /***/ }),
9679
- /* 132 */
10192
+ /* 135 */
9680
10193
  /***/ (function(module) {
9681
10194
 
9682
10195
  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>"
@@ -9757,7 +10270,7 @@ __webpack_require__.d(modules_namespaceObject, {
9757
10270
  "Ajax": function() { return Ajax; },
9758
10271
  "Alert": function() { return Alert; },
9759
10272
  "Async": function() { return Async; },
9760
- "CommitStyle": function() { return selection/* CommitStyle */.R; },
10273
+ "CommitStyle": function() { return selection/* CommitStyle */.RP; },
9761
10274
  "Component": function() { return component/* Component */.wA; },
9762
10275
  "Confirm": function() { return Confirm; },
9763
10276
  "ContextMenu": function() { return ContextMenu; },
@@ -9780,7 +10293,7 @@ __webpack_require__.d(modules_namespaceObject, {
9780
10293
  "Prompt": function() { return Prompt; },
9781
10294
  "Response": function() { return response_Response; },
9782
10295
  "STATUSES": function() { return component/* STATUSES */.n$; },
9783
- "Select": function() { return selection/* Select */.P; },
10296
+ "Select": function() { return selection/* Select */.Ph; },
9784
10297
  "Snapshot": function() { return Snapshot; },
9785
10298
  "StatusBar": function() { return StatusBar; },
9786
10299
  "Table": function() { return Table; },
@@ -9846,6 +10359,7 @@ __webpack_require__.d(plugins_namespaceObject, {
9846
10359
  "paste": function() { return paste; },
9847
10360
  "pasteStorage": function() { return pasteStorage; },
9848
10361
  "placeholder": function() { return placeholder; },
10362
+ "poweredByJodit": function() { return poweredByJodit; },
9849
10363
  "preview": function() { return preview; },
9850
10364
  "print": function() { return print; },
9851
10365
  "redoUndo": function() { return redoUndo; },
@@ -9927,6 +10441,7 @@ __webpack_require__.d(icons_namespaceObject, {
9927
10441
  "print": function() { return icons_print; },
9928
10442
  "redo": function() { return redo; },
9929
10443
  "resize": function() { return resize; },
10444
+ "resize_handler": function() { return resize_handler; },
9930
10445
  "resizer": function() { return icons_resizer; },
9931
10446
  "right": function() { return right; },
9932
10447
  "save": function() { return save; },
@@ -9962,7 +10477,7 @@ var config = __webpack_require__(1);
9962
10477
  var constants = __webpack_require__(2);
9963
10478
  // EXTERNAL MODULE: ./src/core/events/index.ts + 3 modules
9964
10479
  var events = __webpack_require__(3);
9965
- // EXTERNAL MODULE: ./src/core/helpers/index.ts + 32 modules
10480
+ // EXTERNAL MODULE: ./src/core/helpers/index.ts + 33 modules
9966
10481
  var helpers = __webpack_require__(8);
9967
10482
  ;// CONCATENATED MODULE: ./src/core/async.ts
9968
10483
  /*!
@@ -10348,7 +10863,7 @@ Ajax.log = [];
10348
10863
  // EXTERNAL MODULE: ./src/core/component/index.ts + 3 modules
10349
10864
  var component = __webpack_require__(12);
10350
10865
  // EXTERNAL MODULE: ./src/core/ui/popup/index.ts + 1 modules
10351
- var ui_popup = __webpack_require__(42);
10866
+ var ui_popup = __webpack_require__(43);
10352
10867
  // EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules
10353
10868
  var ui_button = __webpack_require__(36);
10354
10869
  // EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 14 modules
@@ -10431,12 +10946,14 @@ class LocalStorageProvider {
10431
10946
  localStorage.setItem(this.rootKey, JSON.stringify(json));
10432
10947
  }
10433
10948
  catch (_a) { }
10949
+ return this;
10434
10950
  }
10435
10951
  delete(key) {
10436
10952
  try {
10437
10953
  localStorage.removeItem(this.rootKey);
10438
10954
  }
10439
10955
  catch (_a) { }
10956
+ return this;
10440
10957
  }
10441
10958
  get(key) {
10442
10959
  try {
@@ -10454,6 +10971,7 @@ class LocalStorageProvider {
10454
10971
  localStorage.removeItem(this.rootKey);
10455
10972
  }
10456
10973
  catch (_a) { }
10974
+ return this;
10457
10975
  }
10458
10976
  }
10459
10977
 
@@ -10469,9 +10987,11 @@ class MemoryStorageProvider {
10469
10987
  }
10470
10988
  set(key, value) {
10471
10989
  this.data.set(key, value);
10990
+ return this;
10472
10991
  }
10473
10992
  delete(key) {
10474
10993
  this.data.delete(key);
10994
+ return this;
10475
10995
  }
10476
10996
  get(key) {
10477
10997
  return this.data.get(key);
@@ -10481,6 +11001,7 @@ class MemoryStorageProvider {
10481
11001
  }
10482
11002
  clear() {
10483
11003
  this.data.clear();
11004
+ return this;
10484
11005
  }
10485
11006
  }
10486
11007
 
@@ -10504,9 +11025,11 @@ class Storage {
10504
11025
  }
10505
11026
  set(key, value) {
10506
11027
  this.provider.set((0,helpers.camelCase)(this.prefix + key), value);
11028
+ return this;
10507
11029
  }
10508
11030
  delete(key) {
10509
11031
  this.provider.delete((0,helpers.camelCase)(this.prefix + key));
11032
+ return this;
10510
11033
  }
10511
11034
  get(key) {
10512
11035
  return this.provider.get((0,helpers.camelCase)(this.prefix + key));
@@ -10515,7 +11038,8 @@ class Storage {
10515
11038
  return this.provider.exists((0,helpers.camelCase)(this.prefix + key));
10516
11039
  }
10517
11040
  clear() {
10518
- return this.provider.clear();
11041
+ this.provider.clear();
11042
+ return this;
10519
11043
  }
10520
11044
  static makeStorage(persistent = false, suffix) {
10521
11045
  let provider;
@@ -10567,7 +11091,7 @@ class View extends component/* Component */.wA {
10567
11091
  this.isView = true;
10568
11092
  this.mods = {};
10569
11093
  this.components = new Set();
10570
- this.version = "3.9.3";
11094
+ this.version = "3.10.2";
10571
11095
  this.async = new Async();
10572
11096
  this.buffer = Storage.makeStorage();
10573
11097
  this.storage = Storage.makeStorage(true, this.componentName);
@@ -10665,10 +11189,10 @@ class View extends component/* Component */.wA {
10665
11189
  return this.__isFullSize;
10666
11190
  }
10667
11191
  getVersion() {
10668
- return "3.9.3";
11192
+ return "3.10.2";
10669
11193
  }
10670
11194
  static getVersion() {
10671
- return "3.9.3";
11195
+ return "3.10.2";
10672
11196
  }
10673
11197
  initOptions(options) {
10674
11198
  this.options = (0,helpers.ConfigProto)(options || {}, (0,helpers.ConfigProto)(this.options || {}, View.defaultOptions));
@@ -10750,7 +11274,7 @@ View.defaultOptions = {
10750
11274
 
10751
11275
  // EXTERNAL MODULE: ./src/core/dom.ts
10752
11276
  var dom = __webpack_require__(15);
10753
- // EXTERNAL MODULE: ./src/core/ui/index.ts + 1 modules
11277
+ // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules
10754
11278
  var ui = __webpack_require__(32);
10755
11279
  ;// CONCATENATED MODULE: ./src/modules/toolbar/collection/collection.ts
10756
11280
  /*!
@@ -10783,9 +11307,6 @@ let ToolbarCollection = class ToolbarCollection extends ui/* UIList */.bz {
10783
11307
  return makeButton(this.j, control, target);
10784
11308
  }
10785
11309
  shouldBeActive(button) {
10786
- if ((0,helpers.isJoditObject)(this.j) && !this.j.editorIsActive) {
10787
- return false;
10788
- }
10789
11310
  if ((0,helpers.isFunction)(button.control.isActive)) {
10790
11311
  return button.control.isActive(this.j, button.control, button);
10791
11312
  }
@@ -10825,6 +11346,15 @@ let ToolbarCollection = class ToolbarCollection extends ui/* UIList */.bz {
10825
11346
  .on(this.listenEvents, this.update)
10826
11347
  .on('afterSetMode focus', this.immediateUpdate);
10827
11348
  }
11349
+ hide() {
11350
+ this.container.remove();
11351
+ }
11352
+ show() {
11353
+ this.appendTo(this.j.toolbarContainer);
11354
+ }
11355
+ showInline(bound) {
11356
+ throw (0,helpers.error)('The method is not implemented for this class.');
11357
+ }
10828
11358
  build(items, target = null) {
10829
11359
  const itemsWithGroupps = this.j.e.fire('beforeToolbarBuild', items);
10830
11360
  if (itemsWithGroupps) {
@@ -10900,6 +11430,9 @@ let ToolbarEditorCollection = class ToolbarEditorCollection extends ToolbarColle
10900
11430
  return !(mode === constants.MODE_SPLIT || mode === this.j.getRealMode());
10901
11431
  }
10902
11432
  shouldBeActive(button) {
11433
+ if ((0,helpers.isJoditObject)(this.j) && !this.j.editorIsActive) {
11434
+ return false;
11435
+ }
10903
11436
  const active = super.shouldBeActive(button);
10904
11437
  if (active !== undefined) {
10905
11438
  return active;
@@ -10945,6 +11478,18 @@ let ToolbarEditorCollection = class ToolbarEditorCollection extends ToolbarColle
10945
11478
  });
10946
11479
  dom/* Dom.appendChildFirst */.i.appendChildFirst(container, input);
10947
11480
  }
11481
+ showInline(bound) {
11482
+ this.jodit.e.fire('showInlineToolbar', bound);
11483
+ }
11484
+ hide() {
11485
+ this.jodit.e.fire('hidePopup');
11486
+ super.hide();
11487
+ this.jodit.e.fire('toggleToolbar');
11488
+ }
11489
+ show() {
11490
+ super.show();
11491
+ this.jodit.e.fire('toggleToolbar');
11492
+ }
10948
11493
  };
10949
11494
  ToolbarEditorCollection = (0,tslib_es6/* __decorate */.gn)([
10950
11495
  decorators.component
@@ -11310,7 +11855,7 @@ function makeButton(jodit, control, target = null) {
11310
11855
  }
11311
11856
 
11312
11857
  // EXTERNAL MODULE: ./src/core/ui/helpers/buttons.ts
11313
- var helpers_buttons = __webpack_require__(41);
11858
+ var helpers_buttons = __webpack_require__(42);
11314
11859
  ;// CONCATENATED MODULE: ./src/core/view/view-with-toolbar.ts
11315
11860
  /*!
11316
11861
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -11362,6 +11907,9 @@ class ViewWithToolbar extends View {
11362
11907
  .build(buttons.concat(this.o.extraButtons || []))
11363
11908
  .appendTo(this.toolbarContainer);
11364
11909
  }
11910
+ getRegisteredButtonGroups() {
11911
+ return this.groupToButtons;
11912
+ }
11365
11913
  registerButton(btn) {
11366
11914
  var _a;
11367
11915
  this.registeredButtons.add(btn);
@@ -11441,6 +11989,7 @@ class ViewWithToolbar extends View {
11441
11989
 
11442
11990
 
11443
11991
 
11992
+
11444
11993
  config/* Config.prototype.dialog */.D.prototype.dialog = {
11445
11994
  namespace: '',
11446
11995
  extraButtons: [],
@@ -11502,7 +12051,9 @@ let Dialog = class Dialog extends ViewWithToolbar {
11502
12051
  </div>
11503
12052
  <div class="${n('content')}"></div>
11504
12053
  <div class="${n('footer')}"></div>
11505
- ${self.o.resizable ? `<div class="${n('resizer')}"></div>` : ''}
12054
+ ${self.o.resizable
12055
+ ? `<div class="${n('resizer')}">${ui/* Icon.get */.JO.get('resize_handler')}</div>`
12056
+ : ''}
11506
12057
  </div>
11507
12058
  </div>`);
11508
12059
  (0,helpers.attr)(self.container, 'role', 'dialog');
@@ -11786,8 +12337,8 @@ let Dialog = class Dialog extends ViewWithToolbar {
11786
12337
  e.stopImmediatePropagation();
11787
12338
  e.preventDefault();
11788
12339
  }
11789
- if (this.e) {
11790
- this.e.fire('beforeClose', this);
12340
+ if (this.e && this.e.fire('beforeClose', this) === false) {
12341
+ return this;
11791
12342
  }
11792
12343
  this.setMod('active', false);
11793
12344
  this.isOpened = false;
@@ -12134,16 +12685,6 @@ class Create {
12134
12685
  }
12135
12686
  }
12136
12687
 
12137
- ;// CONCATENATED MODULE: ./src/modules/file-browser/consts.ts
12138
- /*!
12139
- * Jodit Editor (https://xdsoft.net/jodit/)
12140
- * Released under MIT see LICENSE.txt in the project root for license information.
12141
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
12142
- */
12143
- const F_CLASS = 'jodit-filebrowser';
12144
- const ITEM_CLASS = F_CLASS + '__files-item';
12145
- const ICON_LOADER = '<i class="jodit-icon_loader"></i>';
12146
-
12147
12688
  ;// CONCATENATED MODULE: ./src/modules/file-browser/config.ts
12148
12689
  /*!
12149
12690
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -12153,7 +12694,6 @@ const ICON_LOADER = '<i class="jodit-icon_loader"></i>';
12153
12694
 
12154
12695
 
12155
12696
 
12156
-
12157
12697
  config/* Config.prototype.filebrowser */.D.prototype.filebrowser = {
12158
12698
  namespace: '',
12159
12699
  extraButtons: [],
@@ -12218,6 +12758,7 @@ config/* Config.prototype.filebrowser */.D.prototype.filebrowser = {
12218
12758
  moveFolder: true,
12219
12759
  moveFile: true,
12220
12760
  showFoldersPanel: true,
12761
+ storeLastOpenedFolder: true,
12221
12762
  width: 859,
12222
12763
  height: 400,
12223
12764
  buttons: [
@@ -12249,24 +12790,28 @@ config/* Config.prototype.filebrowser */.D.prototype.filebrowser = {
12249
12790
  showFileName: true,
12250
12791
  showFileSize: true,
12251
12792
  showFileChangeTime: true,
12252
- saveStateInStorage: true,
12793
+ saveStateInStorage: {
12794
+ storeLastOpenedFolder: true,
12795
+ storeView: true,
12796
+ storeSortBy: true
12797
+ },
12253
12798
  pixelOffsetLoadNewChunk: 200,
12254
12799
  getThumbTemplate(item, source, source_name) {
12255
- const opt = this.options, showName = opt.showFileName, showSize = opt.showFileSize && item.size, showTime = opt.showFileChangeTime && item.time;
12800
+ const opt = this.options, IC = this.files.getFullElName('item'), showName = opt.showFileName, showSize = opt.showFileSize && item.size, showTime = opt.showFileChangeTime && item.time;
12256
12801
  let name = '';
12257
12802
  if (item.file !== undefined) {
12258
12803
  name = item.file;
12259
12804
  }
12260
- const info = `<div class="${ITEM_CLASS}-info">${showName ? `<span class="${ITEM_CLASS}-info-filename">${name}</span>` : ''}${showSize
12261
- ? `<span class="${ITEM_CLASS}-info-filesize">${item.size}</span>`
12805
+ const info = `<div class="${IC}-info">${showName ? `<span class="${IC}-info-filename">${name}</span>` : ''}${showSize
12806
+ ? `<span class="${IC}-info-filesize">${item.size}</span>`
12262
12807
  : ''}${showTime
12263
- ? `<span class="${ITEM_CLASS}-info-filechanged">${showTime}</span>`
12808
+ ? `<span class="${IC}-info-filechanged">${showTime}</span>`
12264
12809
  : ''}</div>`;
12265
12810
  return `<a
12266
12811
  data-jodit-filebrowser-item="true"
12267
12812
  data-is-file="${item.isImage ? 0 : 1}"
12268
12813
  draggable="true"
12269
- class="${ITEM_CLASS}"
12814
+ class="${IC}"
12270
12815
  href="${item.fileURL}"
12271
12816
  data-source="${source_name}"
12272
12817
  data-path="${item.path}"
@@ -12836,8 +13381,7 @@ var normalize = __webpack_require__(26);
12836
13381
 
12837
13382
 
12838
13383
 
12839
-
12840
- const state_listeners_DEFAULT_SOURCE_NAME = 'default', ITEM_ACTIVE_CLASS = ITEM_CLASS + '_active_true';
13384
+ const state_listeners_DEFAULT_SOURCE_NAME = 'default';
12841
13385
  function stateListeners() {
12842
13386
  const { state, files, create, options, elementsMap } = this, getDomElement = (item) => {
12843
13387
  const key = item.uniqueHashKey;
@@ -12854,57 +13398,69 @@ function stateListeners() {
12854
13398
  };
12855
13399
  state
12856
13400
  .on(['change.currentPath', 'change.currentSource'], this.async.debounce(() => {
13401
+ if (this.o.saveStateInStorage &&
13402
+ this.o.saveStateInStorage.storeLastOpenedFolder) {
13403
+ this.storage
13404
+ .set('currentPath', this.state.currentPath)
13405
+ .set('currentSource', this.state.currentSource);
13406
+ }
12857
13407
  this.loadTree();
12858
13408
  }, this.defaultTimeout))
12859
13409
  .on('beforeChange.activeElements', () => {
12860
13410
  state.activeElements.forEach(item => {
12861
13411
  const key = item.uniqueHashKey, { elm } = elementsMap[key];
12862
- elm && elm.classList.remove(ITEM_ACTIVE_CLASS);
13412
+ elm &&
13413
+ elm.classList.remove(files.getFullElName('item', 'active', true));
12863
13414
  });
12864
13415
  })
12865
13416
  .on('change.activeElements', () => {
12866
13417
  this.e.fire('changeSelection');
12867
13418
  state.activeElements.forEach(item => {
12868
13419
  const key = item.uniqueHashKey, { elm } = elementsMap[key];
12869
- elm && elm.classList.add(ITEM_ACTIVE_CLASS);
13420
+ elm &&
13421
+ elm.classList.add(files.getFullElName('item', 'active', true));
12870
13422
  });
12871
13423
  })
12872
13424
  .on('change.view', () => {
12873
- files.classList.remove(F_CLASS + '__files_view_tiles');
12874
- files.classList.remove(F_CLASS + '__files_view_list');
12875
- files.classList.add(F_CLASS + '__files_view_' + state.view);
12876
- this.storage.set(F_CLASS + '_view', state.view);
13425
+ files.setMod('view', state.view);
13426
+ if (this.o.saveStateInStorage &&
13427
+ this.o.saveStateInStorage.storeView) {
13428
+ this.storage.set('view', state.view);
13429
+ }
12877
13430
  })
12878
13431
  .on('change.sortBy', () => {
12879
- this.storage.set(F_CLASS + '_sortby', state.sortBy);
13432
+ if (this.o.saveStateInStorage &&
13433
+ this.o.saveStateInStorage.storeSortBy) {
13434
+ this.storage.set('sortBy', state.sortBy);
13435
+ }
12880
13436
  })
12881
13437
  .on('change.elements', this.async.debounce(() => {
12882
- dom/* Dom.detach */.i.detach(files);
13438
+ dom/* Dom.detach */.i.detach(files.container);
12883
13439
  if (state.elements.length) {
12884
13440
  state.elements.forEach(item => {
12885
- this.files.appendChild(getDomElement(item));
13441
+ this.files.container.appendChild(getDomElement(item));
12886
13442
  });
12887
13443
  }
12888
13444
  else {
12889
- files.appendChild(create.div(F_CLASS + '_no_files', this.i18n('There are no files')));
13445
+ files.container.appendChild(create.div(this.componentName + '_no-files_true', this.i18n('There are no files')));
12890
13446
  }
12891
13447
  }, this.defaultTimeout))
12892
13448
  .on('change.sources', this.async.debounce(() => {
12893
- dom/* Dom.detach */.i.detach(this.tree);
13449
+ dom/* Dom.detach */.i.detach(this.tree.container);
12894
13450
  state.sources.forEach(source => {
12895
13451
  const sourceName = source.name;
12896
13452
  if (sourceName && sourceName !== state_listeners_DEFAULT_SOURCE_NAME) {
12897
- this.tree.appendChild(create.div(F_CLASS + '__source-title', sourceName));
13453
+ this.tree.container.appendChild(create.div(this.tree.getFullElName('source-title'), sourceName));
12898
13454
  }
12899
13455
  source.folders.forEach((name) => {
12900
- const folderElm = create.a(F_CLASS + '__tree-item', {
13456
+ const folderElm = create.a(this.tree.getFullElName('item'), {
12901
13457
  draggable: 'draggable',
12902
13458
  href: '#',
12903
13459
  'data-path': (0,normalize/* normalizePath */.AH)(source.path, name + '/'),
12904
13460
  'data-name': name,
12905
13461
  'data-source': sourceName,
12906
13462
  'data-source-path': source.path
12907
- }, create.span(F_CLASS + '__tree-item-title', name));
13463
+ }, create.span(this.tree.getFullElName('item-title'), name));
12908
13464
  const action = (actionName) => (e) => {
12909
13465
  this.e.fire(`${actionName}.filebrowser`, {
12910
13466
  name,
@@ -12915,7 +13471,7 @@ function stateListeners() {
12915
13471
  e.preventDefault();
12916
13472
  };
12917
13473
  this.e.on(folderElm, 'click', action('openFolder'));
12918
- this.tree.appendChild(folderElm);
13474
+ this.tree.container.appendChild(folderElm);
12919
13475
  if (name === '..' || name === '.') {
12920
13476
  return;
12921
13477
  }
@@ -12951,7 +13507,7 @@ function stateListeners() {
12951
13507
  source: sourceName
12952
13508
  });
12953
13509
  });
12954
- this.tree.appendChild(button.container);
13510
+ this.tree.append(button);
12955
13511
  }
12956
13512
  });
12957
13513
  }, this.defaultTimeout));
@@ -13612,8 +14168,7 @@ function openImageEditor(href, name, path, source, onSuccess, onFailed) {
13612
14168
 
13613
14169
 
13614
14170
 
13615
-
13616
- const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next', right = 'right') => `<div class="${CLASS_PREVIEW}navigation ${CLASS_PREVIEW}navigation-${next}">` +
14171
+ const CLASS_PREVIEW = 'jodit-filebrowser-preview', preview_tpl_next = (next = 'next', right = 'right') => `<div class="${CLASS_PREVIEW}__navigation ${CLASS_PREVIEW}__navigation_arrow_${next}">` +
13617
14172
  '' +
13618
14173
  ui/* Icon.get */.JO.get('angle-' + right) +
13619
14174
  '</a>';
@@ -13630,6 +14185,11 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
13630
14185
  let item = a;
13631
14186
  const opt = self.options, ga = (key) => (0,helpers.attr)(item, key) || '';
13632
14187
  self.async.setTimeout(() => {
14188
+ const selectedItem = elementToItem(a, self.elementsMap);
14189
+ if (!selectedItem) {
14190
+ return;
14191
+ }
14192
+ self.state.activeElements = [selectedItem];
13633
14193
  contextmenu.show(e.clientX, e.clientY, [
13634
14194
  ga('data-is-file') !== '1' &&
13635
14195
  opt.editImage &&
@@ -13672,7 +14232,7 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
13672
14232
  fullsize: self.o.fullsize,
13673
14233
  language: self.o.language,
13674
14234
  buttons: ['fullsize', 'dialog.close']
13675
- }), 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) => {
14235
+ }), 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) => {
13676
14236
  const image = self.c.element('img');
13677
14237
  image.setAttribute('src', src);
13678
14238
  const onload = () => {
@@ -13683,10 +14243,10 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
13683
14243
  self.e.off(image, 'load');
13684
14244
  dom/* Dom.detach */.i.detach(temp_content);
13685
14245
  if (opt.showPreviewNavigation) {
13686
- if (dom/* Dom.prevWithClass */.i.prevWithClass(item, ITEM_CLASS)) {
14246
+ if (dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item'))) {
13687
14247
  temp_content.appendChild(prev);
13688
14248
  }
13689
- if (dom/* Dom.nextWithClass */.i.nextWithClass(item, ITEM_CLASS)) {
14249
+ if (dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item'))) {
13690
14250
  temp_content.appendChild(next);
13691
14251
  }
13692
14252
  }
@@ -13701,25 +14261,25 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
13701
14261
  }
13702
14262
  };
13703
14263
  self.e.on([next, prev], 'click', function () {
13704
- if (this.classList.contains(CLASS_PREVIEW +
13705
- 'navigation-next')) {
13706
- item = dom/* Dom.nextWithClass */.i.nextWithClass(item, ITEM_CLASS);
14264
+ if (this === next) {
14265
+ item = dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item'));
13707
14266
  }
13708
14267
  else {
13709
- item = dom/* Dom.prevWithClass */.i.prevWithClass(item, ITEM_CLASS);
14268
+ item = dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item'));
13710
14269
  }
13711
14270
  if (!item) {
13712
14271
  throw (0,helpers.error)('Need element');
13713
14272
  }
13714
14273
  dom/* Dom.detach */.i.detach(temp_content);
13715
14274
  dom/* Dom.detach */.i.detach(preview_box);
13716
- temp_content.innerHTML = ICON_LOADER;
14275
+ temp_content.innerHTML =
14276
+ '<div class="jodit-icon_loader"></div>';
13717
14277
  addLoadHandler(ga('href'));
13718
14278
  });
13719
14279
  self.e.on('beforeDestruct', () => {
13720
14280
  preview.destruct();
13721
14281
  });
13722
- preview.container.classList.add(F_CLASS + '_preview_dialog');
14282
+ preview.container.classList.add(CLASS_PREVIEW + '__dialog');
13723
14283
  preview.setContent(temp_content);
13724
14284
  preview.setPosition();
13725
14285
  preview.open();
@@ -13744,9 +14304,7 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
13744
14304
  }
13745
14305
  ]);
13746
14306
  }, self.defaultTimeout);
13747
- self === null || self === void 0 ? void 0 : self.e.on('beforeDestruct', () => {
13748
- contextmenu.destruct();
13749
- });
14307
+ self === null || self === void 0 ? void 0 : self.dialog.e.on('beforeClose', () => contextmenu.close()).on('beforeDestruct', () => contextmenu.destruct());
13750
14308
  e.stopPropagation();
13751
14309
  e.preventDefault();
13752
14310
  return false;
@@ -13762,17 +14320,16 @@ const CLASS_PREVIEW = F_CLASS + '_preview_', preview_tpl_next = (next = 'next',
13762
14320
 
13763
14321
 
13764
14322
 
13765
-
13766
14323
  const getItem = (node, root, tag = 'a') => dom/* Dom.closest */.i.closest(node, elm => dom/* Dom.isTag */.i.isTag(elm, tag), root);
14324
+ const elementToItem = (elm, elementsMap) => {
14325
+ const { key } = elm.dataset, { item } = elementsMap[key || ''];
14326
+ return item;
14327
+ };
13767
14328
  function nativeListeners() {
13768
14329
  let dragElement = false;
13769
14330
  const self = this;
13770
- const elementToItem = (elm) => {
13771
- const { key } = elm.dataset, { item } = self.elementsMap[key || ''];
13772
- return item;
13773
- };
13774
14331
  self.e
13775
- .on(self.tree, 'dragstart', (e) => {
14332
+ .on(self.tree.container, 'dragstart', (e) => {
13776
14333
  const a = getItem(e.target, self.dialog.container);
13777
14334
  if (!a) {
13778
14335
  return;
@@ -13781,14 +14338,14 @@ function nativeListeners() {
13781
14338
  dragElement = a;
13782
14339
  }
13783
14340
  })
13784
- .on(self.tree, 'drop', (e) => {
14341
+ .on(self.tree.container, 'drop', (e) => {
13785
14342
  if ((self.o.moveFile || self.o.moveFolder) && dragElement) {
13786
14343
  let path = (0,helpers.attr)(dragElement, '-path') || '';
13787
14344
  if (!self.o.moveFolder &&
13788
- dragElement.classList.contains(F_CLASS + '__tree-item')) {
14345
+ dragElement.classList.contains(this.tree.getFullElName('item'))) {
13789
14346
  return false;
13790
14347
  }
13791
- if (dragElement.classList.contains(ITEM_CLASS)) {
14348
+ if (dragElement.classList.contains(this.files.getFullElName('item'))) {
13792
14349
  path += (0,helpers.attr)(dragElement, '-name');
13793
14350
  if (!self.o.moveFile) {
13794
14351
  return false;
@@ -13799,25 +14356,25 @@ function nativeListeners() {
13799
14356
  return;
13800
14357
  }
13801
14358
  self.dataProvider
13802
- .move(path, (0,helpers.attr)(a, '-path') || '', (0,helpers.attr)(a, '-source') || '', dragElement.classList.contains(ITEM_CLASS))
14359
+ .move(path, (0,helpers.attr)(a, '-path') || '', (0,helpers.attr)(a, '-source') || '', dragElement.classList.contains(this.files.getFullElName('item')))
13803
14360
  .then(() => {
13804
14361
  self.loadTree();
13805
14362
  }, self.status);
13806
14363
  dragElement = false;
13807
14364
  }
13808
14365
  })
13809
- .on(self.files, 'contextmenu', context_menu(self))
13810
- .on(self.files, 'click', (e) => {
14366
+ .on(self.files.container, 'contextmenu', context_menu(self))
14367
+ .on(self.files.container, 'click', (e) => {
13811
14368
  if (!(0,helpers.ctrlKey)(e)) {
13812
14369
  this.state.activeElements = [];
13813
14370
  }
13814
14371
  })
13815
- .on(self.files, 'click', (e) => {
14372
+ .on(self.files.container, 'click', (e) => {
13816
14373
  const a = getItem(e.target, self.dialog.container);
13817
14374
  if (!a) {
13818
14375
  return;
13819
14376
  }
13820
- const item = elementToItem(a);
14377
+ const item = elementToItem(a, self.elementsMap);
13821
14378
  if (!item) {
13822
14379
  return;
13823
14380
  }
@@ -13833,7 +14390,7 @@ function nativeListeners() {
13833
14390
  e.stopPropagation();
13834
14391
  return false;
13835
14392
  })
13836
- .on(self.files, 'dragstart', (e) => {
14393
+ .on(self.files.container, 'dragstart', (e) => {
13837
14394
  if (self.o.moveFile) {
13838
14395
  const a = getItem(e.target, self.dialog.container);
13839
14396
  if (!a) {
@@ -13972,6 +14529,43 @@ function selfListeners() {
13972
14529
  });
13973
14530
  }
13974
14531
 
14532
+ ;// CONCATENATED MODULE: ./src/modules/file-browser/ui/files/files.ts
14533
+ /*!
14534
+ * Jodit Editor (https://xdsoft.net/jodit/)
14535
+ * Released under MIT see LICENSE.txt in the project root for license information.
14536
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
14537
+ */
14538
+
14539
+
14540
+ class FileBrowserFiles extends ui/* UIGroup */.qe {
14541
+ className() {
14542
+ return 'FilebrowserFiles';
14543
+ }
14544
+ }
14545
+
14546
+ ;// CONCATENATED MODULE: ./src/modules/file-browser/ui/tree/tree.ts
14547
+ /*!
14548
+ * Jodit Editor (https://xdsoft.net/jodit/)
14549
+ * Released under MIT see LICENSE.txt in the project root for license information.
14550
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
14551
+ */
14552
+
14553
+
14554
+ class FileBrowserTree extends ui/* UIGroup */.qe {
14555
+ className() {
14556
+ return 'FilebrowserTree';
14557
+ }
14558
+ }
14559
+
14560
+ ;// CONCATENATED MODULE: ./src/modules/file-browser/ui/index.ts
14561
+ /*!
14562
+ * Jodit Editor (https://xdsoft.net/jodit/)
14563
+ * Released under MIT see LICENSE.txt in the project root for license information.
14564
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
14565
+ */
14566
+
14567
+
14568
+
13975
14569
  ;// CONCATENATED MODULE: ./src/modules/file-browser/file-browser.ts
13976
14570
  /*!
13977
14571
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -14000,11 +14594,11 @@ class FileBrowser extends ViewWithToolbar {
14000
14594
  constructor(options) {
14001
14595
  var _a;
14002
14596
  super(options);
14003
- this.loader = this.c.div(F_CLASS + '__loader', ICON_LOADER);
14004
- this.browser = this.c.div(F_CLASS + ' non-selected');
14005
- this.status_line = this.c.div(F_CLASS + '__status');
14006
- this.tree = this.c.div(F_CLASS + '__tree');
14007
- this.files = this.c.div(F_CLASS + '__files');
14597
+ this.loader = this.c.div(this.getFullElName('loader'), '<div class="jodit-icon_loader"></div>');
14598
+ this.browser = this.c.div(this.componentName);
14599
+ this.status_line = this.c.div(this.getFullElName('status'));
14600
+ this.tree = new FileBrowserTree(this);
14601
+ this.files = new FileBrowserFiles(this);
14008
14602
  this.state = events/* ObserveObject.create */.P5.create({
14009
14603
  currentPath: '',
14010
14604
  currentSource: DEFAULT_SOURCE_NAME,
@@ -14033,7 +14627,7 @@ class FileBrowser extends ViewWithToolbar {
14033
14627
  this.attachEvents(options);
14034
14628
  const self = this;
14035
14629
  self.options = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.filebrowser */.D.defaultOptions.filebrowser);
14036
- self.storage = Storage.makeStorage(this.o.saveStateInStorage);
14630
+ self.storage = Storage.makeStorage(Boolean(this.o.saveStateInStorage), this.componentName);
14037
14631
  self.dataProvider = makeDataProvider(self, self.options);
14038
14632
  self.dialog = new Dialog({
14039
14633
  fullsize: self.o.fullsize,
@@ -14050,10 +14644,11 @@ class FileBrowser extends ViewWithToolbar {
14050
14644
  this.e.fire(proxyEvent);
14051
14645
  });
14052
14646
  });
14647
+ self.browser.component = this;
14053
14648
  if (self.o.showFoldersPanel) {
14054
- self.browser.appendChild(self.tree);
14649
+ self.browser.appendChild(self.tree.container);
14055
14650
  }
14056
- self.browser.appendChild(self.files);
14651
+ self.browser.appendChild(self.files.container);
14057
14652
  self.browser.appendChild(self.status_line);
14058
14653
  selfListeners.call(self);
14059
14654
  nativeListeners.call(self);
@@ -14079,7 +14674,13 @@ class FileBrowser extends ViewWithToolbar {
14079
14674
  this.options[key] = (0,helpers.ConfigProto)(this.options[key], this.o.ajax);
14080
14675
  }
14081
14676
  });
14082
- const view = this.storage.get(F_CLASS + '_view');
14677
+ const { storeView, storeSortBy, storeLastOpenedFolder } = this.o
14678
+ .saveStateInStorage || {
14679
+ storeLastOpenedFolder: false,
14680
+ storeView: false,
14681
+ storeSortBy: false
14682
+ };
14683
+ const view = storeView && this.storage.get('view');
14083
14684
  if (view && this.o.view == null) {
14084
14685
  self.state.view = view === 'list' ? 'list' : 'tiles';
14085
14686
  }
@@ -14087,7 +14688,7 @@ class FileBrowser extends ViewWithToolbar {
14087
14688
  self.state.view = self.o.view === 'list' ? 'list' : 'tiles';
14088
14689
  }
14089
14690
  this.state.fire('change.view');
14090
- const sortBy = self.storage.get(F_CLASS + '_sortby');
14691
+ const sortBy = storeSortBy && self.storage.get('sortBy');
14091
14692
  if (sortBy) {
14092
14693
  const parts = sortBy.split('-');
14093
14694
  self.state.sortBy = ['changed', 'name', 'size'].includes(parts[0])
@@ -14097,14 +14698,19 @@ class FileBrowser extends ViewWithToolbar {
14097
14698
  else {
14098
14699
  self.state.sortBy = self.o.sortBy || 'changed-desc';
14099
14700
  }
14701
+ if (storeLastOpenedFolder) {
14702
+ const currentPath = self.storage.get('currentPath'), currentSource = self.storage.get('currentSource');
14703
+ self.state.currentPath = currentPath !== null && currentPath !== void 0 ? currentPath : '';
14704
+ self.state.currentSource = currentSource !== null && currentSource !== void 0 ? currentSource : '';
14705
+ }
14100
14706
  self.initUploader(self);
14101
14707
  }
14102
14708
  className() {
14103
- return 'FileBrowser';
14709
+ return 'Filebrowser';
14104
14710
  }
14105
14711
  async loadItems() {
14106
- this.files.classList.add('jodit-filebrowser_active');
14107
- this.files.appendChild(this.loader.cloneNode(true));
14712
+ this.files.setMod('active', true);
14713
+ this.files.container.appendChild(this.loader.cloneNode(true));
14108
14714
  return this.dataProvider
14109
14715
  .items(this.state.currentPath, this.state.currentSource, {
14110
14716
  sortBy: this.state.sortBy,
@@ -14125,9 +14731,9 @@ class FileBrowser extends ViewWithToolbar {
14125
14731
  this.uploader.setPath(this.state.currentPath);
14126
14732
  this.uploader.setSource(this.state.currentSource);
14127
14733
  }
14128
- this.tree.classList.add('jodit-filebrowser_active');
14129
- dom/* Dom.detach */.i.detach(this.tree);
14130
- this.tree.appendChild(this.loader.cloneNode(true));
14734
+ this.tree.setMod('active', true);
14735
+ dom/* Dom.detach */.i.detach(this.tree.container);
14736
+ this.tree.container.appendChild(this.loader.cloneNode(true));
14131
14737
  const items = this.loadItems();
14132
14738
  if (this.o.showFoldersPanel) {
14133
14739
  const tree = this.dataProvider
@@ -14142,7 +14748,7 @@ class FileBrowser extends ViewWithToolbar {
14142
14748
  return Promise.all([tree, items]).catch(helpers.error);
14143
14749
  }
14144
14750
  else {
14145
- this.tree.classList.remove('jodit-filebrowser_active');
14751
+ this.tree.setMod('active', false);
14146
14752
  }
14147
14753
  return items.catch(helpers.error);
14148
14754
  }
@@ -14187,16 +14793,17 @@ class FileBrowser extends ViewWithToolbar {
14187
14793
  if (!(0,helpers.isString)(message)) {
14188
14794
  message = message.message;
14189
14795
  }
14190
- this.status_line.classList.remove('jodit-filebrowser_success');
14191
- this.status_line.classList.add('jodit-filebrowser_active');
14796
+ const successClass = this.getFullElName('status', 'success', true), activeClass = this.getFullElName('status', 'active', true);
14797
+ this.status_line.classList.remove(successClass);
14798
+ this.status_line.classList.add(activeClass);
14192
14799
  const messageBox = this.c.div();
14193
14800
  messageBox.textContent = message;
14194
14801
  this.status_line.appendChild(messageBox);
14195
14802
  if (success) {
14196
- this.status_line.classList.add('jodit-filebrowser_success');
14803
+ this.status_line.classList.add(successClass);
14197
14804
  }
14198
14805
  this.async.setTimeout(() => {
14199
- this.status_line.classList.remove('jodit-filebrowser_active');
14806
+ this.status_line.classList.remove(activeClass);
14200
14807
  dom/* Dom.detach */.i.detach(this.status_line);
14201
14808
  }, {
14202
14809
  timeout: this.o.howLongShowMsg,
@@ -14213,9 +14820,9 @@ class FileBrowser extends ViewWithToolbar {
14213
14820
  }
14214
14821
  let localTimeout = 0;
14215
14822
  this.e
14216
- .off(this.files, 'dblclick')
14217
- .on(this.files, 'dblclick', this.onSelect(callback))
14218
- .on(this.files, 'touchstart', () => {
14823
+ .off(this.files.container, 'dblclick')
14824
+ .on(this.files.container, 'dblclick', this.onSelect(callback))
14825
+ .on(this.files.container, 'touchstart', () => {
14219
14826
  const now = new Date().getTime();
14220
14827
  if (now - localTimeout < constants.EMULATE_DBLCLICK_TIMEOUT) {
14221
14828
  this.onSelect(callback)();
@@ -14609,7 +15216,7 @@ class Observer extends component/* ViewComponent */.Hr {
14609
15216
  (0,decorators.debounce)()
14610
15217
  ], Observer.prototype, "onChange", null);
14611
15218
 
14612
- // EXTERNAL MODULE: ./src/core/selection/index.ts + 15 modules
15219
+ // EXTERNAL MODULE: ./src/core/selection/index.ts + 19 modules
14613
15220
  var selection = __webpack_require__(16);
14614
15221
  ;// CONCATENATED MODULE: ./src/modules/status-bar/status-bar.ts
14615
15222
  /*!
@@ -14620,10 +15227,12 @@ var selection = __webpack_require__(16);
14620
15227
 
14621
15228
 
14622
15229
 
15230
+
14623
15231
  class StatusBar extends component/* ViewComponent */.Hr {
14624
15232
  constructor(jodit, target) {
14625
15233
  super(jodit);
14626
15234
  this.target = target;
15235
+ this.mods = {};
14627
15236
  this.container = jodit.c.div('jodit-status-bar');
14628
15237
  target.appendChild(this.container);
14629
15238
  this.hide();
@@ -14640,6 +15249,13 @@ class StatusBar extends component/* ViewComponent */.Hr {
14640
15249
  get isShown() {
14641
15250
  return !this.container.classList.contains('jodit_hidden');
14642
15251
  }
15252
+ setMod(name, value) {
15253
+ traits/* Mods.setMod.call */.$.setMod.call(this, name, value);
15254
+ return this;
15255
+ }
15256
+ getMod(name) {
15257
+ return traits/* Mods.getMod.call */.$.getMod.call(this, name);
15258
+ }
14643
15259
  getHeight() {
14644
15260
  var _a, _b;
14645
15261
  return (_b = (_a = this.container) === null || _a === void 0 ? void 0 : _a.offsetHeight) !== null && _b !== void 0 ? _b : 0;
@@ -15767,7 +16383,7 @@ class Jodit extends ViewWithToolbar {
15767
16383
  }
15768
16384
  });
15769
16385
  this.e.on('prepareWYSIWYGEditor', this.prepareWYSIWYGEditor);
15770
- this.selection = new selection/* Select */.P(this);
16386
+ this.selection = new selection/* Select */.Ph(this);
15771
16387
  const beforeInitHookResult = this.beforeInitHook();
15772
16388
  (0,helpers.callPromise)(beforeInitHookResult, () => {
15773
16389
  this.e.fire('beforeInit', this);
@@ -15812,12 +16428,6 @@ class Jodit extends ViewWithToolbar {
15812
16428
  div.innerHTML = this.getElementValue();
15813
16429
  return div.innerText || '';
15814
16430
  }
15815
- get value() {
15816
- return this.getEditorValue();
15817
- }
15818
- set value(html) {
15819
- this.setEditorValue(html);
15820
- }
15821
16431
  get defaultTimeout() {
15822
16432
  return this.options && this.o.observer
15823
16433
  ? this.o.observer.timeout
@@ -15950,9 +16560,15 @@ class Jodit extends ViewWithToolbar {
15950
16560
  this.editor.innerHTML = data.value;
15951
16561
  }
15952
16562
  }
15953
- getEditorValue(removeSelectionMarkers = true) {
16563
+ get value() {
16564
+ return this.getEditorValue();
16565
+ }
16566
+ set value(html) {
16567
+ this.setEditorValue(html);
16568
+ }
16569
+ getEditorValue(removeSelectionMarkers = true, consumer) {
15954
16570
  let value;
15955
- value = this.e.fire('beforeGetValueFromEditor');
16571
+ value = this.e.fire('beforeGetValueFromEditor', consumer);
15956
16572
  if (value !== undefined) {
15957
16573
  return value;
15958
16574
  }
@@ -15964,7 +16580,7 @@ class Jodit extends ViewWithToolbar {
15964
16580
  value = '';
15965
16581
  }
15966
16582
  const new_value = { value };
15967
- this.e.fire('afterGetValueFromEditor', new_value);
16583
+ this.e.fire('afterGetValueFromEditor', new_value, consumer);
15968
16584
  return new_value.value;
15969
16585
  }
15970
16586
  setEditorValue(value) {
@@ -16565,7 +17181,7 @@ Jodit.core = {
16565
17181
 
16566
17182
  ;// CONCATENATED MODULE: ./src/langs/index.ts
16567
17183
 
16568
- const en = __webpack_require__(44);
17184
+ const en = __webpack_require__(45);
16569
17185
  let exp = {
16570
17186
  en
16571
17187
  };
@@ -16604,6 +17220,7 @@ config/* Config.prototype.addNewLineTagsTriggers */.D.prototype.addNewLineTagsTr
16604
17220
  'iframe',
16605
17221
  'img',
16606
17222
  'hr',
17223
+ 'pre',
16607
17224
  'jodit'
16608
17225
  ];
16609
17226
  config/* Config.prototype.addNewLineDeltaShow */.D.prototype.addNewLineDeltaShow = 20;
@@ -16902,7 +17519,7 @@ function focus_focus(editor) {
16902
17519
 
16903
17520
  config/* Config.prototype.controls.classSpan */.D.prototype.controls.classSpan = {
16904
17521
  command: 'applyClassName',
16905
- icon: __webpack_require__(45),
17522
+ icon: __webpack_require__(46),
16906
17523
  exec: helpers.memorizeExec,
16907
17524
  list: [
16908
17525
  'enabled',
@@ -17042,8 +17659,10 @@ config/* Config.prototype.delete */.D.prototype["delete"] = {
17042
17659
  hotkeys: {
17043
17660
  delete: ['delete', 'cmd+backspace'],
17044
17661
  deleteWord: ['ctrl+delete', 'cmd+alt+backspace', 'ctrl+alt+backspace'],
17662
+ deleteSentence: ['ctrl+shift+delete', 'cmd+shift+delete'],
17045
17663
  backspace: ['backspace'],
17046
- backspaceWord: ['ctrl+backspace']
17664
+ backspaceWord: ['ctrl+backspace'],
17665
+ backspaceSentence: ['ctrl+shift+backspace', 'cmd+shift+backspace']
17047
17666
  }
17048
17667
  };
17049
17668
  class Delete extends Plugin {
@@ -17074,12 +17693,20 @@ class Delete extends Plugin {
17074
17693
  stopPropagation: false
17075
17694
  })
17076
17695
  .registerCommand('deleteWordButton', {
17077
- exec: () => this.onDelete(false, true),
17696
+ exec: () => this.onDelete(false, 'word'),
17078
17697
  hotkeys: jodit.o.delete.hotkeys.deleteWord
17079
17698
  })
17080
17699
  .registerCommand('backspaceWordButton', {
17081
- exec: () => this.onDelete(true, true),
17700
+ exec: () => this.onDelete(true, 'word'),
17082
17701
  hotkeys: jodit.o.delete.hotkeys.backspaceWord
17702
+ })
17703
+ .registerCommand('deleteSentenceButton', {
17704
+ exec: () => this.onDelete(false, 'sentence'),
17705
+ hotkeys: jodit.o.delete.hotkeys.deleteSentence
17706
+ })
17707
+ .registerCommand('backspaceSentenceButton', {
17708
+ exec: () => this.onDelete(true, 'sentence'),
17709
+ hotkeys: jodit.o.delete.hotkeys.backspaceSentence
17083
17710
  });
17084
17711
  }
17085
17712
  beforeDestruct(jodit) {
@@ -17099,7 +17726,7 @@ class Delete extends Plugin {
17099
17726
  jodit.s.removeNode(node);
17100
17727
  }
17101
17728
  }
17102
- onDelete(backspace, block = false) {
17729
+ onDelete(backspace, mode = 'char') {
17103
17730
  var _a;
17104
17731
  const sel = this.j.selection;
17105
17732
  if (!sel.isFocused()) {
@@ -17118,7 +17745,7 @@ class Delete extends Plugin {
17118
17745
  }
17119
17746
  normalizeCursorPosition(fakeNode, backspace);
17120
17747
  if (this.checkRemoveInseparableElement(fakeNode, backspace) ||
17121
- this.checkRemoveChar(fakeNode, backspace, block) ||
17748
+ this.checkRemoveChar(fakeNode, backspace, mode) ||
17122
17749
  this.checkTableCell(fakeNode) ||
17123
17750
  this.checkRemoveEmptyParent(fakeNode, backspace) ||
17124
17751
  this.checkRemoveEmptyNeighbor(fakeNode, backspace) ||
@@ -17144,7 +17771,7 @@ class Delete extends Plugin {
17144
17771
  return true;
17145
17772
  }
17146
17773
  }
17147
- checkRemoveChar(fakeNode, backspace, block) {
17774
+ checkRemoveChar(fakeNode, backspace, mode) {
17148
17775
  var _a, _b, _c;
17149
17776
  const step = backspace ? -1 : 1;
17150
17777
  const anotherSibling = getSibling(fakeNode, !backspace);
@@ -17201,8 +17828,11 @@ class Delete extends Plugin {
17201
17828
  if (!(0,helpers.isVoid)(removed) && removed !== constants.INVISIBLE_SPACE) {
17202
17829
  charRemoved = true;
17203
17830
  (0,helpers.call)(backspace ? dom/* Dom.after */.i.after : dom/* Dom.before */.i.before, sibling, fakeNode);
17204
- if (block) {
17205
- while (this.checkRemoveChar(fakeNode, backspace, false)) { }
17831
+ if (mode === 'sentence' ||
17832
+ (mode === 'word' &&
17833
+ removed !== ' ' &&
17834
+ removed !== constants.NBSP_SPACE)) {
17835
+ this.checkRemoveChar(fakeNode, backspace, mode);
17206
17836
  }
17207
17837
  break;
17208
17838
  }
@@ -17455,7 +18085,7 @@ config/* Config.prototype.controls.underline */.D.prototype.controls.underline =
17455
18085
  tagRegExp: /^(u)$/i,
17456
18086
  tags: ['u'],
17457
18087
  css: {
17458
- 'text-decoration': 'underline'
18088
+ 'text-decoration-line': 'underline'
17459
18089
  },
17460
18090
  tooltip: 'Underline'
17461
18091
  };
@@ -17463,7 +18093,7 @@ config/* Config.prototype.controls.strikethrough */.D.prototype.controls.striket
17463
18093
  tagRegExp: /^(s)$/i,
17464
18094
  tags: ['s'],
17465
18095
  css: {
17466
- 'text-decoration': 'line-through'
18096
+ 'text-decoration-line': 'line-through'
17467
18097
  },
17468
18098
  tooltip: 'Strike through'
17469
18099
  };
@@ -18300,7 +18930,7 @@ class paste extends Plugin {
18300
18930
  const keep = (0,ui_button/* Button */.zx)(this.j, {
18301
18931
  text: 'Keep',
18302
18932
  name: 'keep',
18303
- status: 'primary',
18933
+ variant: 'primary',
18304
18934
  tabIndex: 0
18305
18935
  });
18306
18936
  const clear = (0,ui_button/* Button */.zx)(this.j, {
@@ -18628,7 +19258,7 @@ function copyFormat(editor) {
18628
19258
 
18629
19259
 
18630
19260
  // EXTERNAL MODULE: ./src/modules/widget/index.ts + 3 modules
18631
- var widget = __webpack_require__(46);
19261
+ var widget = __webpack_require__(47);
18632
19262
  ;// CONCATENATED MODULE: ./src/plugins/color.ts
18633
19263
  /*!
18634
19264
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -18786,6 +19416,7 @@ function color(editor) {
18786
19416
 
18787
19417
 
18788
19418
 
19419
+
18789
19420
  class DragAndDrop extends Plugin {
18790
19421
  constructor() {
18791
19422
  super(...arguments);
@@ -18820,7 +19451,7 @@ class DragAndDrop extends Plugin {
18820
19451
  this.startDragPoint.x = event.clientX;
18821
19452
  this.startDragPoint.y = event.clientY;
18822
19453
  if (dom/* Dom.isElement */.i.isElement(target) &&
18823
- target.classList.contains('jodit-filebrowser__files-item')) {
19454
+ target.classList.contains(FileBrowserFiles.prototype.getFullElName('item'))) {
18824
19455
  target = target.querySelector('img');
18825
19456
  }
18826
19457
  if (dom/* Dom.isTag */.i.isTag(target, 'img')) {
@@ -19442,7 +20073,14 @@ config/* Config.prototype.controls.font */.D.prototype.controls.font = {
19442
20073
  'Verdana,Geneva,sans-serif': 'Verdana'
19443
20074
  },
19444
20075
  childTemplate: (editor, key, value) => {
19445
- return `<span style="font-family: ${key}!important;">${value}</span>`;
20076
+ let isAvailable = false;
20077
+ try {
20078
+ isAvailable =
20079
+ key.indexOf('dings') === -1 &&
20080
+ document.fonts.check(`16px ${key}`, value);
20081
+ }
20082
+ catch (_a) { }
20083
+ return `<span style="${isAvailable ? `font-family: ${key}!important;` : ''}">${value}</span>`;
19446
20084
  },
19447
20085
  data: {
19448
20086
  cssRule: 'font-family',
@@ -20185,7 +20823,7 @@ function positionTab(editor) {
20185
20823
 
20186
20824
 
20187
20825
  // EXTERNAL MODULE: ./src/plugins/image/helpers.ts
20188
- var image_helpers = __webpack_require__(47);
20826
+ var image_helpers = __webpack_require__(48);
20189
20827
  ;// CONCATENATED MODULE: ./src/plugins/image/image-properties/image-properties.ts
20190
20828
  /*!
20191
20829
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -20610,6 +21248,10 @@ class imageProperties extends Plugin {
20610
21248
  return;
20611
21249
  }
20612
21250
  if (editor.o.image.openOnDblClick) {
21251
+ if (this.j.e.fire('openOnDblClick', image) ===
21252
+ false) {
21253
+ return;
21254
+ }
20613
21255
  self.state.image = image;
20614
21256
  if (!editor.o.readonly) {
20615
21257
  e.stopImmediatePropagation();
@@ -20882,11 +21524,12 @@ config/* Config.prototype.toolbarInlineForSelection */.D.prototype.toolbarInline
20882
21524
  config/* Config.prototype.toolbarInlineDisableFor */.D.prototype.toolbarInlineDisableFor = [];
20883
21525
  config/* Config.prototype.toolbarInlineDisabledButtons */.D.prototype.toolbarInlineDisabledButtons = ['source'];
20884
21526
  config/* Config.prototype.popup */.D.prototype.popup = {
20885
- a: __webpack_require__(48)/* ["default"] */ .Z,
20886
- img: __webpack_require__(49)/* ["default"] */ .Z,
20887
- cells: __webpack_require__(50)/* ["default"] */ .Z,
20888
- jodit: __webpack_require__(51)/* ["default"] */ .Z,
20889
- 'jodit-media': __webpack_require__(51)/* ["default"] */ .Z,
21527
+ a: __webpack_require__(49)/* ["default"] */ .Z,
21528
+ img: __webpack_require__(50)/* ["default"] */ .Z,
21529
+ cells: __webpack_require__(51)/* ["default"] */ .Z,
21530
+ toolbar: __webpack_require__(52)/* ["default"] */ .Z,
21531
+ jodit: __webpack_require__(53)/* ["default"] */ .Z,
21532
+ 'jodit-media': __webpack_require__(53)/* ["default"] */ .Z,
20890
21533
  selection: [
20891
21534
  'bold',
20892
21535
  'underline',
@@ -21004,6 +21647,7 @@ class inlinePopup extends Plugin {
21004
21647
  }
21005
21648
  })
21006
21649
  .on('hidePopup', this.hidePopup)
21650
+ .on('showInlineToolbar', this.showInlineToolbar)
21007
21651
  .on('showPopup', (elm, rect, type) => {
21008
21652
  this.showPopup(rect, type || ((0,helpers.isString)(elm) ? elm : elm.nodeName), (0,helpers.isString)(elm) ? undefined : elm);
21009
21653
  })
@@ -21079,6 +21723,15 @@ class inlinePopup extends Plugin {
21079
21723
  removeListenersForElements() {
21080
21724
  this.j.e.off(this.elmsList.map(e => (0,helpers.camelCase)(`click_${e}`)).join(' '), this.onClick);
21081
21725
  }
21726
+ showInlineToolbar(bound) {
21727
+ this.showPopup(() => {
21728
+ if (bound) {
21729
+ return bound;
21730
+ }
21731
+ const { range } = this.j.s;
21732
+ return range.getBoundingClientRect();
21733
+ }, 'toolbar');
21734
+ }
21082
21735
  }
21083
21736
  (0,tslib_es6/* __decorate */.gn)([
21084
21737
  decorators.autobind
@@ -21102,6 +21755,9 @@ class inlinePopup extends Plugin {
21102
21755
  (0,tslib_es6/* __decorate */.gn)([
21103
21756
  (0,decorators.debounce)(ctx => ctx.defaultTimeout)
21104
21757
  ], inlinePopup.prototype, "onSelectionChange", null);
21758
+ (0,tslib_es6/* __decorate */.gn)([
21759
+ decorators.autobind
21760
+ ], inlinePopup.prototype, "showInlineToolbar", null);
21105
21761
 
21106
21762
  ;// CONCATENATED MODULE: ./src/plugins/justify.ts
21107
21763
  /*!
@@ -21317,7 +21973,7 @@ class limit extends Plugin {
21317
21973
  ], limit.prototype, "checkPreventChanging", null);
21318
21974
 
21319
21975
  // EXTERNAL MODULE: ./src/core/ui/form/index.ts + 11 modules
21320
- var ui_form = __webpack_require__(43);
21976
+ var ui_form = __webpack_require__(44);
21321
21977
  ;// CONCATENATED MODULE: ./src/plugins/link/template.ts
21322
21978
  /*!
21323
21979
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -21389,13 +22045,13 @@ const formTemplate = (editor) => {
21389
22045
  new ui_form/* UIBlock */.eC(editor, [
21390
22046
  new ui_button/* UIButton */.y3(editor, {
21391
22047
  name: 'unlink',
21392
- status: 'default',
22048
+ variant: 'default',
21393
22049
  text: 'Unlink'
21394
22050
  }),
21395
22051
  new ui_button/* UIButton */.y3(editor, {
21396
22052
  name: 'insert',
21397
22053
  type: 'submit',
21398
- status: 'primary',
22054
+ variant: 'primary',
21399
22055
  text: 'Insert'
21400
22056
  })
21401
22057
  ], {
@@ -21986,15 +22642,9 @@ function mobile(editor) {
21986
22642
  }
21987
22643
  editor.e.on('getDiffButtons.mobile', (toolbar) => {
21988
22644
  if (toolbar === editor.toolbar) {
21989
- const buttons = (0,helpers.splitArray)(editor.o.buttons), flatStore = (0,helpers_buttons/* flatButtonsSet */.q)(store);
21990
- return buttons.reduce((acc, item) => {
21991
- if ((0,helpers_buttons/* isButtonGroup */.A)(item)) {
21992
- acc.push({
21993
- ...item,
21994
- buttons: item.buttons.filter(btn => !flatStore.has(btn))
21995
- });
21996
- }
21997
- else if (!flatStore.has(item)) {
22645
+ const buttons = (0,helpers_buttons/* flatButtonsSet */.q)((0,helpers.splitArray)(editor.o.buttons), editor), flatStore = (0,helpers_buttons/* flatButtonsSet */.q)(store, editor);
22646
+ return (0,helpers.toArray)(buttons).reduce((acc, item) => {
22647
+ if (!flatStore.has(item)) {
21998
22648
  acc.push(item);
21999
22649
  }
22000
22650
  return acc;
@@ -22041,6 +22691,9 @@ function mobile(editor) {
22041
22691
 
22042
22692
 
22043
22693
 
22694
+
22695
+
22696
+
22044
22697
  const exec = (jodit, _, { control }) => {
22045
22698
  const key = `button${control.command}`;
22046
22699
  const value = (control.args && control.args[0]) || (0,helpers.dataBind)(jodit, key);
@@ -22073,8 +22726,41 @@ config/* Config.prototype.controls.ol */.D.prototype.controls.ol = {
22073
22726
  },
22074
22727
  exec
22075
22728
  };
22076
- function orderedList(editor) {
22077
- 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) => {
22729
+ class orderedList extends Plugin {
22730
+ constructor() {
22731
+ super(...arguments);
22732
+ this.buttons = [
22733
+ {
22734
+ name: 'ul',
22735
+ group: 'list'
22736
+ },
22737
+ {
22738
+ name: 'ol',
22739
+ group: 'list'
22740
+ }
22741
+ ];
22742
+ }
22743
+ afterInit(jodit) {
22744
+ jodit
22745
+ .registerCommand('insertUnorderedList', this.onCommand)
22746
+ .registerCommand('insertOrderedList', this.onCommand);
22747
+ }
22748
+ onCommand(command, _, type) {
22749
+ this.jodit.s.applyStyle({
22750
+ listStyleType: type !== null && type !== void 0 ? type : null
22751
+ }, {
22752
+ element: command === 'insertunorderedlist' ? 'ul' : 'ol'
22753
+ });
22754
+ this.jodit.setEditorValue();
22755
+ return false;
22756
+ }
22757
+ beforeDestruct(jodit) { }
22758
+ }
22759
+ (0,tslib_es6/* __decorate */.gn)([
22760
+ decorators.autobind
22761
+ ], orderedList.prototype, "onCommand", null);
22762
+ function orderedList1(editor) {
22763
+ 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) => {
22078
22764
  const value = el.style.listStyleType;
22079
22765
  return (value === listStyleType ||
22080
22766
  (!value && listStyleType === 'default'));
@@ -22091,9 +22777,9 @@ function orderedList(editor) {
22091
22777
  if (isOurCommand(command) && listStyleType) {
22092
22778
  const ul = getListWrapper();
22093
22779
  if (ul && !listStyleTypeEqual(ul, listStyleType)) {
22094
- if ((dom/* Dom.isTag */.i.isTag(ul, 'ul') &&
22780
+ if ((Dom.isTag(ul, 'ul') &&
22095
22781
  /unordered/i.test(command)) ||
22096
- (dom/* Dom.isTag */.i.isTag(ul, 'ol') && !/unordered/i.test(command))) {
22782
+ (Dom.isTag(ul, 'ol') && !/unordered/i.test(command))) {
22097
22783
  setListStyleType(ul, listStyleType);
22098
22784
  return false;
22099
22785
  }
@@ -22111,7 +22797,7 @@ function orderedList(editor) {
22111
22797
  });
22112
22798
  }
22113
22799
  const unwrapList = [], shouldUnwrap = (elm) => {
22114
- if (dom/* Dom.isTag */.i.isTag(elm, [
22800
+ if (Dom.isTag(elm, [
22115
22801
  'p',
22116
22802
  'h1',
22117
22803
  'h2',
@@ -22128,12 +22814,12 @@ function orderedList(editor) {
22128
22814
  ul.querySelectorAll('li').forEach(li => shouldUnwrap(li.firstChild));
22129
22815
  if (unwrapList.length) {
22130
22816
  editor.s.save();
22131
- (0,helpers.toArray)(ul.childNodes).forEach(li => {
22132
- if (dom/* Dom.isTag */.i.isTag(li.lastChild, 'br')) {
22133
- dom/* Dom.safeRemove */.i.safeRemove(li.lastChild);
22817
+ toArray(ul.childNodes).forEach(li => {
22818
+ if (Dom.isTag(li.lastChild, 'br')) {
22819
+ Dom.safeRemove(li.lastChild);
22134
22820
  }
22135
22821
  });
22136
- unwrapList.forEach(elm => dom/* Dom.unwrap */.i.unwrap(elm));
22822
+ unwrapList.forEach(elm => Dom.unwrap(elm));
22137
22823
  editor.s.restore();
22138
22824
  }
22139
22825
  }
@@ -22142,6 +22828,31 @@ function orderedList(editor) {
22142
22828
  });
22143
22829
  }
22144
22830
 
22831
+ ;// CONCATENATED MODULE: ./src/plugins/powered-by-jodit.ts
22832
+ /*!
22833
+ * Jodit Editor (https://xdsoft.net/jodit/)
22834
+ * Released under MIT see LICENSE.txt in the project root for license information.
22835
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
22836
+ */
22837
+ function poweredByJodit(jodit) {
22838
+ if (!jodit.o.hidePoweredByJodit &&
22839
+ !jodit.o.inline &&
22840
+ (jodit.o.showCharsCounter ||
22841
+ jodit.o.showWordsCounter ||
22842
+ jodit.o.showXPathInStatusbar)) {
22843
+ jodit.hookStatus('ready', () => {
22844
+ jodit.statusbar.append(jodit.create.fromHTML(`<a
22845
+ tabindex="-1"
22846
+ style="text-transform: uppercase"
22847
+ class="jodit-status-bar-link"
22848
+ target="_blank"
22849
+ href="https://xdsoft.net/jodit/">
22850
+ Powered by Jodit
22851
+ </a>`), true);
22852
+ });
22853
+ }
22854
+ }
22855
+
22145
22856
  ;// CONCATENATED MODULE: ./src/plugins/placeholder/placeholder.ts
22146
22857
  /*!
22147
22858
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -22373,10 +23084,10 @@ class resizer extends Plugin {
22373
23084
  this.height = 0;
22374
23085
  this.ratio = 0;
22375
23086
  this.rect = this.j.c.fromHTML(`<div class="jodit-resizer">
22376
- <i class="jodit-resizer-topleft"></i>
22377
- <i class="jodit-resizer-topright"></i>
22378
- <i class="jodit-resizer-bottomright"></i>
22379
- <i class="jodit-resizer-bottomleft"></i>
23087
+ <div class="jodit-resizer__top-left"></div>
23088
+ <div class="jodit-resizer__top-right"></div>
23089
+ <div class="jodit-resizer__bottom-right"></div>
23090
+ <div class="jodit-resizer__bottom-left"></div>
22380
23091
  <span>100x100</span>
22381
23092
  </div>`);
22382
23093
  this.sizeViewer = this.rect.getElementsByTagName('span')[0];
@@ -22470,7 +23181,7 @@ class resizer extends Plugin {
22470
23181
  if (this.element && this.rect) {
22471
23182
  const workplacePosition = this.getWorkplacePosition();
22472
23183
  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;
22473
- const newTop = pos.top - 1 - workplacePosition.top, newLeft = pos.left - 1 - workplacePosition.left;
23184
+ const newTop = pos.top - workplacePosition.top, newLeft = pos.left - workplacePosition.left;
22474
23185
  if (top !== newTop ||
22475
23186
  left !== newLeft ||
22476
23187
  w !== this.element.offsetWidth ||
@@ -22495,7 +23206,7 @@ class resizer extends Plugin {
22495
23206
  };
22496
23207
  }
22497
23208
  afterInit(editor) {
22498
- (0,helpers.$$)('i', this.rect).forEach((resizeHandle) => {
23209
+ (0,helpers.$$)('div', this.rect).forEach((resizeHandle) => {
22499
23210
  editor.e.on(resizeHandle, 'mousedown.resizer touchstart.resizer', this.onClickHandle.bind(this, resizeHandle));
22500
23211
  });
22501
23212
  global/* eventEmitter.on */.TB.on('hideHelpers', this.hide);
@@ -23255,6 +23966,7 @@ config/* Config.prototype.saveHeightInStorage */.D.prototype.saveHeightInStorage
23255
23966
 
23256
23967
 
23257
23968
 
23969
+
23258
23970
  let resizeHandler = class resizeHandler extends Plugin {
23259
23971
  constructor() {
23260
23972
  super(...arguments);
@@ -23265,7 +23977,7 @@ let resizeHandler = class resizeHandler extends Plugin {
23265
23977
  w: 0,
23266
23978
  h: 0
23267
23979
  };
23268
- this.handle = this.j.c.div('jodit-editor__resize', '<span tabindex="-1"></span>');
23980
+ this.handle = this.j.c.div('jodit-editor__resize', ui/* Icon.get */.JO.get('resize_handler'));
23269
23981
  }
23270
23982
  afterInit(editor) {
23271
23983
  const { height, width, allowResizeX } = editor.o;
@@ -23275,6 +23987,7 @@ let resizeHandler = class resizeHandler extends Plugin {
23275
23987
  }
23276
23988
  if ((height !== 'auto' || width !== 'auto') &&
23277
23989
  (allowResizeX || allowResizeY)) {
23990
+ editor.statusbar.setMod('resize-handle', true);
23278
23991
  editor.e
23279
23992
  .on('toggleFullSize.resizeHandler', () => {
23280
23993
  this.handle.style.display = editor.isFullSize
@@ -23349,7 +24062,8 @@ let size = class size extends Plugin {
23349
24062
  .on('afterInit.size changePlace.size', this.initialize, undefined, true)
23350
24063
  .on(editor.ow, 'load.size', this.resizeWorkspaces)
23351
24064
  .on('afterInit.size resize.size afterUpdateToolbar.size ' +
23352
- 'scroll.size afterResize.size toggleFullSize.size', this.resizeWorkspaces);
24065
+ 'scroll.size afterResize.size', this.resizeWorkspaces)
24066
+ .on('toggleFullSize.size toggleToolbar.size', this.resizeWorkspaceImd);
23353
24067
  this.initialize();
23354
24068
  }
23355
24069
  initialize() {
@@ -23443,6 +24157,9 @@ let size = class size extends Plugin {
23443
24157
  jodit.e.off(jodit.ow, 'load.size', this.resizeWorkspaces).off('.size');
23444
24158
  }
23445
24159
  };
24160
+ (0,tslib_es6/* __decorate */.gn)([
24161
+ decorators.autobind
24162
+ ], size.prototype, "resizeWorkspaceImd", null);
23446
24163
  size = (0,tslib_es6/* __decorate */.gn)([
23447
24164
  decorators.autobind
23448
24165
  ], size);
@@ -23640,6 +24357,9 @@ class AceEditor extends SourceEditor {
23640
24357
  constructor() {
23641
24358
  super(...arguments);
23642
24359
  this.className = 'jodit_ace_editor';
24360
+ this.proxyOnBlur = (e) => {
24361
+ this.j.e.fire('blur', e);
24362
+ };
23643
24363
  this.proxyOnFocus = (e) => {
23644
24364
  this.j.e.fire('focus', e);
23645
24365
  };
@@ -23715,6 +24435,7 @@ class AceEditor extends SourceEditor {
23715
24435
  this.instance.on('change', this.toWYSIWYG);
23716
24436
  this.instance.on('focus', this.proxyOnFocus);
23717
24437
  this.instance.on('mousedown', this.proxyOnMouseDown);
24438
+ this.instance.on('blur', this.proxyOnBlur);
23718
24439
  if (editor.getRealMode() !== constants.MODE_WYSIWYG) {
23719
24440
  this.setValue(this.getValue());
23720
24441
  }
@@ -23855,6 +24576,14 @@ function createSourceEditor(type, editor, container, toWYSIWYG, fromWYSIWYG) {
23855
24576
  return sourceEditor;
23856
24577
  }
23857
24578
 
24579
+ ;// CONCATENATED MODULE: ./src/plugins/source/const.ts
24580
+ /*!
24581
+ * Jodit Editor (https://xdsoft.net/jodit/)
24582
+ * Released under MIT see LICENSE.txt in the project root for license information.
24583
+ * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
24584
+ */
24585
+ const SOURCE_CONSUMER = 'source-consumer';
24586
+
23858
24587
  ;// CONCATENATED MODULE: ./src/plugins/source/source.ts
23859
24588
  /*!
23860
24589
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -23870,6 +24599,7 @@ function createSourceEditor(type, editor, container, toWYSIWYG, fromWYSIWYG) {
23870
24599
 
23871
24600
 
23872
24601
 
24602
+
23873
24603
  class source extends Plugin {
23874
24604
  constructor() {
23875
24605
  super(...arguments);
@@ -23905,7 +24635,7 @@ class source extends Plugin {
23905
24635
  fromWYSIWYG(force = false) {
23906
24636
  if (!this.__lock || force === true) {
23907
24637
  this.__lock = true;
23908
- const new_value = this.j.getEditorValue(false);
24638
+ const new_value = this.j.getEditorValue(false, SOURCE_CONSUMER);
23909
24639
  if (new_value !== this.getMirrorValue()) {
23910
24640
  this.setMirrorValue(new_value);
23911
24641
  }
@@ -23926,6 +24656,16 @@ class source extends Plugin {
23926
24656
  this.__oldMirrorValue = value;
23927
24657
  }
23928
24658
  getNormalPosition(pos, str) {
24659
+ str = str.replace(/<(script|style|iframe)[^>]*>.*?<\/\1>/is, m => {
24660
+ let res = '';
24661
+ for (let i = 0; i < m.length; i += 1) {
24662
+ res += constants.INVISIBLE_SPACE;
24663
+ }
24664
+ return res;
24665
+ });
24666
+ while (pos > 0 && str[pos] === constants.INVISIBLE_SPACE) {
24667
+ pos--;
24668
+ }
23929
24669
  let start = pos;
23930
24670
  while (start > 0) {
23931
24671
  start--;
@@ -24056,7 +24796,7 @@ class source extends Plugin {
24056
24796
  var _a;
24057
24797
  (_a = this.sourceEditor) === null || _a === void 0 ? void 0 : _a.setPlaceHolder(text);
24058
24798
  })
24059
- .on('change.source', this.fromWYSIWYG)
24799
+ .on('change.source', this.syncValueFromWYSIWYG)
24060
24800
  .on('beautifyHTML', html => html);
24061
24801
  if (editor.o.beautifyHTML) {
24062
24802
  const addEventListener = () => {
@@ -24072,9 +24812,16 @@ class source extends Plugin {
24072
24812
  (0,helpers.loadNext)(editor, editor.o.beautifyHTMLCDNUrlsJS).then(addEventListener);
24073
24813
  }
24074
24814
  }
24075
- this.fromWYSIWYG();
24815
+ this.syncValueFromWYSIWYG(true);
24076
24816
  this.initSourceEditor(editor);
24077
24817
  }
24818
+ syncValueFromWYSIWYG(force = false) {
24819
+ const editor = this.j;
24820
+ if (editor.getMode() === constants.MODE_SPLIT ||
24821
+ editor.getMode() === constants.MODE_SOURCE) {
24822
+ this.fromWYSIWYG(force);
24823
+ }
24824
+ }
24078
24825
  initSourceEditor(editor) {
24079
24826
  var _a;
24080
24827
  if (editor.o.sourceEditor !== 'area') {
@@ -24083,14 +24830,14 @@ class source extends Plugin {
24083
24830
  var _a, _b;
24084
24831
  (_a = this.sourceEditor) === null || _a === void 0 ? void 0 : _a.destruct();
24085
24832
  this.sourceEditor = sourceEditor;
24086
- this.fromWYSIWYG(true);
24833
+ this.syncValueFromWYSIWYG(true);
24087
24834
  (_b = editor.events) === null || _b === void 0 ? void 0 : _b.fire('sourceEditorReady', editor);
24088
24835
  });
24089
24836
  }
24090
24837
  else {
24091
24838
  (_a = this.sourceEditor) === null || _a === void 0 ? void 0 : _a.onReadyAlways(() => {
24092
24839
  var _a;
24093
- this.fromWYSIWYG(true);
24840
+ this.syncValueFromWYSIWYG(true);
24094
24841
  (_a = editor.events) === null || _a === void 0 ? void 0 : _a.fire('sourceEditorReady', editor);
24095
24842
  });
24096
24843
  }
@@ -24130,6 +24877,9 @@ class source extends Plugin {
24130
24877
  (0,tslib_es6/* __decorate */.gn)([
24131
24878
  (0,decorators.watch)(':readonly.source')
24132
24879
  ], source.prototype, "onReadonlyReact", null);
24880
+ (0,tslib_es6/* __decorate */.gn)([
24881
+ decorators.autobind
24882
+ ], source.prototype, "syncValueFromWYSIWYG", null);
24133
24883
 
24134
24884
  ;// CONCATENATED MODULE: ./src/plugins/source/index.ts
24135
24885
  /*!
@@ -25581,15 +26331,27 @@ class tooltip extends Plugin {
25581
26331
 
25582
26332
  config/* Config.prototype.controls.preview */.D.prototype.controls.preview = {
25583
26333
  icon: 'eye',
25584
- exec: (editor) => {
26334
+ command: 'preview',
26335
+ mode: constants.MODE_SOURCE + constants.MODE_WYSIWYG,
26336
+ tooltip: 'Preview'
26337
+ };
26338
+ function preview(editor) {
26339
+ editor.registerButton({
26340
+ name: 'preview'
26341
+ });
26342
+ editor.registerCommand('preview', (_, _1, defaultValue) => {
25585
26343
  const dialog = editor.getInstance('Dialog', {
25586
26344
  language: editor.o.language,
25587
26345
  theme: editor.o.theme
25588
26346
  });
25589
26347
  const div = editor.c.div();
25590
26348
  (0,helpers.css)(div, {
26349
+ position: 'relative',
25591
26350
  padding: 16
25592
26351
  });
26352
+ const value = defaultValue ||
26353
+ editor.value ||
26354
+ `<div style='position: absolute;left:50%;top:50%;transform: translateX(-50%) translateY(-50%);color:#ccc;'>${editor.i18n('Empty')}</div>`;
25593
26355
  if (editor.iframe) {
25594
26356
  const iframe = editor.create.element('iframe');
25595
26357
  (0,helpers.css)(iframe, {
@@ -25602,7 +26364,7 @@ config/* Config.prototype.controls.preview */.D.prototype.controls.preview = {
25602
26364
  const mywindow = iframe.contentWindow;
25603
26365
  if (mywindow) {
25604
26366
  editor.e.fire('generateDocumentStructure.iframe', mywindow.document, editor);
25605
- mywindow.document.body.innerHTML = editor.value;
26367
+ mywindow.document.body.innerHTML = value;
25606
26368
  }
25607
26369
  }
25608
26370
  else {
@@ -25611,17 +26373,42 @@ config/* Config.prototype.controls.preview */.D.prototype.controls.preview = {
25611
26373
  minHeight: 600,
25612
26374
  border: 0
25613
26375
  });
25614
- div.innerHTML = editor.value;
25615
- dialog.open(div, editor.i18n('Preview'));
26376
+ dialog.setSize(1024, 600).open(div, editor.i18n('Preview'));
26377
+ const setHTML = (box, value) => {
26378
+ const dv = editor.c.div();
26379
+ dv.innerHTML = value;
26380
+ for (let i = 0; i < dv.children.length; i += 1) {
26381
+ const c = dv.children[i];
26382
+ const newNode = document.createElement(c.nodeName);
26383
+ for (let j = 0; j < c.attributes.length; j += 1) {
26384
+ (0,helpers.attr)(newNode, c.attributes[j].nodeName, c.attributes[j].nodeValue);
26385
+ }
26386
+ if (c.children.length === 0) {
26387
+ switch (c.nodeName) {
26388
+ case 'SCRIPT':
26389
+ if (c.textContent) {
26390
+ newNode.textContent = c.textContent;
26391
+ }
26392
+ break;
26393
+ default:
26394
+ if (c.innerHTML) {
26395
+ newNode.innerHTML = c.innerHTML;
26396
+ }
26397
+ break;
26398
+ }
26399
+ }
26400
+ else {
26401
+ setHTML(newNode, c.innerHTML);
26402
+ }
26403
+ try {
26404
+ box.appendChild(newNode);
26405
+ }
26406
+ catch (_a) { }
26407
+ }
26408
+ };
26409
+ setHTML(div, value);
25616
26410
  }
25617
26411
  dialog.setModal(true);
25618
- },
25619
- mode: constants.MODE_SOURCE + constants.MODE_WYSIWYG,
25620
- tooltip: 'Preview'
25621
- };
25622
- function preview(editor) {
25623
- editor.registerButton({
25624
- name: 'preview'
25625
26412
  });
25626
26413
  }
25627
26414
 
@@ -25891,170 +26678,173 @@ class xpath extends Plugin {
25891
26678
 
25892
26679
 
25893
26680
 
26681
+
25894
26682
 
25895
26683
 
25896
26684
  // EXTERNAL MODULE: ./src/styles/icons/about.svg
25897
- var icons_about = __webpack_require__(52);
26685
+ var icons_about = __webpack_require__(54);
25898
26686
  // EXTERNAL MODULE: ./src/styles/icons/addcolumn.svg
25899
- var addcolumn = __webpack_require__(53);
26687
+ var addcolumn = __webpack_require__(55);
25900
26688
  // EXTERNAL MODULE: ./src/styles/icons/addrow.svg
25901
- var addrow = __webpack_require__(54);
26689
+ var addrow = __webpack_require__(56);
25902
26690
  // EXTERNAL MODULE: ./src/styles/icons/angle-down.svg
25903
- var angle_down = __webpack_require__(55);
26691
+ var angle_down = __webpack_require__(57);
25904
26692
  // EXTERNAL MODULE: ./src/styles/icons/angle-left.svg
25905
- var angle_left = __webpack_require__(56);
26693
+ var angle_left = __webpack_require__(58);
25906
26694
  // EXTERNAL MODULE: ./src/styles/icons/angle-right.svg
25907
- var angle_right = __webpack_require__(57);
26695
+ var angle_right = __webpack_require__(59);
25908
26696
  // EXTERNAL MODULE: ./src/styles/icons/angle-up.svg
25909
- var angle_up = __webpack_require__(58);
26697
+ var angle_up = __webpack_require__(60);
25910
26698
  // EXTERNAL MODULE: ./src/styles/icons/arrows-alt.svg
25911
- var arrows_alt = __webpack_require__(59);
26699
+ var arrows_alt = __webpack_require__(61);
25912
26700
  // EXTERNAL MODULE: ./src/styles/icons/arrows-h.svg
25913
- var arrows_h = __webpack_require__(60);
26701
+ var arrows_h = __webpack_require__(62);
25914
26702
  // EXTERNAL MODULE: ./src/styles/icons/attachment.svg
25915
- var attachment = __webpack_require__(61);
26703
+ var attachment = __webpack_require__(63);
25916
26704
  // EXTERNAL MODULE: ./src/styles/icons/bin.svg
25917
- var bin = __webpack_require__(62);
26705
+ var bin = __webpack_require__(64);
25918
26706
  // EXTERNAL MODULE: ./src/styles/icons/bold.svg
25919
- var icons_bold = __webpack_require__(63);
26707
+ var icons_bold = __webpack_require__(65);
25920
26708
  // EXTERNAL MODULE: ./src/styles/icons/brush.svg
25921
- var brush = __webpack_require__(64);
26709
+ var brush = __webpack_require__(66);
25922
26710
  // EXTERNAL MODULE: ./src/styles/icons/cancel.svg
25923
- var cancel = __webpack_require__(65);
26711
+ var cancel = __webpack_require__(67);
25924
26712
  // EXTERNAL MODULE: ./src/styles/icons/center.svg
25925
- var center = __webpack_require__(66);
26713
+ var center = __webpack_require__(68);
25926
26714
  // EXTERNAL MODULE: ./src/styles/icons/chain-broken.svg
25927
- var chain_broken = __webpack_require__(67);
26715
+ var chain_broken = __webpack_require__(69);
25928
26716
  // EXTERNAL MODULE: ./src/styles/icons/check.svg
25929
- var check = __webpack_require__(68);
26717
+ var check = __webpack_require__(70);
25930
26718
  // EXTERNAL MODULE: ./src/styles/icons/check-square.svg
25931
- var check_square = __webpack_require__(69);
26719
+ var check_square = __webpack_require__(71);
25932
26720
  // EXTERNAL MODULE: ./src/styles/icons/chevron.svg
25933
- var chevron = __webpack_require__(70);
26721
+ var chevron = __webpack_require__(72);
25934
26722
  // EXTERNAL MODULE: ./src/styles/icons/copyformat.svg
25935
- var copyformat = __webpack_require__(71);
26723
+ var copyformat = __webpack_require__(73);
25936
26724
  // EXTERNAL MODULE: ./src/styles/icons/crop.svg
25937
- var crop = __webpack_require__(72);
26725
+ var crop = __webpack_require__(74);
25938
26726
  // EXTERNAL MODULE: ./src/styles/icons/copy.svg
25939
- var copy = __webpack_require__(73);
26727
+ var copy = __webpack_require__(75);
25940
26728
  // EXTERNAL MODULE: ./src/styles/icons/cut.svg
25941
- var cut = __webpack_require__(74);
26729
+ var cut = __webpack_require__(76);
25942
26730
  // EXTERNAL MODULE: ./src/styles/icons/dedent.svg
25943
- var dedent = __webpack_require__(75);
26731
+ var dedent = __webpack_require__(77);
25944
26732
  // EXTERNAL MODULE: ./src/styles/icons/dots.svg
25945
- var dots = __webpack_require__(76);
26733
+ var dots = __webpack_require__(78);
25946
26734
  // EXTERNAL MODULE: ./src/styles/icons/enter.svg
25947
- var icons_enter = __webpack_require__(77);
26735
+ var icons_enter = __webpack_require__(79);
25948
26736
  // EXTERNAL MODULE: ./src/styles/icons/eraser.svg
25949
- var eraser = __webpack_require__(78);
26737
+ var eraser = __webpack_require__(80);
25950
26738
  // EXTERNAL MODULE: ./src/styles/icons/eye.svg
25951
- var eye = __webpack_require__(79);
26739
+ var eye = __webpack_require__(81);
25952
26740
  // EXTERNAL MODULE: ./src/styles/icons/file.svg
25953
- var icons_file = __webpack_require__(80);
26741
+ var icons_file = __webpack_require__(82);
25954
26742
  // EXTERNAL MODULE: ./src/styles/icons/folder.svg
25955
- var folder = __webpack_require__(81);
26743
+ var folder = __webpack_require__(83);
25956
26744
  // EXTERNAL MODULE: ./src/styles/icons/font.svg
25957
- var icons_font = __webpack_require__(82);
26745
+ var icons_font = __webpack_require__(84);
25958
26746
  // EXTERNAL MODULE: ./src/styles/icons/fontsize.svg
25959
- var fontsize = __webpack_require__(83);
26747
+ var fontsize = __webpack_require__(85);
25960
26748
  // EXTERNAL MODULE: ./src/styles/icons/fullsize.svg
25961
- var icons_fullsize = __webpack_require__(84);
26749
+ var icons_fullsize = __webpack_require__(86);
25962
26750
  // EXTERNAL MODULE: ./src/styles/icons/hr.svg
25963
- var icons_hr = __webpack_require__(85);
26751
+ var icons_hr = __webpack_require__(87);
25964
26752
  // EXTERNAL MODULE: ./src/styles/icons/image.svg
25965
- var icons_image = __webpack_require__(86);
26753
+ var icons_image = __webpack_require__(88);
25966
26754
  // EXTERNAL MODULE: ./src/styles/icons/indent.svg
25967
- var icons_indent = __webpack_require__(87);
26755
+ var icons_indent = __webpack_require__(89);
25968
26756
  // EXTERNAL MODULE: ./src/styles/icons/info-circle.svg
25969
- var info_circle = __webpack_require__(88);
26757
+ var info_circle = __webpack_require__(90);
25970
26758
  // EXTERNAL MODULE: ./src/styles/icons/italic.svg
25971
- var italic = __webpack_require__(89);
26759
+ var italic = __webpack_require__(91);
25972
26760
  // EXTERNAL MODULE: ./src/styles/icons/justify.svg
25973
- var icons_justify = __webpack_require__(90);
26761
+ var icons_justify = __webpack_require__(92);
25974
26762
  // EXTERNAL MODULE: ./src/styles/icons/left.svg
25975
- var left = __webpack_require__(91);
26763
+ var left = __webpack_require__(93);
25976
26764
  // EXTERNAL MODULE: ./src/styles/icons/link.svg
25977
- var icons_link = __webpack_require__(92);
26765
+ var icons_link = __webpack_require__(94);
25978
26766
  // EXTERNAL MODULE: ./src/styles/icons/lock.svg
25979
- var lock = __webpack_require__(93);
26767
+ var lock = __webpack_require__(95);
25980
26768
  // EXTERNAL MODULE: ./src/styles/icons/menu.svg
25981
- var menu = __webpack_require__(94);
26769
+ var menu = __webpack_require__(96);
25982
26770
  // EXTERNAL MODULE: ./src/styles/icons/merge.svg
25983
- var merge = __webpack_require__(95);
26771
+ var merge = __webpack_require__(97);
25984
26772
  // EXTERNAL MODULE: ./src/styles/icons/ok.svg
25985
- var ok = __webpack_require__(96);
26773
+ var ok = __webpack_require__(98);
25986
26774
  // EXTERNAL MODULE: ./src/styles/icons/ol.svg
25987
- var ol = __webpack_require__(97);
26775
+ var ol = __webpack_require__(99);
25988
26776
  // EXTERNAL MODULE: ./src/styles/icons/omega.svg
25989
- var omega = __webpack_require__(98);
26777
+ var omega = __webpack_require__(100);
25990
26778
  // EXTERNAL MODULE: ./src/styles/icons/outdent.svg
25991
- var outdent = __webpack_require__(99);
26779
+ var outdent = __webpack_require__(101);
25992
26780
  // EXTERNAL MODULE: ./src/styles/icons/palette.svg
25993
- var palette = __webpack_require__(100);
26781
+ var palette = __webpack_require__(102);
25994
26782
  // EXTERNAL MODULE: ./src/styles/icons/paragraph.svg
25995
- var paragraph = __webpack_require__(101);
26783
+ var paragraph = __webpack_require__(103);
25996
26784
  // EXTERNAL MODULE: ./src/styles/icons/paste.svg
25997
- var icons_paste = __webpack_require__(102);
26785
+ var icons_paste = __webpack_require__(104);
25998
26786
  // EXTERNAL MODULE: ./src/styles/icons/pencil.svg
25999
- var pencil = __webpack_require__(103);
26787
+ var pencil = __webpack_require__(105);
26000
26788
  // EXTERNAL MODULE: ./src/styles/icons/plus.svg
26001
- var plus = __webpack_require__(104);
26789
+ var plus = __webpack_require__(106);
26002
26790
  // EXTERNAL MODULE: ./src/styles/icons/print.svg
26003
- var icons_print = __webpack_require__(105);
26791
+ var icons_print = __webpack_require__(107);
26004
26792
  // EXTERNAL MODULE: ./src/styles/icons/redo.svg
26005
- var redo = __webpack_require__(106);
26793
+ var redo = __webpack_require__(108);
26006
26794
  // EXTERNAL MODULE: ./src/styles/icons/resize.svg
26007
- var resize = __webpack_require__(107);
26795
+ var resize = __webpack_require__(109);
26796
+ // EXTERNAL MODULE: ./src/styles/icons/resize-handler.svg
26797
+ var resize_handler = __webpack_require__(110);
26008
26798
  // EXTERNAL MODULE: ./src/styles/icons/resizer.svg
26009
- var icons_resizer = __webpack_require__(108);
26799
+ var icons_resizer = __webpack_require__(111);
26010
26800
  // EXTERNAL MODULE: ./src/styles/icons/right.svg
26011
- var right = __webpack_require__(109);
26801
+ var right = __webpack_require__(112);
26012
26802
  // EXTERNAL MODULE: ./src/styles/icons/save.svg
26013
- var save = __webpack_require__(110);
26803
+ var save = __webpack_require__(113);
26014
26804
  // EXTERNAL MODULE: ./src/styles/icons/search.svg
26015
- var icons_search = __webpack_require__(111);
26805
+ var icons_search = __webpack_require__(114);
26016
26806
  // EXTERNAL MODULE: ./src/styles/icons/settings.svg
26017
- var settings = __webpack_require__(112);
26807
+ var settings = __webpack_require__(115);
26018
26808
  // EXTERNAL MODULE: ./src/styles/icons/select-all.svg
26019
- var select_all = __webpack_require__(113);
26809
+ var select_all = __webpack_require__(116);
26020
26810
  // EXTERNAL MODULE: ./src/styles/icons/shrink.svg
26021
- var shrink = __webpack_require__(114);
26811
+ var shrink = __webpack_require__(117);
26022
26812
  // EXTERNAL MODULE: ./src/styles/icons/source.svg
26023
- var icons_source = __webpack_require__(115);
26813
+ var icons_source = __webpack_require__(118);
26024
26814
  // EXTERNAL MODULE: ./src/styles/icons/splitg.svg
26025
- var splitg = __webpack_require__(116);
26815
+ var splitg = __webpack_require__(119);
26026
26816
  // EXTERNAL MODULE: ./src/styles/icons/splitv.svg
26027
- var splitv = __webpack_require__(117);
26817
+ var splitv = __webpack_require__(120);
26028
26818
  // EXTERNAL MODULE: ./src/styles/icons/strikethrough.svg
26029
- var strikethrough = __webpack_require__(118);
26819
+ var strikethrough = __webpack_require__(121);
26030
26820
  // EXTERNAL MODULE: ./src/styles/icons/subscript.svg
26031
- var subscript = __webpack_require__(119);
26821
+ var subscript = __webpack_require__(122);
26032
26822
  // EXTERNAL MODULE: ./src/styles/icons/superscript.svg
26033
- var superscript = __webpack_require__(120);
26823
+ var superscript = __webpack_require__(123);
26034
26824
  // EXTERNAL MODULE: ./src/styles/icons/table.svg
26035
- var icons_table = __webpack_require__(121);
26825
+ var icons_table = __webpack_require__(124);
26036
26826
  // EXTERNAL MODULE: ./src/styles/icons/th.svg
26037
- var th = __webpack_require__(122);
26827
+ var th = __webpack_require__(125);
26038
26828
  // EXTERNAL MODULE: ./src/styles/icons/th-list.svg
26039
- var th_list = __webpack_require__(123);
26829
+ var th_list = __webpack_require__(126);
26040
26830
  // EXTERNAL MODULE: ./src/styles/icons/ul.svg
26041
- var ul = __webpack_require__(124);
26831
+ var ul = __webpack_require__(127);
26042
26832
  // EXTERNAL MODULE: ./src/styles/icons/underline.svg
26043
- var underline = __webpack_require__(125);
26833
+ var underline = __webpack_require__(128);
26044
26834
  // EXTERNAL MODULE: ./src/styles/icons/undo.svg
26045
- var undo = __webpack_require__(126);
26835
+ var undo = __webpack_require__(129);
26046
26836
  // EXTERNAL MODULE: ./src/styles/icons/unlink.svg
26047
- var unlink = __webpack_require__(127);
26837
+ var unlink = __webpack_require__(130);
26048
26838
  // EXTERNAL MODULE: ./src/styles/icons/unlock.svg
26049
- var unlock = __webpack_require__(128);
26839
+ var unlock = __webpack_require__(131);
26050
26840
  // EXTERNAL MODULE: ./src/styles/icons/update.svg
26051
- var update = __webpack_require__(129);
26841
+ var update = __webpack_require__(132);
26052
26842
  // EXTERNAL MODULE: ./src/styles/icons/upload.svg
26053
- var upload = __webpack_require__(130);
26843
+ var upload = __webpack_require__(133);
26054
26844
  // EXTERNAL MODULE: ./src/styles/icons/valign.svg
26055
- var valign = __webpack_require__(131);
26845
+ var valign = __webpack_require__(134);
26056
26846
  // EXTERNAL MODULE: ./src/styles/icons/video.svg
26057
- var icons_video = __webpack_require__(132);
26847
+ var icons_video = __webpack_require__(135);
26058
26848
  ;// CONCATENATED MODULE: ./src/styles/icons/index.ts
26059
26849
  /*!
26060
26850
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -26142,6 +26932,7 @@ var icons_video = __webpack_require__(132);
26142
26932
 
26143
26933
 
26144
26934
 
26935
+
26145
26936
 
26146
26937
 
26147
26938
  ;// CONCATENATED MODULE: ./src/index.ts