jodit 4.15.17 → 4.15.18

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 (66) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +7 -7
  4. package/es2015/jodit.js +106 -34
  5. package/es2015/jodit.min.js +7 -7
  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 +4 -4
  13. package/es2018/jodit.min.js +7 -7
  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 +8 -8
  18. package/es2021/jodit.js +104 -34
  19. package/es2021/jodit.min.js +12 -12
  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 +8 -8
  28. package/es2021.en/jodit.js +104 -34
  29. package/es2021.en/jodit.min.js +8 -8
  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 +154 -64
  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 +1 -1
  46. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  47. package/es5/polyfills.fat.min.js +1 -1
  48. package/es5/polyfills.js +1 -1
  49. package/es5/polyfills.min.js +1 -1
  50. package/esm/config.d.ts +23 -0
  51. package/esm/config.js +21 -0
  52. package/esm/core/constants.js +1 -1
  53. package/esm/core/helpers/utils/align.d.ts +8 -3
  54. package/esm/core/helpers/utils/align.js +40 -2
  55. package/esm/core/selection/selection.js +5 -0
  56. package/esm/plugins/image-properties/readers/align.d.ts +5 -1
  57. package/esm/plugins/image-properties/readers/align.js +4 -18
  58. package/esm/plugins/image-properties/readers/index.js +1 -1
  59. package/esm/plugins/image-properties/writers/index.js +1 -1
  60. package/esm/plugins/inline-popup/config/items/img.js +17 -2
  61. package/esm/types/types.d.ts +4 -0
  62. package/package.json +1 -1
  63. package/types/config.d.ts +23 -0
  64. package/types/core/helpers/utils/align.d.ts +8 -3
  65. package/types/plugins/image-properties/readers/align.d.ts +5 -1
  66. package/types/types/types.d.ts +4 -0
package/es5/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.15.17
4
+ * Version: v4.15.18
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -728,6 +728,25 @@ var ConfigPrototype = {};
728
728
  /**
729
729
  * Default width (in pixels) applied to images inserted into the editor
730
730
  */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "imageDefaultWidth", 300);
731
+ /**
732
+ * Alignment given to images inserted into the editor. `'normal'` leaves
733
+ * them unaligned
734
+ */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "imageDefaultAlign", 'normal');
735
+ /**
736
+ * Class names to align images with, instead of an inline `float` or
737
+ * `margin`. Aligning an image removes every class listed here and adds the
738
+ * chosen alignment's, which can be several separated by spaces.
739
+ *
740
+ * ```javascript
741
+ * Jodit.make('#editor', {
742
+ * imageAlignClasses: {
743
+ * left: 'align-left',
744
+ * right: 'align-right',
745
+ * center: 'align-center'
746
+ * }
747
+ * });
748
+ * ```
749
+ */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "imageAlignClasses", null);
731
750
  /**
732
751
  * Do not display these buttons that are on the list
733
752
  *
@@ -2110,7 +2129,7 @@ __webpack_require__.r(__webpack_exports__);
2110
2129
  * @packageDocumentation
2111
2130
  * @module constants
2112
2131
  */
2113
- var APP_VERSION = "4.15.17";
2132
+ var APP_VERSION = "4.15.18";
2114
2133
  // prettier-ignore
2115
2134
  var ES = "es5";
2116
2135
  var IS_ES_MODERN = false;
@@ -8551,11 +8570,13 @@ function trimChars(value, chars) {
8551
8570
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8552
8571
  /* harmony export */ alignElement: function() { return /* binding */ alignElement; },
8553
8572
  /* harmony export */ clearAlign: function() { return /* binding */ clearAlign; },
8573
+ /* harmony export */ getHAlign: function() { return /* binding */ getHAlign; },
8554
8574
  /* harmony export */ hAlignElement: function() { return /* binding */ hAlignElement; }
8555
8575
  /* harmony export */ });
8556
- /* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27795);
8557
- /* harmony import */ var jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7909);
8558
- /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(80991);
8576
+ /* harmony import */ var _swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42395);
8577
+ /* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27795);
8578
+ /* harmony import */ var jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7909);
8579
+ /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80991);
8559
8580
  /*!
8560
8581
  * Jodit Editor (https://xdsoft.net/jodit/)
8561
8582
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -8565,15 +8586,38 @@ function trimChars(value, chars) {
8565
8586
  */
