jodit 4.15.10 → 4.15.14

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 (85) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +7 -0
  3. package/es2015/jodit.css +41 -3
  4. package/es2015/jodit.fat.min.css +1 -1
  5. package/es2015/jodit.fat.min.js +8 -8
  6. package/es2015/jodit.js +302 -79
  7. package/es2015/jodit.min.css +1 -1
  8. package/es2015/jodit.min.js +6 -6
  9. package/es2015/plugins/debug/debug.css +1 -1
  10. package/es2015/plugins/debug/debug.js +1 -1
  11. package/es2015/plugins/debug/debug.min.js +1 -1
  12. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  13. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  14. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  15. package/es2018/jodit.fat.min.css +1 -1
  16. package/es2018/jodit.fat.min.js +6 -6
  17. package/es2018/jodit.min.css +1 -1
  18. package/es2018/jodit.min.js +6 -6
  19. package/es2018/plugins/debug/debug.min.js +1 -1
  20. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  21. package/es2021/jodit.css +41 -3
  22. package/es2021/jodit.fat.min.css +1 -1
  23. package/es2021/jodit.fat.min.js +6 -6
  24. package/es2021/jodit.js +301 -79
  25. package/es2021/jodit.min.css +1 -1
  26. package/es2021/jodit.min.js +6 -6
  27. package/es2021/plugins/debug/debug.css +1 -1
  28. package/es2021/plugins/debug/debug.js +1 -1
  29. package/es2021/plugins/debug/debug.min.js +1 -1
  30. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  31. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  32. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  33. package/es2021.en/jodit.css +41 -3
  34. package/es2021.en/jodit.fat.min.css +1 -1
  35. package/es2021.en/jodit.fat.min.js +11 -11
  36. package/es2021.en/jodit.js +301 -79
  37. package/es2021.en/jodit.min.css +1 -1
  38. package/es2021.en/jodit.min.js +10 -10
  39. package/es2021.en/plugins/debug/debug.css +1 -1
  40. package/es2021.en/plugins/debug/debug.js +1 -1
  41. package/es2021.en/plugins/debug/debug.min.js +1 -1
  42. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  43. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  44. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  45. package/es5/jodit.css +46 -3
  46. package/es5/jodit.fat.min.css +1 -1
  47. package/es5/jodit.fat.min.js +2 -2
  48. package/es5/jodit.js +356 -79
  49. package/es5/jodit.min.css +3 -3
  50. package/es5/jodit.min.js +2 -2
  51. package/es5/plugins/debug/debug.css +1 -1
  52. package/es5/plugins/debug/debug.js +1 -1
  53. package/es5/plugins/debug/debug.min.js +1 -1
  54. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  55. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  56. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  57. package/es5/polyfills.fat.min.js +1 -1
  58. package/es5/polyfills.js +1 -1
  59. package/es5/polyfills.min.js +1 -1
  60. package/esm/config.d.ts +2 -1
  61. package/esm/config.js +2 -1
  62. package/esm/core/constants.d.ts +2 -0
  63. package/esm/core/constants.js +3 -1
  64. package/esm/modules/toolbar/button/button.d.ts +14 -0
  65. package/esm/modules/toolbar/button/button.js +102 -4
  66. package/esm/modules/widget/color-picker/color-picker.d.ts +1 -1
  67. package/esm/modules/widget/color-picker/color-picker.js +10 -3
  68. package/esm/plugins/all.d.ts +1 -0
  69. package/esm/plugins/all.js +1 -0
  70. package/esm/plugins/clean-html/config.js +0 -3
  71. package/esm/plugins/index.d.ts +1 -0
  72. package/esm/plugins/index.js +1 -0
  73. package/esm/plugins/toolbar-navigation/toolbar-navigation.d.ts +42 -0
  74. package/esm/plugins/toolbar-navigation/toolbar-navigation.js +113 -0
  75. package/esm/styles/icons/index.d.ts +1 -1
  76. package/esm/styles/icons/index.js +2 -1
  77. package/package.json +1 -1
  78. package/types/config.d.ts +2 -1
  79. package/types/core/constants.d.ts +2 -0
  80. package/types/modules/toolbar/button/button.d.ts +14 -0
  81. package/types/modules/widget/color-picker/color-picker.d.ts +1 -1
  82. package/types/plugins/index.d.ts +1 -0
  83. package/types/plugins/toolbar-navigation/toolbar-navigation.d.ts +42 -0
  84. package/types/styles/icons/index.d.ts +1 -1
  85. /package/esm/{plugins/clean-html → styles/icons}/eraser.svg.js +0 -0
package/CHANGELOG.md CHANGED
@@ -9,6 +9,31 @@
9
9
  > - :house: [Internal]
