jodit 4.13.18 → 4.13.19

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 (55) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +4 -4
  4. package/es2015/jodit.js +181 -107
  5. package/es2015/jodit.min.js +4 -4
  6. package/es2015/plugins/debug/debug.css +1 -1
  7. package/es2015/plugins/debug/debug.js +1 -1
  8. package/es2015/plugins/debug/debug.min.js +1 -1
  9. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  10. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  12. package/es2018/jodit.fat.min.js +9 -9
  13. package/es2018/jodit.min.js +4 -4
  14. package/es2018/plugins/debug/debug.min.js +1 -1
  15. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  16. package/es2021/jodit.css +1 -1
  17. package/es2021/jodit.fat.min.js +15 -15
  18. package/es2021/jodit.js +177 -103
  19. package/es2021/jodit.min.js +7 -7
  20. package/es2021/plugins/debug/debug.css +1 -1
  21. package/es2021/plugins/debug/debug.js +1 -1
  22. package/es2021/plugins/debug/debug.min.js +1 -1
  23. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  24. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  25. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  26. package/es2021.en/jodit.css +1 -1
  27. package/es2021.en/jodit.fat.min.js +7 -7
  28. package/es2021.en/jodit.js +177 -103
  29. package/es2021.en/jodit.min.js +7 -7
  30. package/es2021.en/plugins/debug/debug.css +1 -1
  31. package/es2021.en/plugins/debug/debug.js +1 -1
  32. package/es2021.en/plugins/debug/debug.min.js +1 -1
  33. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  34. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  35. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  36. package/es5/jodit.css +2 -2
  37. package/es5/jodit.fat.min.js +2 -2
  38. package/es5/jodit.js +467 -399
  39. package/es5/jodit.min.css +2 -2
  40. package/es5/jodit.min.js +2 -2
  41. package/es5/plugins/debug/debug.css +1 -1
  42. package/es5/plugins/debug/debug.js +1 -1
  43. package/es5/plugins/debug/debug.min.js +1 -1
  44. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  45. package/es5/plugins/speech-recognize/speech-recognize.js +6 -6
  46. package/es5/plugins/speech-recognize/speech-recognize.min.js +2 -2
  47. package/es5/polyfills.fat.min.js +1 -1
  48. package/es5/polyfills.js +13 -19
  49. package/es5/polyfills.min.js +1 -1
  50. package/esm/core/constants.js +1 -1
  51. package/esm/modules/toolbar/button/button.d.ts +1 -0
  52. package/esm/modules/toolbar/button/button.js +13 -0
  53. package/esm/plugins/table/config.js +79 -19
  54. package/package.json +1 -1
  55. package/types/modules/toolbar/button/button.d.ts +1 -0