8566
8587
 
8567
8588
 
8589
+
8590
+ var classNames = function classNames(value) {
8591
+ return (value !== null && value !== void 0 ? value : '').split(/\s+/).filter(Boolean);
8592
+ };
8568
8593
  /**
8569
- * Align image
8570
- */ function hAlignElement(image, align) {
8594
+ * Align image, with `classes` (see `imageAlignClasses`) instead of inline
8595
+ * styles when they are given
8596
+ */ function hAlignElement(image, align, classes) {
8597
+ if (classes) {
8598
+ var _image_classList, _image_classList1;
8599
+ hAlignElement(image, 'normal');
8600
+ Object.values(classes).forEach(function(value) {
8601
+ return (_image_classList = image.classList).remove.apply(_image_classList, (0,_swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_0__._)(classNames(value)));
8602
+ });
8603
+ (_image_classList1 = image.classList).add.apply(_image_classList1, (0,_swc_helpers_to_consumable_array__WEBPACK_IMPORTED_MODULE_0__._)(classNames(classes[align || 'normal'])));
8604
+ [
8605
+ 'class',
8606
+ 'style'
8607
+ ].forEach(function(name) {
8608
+ var _attr;
8609
+ if (!((_attr = (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_2__.attr)(image, name)) === null || _attr === void 0 ? void 0 : _attr.trim())) {
8610
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_2__.attr)(image, name, null);
8611
+ }
8612
+ });
8613
+ return;
8614
+ }
8571
8615
  if (align && align !== 'normal') {
8572
8616
  if (align !== 'center') {
8573
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.css)(image, 'float', align);
8574
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.clearCenterAlign)(image);
8617
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(image, 'float', align);
8618
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.clearCenterAlign)(image);
8575
8619
  } else {
8576
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.css)(image, {
8620
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(image, {
8577
8621
  float: '',
8578
8622
  display: 'block',
8579
8623
  marginLeft: 'auto',
@@ -8581,24 +8625,52 @@ function trimChars(value, chars) {
8581
8625
  });
8582
8626
  }
8583
8627
  } else {
8584
- if ((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.css)(image, 'float') && [
8628
+ if ((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(image, 'float') && [
8585
8629
  'right',
8586
8630
  'left'
8587
- ].indexOf((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.css)(image, 'float').toString().toLowerCase()) !== -1) {
8588
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.css)(image, 'float', '');
8631
+ ].indexOf((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(image, 'float').toString().toLowerCase()) !== -1) {
8632
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(image, 'float', '');
8633
+ }
8634
+ ;(0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.clearCenterAlign)(image);
8635
+ }
8636
+ }
8637
+ /**
8638
+ * The alignment `hAlignElement` has set on an element
8639
+ */ function getHAlign(elm, classes) {
8640
+ if (classes) {
8641
+ for(var _i = 0, _iter = [
8642
+ 'left',
8643
+ 'right',
8644
+ 'center',
8645
+ 'normal'
8646
+ ]; _i < _iter.length; _i++){
8647
+ var align = _iter[_i];
8648
+ var names = classNames(classes[align]);
8649
+ if (names.length && names.every(function(name) {
8650
+ return elm.classList.contains(name);
8651
+ })) {
8652
+ return align;
8653
+ }
8589
8654
  }
8590
- ;(0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.clearCenterAlign)(image);
8591
8655
  }
8656
+ var float = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.cssInline)(elm, 'float').toLowerCase();
8657
+ if (float === 'left' || float === 'right') {
8658
+ return float;
8659
+ }
8660
+ if ((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(elm, 'display') === 'block' && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.cssInline)(elm, 'margin-left') === 'auto' && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.cssInline)(elm, 'margin-right') === 'auto') {
8661
+ return 'center';
8662
+ }
8663
+ return 'normal';
8592
8664
  }