10
10
  > - :nail_care: [Polish]
11
11
 
12
+ ## 4.15.14
13
+
14
+ #### :rocket: New Feature
15
+
16
+ - [#1488](https://github.com/xdan/jodit/issues/1488) The color picker has a button that removes the text or background color, or a table cell's color. It calls the picker's callback with an empty string. Thanks [@brendon](https://github.com/brendon).
17
+ - [#1491](https://github.com/xdan/jodit/issues/1491) The number of color picker columns can be set with the `--jd-color-picker-columns` CSS variable (10 by default), alongside `--jd-color-picker-cell-size`. Thanks [@brendon](https://github.com/brendon).
18
+
19
+ #### :bug: Bug Fix
20
+
21
+ - [#1487](https://github.com/xdan/jodit/issues/1487) A flat `colors` array now wraps into rows in the color picker, like a named group, instead of putting every color on its own line. Thanks [@brendon](https://github.com/brendon).
22
+
23
+ #### :nail_care: Polish
24
+
25
+ - The hover border of the color picker swatches and of the remove-color button follows the theme text color instead of a hardcoded black, so it is visible in the dark theme too.
26
+
27
+ ## 4.15.13
28
+
29
+ #### :rocket: New Feature
30
+
31
+ - [#1423](https://github.com/xdan/jodit/issues/1423) New `toolbar-navigation` plugin: the toolbar is now reachable from the keyboard. `Alt+F10` moves the focus from the editable area into the toolbar, the arrow keys walk the buttons (wrapping at the ends, reversed in RTL), `Home`/`End` jump to the ends, `Enter`/`Space` activate a button and `Escape` gives the focus back to the editor; disabled buttons are skipped. This follows the WAI-ARIA authoring practices for a `role="toolbar"` widget, and the focus is moved programmatically, so it also works with the default `allowTabNavigation: false`, where the buttons take no part in the page tab order. On a button with a dropdown, `ArrowDown` opens it and focuses the first item, `ArrowDown`/`ArrowUp` walk the items, and `Escape` or `ArrowUp` on the first item close it and return to the button. Reaching the toolbar is the regular `focusToolbar` command, so it can be remapped like any other (`commandToHotkeys: { focusToolbar: 'alt+0' }`) or called with `execCommand`. Requested by [@cut2run](https://github.com/cut2run).
32
+
33
+ #### :bug: Bug Fix
34
+
35
+ - A toolbar button focused from the keyboard right after a mouse click showed no highlight in Chrome: a modifier shortcut such as `Alt+F10` does not switch the browser to keyboard modality, so `:focus-visible` never matched. Toolbar buttons are never focused by the mouse (`mousedown` is prevented to keep the selection), so they now highlight plain `:focus`.
36
+
12
37
  ## 4.15.10
13
38
 
14
39
  #### :bug: Bug Fix
package/README.md CHANGED
@@ -7,6 +7,13 @@
7
7
   
8
8
  <a href="https://xdsoft.net/jodit/pro/"><img src="https://img.shields.io/badge/Get%20Jodit%20PRO%20%E2%86%92-F5A623?style=for-the-badge" height="34" alt="Get Jodit PRO"></a>
9
9
  </p>
10
+ <p>
11
+ <a href="https://www.npmjs.com/package/jodit"><img src="https://img.shields.io/npm/v/jodit?style=flat-square&labelColor=1F2937&color=4B5563" alt="npm version"></a>
12
+ <a href="https://www.npmjs.com/package/jodit"><img src="https://img.shields.io/npm/dm/jodit?style=flat-square&label=jodit&labelColor=1F2937&color=4B5563" alt="jodit downloads per month"></a>
13
+ <a href="https://www.npmjs.com/package/jodit-react"><img src="https://img.shields.io/npm/dm/jodit-react?style=flat-square&label=jodit-react&labelColor=1F2937&color=4B5563" alt="jodit-react downloads per month"></a>
14
+ <a href="https://github.com/xdan/jodit/actions/workflows/tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/xdan/jodit/tests.yml?branch=main&style=flat-square&label=tests&labelColor=1F2937" alt="Tests"></a>
15
+ <a href="https://github.com/xdan/jodit/blob/main/LICENSE.txt"><img src="https://img.shields.io/npm/l/jodit?style=flat-square&labelColor=1F2937&color=4B5563" alt="MIT license"></a>
16
+ </p>
10
17
  </div>
11
18
 
12
19
  <br>
package/es2015/jodit.css 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.10
4
+ * Version: v4.15.14
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -2757,6 +2757,11 @@ a + .jodit-file-browser-tree__source-title {
2757
2757
  opacity: 0.3;
2758
2758
  pointer-events: none;
2759
2759
  }
2760
+ .jodit-toolbar-button__button:focus:not([disabled]) {
2761
+ background-color: var(--jd-color-button-background-hover);
2762
+ opacity: 1;
2763
+ outline: 0;
2764
+ }
2760
2765
  .jodit-toolbar-button__trigger {
2761
2766
  display: flex;
2762
2767
  height: 100%;
@@ -2768,6 +2773,11 @@ a + .jodit-file-browser-tree__source-title {
2768
2773
  --jd-button-trigger-size: 14px;
2769
2774
  width: calc(var(--jd-button-trigger-size, 14px) + 2px);
2770
2775
  }
2776
+ .jodit-toolbar-button__trigger:focus:not([disabled]) {
2777
+ background-color: var(--jd-color-button-background-hover);
2778
+ opacity: 1;
2779
+ outline: 0;
2780
+ }
2771
2781
  .jodit-toolbar-button__trigger:hover:not([disabled]),
2772
2782
  .jodit-toolbar-button__trigger:focus-visible:not([disabled]) {
2773
2783
  background-color: var(--jd-color-button-background-hover);
@@ -3486,6 +3496,11 @@ a + .jodit-file-browser-tree__source-title {
3486
3496
  opacity: 0.3;
3487
3497
  pointer-events: none;
3488
3498
  }
3499
+ .jodit-toolbar-select__button:focus:not([disabled]) {
3500
+ background-color: var(--jd-color-button-background-hover);
3501
+ opacity: 1;
3502
+ outline: 0;
3503
+ }
3489
3504
  .jodit-toolbar-select__trigger {
3490
3505
  display: flex;
3491
3506
  height: 100%;
@@ -3497,6 +3512,11 @@ a + .jodit-file-browser-tree__source-title {
3497
3512
  --jd-button-trigger-size: 14px;
3498
3513
  width: calc(var(--jd-button-trigger-size, 14px) + 2px);
3499
3514
  }
3515
+ .jodit-toolbar-select__trigger:focus:not([disabled]) {
3516
+ background-color: var(--jd-color-button-background-hover);
3517
+ opacity: 1;
3518
+ outline: 0;
3519
+ }
3500
3520
  .jodit-toolbar-select__trigger:hover:not([disabled]),
3501
3521
  .jodit-toolbar-select__trigger:focus-visible:not([disabled]) {
3502
3522
  background-color: var(--jd-color-button-background-hover);
@@ -3812,6 +3832,7 @@ a + .jodit-file-browser-tree__source-title {
3812
3832
  */
3813
3833
  :root {
3814
3834
  --jd-color-picker-cell-size: 24px;
3835
+ --jd-color-picker-columns: 10;
3815
3836
  }
3816
3837
  .jodit-color-picker {
3817
3838
  margin: 0;
@@ -3820,7 +3841,7 @@ a + .jodit-file-browser-tree__source-title {
3820
3841
  }
3821
3842
  .jodit-color-picker__group {
3822
3843
  display: flex;
3823
- max-width: calc(var(--jd-color-picker-cell-size) * 10);
3844
+ max-width: calc(var(--jd-color-picker-cell-size) * var(--jd-color-picker-columns));
3824
3845
  flex-wrap: wrap;
3825
3846
  margin-bottom: calc(var(--jd-padding-default) / 2);
3826
3847
  white-space: normal;
@@ -3835,7 +3856,7 @@ a + .jodit-file-browser-tree__source-title {
3835
3856
  vertical-align: middle;
3836
3857
  }
3837
3858
  .jodit-color-picker__color-item:hover {
3838
- border-color: #000;
3859
+ border-color: var(--jd-color-text);
3839
3860
  }
3840
3861
  .jodit-color-picker__color-item_active_true,
3841
3862
  .jodit-color-picker__color-item:active {
@@ -3845,6 +3866,23 @@ a + .jodit-file-browser-tree__source-title {
3845
3866
  display: flex;
3846
3867
  align-items: center;
3847
3868
  justify-content: space-between;
3869
+ gap: calc(var(--jd-padding-default) / 2);
3870
+ }
3871
+ .jodit-color-picker__remove {
3872
+ display: flex;
3873
+ align-items: center;
3874
+ justify-content: center;
3875
+ padding: 2px;
3876
+ margin-left: auto;
3877
+ border: 1px solid transparent;
3878
+ cursor: pointer;
3879
+ }
3880
+ .jodit-color-picker__remove:hover {
3881
+ border-color: var(--jd-color-text);
3882
+ }
3883
+ .jodit-color-picker__remove svg {
3884
+ width: 16px;
3885
+ height: 16px;
3848
3886
  }
3849
3887
  .jodit-color-picker__hex input {
3850
3888
  width: 80px;