package/es2015/jodit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
3
3
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
4
- * Version: v4.13.18
4
+ * Version: v4.13.19
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -1849,7 +1849,7 @@ __webpack_require__.r(__webpack_exports__);
1849
1849
  * ```
1850
1850
  * @packageDocumentation
1851
1851
  * @module constants
1852
- */ const APP_VERSION = "4.13.18";
1852
+ */ const APP_VERSION = "4.13.19";
1853
1853
  // prettier-ignore
1854
1854
  const ES = "es2015";
1855
1855
  const IS_ES_MODERN = true;
@@ -10004,8 +10004,8 @@ class Plugin extends jodit_core_component__WEBPACK_IMPORTED_MODULE_2__.ViewCompo
10004
10004
  /* harmony import */ var _swc_helpers_await_async_generator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6311);
10005
10005
  /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25045);
10006
10006
  /* harmony import */ var _swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41411);
10007
- /* harmony import */ var _swc_helpers_wrap_async_generator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86367);
10008
- /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(31635);
10007
+ /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(31635);
10008
+ /* harmony import */ var _swc_helpers_wrap_async_generator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(86367);
10009
10009
  /* harmony import */ var jodit_core_async__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(91231);
10010
10010
  /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(81937);
10011
10011
  /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(49574);
@@ -10131,7 +10131,7 @@ class Ajax {
10131
10131
  }).call(this));
10132
10132
  }
10133
10133
  stream() {
10134
- return (0,_swc_helpers_wrap_async_generator__WEBPACK_IMPORTED_MODULE_4__._)(function*() {
10134
+ return (0,_swc_helpers_wrap_async_generator__WEBPACK_IMPORTED_MODULE_5__._)(function*() {
10135
10135
  var _o_withCredentials;
10136
10136
  this.__activated = true;
10137
10137
  const { xhr, o } = this;
@@ -10279,7 +10279,7 @@ class Ajax {
10279
10279
  }
10280
10280
  }
10281
10281
  (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(Ajax, "log", []);
10282
- (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
10282
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
10283
10283
  jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_8__.autobind
10284
10284
  ], Ajax.prototype, "destruct", null);
10285
10285
 
@@ -23903,27 +23903,28 @@ const instance = (j)=>j.getInstance('Table', j.o);
23903
23903
  /* harmony import */ var _swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15366);
23904
23904
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31635);
23905
23905
  /* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69364);
23906
- /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49574);
23907
- /* harmony import */ var jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51676);
23908
- /* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(91672);
23909
- /* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68616);
23910
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(23211);
23911
- /* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(17312);
23912
- /* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(91565);
23913
- /* harmony import */ var jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(24497);
23914
- /* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(62101);
23915
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(85932);
23916
- /* harmony import */ var jodit_core_helpers_size__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(86878);
23917
- /* harmony import */ var jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(57821);
23918
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(28712);
23919
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_17__);
23920
- /* harmony import */ var jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(7909);
23921
- /* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(71125);
23922
- /* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(59400);
23923
- /* harmony import */ var jodit_core_ui_helpers_get_control_type__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(15982);
23924
- /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(29434);
23925
- /* harmony import */ var jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(51116);
23926
- /* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(4274);
23906
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(81937);
23907
+ /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49574);
23908
+ /* harmony import */ var jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(51676);
23909
+ /* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(91672);
23910
+ /* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(68616);
23911
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(23211);
23912
+ /* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(17312);
23913
+ /* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(91565);
23914
+ /* harmony import */ var jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(24497);
23915
+ /* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(62101);
23916
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(85932);
23917
+ /* harmony import */ var jodit_core_helpers_size__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(86878);
23918
+ /* harmony import */ var jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(57821);
23919
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(28712);
23920
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_18__);
23921
+ /* harmony import */ var jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(7909);
23922
+ /* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(71125);
23923
+ /* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(59400);
23924
+ /* harmony import */ var jodit_core_ui_helpers_get_control_type__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(15982);
23925
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(29434);
23926
+ /* harmony import */ var jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(51116);
23927
+ /* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(4274);
23927
23928
  /*!
23928
23929
  * Jodit Editor (https://xdsoft.net/jodit/)
23929
23930
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -23958,7 +23959,8 @@ const instance = (j)=>j.getInstance('Table', j.o);
23958
23959
 
23959
23960
 
23960
23961
 
23961
- class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.UIButton {
23962
+
23963
+ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_21__.UIButton {
23962
23964
  className() {
23963
23965
  return 'ToolbarButton';
23964
23966
  }
@@ -23969,13 +23971,13 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
23969
23971
  super.updateAriaLabel();
23970
23972
  if (this.trigger) {
23971
23973
  const i8nTooltip = this.state.tooltip ? this.jodit.i18n(this.state.tooltip) : null;
23972
- (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_18__.attr)(this.trigger, 'aria-label', i8nTooltip);
23974
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__.attr)(this.trigger, 'aria-label', i8nTooltip);
23973
23975
  }
23974
23976
  }
23975
23977
  /**
23976
23978
  * Get parent toolbar
23977
23979
  */ get toolbar() {
23978
- const ToolbarCollection = (0,jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_7__.getComponentClass)('ToolbarCollection');
23980
+ const ToolbarCollection = (0,jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_8__.getComponentClass)('ToolbarCollection');
23979
23981
  return this.closest(ToolbarCollection);
23980
23982
  }
23981
23983
  update() {
@@ -23997,7 +23999,7 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
23997
23999
  * Calculates whether the button is active
23998
24000
  */ __calculateActivatedStatus(tc) {
23999
24001
  var _this_control_isActive, _this_control;
24000
- if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_12__.isJoditObject)(this.j) && !this.j.editorIsActive) {
24002
+ if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_13__.isJoditObject)(this.j) && !this.j.editorIsActive) {
24001
24003
  return false;
24002
24004
  }
24003
24005
  if ((_this_control_isActive = (_this_control = this.control).isActive) === null || _this_control_isActive === void 0 ? void 0 : _this_control_isActive.call(_this_control, this.j, this)) {
@@ -24021,11 +24023,11 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24021
24023
  return Boolean(tc && tc.shouldBeDisabled(this));
24022
24024
  }
24023
24025
  onChangeActivated() {
24024
- (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_18__.attr)(this.button, 'aria-pressed', this.state.activated);
24026
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__.attr)(this.button, 'aria-pressed', this.state.activated);
24025
24027
  super.onChangeActivated();
24026
24028
  }
24027
24029
  onChangeText() {
24028
- if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_11__.isFunction)(this.control.template)) {
24030
+ if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_12__.isFunction)(this.control.template)) {
24029
24031
  this.text.innerHTML = this.control.template(this.j, this.control.name, this.j.i18n(this.state.text));
24030
24032
  } else {
24031
24033
  super.onChangeText();
@@ -24033,7 +24035,8 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24033
24035
  this.setMod('text-icons', Boolean(this.text.innerText.trim().length));
24034
24036
  }
24035
24037
  onChangeTabIndex() {
24036
- (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_18__.attr)(this.button, 'tabindex', this.state.tabIndex);
24038
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__.attr)(this.button, 'tabindex', this.state.tabIndex);
24039
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__.attr)(this.trigger, 'tabindex', this.state.tabIndex);
24037
24040
  }
24038
24041
  createContainer() {
24039
24042
  const cn = this.componentName;
@@ -24046,7 +24049,7 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24046
24049
  configurable: true
24047
24050
  });
24048
24051
  container.appendChild(button);
24049
- const trigger = this.j.c.fromHTML(`<span role="button" aria-haspopup="true" aria-expanded="false" class="${cn}__trigger">${jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_22__.Icon.get('chevron')}</span>`);
24052
+ const trigger = this.j.c.fromHTML(`<span role="button" aria-haspopup="true" aria-expanded="false" class="${cn}__trigger">${jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_23__.Icon.get('chevron')}</span>`);
24050
24053
  // For caching
24051
24054
  button.appendChild(trigger);
24052
24055
  return container;
@@ -24059,15 +24062,15 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24059
24062
  if (this.state.hasTrigger) {
24060
24063
  this.container.appendChild(this.trigger);
24061
24064
  } else {
24062
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_9__.Dom.safeRemove(this.trigger);
24065
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(this.trigger);
24063
24066
  }
24064
24067
  this.setMod('with-trigger', this.state.hasTrigger || null);
24065
24068
  }
24066
24069
  /** @override */ onChangeDisabled() {
24067
24070
  const disabled = this.state.disabled ? 'disabled' : null;
24068
- (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_18__.attr)(this.trigger, 'disabled', disabled);
24069
- (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_18__.attr)(this.button, 'disabled', disabled);
24070
- (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_18__.attr)(this.container, 'disabled', disabled);
24071
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__.attr)(this.trigger, 'disabled', disabled);
24072
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__.attr)(this.button, 'disabled', disabled);
24073
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__.attr)(this.container, 'disabled', disabled);
24071
24074
  }
24072
24075
  /**
24073
24076
  * Init constant data from control
@@ -24077,19 +24080,19 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24077
24080
  state.name = ctr.name;
24078
24081
  this.__initIconFromControl();
24079
24082
  if (ctr.tooltip) {
24080
- state.tooltip = (0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_11__.isFunction)(ctr.tooltip) ? ctr.tooltip(this.j, ctr, this) : ctr.tooltip;
24083
+ state.tooltip = (0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_12__.isFunction)(ctr.tooltip) ? ctr.tooltip(this.j, ctr, this) : ctr.tooltip;
24081
24084
  }
24082
24085
  state.hasTrigger = Boolean(ctr.list || ctr.popup && ctr.exec);
24083
24086
  }
24084
24087
  __initIconFromControl() {
24085
24088
  const { control: ctr, state } = this;
24086
24089
  const { textIcons } = this.j.o;
24087
- if (textIcons === true || (0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_11__.isFunction)(textIcons) && textIcons(ctr.name) || ctr.template) {
24088
- state.icon = (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.UIButtonState)().icon;
24090
+ if (textIcons === true || (0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_12__.isFunction)(textIcons) && textIcons(ctr.name) || ctr.template) {
24091
+ state.icon = (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_21__.UIButtonState)().icon;
24089
24092
  state.text = ctr.text || ctr.name;
24090
24093
  return;
24091
24094
  }
24092
- if (!(0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_14__.isString)(ctr.icon) && ctr.icon != null) {
24095
+ if (!(0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_15__.isString)(ctr.icon) && ctr.icon != null) {
24093
24096
  state.icon = {
24094
24097
  name: ctr.icon.name || ctr.name,
24095
24098
  iconURL: ctr.icon.iconURL || '',
@@ -24103,7 +24106,7 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24103
24106
  } else {
24104
24107
  var _this_j_o_extraIcons;
24105
24108
  const name = ctr.icon || ctr.name;
24106
- state.icon.name = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_22__.Icon.exists(name) || ((_this_j_o_extraIcons = this.j.o.extraIcons) === null || _this_j_o_extraIcons === void 0 ? void 0 : _this_j_o_extraIcons[name]) ? name : '';
24109
+ state.icon.name = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_23__.Icon.exists(name) || ((_this_j_o_extraIcons = this.j.o.extraIcons) === null || _this_j_o_extraIcons === void 0 ? void 0 : _this_j_o_extraIcons[name]) ? name : '';
24107
24110
  }
24108
24111
  if (!ctr.iconURL && !state.icon.name) {
24109
24112
  state.text = ctr.text || ctr.name;
@@ -24117,24 +24120,24 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24117
24120
  return;
24118
24121
  }
24119
24122
  const { control: ctr } = this;
24120
- (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_18__.attr)(this.trigger, 'aria-expanded', true);
24123
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__.attr)(this.trigger, 'aria-expanded', true);
24121
24124
  e.buffer = {
24122
24125
  actionTrigger: this
24123
24126
  };
24124
24127
  if (ctr.list) {
24125
24128
  return this.__openControlList(ctr);
24126
24129
  }
24127
- if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_11__.isFunction)(ctr.popup)) {
24130
+ if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_12__.isFunction)(ctr.popup)) {
24128
24131
  const popup = this.openPopup();
24129
24132
  popup.parentElement = this;
24130
24133
  try {
24131
- if (this.j.e.fire((0,jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_16__.camelCase)(`before-${ctr.name}-open-popup`), this.target, ctr, popup) !== false) {
24134
+ if (this.j.e.fire((0,jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_17__.camelCase)(`before-${ctr.name}-open-popup`), this.target, ctr, popup) !== false) {
24132
24135
  var _ref, _ref1;
24133
24136
  var _this_toolbar;
24134
24137
  const target = (_ref = (_ref1 = (_this_toolbar = this.toolbar) === null || _this_toolbar === void 0 ? void 0 : _this_toolbar.getTarget(this)) !== null && _ref1 !== void 0 ? _ref1 : this.target) !== null && _ref !== void 0 ? _ref : null;
24135
24138
  const elm = ctr.popup(this.j, target, this.__closePopup, this);
24136
24139
  if (elm) {
24137
- popup.setContent((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_14__.isString)(elm) ? this.j.c.fromHTML(elm) : elm).open(()=>(0,jodit_core_helpers_size__WEBPACK_IMPORTED_MODULE_15__.position)(this.container), false, this.j.o.allowTabNavigation ? this.container : undefined);
24140
+ popup.setContent((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_15__.isString)(elm) ? this.j.c.fromHTML(elm) : elm).open(()=>(0,jodit_core_helpers_size__WEBPACK_IMPORTED_MODULE_16__.position)(this.container), false, this.j.o.allowTabNavigation ? this.container : undefined);
24138
24141
  } else {
24139
24142
  this.__closePopup();
24140
24143
  }
@@ -24147,28 +24150,39 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24147
24150
  * Fired after the popup was opened for some control button
24148
24151
  */ /**
24149
24152
  * Close all opened popups
24150
- */ this.j.e.fire((0,jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_16__.camelCase)(`after-${ctr.name}-open-popup`), popup.container);
24153
+ */ this.j.e.fire((0,jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_17__.camelCase)(`after-${ctr.name}-open-popup`), popup.container);
24151
24154
  }
24152
24155
  }
24156
+ onTriggerKeyDown(e) {
24157
+ if (this.state.disabled || ![
24158
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_5__.KEY_ENTER,
24159
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_5__.KEY_SPACE,
24160
+ ' '
24161
+ ].includes(e.key)) {
24162
+ return;
24163
+ }
24164
+ e.preventDefault();
24165
+ this.trigger.click();
24166
+ }
24153
24167
  /**
24154
24168
  * Create an open popup list
24155
24169
  */ __openControlList(control) {
24156
24170
  var _this_jodit_options_controls;
24157
- const controls = (_this_jodit_options_controls = this.jodit.options.controls) !== null && _this_jodit_options_controls !== void 0 ? _this_jodit_options_controls : {}, getControl = (key)=>(0,jodit_core_ui_helpers_get_control_type__WEBPACK_IMPORTED_MODULE_21__.findControlType)(key, controls);
24171
+ const controls = (_this_jodit_options_controls = this.jodit.options.controls) !== null && _this_jodit_options_controls !== void 0 ? _this_jodit_options_controls : {}, getControl = (key)=>(0,jodit_core_ui_helpers_get_control_type__WEBPACK_IMPORTED_MODULE_22__.findControlType)(key, controls);
24158
24172
  const list = control.list;
24159
24173
  const menu = this.openPopup();
24160
- const toolbar = (0,_factory__WEBPACK_IMPORTED_MODULE_24__.makeCollection)(this.j);
24174
+ const toolbar = (0,_factory__WEBPACK_IMPORTED_MODULE_25__.makeCollection)(this.j);
24161
24175
  menu.parentElement = this;
24162
24176
  toolbar.parentElement = menu;
24163
24177
  toolbar.mode = 'vertical';
24164
- const isListItem = (key)=>(0,jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_13__.isPlainObject)(key) && 'title' in key && 'value' in key;
24178
+ const isListItem = (key)=>(0,jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_14__.isPlainObject)(key) && 'title' in key && 'value' in key;
24165
24179
  const getButton = (key, value)=>{
24166
- if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_14__.isString)(value) && getControl(value)) {
24180
+ if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_15__.isString)(value) && getControl(value)) {
24167
24181
  return (0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_1__._)({
24168
24182
  name: value.toString()
24169
24183
  }, getControl(value));
24170
24184
  }
24171
- if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_14__.isString)(key) && getControl(key)) {
24185
+ if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_15__.isString)(key) && getControl(key)) {
24172
24186
  return (0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_1__._)({
24173
24187
  name: key.toString()
24174
24188
  }, getControl(key), typeof value === 'object' ? value : {});
@@ -24199,26 +24213,26 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24199
24213
  value
24200
24214
  ]
24201
24215
  };
24202
- if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_14__.isString)(value)) {
24216
+ if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_15__.isString)(value)) {
24203
24217
  childControl.text = value;
24204
24218
  }
24205
24219
  return childControl;
24206
24220
  };
24207
- toolbar.build((0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_10__.isArray)(list) ? list.map(getButton) : (0,jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_19__.keys)(list, false).map((key)=>getButton(key, list[key])), this.target);
24208
- menu.setContent(toolbar).open(()=>(0,jodit_core_helpers_size__WEBPACK_IMPORTED_MODULE_15__.position)(this.container), false, this.j.o.allowTabNavigation ? this.container : undefined);
24221
+ toolbar.build((0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_11__.isArray)(list) ? list.map(getButton) : (0,jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_20__.keys)(list, false).map((key)=>getButton(key, list[key])), this.target);
24222
+ menu.setContent(toolbar).open(()=>(0,jodit_core_helpers_size__WEBPACK_IMPORTED_MODULE_16__.position)(this.container), false, this.j.o.allowTabNavigation ? this.container : undefined);
24209
24223
  this.state.activated = true;
24210
24224
  }
24211
24225
  onOutsideClick(e) {
24212
24226
  if (!this.openedPopup) {
24213
24227
  return;
24214
24228
  }
24215
- if (!e || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_9__.Dom.isNode(e.target) || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_9__.Dom.isOrContains(this.container, e.target) && !this.openedPopup.isOwnClick(e)) {
24229
+ if (!e || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isNode(e.target) || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isOrContains(this.container, e.target) && !this.openedPopup.isOwnClick(e)) {
24216
24230
  this.__closePopup();
24217
24231
  }
24218
24232
  }
24219
24233
  openPopup() {
24220
24234
  this.__closePopup();
24221
- this.openedPopup = new jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_23__.Popup(this.j, false);
24235
+ this.openedPopup = new jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_24__.Popup(this.j, false);
24222
24236
  this.j.e.on(this.ow, 'mousedown touchstart', this.onOutsideClick).on('escape closeAllPopups', this.onOutsideClick);
24223
24237
  return this.openedPopup;
24224
24238
  }
@@ -24230,7 +24244,7 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24230
24244
  this.openedPopup.destruct();
24231
24245
  this.openedPopup = null;
24232
24246
  if (this.trigger) {
24233
- (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_18__.attr)(this.trigger, 'aria-expanded', false);
24247
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_19__.attr)(this.trigger, 'aria-expanded', false);
24234
24248
  }
24235
24249
  }
24236
24250
  }
@@ -24238,7 +24252,7 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24238
24252
  * Click handler
24239
24253
  */ onClick(originalEvent) {
24240
24254
  const { control: ctr } = this;
24241
- if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_11__.isFunction)(ctr.exec)) {
24255
+ if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_12__.isFunction)(ctr.exec)) {
24242
24256
  var _ref, _ref1;
24243
24257
  var _this_toolbar;
24244
24258
  const target = (_ref = (_ref1 = (_this_toolbar = this.toolbar) === null || _this_toolbar === void 0 ? void 0 : _this_toolbar.getTarget(this)) !== null && _ref1 !== void 0 ? _ref1 : this.target) !== null && _ref !== void 0 ? _ref : null;
@@ -24265,11 +24279,11 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24265
24279
  if (ctr.list) {
24266
24280
  return this.__openControlList(ctr);
24267
24281
  }
24268
- if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_11__.isFunction)(ctr.popup)) {
24282
+ if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_12__.isFunction)(ctr.popup)) {
24269
24283
  return this.onTriggerClick(originalEvent);
24270
24284
  }
24271
24285
  if (ctr.command || ctr.name) {
24272
- (0,jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_19__.call)((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_12__.isJoditObject)(this.j) ? this.j.execCommand.bind(this.j) : this.j.od.execCommand.bind(this.j.od), ctr.command || ctr.name, false, ctr.args && ctr.args[0]);
24286
+ (0,jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_20__.call)((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_13__.isJoditObject)(this.j) ? this.j.execCommand.bind(this.j) : this.j.od.execCommand.bind(this.j.od), ctr.command || ctr.name, false, ctr.args && ctr.args[0]);
24273
24287
  this.j.e.fire('closeAllPopups');
24274
24288
  }
24275
24289
  }
@@ -24278,20 +24292,20 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24278
24292
  return super.destruct();
24279
24293
  }
24280
24294
  constructor(jodit, control, target = null){
24281
- super(jodit), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "control", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "target", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "trigger", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "openedPopup", void 0), this.control = control, this.target = target, this.state = (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_2__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_1__._)({}, (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.UIButtonState)()), {
24295
+ super(jodit), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "control", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "target", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "trigger", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "openedPopup", void 0), this.control = control, this.target = target, this.state = (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_2__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_1__._)({}, (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_21__.UIButtonState)()), {
24282
24296
  theme: 'toolbar',
24283
24297
  currentValue: '',
24284
24298
  hasTrigger: false
24285
24299
  }), this.openedPopup = null;
24286
24300
  const button = this.getElm('button');
24287
- (0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_17__.assert)(button, 'Element button should exists');
24301
+ (0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_18__.assert)(button, 'Element button should exists');
24288
24302
  this.button = button;
24289
24303
  Object.defineProperty(button, 'component', {
24290
24304
  value: this,
24291
24305
  configurable: true
24292
24306
  });
24293
24307
  const trigger = this.getElm('trigger');
24294
- (0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_17__.assert)(trigger, 'Element trigger should exists');
24308
+ (0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_18__.assert)(trigger, 'Element trigger should exists');
24295
24309
  this.trigger = trigger;
24296
24310
  trigger.remove();
24297
24311
  // Prevent lost focus
@@ -24312,24 +24326,27 @@ class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_20__.U
24312
24326
  }
24313
24327
  }
24314
24328
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_3__.__decorate)([
24315
- jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_6__.cacheHTML
24329
+ jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_7__.cacheHTML
24316
24330
  ], ToolbarButton.prototype, "createContainer", null);
24317
24331
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_3__.__decorate)([
24318
- (0,jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_8__.watch)('state.hasTrigger', {
24332
+ (0,jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_9__.watch)('state.hasTrigger', {
24319
24333
  immediately: false
24320
24334
  })
24321
24335
  ], ToolbarButton.prototype, "onChangeHasTrigger", null);
24322
24336
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_3__.__decorate)([
24323
- (0,jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_8__.watch)('trigger:click')
24337
+ (0,jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_9__.watch)('trigger:click')
24324
24338
  ], ToolbarButton.prototype, "onTriggerClick", null);
24325
24339
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_3__.__decorate)([
24326
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_5__.autobind
24340
+ (0,jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_9__.watch)('trigger:keydown')
24341
+ ], ToolbarButton.prototype, "onTriggerKeyDown", null);
24342
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_3__.__decorate)([
24343
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_6__.autobind
24327
24344
  ], ToolbarButton.prototype, "onOutsideClick", null);
24328
24345
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_3__.__decorate)([
24329
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_5__.autobind
24346
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_6__.autobind
24330
24347
  ], ToolbarButton.prototype, "__closePopup", null);
24331
24348
  ToolbarButton = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_3__.__decorate)([
24332
- jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_7__.component
24349
+ jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_8__.component
24333
24350
  ], ToolbarButton);
24334
24351
 
24335
24352
 
@@ -43951,13 +43968,14 @@ function findCell(editor, key) {
43951
43968
  /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
43952
43969
 
43953
43970
  "use strict";
43954
- /* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27795);
43955
- /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65946);
43956
- /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(93640);
43957
- /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29434);
43958
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5266);
43959
- /* harmony import */ var _table_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67447);
43960
- /* harmony import */ var _table_svg__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_table_svg__WEBPACK_IMPORTED_MODULE_5__);
43971
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81937);
43972
+ /* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27795);
43973
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65946);
43974
+ /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93640);
43975
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29434);
43976
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5266);
43977
+ /* harmony import */ var _table_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(67447);
43978
+ /* harmony import */ var _table_svg__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_table_svg__WEBPACK_IMPORTED_MODULE_6__);
43961
43979
  /*!
43962
43980
  * Jodit Editor (https://xdsoft.net/jodit/)
43963
43981
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -43970,13 +43988,14 @@ function findCell(editor, key) {
43970
43988
 
43971
43989
 
43972
43990
 
43973
- jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.table = {
43991
+
43992
+ jodit_config__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.table = {
43974
43993
  splitBlockOnInsertTable: true,
43975
43994
  selectionCellStyle: 'border: 1px double #1e88e5 !important;',
43976
43995
  useExtraClassesOptions: false
43977
43996
  };
43978
- jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__.Icon.set('table', (_table_svg__WEBPACK_IMPORTED_MODULE_5___default()));
43979
- jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
43997
+ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_4__.Icon.set('table', (_table_svg__WEBPACK_IMPORTED_MODULE_6___default()));
43998
+ jodit_config__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.table = {
43980
43999
  data: {
43981
44000
  cols: 10,
43982
44001
  rows: 10,
@@ -44006,19 +44025,25 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
44006
44025
  };
44007
44026
  const form = editor.c.fromHTML('<form class="jodit-form jodit-form__inserter">' + '<div class="jodit-form__table-creator-box">' + '<div class="jodit-form__container"></div>' + '<div class="jodit-form__options">' + generateExtraClasses() + '</div>' + '</div>' + '<label class="jodit-form__center">' + '<span>1</span> &times; <span>1</span>' + '</label>' + '</form>'), rows = form.querySelectorAll('span')[0], cols = form.querySelectorAll('span')[1], blocksContainer = form.querySelector('.jodit-form__container'), options = form.querySelector('.jodit-form__options'), cells = [];
44008
44027
  const cnt = default_rows_count * default_cols_count;
44028
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_3__.attr)(blocksContainer, {
44029
+ role: 'grid',
44030
+ ariaLabel: 'Table size',
44031
+ ariaRowcount: default_rows_count,
44032
+ ariaColcount: default_cols_count
44033
+ });
44009
44034
  for(let i = 0; i < cnt; i += 1){
44010
44035
  if (!cells[i]) {
44036
+ const row = Math.floor(i / default_cols_count) + 1, col = i % default_cols_count + 1;
44011
44037
  cells.push(editor.c.element('span', {
44012
- dataIndex: i
44038
+ dataIndex: i,
44039
+ role: 'gridcell',
44040
+ tabindex: i === 0 ? 0 : -1,
44041
+ ariaLabel: `${row} by ${col}`
44013
44042
  }));
44014
44043
  }
44015
44044
  }
44016
- const mouseenter = (e, index)=>{
44017
- const dv = e.target;
44018
- if (!jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(dv, 'span')) {
44019
- return;
44020
- }
44021
- const k = index === undefined || isNaN(index) ? parseInt((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(dv, '-index') || '0', 10) : index || 0;
44045
+ const highlightCell = (cell)=>{
44046
+ const k = parseInt((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_3__.attr)(cell, '-index') || '0', 10);
44022
44047
  const rows_count = Math.ceil((k + 1) / default_cols_count), cols_count = k % default_cols_count + 1;
44023
44048
  for(let i = 0; i < cells.length; i += 1){
44024
44049
  if (cols_count >= i % default_cols_count + 1 && rows_count >= Math.ceil((i + 1) / default_cols_count)) {
@@ -44030,14 +44055,8 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
44030
44055
  cols.textContent = cols_count.toString();
44031
44056
  rows.textContent = rows_count.toString();
44032
44057
  };
44033
- editor.e.on(blocksContainer, 'mousemove', mouseenter).on(blocksContainer, 'touchstart mousedown', (e)=>{
44034
- const dv = e.target;
44035
- e.preventDefault();
44036
- e.stopImmediatePropagation();
44037
- if (!jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(dv, 'span')) {
44038
- return;
44039
- }
44040
- const k = parseInt((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(dv, '-index') || '0', 10);
44058
+ const insertTable = (cell)=>{
44059
+ const k = parseInt((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_3__.attr)(cell, '-index') || '0', 10);
44041
44060
  const rows_count = Math.ceil((k + 1) / default_cols_count), cols_count = k % default_cols_count + 1;
44042
44061
  const crt = editor.createInside, tbody = crt.element('tbody'), table = crt.element('table');
44043
44062
  table.appendChild(tbody);
@@ -44049,7 +44068,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
44049
44068
  if (!first_td) {
44050
44069
  first_td = td;
44051
44070
  }
44052
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.css)(td, 'width', (100 / cols_count).toFixed(4) + '%');
44071
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.css)(td, 'width', (100 / cols_count).toFixed(4) + '%');
44053
44072
  td.appendChild(crt.element('br'));
44054
44073
  tr.appendChild(crt.text('\n'));
44055
44074
  tr.appendChild(crt.text('\t'));
@@ -44058,7 +44077,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
44058
44077
  tbody.appendChild(crt.text('\n'));
44059
44078
  tbody.appendChild(tr);
44060
44079
  }
44061
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.$$)('input[type=checkbox]:checked', options).forEach((input)=>{
44080
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.$$)('input[type=checkbox]:checked', options).forEach((input)=>{
44062
44081
  input.value.split(/[\s]+/).forEach((className)=>{
44063
44082
  table.classList.add(className);
44064
44083
  });
@@ -44067,15 +44086,15 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
44067
44086
  editor.s.removeMarkers();
44068
44087
  editor.editor.normalize();
44069
44088
  editor.history.snapshot.restore(snapshot);
44070
- const block = jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.furthest(editor.s.current(), jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock, editor.editor);
44071
- if (block && jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(block)) {
44072
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(block, table, undefined, false, true);
44089
+ const block = jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.furthest(editor.s.current(), jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, editor.editor);
44090
+ if (block && jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(block)) {
44091
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.replace(block, table, undefined, false, true);
44073
44092
  } else {
44074
44093
  if (block) {
44075
44094
  const fake = crt.text('\n');
44076
44095
  if (!editor.o.table.splitBlockOnInsertTable) {
44077
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.after(block, fake);
44078
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.after(fake, table);
44096
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, fake);
44097
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.after(fake, table);
44079
44098
  } else {
44080
44099
  const range = editor.s.range;
44081
44100
  range.collapse(false);
@@ -44084,9 +44103,9 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
44084
44103
  editor.s.selectRange(range);
44085
44104
  const firstPart = editor.s.splitSelection(block, fake);
44086
44105
  if (firstPart) {
44087
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.after(firstPart, table);
44106
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.after(firstPart, table);
44088
44107
  } else {
44089
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.after(block, table);
44108
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, table);
44090
44109
  }
44091
44110
  }
44092
44111
  } else {
@@ -44095,13 +44114,68 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
44095
44114
  }
44096
44115
  if (first_td) {
44097
44116
  editor.s.setCursorIn(first_td);
44098
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
44117
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
44099
44118
  }
44100
44119
  close();
44120
+ };
44121
+ editor.e.on(blocksContainer, 'mousemove', (e)=>{
44122
+ if (jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, 'span')) {
44123
+ highlightCell(e.target);
44124
+ }
44125
+ }).on(blocksContainer, 'touchstart mousedown', (e)=>{
44126
+ if (!jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, 'span')) {
44127
+ return;
44128
+ }
44129
+ e.preventDefault();
44130
+ e.stopImmediatePropagation();
44131
+ insertTable(e.target);
44132
+ }).on(blocksContainer, 'keydown', (e)=>{
44133
+ if (!jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, 'span')) {
44134
+ return;
44135
+ }
44136
+ if (e.key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_ENTER) {
44137
+ e.preventDefault();
44138
+ e.stopImmediatePropagation();
44139
+ insertTable(e.target);
44140
+ return;
44141
+ }
44142
+ if (e.key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_ESC) {
44143
+ e.preventDefault();
44144
+ e.stopImmediatePropagation();
44145
+ close();
44146
+ return;
44147
+ }
44148
+ const index = parseInt((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_3__.attr)(e.target, '-index') || '0', 10), row = Math.floor(index / default_cols_count), col = index % default_cols_count;
44149
+ let nextIndex = index;
44150
+ switch(e.key){
44151
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_LEFT:
44152
+ nextIndex = col > 0 ? index - 1 : index;
44153
+ break;
44154
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_RIGHT:
44155
+ nextIndex = col < default_cols_count - 1 ? index + 1 : index;
44156
+ break;
44157
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_UP:
44158
+ nextIndex = row > 0 ? index - default_cols_count : index;
44159
+ break;
44160
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_DOWN:
44161
+ nextIndex = row < default_rows_count - 1 ? index + default_cols_count : index;
44162
+ break;
44163
+ default:
44164
+ return;
44165
+ }
44166
+ e.preventDefault();
44167
+ e.stopImmediatePropagation();
44168
+ if (nextIndex !== index) {
44169
+ cells[index].tabIndex = -1;
44170
+ cells[nextIndex].tabIndex = 0;
44171
+ cells[nextIndex].focus();
44172
+ highlightCell(cells[nextIndex]);
44173
+ }
44101
44174
  });
44102
44175
  if (button && button.parentElement) {
44103
44176
  for(let i = 0; i < default_rows_count; i += 1){
44104
44177
  const row = editor.c.div();
44178
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_3__.attr)(row, 'role', 'row');
44105
44179
  for(let j = 0; j < default_cols_count; j += 1){
44106
44180
  row.appendChild(cells[i * default_cols_count + j]);
44107
44181
  }