8593
8665
  /**
8594
8666
  * Remove text-align style for all selected children
8595
8667
  */ function clearAlign(node) {
8596
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.each(node, function(elm) {
8597
- if (jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isHTMLElement(elm)) {
8598
- if ((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.cssInline)(elm, 'textAlign')) {
8599
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.css)(elm, 'textAlign', '');
8600
- if (!((0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'style') || '').trim().length) {
8601
- (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_1__.attr)(elm, 'style', null);
8668
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.each(node, function(elm) {
8669
+ if (jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isHTMLElement(elm)) {
8670
+ if ((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.cssInline)(elm, 'textAlign')) {
8671
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(elm, 'textAlign', '');
8672
+ if (!((0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_2__.attr)(elm, 'style') || '').trim().length) {
8673
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_2__.attr)(elm, 'style', null);
8602
8674
  }
8603
8675
  }
8604
8676
  }
@@ -8625,11 +8697,11 @@ function trimChars(value, chars) {
8625
8697
  ]
8626
8698
  ]);
8627
8699
  function alignElement(command, box) {
8628
- if (jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isNode(box) && jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(box)) {
8700
+ if (jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isNode(box) && jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(box)) {
8629
8701
  clearAlign(box);
8630
8702
  var align = ALIGN_BY_COMMAND.get(command.toLowerCase());
8631
8703
  if (align) {
8632
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__.css)(box, 'textAlign', align);
8704
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(box, 'textAlign', align);
8633
8705
  }
8634
8706
  }
8635
8707
  }
@@ -9801,6 +9873,7 @@ __webpack_require__.r(__webpack_exports__);
9801
9873
  /* harmony export */ get: function() { return /* reexport safe */ _get__WEBPACK_IMPORTED_MODULE_15__.get; },
9802
9874
  /* harmony export */ getClassName: function() { return /* reexport safe */ _get_class_name__WEBPACK_IMPORTED_MODULE_16__.getClassName; },
9803
9875
  /* harmony export */ getDataTransfer: function() { return /* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_27__.getDataTransfer; },
9876
+ /* harmony export */ getHAlign: function() { return /* reexport safe */ _align__WEBPACK_IMPORTED_MODULE_0__.getHAlign; },
9804
9877
  /* harmony export */ getPropertyDescriptor: function() { return /* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_27__.getPropertyDescriptor; },
9805
9878
  /* harmony export */ getXPathByElement: function() { return /* reexport safe */ _selector__WEBPACK_IMPORTED_MODULE_24__.getXPathByElement; },
9806
9879
  /* harmony export */ hAlignElement: function() { return /* reexport safe */ _align__WEBPACK_IMPORTED_MODULE_0__.hAlignElement; },
@@ -9831,7 +9904,7 @@ __webpack_require__.r(__webpack_exports__);
9831
9904
  /* harmony import */ var _assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28712);
9832
9905
  /* harmony import */ var _assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_assert__WEBPACK_IMPORTED_MODULE_2__);
9833
9906
  /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
9834
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _assert__WEBPACK_IMPORTED_MODULE_2__) if(["default","alignElement","clearAlign","hAlignElement","alreadyLoadedList","appendScriptAsync","appendStyleAsync","loadNext","loadNextStyle"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _assert__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)
9907
+ /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _assert__WEBPACK_IMPORTED_MODULE_2__) if(["default","alignElement","clearAlign","getHAlign","hAlignElement","alreadyLoadedList","appendScriptAsync","appendStyleAsync","loadNext","loadNextStyle"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _assert__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)
9835
9908
  /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
9836
9909
  /* harmony import */ var _attr__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7909);
9837
9910
  /* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26136);
@@ -12093,11 +12166,12 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
12093
12166
  /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(23211);
12094
12167
  /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(65946);
12095
12168
  /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(28686);
12096
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(28712);
12097
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__);
12098
- /* harmony import */ var jodit_core_selection_helpers_move_the_node_along_the_edge_outward__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(7470);
12099
- /* harmony import */ var _style_commit_style__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(84578);
12100
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(42259);
12169
+ /* harmony import */ var jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(16849);
12170
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(28712);
12171
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_14__);
12172
+ /* harmony import */ var jodit_core_selection_helpers_move_the_node_along_the_edge_outward__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(7470);
12173
+ /* harmony import */ var _style_commit_style__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(84578);
12174
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(42259);
12101
12175
  /*!
12102
12176
  * Jodit Editor (https://xdsoft.net/jodit/)
12103
12177
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -12125,6 +12199,7 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
12125
12199
 
12126
12200
 
12127
12201
 
12202
+
12128
12203
  var Selection = /*#__PURE__*/ function() {
12129
12204
  "use strict";
12130
12205
  function Selection(jodit) {
@@ -12709,7 +12784,7 @@ var Selection = /*#__PURE__*/ function() {
12709
12784
  return node;
12710
12785
  }
12711
12786
  if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(node)) {
12712
- var ret = (0,_helpers__WEBPACK_IMPORTED_MODULE_16__.findCorrectCurrentNode)(node, range, rightMode, sel.isCollapsed, checkChild, child);
12787
+ var ret = (0,_helpers__WEBPACK_IMPORTED_MODULE_17__.findCorrectCurrentNode)(node, range, rightMode, sel.isCollapsed, checkChild, child);
12713
12788
  node = ret.node;
12714
12789
  rightMode = ret.rightMode;
12715
12790
  }
@@ -12870,6 +12945,10 @@ var Selection = /*#__PURE__*/ function() {
12870
12945
  if (styles && (typeof styles === "undefined" ? "undefined" : (0,_swc_helpers_type_of__WEBPACK_IMPORTED_MODULE_7__._)(styles)) === 'object') {
12871
12946
  (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.css)(image, styles);
12872
12947
  }
12948
+ var _this_j_o = this.j.o, imageDefaultAlign = _this_j_o.imageDefaultAlign, imageAlignClasses = _this_j_o.imageAlignClasses;
12949
+ if (imageDefaultAlign && imageDefaultAlign !== 'normal') {
12950
+ (0,jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_13__.hAlignElement)(image, imageDefaultAlign, imageAlignClasses);
12951
+ }
12873
12952
  var onload = function onload1() {
12874
12953
  if (image.naturalHeight < image.offsetHeight || image.naturalWidth < image.offsetWidth) {
12875
12954
  (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.css)(image, {
@@ -13025,7 +13104,7 @@ var Selection = /*#__PURE__*/ function() {
13025
13104
  };
13026
13105
  // check right offset
13027
13106
  if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isText(container)) {
13028
- if ((0,_helpers__WEBPACK_IMPORTED_MODULE_16__.cursorInTheEdgeOfString)(container, offset, start, end)) {
13107
+ if ((0,_helpers__WEBPACK_IMPORTED_MODULE_17__.cursorInTheEdgeOfString)(container, offset, start, end)) {
13029
13108
  return false;
13030
13109
  }
13031
13110
  } else {
@@ -13639,8 +13718,8 @@ var Selection = /*#__PURE__*/ function() {
13639
13718
  * ```
13640
13719
  */ key: "commitStyle",
13641
13720
  value: function commitStyle(options) {
13642
- ;(0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__.assert)((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.size)(options) > 0, 'Need to pass at least one option');
13643
- var styleElm = new _style_commit_style__WEBPACK_IMPORTED_MODULE_15__.CommitStyle(options);
13721
+ ;(0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_14__.assert)((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_11__.size)(options) > 0, 'Need to pass at least one option');
13722
+ var styleElm = new _style_commit_style__WEBPACK_IMPORTED_MODULE_16__.CommitStyle(options);
13644
13723
  styleElm.apply(this.j);
13645
13724
  }
13646
13725
  },
@@ -13701,7 +13780,7 @@ var Selection = /*#__PURE__*/ function() {
13701
13780
  return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.isEmptyTextNode(node) && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeRemove(node);
13702
13781
  });
13703
13782
  };
13704
- (0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_13__.assert)(currentBox.parentNode, 'Splitting fails');
13783
+ (0,jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_14__.assert)(currentBox.parentNode, 'Splitting fails');
13705
13784
  try {
13706
13785
  clearEmpties(fragment);
13707
13786
  clearEmpties(currentBox);
@@ -13764,7 +13843,7 @@ var Selection = /*#__PURE__*/ function() {
13764
13843
  var r = range.cloneRange();
13765
13844
  r.collapse(start);
13766
13845
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_10__.Dom.safeInsertNode(r, fake);
13767
- (0,jodit_core_selection_helpers_move_the_node_along_the_edge_outward__WEBPACK_IMPORTED_MODULE_14__.moveTheNodeAlongTheEdgeOutward)(fake, start, _this.j.editor);
13846
+ (0,jodit_core_selection_helpers_move_the_node_along_the_edge_outward__WEBPACK_IMPORTED_MODULE_15__.moveTheNodeAlongTheEdgeOutward)(fake, start, _this.j.editor);
13768
13847
  return fake;
13769
13848
  };
13770
13849
  var leftFake = moveMaxEdgeFake(true);
@@ -39899,7 +39978,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_11__.pluginSystem.add('imagePropertie
39899
39978
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39900
39979
  /* harmony export */ readAlign: function() { return /* binding */ readAlign; }
39901
39980
  /* harmony export */ });
39902
- /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80991);
39981
+ /* harmony import */ var jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16849);
39903
39982
  /*!
39904
39983
  * Jodit Editor (https://xdsoft.net/jodit/)
39905
39984
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -39909,20 +39988,9 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_11__.pluginSystem.add('imagePropertie
39909
39988
  */
39910
39989
  /**
39911
39990
  * @private
39912
- */ function readAlign(image, values) {
39913
- // Align
39914
- if ((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_0__.cssInline)(image, 'float') && [
39915
- 'left',
39916
- 'right'
39917
- ].indexOf((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_0__.cssInline)(image, 'float').toLowerCase()) !== -1) {
39918
- values.align = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_0__.css)(image, 'float');
39919
- } else {
39920
- if ((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_0__.css)(image, 'display') === 'block' && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_0__.cssInline)(image, 'margin-left') === 'auto' && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_0__.cssInline)(image, 'margin-right') === 'auto') {
39921
- values.align = 'center';
39922
- } else {
39923
- values.align = '';
39924
- }
39925
- }
39991
+ */ function readAlign(image, values, classes) {
39992
+ var align = (0,jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_0__.getHAlign)(image, classes);
39993
+ values.align = align === 'normal' ? '' : align;
39926
39994
  }
39927
39995
 
39928
39996
 
@@ -39965,7 +40033,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_11__.pluginSystem.add('imagePropertie
39965
40033
  var image, values;
39966
40034
  return (0,_swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_1__._)(this, function(_state) {
39967
40035
  image = state.sourceImage, values = state.values;
39968
- (0,_align__WEBPACK_IMPORTED_MODULE_4__.readAlign)(image, values);
40036
+ (0,_align__WEBPACK_IMPORTED_MODULE_4__.readAlign)(image, values, j.o.imageAlignClasses);
39969
40037
  // Border radius
39970
40038
  values.borderRadius = parseInt((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.cssInline)(image, 'border-radius') || '0', 10) || 0;
39971
40039
  // Id
@@ -41213,7 +41281,7 @@ UIImagePositionTab = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__
41213
41281
  (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(image, 'id', id || null);
41214
41282
  }
41215
41283
  if (opt.image.editAlign) {
41216
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.hAlignElement)(image, align);
41284
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.hAlignElement)(image, align, j.o.imageAlignClasses);
41217
41285
  }
41218
41286
  }
41219
41287
 
@@ -42082,10 +42150,11 @@ var cmd = function cmd(control) {
42082
42150
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
42083
42151
  /* harmony export */ align: function() { return /* binding */ align; }
42084
42152
  /* harmony export */ });
42085
- /* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27795);
42086
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(85932);
42087
- /* harmony import */ var jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16849);
42088
- /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80991);
42153
+ /* harmony import */ var _swc_helpers_sliced_to_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50684);
42154
+ /* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27795);
42155
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(85932);
42156
+ /* harmony import */ var jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16849);
42157
+ /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80991);
42089
42158
  /*!
42090
42159
  * Jodit Editor (https://xdsoft.net/jodit/)
42091
42160
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -42096,6 +42165,15 @@ var cmd = function cmd(control) {
42096
42165
 
42097
42166
 
42098
42167
 
42168
+
42169
+ // Images align with `imageAlignClasses`; the wrappers of iframes and media
42170
+ // keep inline styles
42171
+ var alignClasses = function alignClasses(editor, elm) {
42172
+ return jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(elm, 'img') ? editor.o.imageAlignClasses : null;
42173
+ };
42174
+ var currentAlign = function currentAlign(editor, elm) {
42175
+ return elm ? (0,jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_3__.getHAlign)(elm, alignClasses(editor, elm)) : 'normal';
42176
+ };
42099
42177
  var align = {
42100
42178
  name: 'left',
42101
42179
  childTemplate: function childTemplate(_, __, value) {
@@ -42107,25 +42185,37 @@ var align = {
42107
42185
  'Center',
42108
42186
  'Normal'
42109
42187
  ],
42188
+ update: function update(editor, button) {
42189
+ var current = currentAlign(editor, button.target);
42190
+ button.state.icon.name = current === 'normal' ? 'left' : current;
42191
+ },
42192
+ isActive: function isActive(editor, button) {
42193
+ return currentAlign(editor, button.target) !== 'normal';
42194
+ },
42195
+ isChildActive: function isChildActive(editor, button) {
42196
+ var _button_control_args;
42197
+ var _ref = (0,_swc_helpers_sliced_to_array__WEBPACK_IMPORTED_MODULE_0__._)((_button_control_args = button.control.args) !== null && _button_control_args !== void 0 ? _button_control_args : [], 1), value = _ref[0];
42198
+ return (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_2__.isString)(value) && currentAlign(editor, button.target) === value.toLowerCase();
42199
+ },
42110
42200
  exec: function exec(editor, elm, param) {
42111
42201
  var control = param.control;
42112
- if (!jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, new Set([
42202
+ if (!jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(elm, new Set([
42113
42203
  'img',
42114
42204
  'jodit',
42115
42205
  'jodit-media'
42116
42206
  ]))) {
42117
42207
  return;
42118
42208
  }
42119
- var command = control.args && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_1__.isString)(control.args[0]) ? control.args[0].toLowerCase() : '';
42209
+ var command = control.args && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_2__.isString)(control.args[0]) ? control.args[0].toLowerCase() : '';
42120
42210
  if (!command) {
42121
42211
  return false;
42122
42212
  }
42123
- ;(0,jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_2__.hAlignElement)(elm, command);
42124
- if (jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, new Set([
42213
+ ;(0,jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_3__.hAlignElement)(elm, command, alignClasses(editor, elm));
42214
+ if (jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(elm, new Set([
42125
42215
  'jodit',
42126
42216
  'jodit-media'
42127
42217
  ])) && elm.firstElementChild) {
42128
- (0,jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_2__.hAlignElement)(elm.firstElementChild, command);
42218
+ (0,jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_3__.hAlignElement)(elm.firstElementChild, command);
42129
42219
  }
42130
42220
  editor.synchronizeValues();
42131
42221
  editor.e.fire('recalcPositionPopup');
@@ -42166,18 +42256,18 @@ var align = {
42166
42256
  return Boolean(image && ([
42167
42257
  'left',
42168
42258
  'right'
42169
- ].includes((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(image, 'float')) || (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(image, 'display') === 'block'));
42259
+ ].includes((0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_4__.css)(image, 'float')) || (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_4__.css)(image, 'display') === 'block'));
42170
42260
  },
42171
42261
  exec: function exec(editor, image, param) {
42172
42262
  var control = param.control;
42173
- if (!jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(image, 'img')) {
42263
+ if (!jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(image, 'img')) {
42174
42264
  return;
42175
42265
  }
42176
- var command = control.args && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_1__.isString)(control.args[0]) ? control.args[0].toLowerCase() : '';
42266
+ var command = control.args && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_2__.isString)(control.args[0]) ? control.args[0].toLowerCase() : '';
42177
42267
  if (!command) {
42178
42268
  return false;
42179
42269
  }
42180
- ;(0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(image, 'vertical-align', command === 'normal' ? '' : command);
42270
+ ;(0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_4__.css)(image, 'vertical-align', command === 'normal' ? '' : command);
42181
42271
  editor.e.fire('recalcPositionPopup');
42182
42272
  }
42183
42273
  },
package/es5/jodit.min.css CHANGED
@@ -1,14 +1,14 @@
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.15.17
4
+ * Version: v4.15.18
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
8
8
  /*!
9
9
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
10
10
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
11
- * Version: v4.15.17
11
+ * Version: v4.15.18
12
12
  * Url: https://xdsoft.net/jodit/
13
13
  * License(s): MIT
14
14
  */