@ckeditor/ckeditor5-ui 44.3.0-alpha.7 → 45.0.0-alpha.0

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 (107) hide show
  1. package/LICENSE.md +1 -1
  2. package/ckeditor5-metadata.json +1 -1
  3. package/dist/index-editor.css +28 -0
  4. package/dist/index.css +33 -0
  5. package/dist/index.css.map +1 -1
  6. package/dist/index.js +196 -74
  7. package/dist/index.js.map +1 -1
  8. package/dist/translations/be.d.ts +8 -0
  9. package/dist/translations/be.js +5 -0
  10. package/dist/translations/be.umd.js +11 -0
  11. package/lang/translations/be.po +208 -0
  12. package/package.json +12 -6
  13. package/src/arialiveannouncer.js +24 -0
  14. package/src/autocomplete/autocompleteview.js +29 -25
  15. package/src/badge/badge.js +23 -15
  16. package/src/bindings/draggableviewmixin.js +12 -12
  17. package/src/button/buttonview.js +35 -5
  18. package/src/button/filedialogbuttonview.js +11 -1
  19. package/src/button/listitembuttonview.js +14 -10
  20. package/src/button/switchbuttonview.js +4 -0
  21. package/src/collapsible/collapsibleview.d.ts +1 -4
  22. package/src/collapsible/collapsibleview.js +13 -2
  23. package/src/colorgrid/colorgridview.js +18 -2
  24. package/src/colorgrid/colortileview.d.ts +1 -4
  25. package/src/colorgrid/colortileview.js +3 -3
  26. package/src/colorpicker/colorpickerview.js +28 -1
  27. package/src/colorselector/colorgridsfragmentview.js +80 -4
  28. package/src/colorselector/colorpickerfragmentview.js +44 -3
  29. package/src/colorselector/colorselectorview.js +36 -0
  30. package/src/componentfactory.js +8 -4
  31. package/src/dialog/dialog.js +18 -0
  32. package/src/dialog/dialogactionsview.js +20 -0
  33. package/src/dialog/dialogcontentview.js +4 -0
  34. package/src/dialog/dialogview.d.ts +1 -1
  35. package/src/dialog/dialogview.js +56 -11
  36. package/src/dropdown/button/dropdownbuttonview.d.ts +0 -3
  37. package/src/dropdown/button/dropdownbuttonview.js +6 -2
  38. package/src/dropdown/button/splitbuttonview.d.ts +1 -4
  39. package/src/dropdown/button/splitbuttonview.js +27 -3
  40. package/src/dropdown/dropdownpanelview.js +8 -0
  41. package/src/dropdown/dropdownview.js +235 -184
  42. package/src/dropdown/menu/dropdownmenubuttonview.d.ts +0 -3
  43. package/src/dropdown/menu/dropdownmenubuttonview.js +6 -2
  44. package/src/dropdown/menu/dropdownmenulistitembuttonview.js +1 -0
  45. package/src/dropdown/menu/dropdownmenulistitemview.js +4 -0
  46. package/src/dropdown/menu/dropdownmenunestedmenuview.js +31 -8
  47. package/src/dropdown/menu/dropdownmenurootlistview.js +16 -8
  48. package/src/editableui/editableuiview.js +22 -4
  49. package/src/editableui/inline/inlineeditableuiview.js +4 -0
  50. package/src/editorui/accessibilityhelp/accessibilityhelp.js +8 -11
  51. package/src/editorui/bodycollection.js +13 -0
  52. package/src/editorui/boxed/boxededitoruiview.js +14 -0
  53. package/src/editorui/editorui.d.ts +1 -1
  54. package/src/editorui/editorui.js +56 -25
  55. package/src/editorui/editoruiview.d.ts +15 -1
  56. package/src/editorui/editoruiview.js +22 -0
  57. package/src/editorui/evaluationbadge.js +5 -5
  58. package/src/editorui/poweredby.d.ts +1 -4
  59. package/src/editorui/poweredby.js +5 -2
  60. package/src/focuscycler.js +31 -0
  61. package/src/formheader/formheaderview.js +8 -0
  62. package/src/formrow/formrowview.d.ts +57 -0
  63. package/src/formrow/formrowview.js +56 -0
  64. package/src/highlightedtext/highlightedtextview.js +1 -1
  65. package/src/highlightedtext/labelwithhighlightview.js +4 -0
  66. package/src/icon/iconview.js +25 -16
  67. package/src/index.d.ts +1 -0
  68. package/src/index.js +1 -0
  69. package/src/input/inputbase.js +5 -0
  70. package/src/label/labelview.js +5 -0
  71. package/src/labeledfield/labeledfieldview.js +20 -0
  72. package/src/labeledinput/labeledinputview.js +13 -0
  73. package/src/list/listitemgroupview.js +15 -0
  74. package/src/list/listitemview.js +4 -0
  75. package/src/list/listview.js +27 -5
  76. package/src/menubar/menubarmenubuttonview.d.ts +0 -3
  77. package/src/menubar/menubarmenubuttonview.js +6 -2
  78. package/src/menubar/menubarmenupanelview.js +4 -0
  79. package/src/menubar/menubarmenuview.js +23 -6
  80. package/src/menubar/menubarview.d.ts +8 -0
  81. package/src/menubar/menubarview.js +27 -7
  82. package/src/menubar/utils.d.ts +6 -0
  83. package/src/menubar/utils.js +16 -3
  84. package/src/model.js +1 -1
  85. package/src/panel/balloon/balloonpanelview.js +464 -449
  86. package/src/panel/balloon/contextualballoon.js +60 -24
  87. package/src/panel/sticky/stickypanelview.js +14 -0
  88. package/src/search/searchresultsview.js +18 -0
  89. package/src/search/text/searchtextqueryview.d.ts +0 -3
  90. package/src/search/text/searchtextqueryview.js +15 -3
  91. package/src/search/text/searchtextview.js +43 -3
  92. package/src/template.js +69 -1
  93. package/src/textarea/textareaview.js +12 -5
  94. package/src/toolbar/balloon/balloontoolbar.d.ts +1 -1
  95. package/src/toolbar/balloon/balloontoolbar.js +38 -11
  96. package/src/toolbar/block/blocktoolbar.js +24 -8
  97. package/src/toolbar/toolbarview.d.ts +15 -2
  98. package/src/toolbar/toolbarview.js +206 -58
  99. package/src/tooltipmanager.js +50 -32
  100. package/src/view.js +76 -0
  101. package/src/viewcollection.js +4 -0
  102. package/theme/components/form/form.css +87 -0
  103. package/theme/components/formrow/formrow.css +32 -0
  104. package/theme/icons/accessibility.svg +0 -1
  105. package/theme/icons/color-tile-check.svg +0 -1
  106. package/theme/icons/dropdown-arrow.svg +0 -1
  107. package/theme/icons/project-logo.svg +0 -1
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+
6
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ export default {"be":{"dictionary":{"Rich Text Editor":"Рэдактар","Edit block":"Рэдагаваць блок","Click to edit block":"Націсніце, каб рэдагаваць блок","Drag to move":"Перацягніце","Next":"Наступны","Previous":"Папярэдні","Editor toolbar":"Панэль інструментаў рэдактара","Dropdown toolbar":"Выпадаючая панэль інструментаў","Dropdown menu":"Выпадаючае меню","Black":"Чорны","Dim grey":"Цёмны серы","Grey":"Серы","Light grey":"Светла-серы","White":"Белы","Red":"Чырвоны","Orange":"Аранжавы","Yellow":"Жоўты","Light green":"Салатавы","Green":"Зялёны","Aquamarine":"Аквамарынавы","Turquoise":"Бірузовы","Light blue":"Блакітны","Blue":"Сіні","Purple":"Фіялетавы","Editor block content toolbar":"Панэль інструментаў рэдактара","Editor contextual toolbar":"Кантэкстуальная панэль інструментаў рэдактара","HEX":"HEX","No results found":"Няма вынікаў","No searchable items":"Няма элементаў для пошуку","Editor dialog":"Дыялогавае акно рэдактара","Close":"Закрыць","Help Contents. To close this dialog press ESC.":"Змест дапамогі. Каб закрыць гэта дыялогавае акно, націсніце ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Ніжэй вы можаце знайсці спіс камбінацый клавіш, якія можна выкарыстоўваць у рэдактары.","(may require <kbd>Fn</kbd>)":"(можа патрабаваць <kbd>Fn</kbd>)","Accessibility":"Даступнасць","Accessibility help":"Дапамога па спецыяльных магчымасцях","Press %0 for help.":"Націсніце %0 для атрымання дапамогі.","Move focus in and out of an active dialog window":"Перамясціць фокус у актыўнае дыялогавае акно і наадварот.","MENU_BAR_MENU_FILE":"Файл","MENU_BAR_MENU_EDIT":"Рэдагаваць","MENU_BAR_MENU_VIEW":"Паглядзець","MENU_BAR_MENU_INSERT":"Уставіць","MENU_BAR_MENU_FORMAT":"Фармат","MENU_BAR_MENU_TOOLS":"Інструменты","MENU_BAR_MENU_HELP":"Дапамога","MENU_BAR_MENU_TEXT":"Тэкст","MENU_BAR_MENU_FONT":"Шрыфт","Editor menu bar":"Панэль меню рэдактара","Please enter a valid color (e.g. \"ff0000\").":"Увядзіце сапраўдны колер (напрыклад, \"ff0000\")."},getPluralForm(n){return (n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);}}}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+
6
+ ( e => {
7
+ const { [ 'be' ]: { dictionary, getPluralForm } } = {"be":{"dictionary":{"Rich Text Editor":"Рэдактар","Edit block":"Рэдагаваць блок","Click to edit block":"Націсніце, каб рэдагаваць блок","Drag to move":"Перацягніце","Next":"Наступны","Previous":"Папярэдні","Editor toolbar":"Панэль інструментаў рэдактара","Dropdown toolbar":"Выпадаючая панэль інструментаў","Dropdown menu":"Выпадаючае меню","Black":"Чорны","Dim grey":"Цёмны серы","Grey":"Серы","Light grey":"Светла-серы","White":"Белы","Red":"Чырвоны","Orange":"Аранжавы","Yellow":"Жоўты","Light green":"Салатавы","Green":"Зялёны","Aquamarine":"Аквамарынавы","Turquoise":"Бірузовы","Light blue":"Блакітны","Blue":"Сіні","Purple":"Фіялетавы","Editor block content toolbar":"Панэль інструментаў рэдактара","Editor contextual toolbar":"Кантэкстуальная панэль інструментаў рэдактара","HEX":"HEX","No results found":"Няма вынікаў","No searchable items":"Няма элементаў для пошуку","Editor dialog":"Дыялогавае акно рэдактара","Close":"Закрыць","Help Contents. To close this dialog press ESC.":"Змест дапамогі. Каб закрыць гэта дыялогавае акно, націсніце ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Ніжэй вы можаце знайсці спіс камбінацый клавіш, якія можна выкарыстоўваць у рэдактары.","(may require <kbd>Fn</kbd>)":"(можа патрабаваць <kbd>Fn</kbd>)","Accessibility":"Даступнасць","Accessibility help":"Дапамога па спецыяльных магчымасцях","Press %0 for help.":"Націсніце %0 для атрымання дапамогі.","Move focus in and out of an active dialog window":"Перамясціць фокус у актыўнае дыялогавае акно і наадварот.","MENU_BAR_MENU_FILE":"Файл","MENU_BAR_MENU_EDIT":"Рэдагаваць","MENU_BAR_MENU_VIEW":"Паглядзець","MENU_BAR_MENU_INSERT":"Уставіць","MENU_BAR_MENU_FORMAT":"Фармат","MENU_BAR_MENU_TOOLS":"Інструменты","MENU_BAR_MENU_HELP":"Дапамога","MENU_BAR_MENU_TEXT":"Тэкст","MENU_BAR_MENU_FONT":"Шрыфт","Editor menu bar":"Панэль меню рэдактара","Please enter a valid color (e.g. \"ff0000\").":"Увядзіце сапраўдны колер (напрыклад, \"ff0000\")."},getPluralForm(n){return (n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);}}};
8
+ e[ 'be' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'be' ].dictionary = Object.assign( e[ 'be' ].dictionary, dictionary );
10
+ e[ 'be' ].getPluralForm = getPluralForm;
11
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,208 @@
1
+ # Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # Want to contribute to this file? Submit your changes via a GitHub Pull Request.
4
+ #
5
+ # Check out the official contributor's guide:
6
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
7
+ #
8
+ msgid ""
9
+ msgstr ""
10
+ "Language: be\n"
11
+ "Plural-Forms: nplurals=3; plural=(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n"
12
+ "Content-Type: text/plain; charset=UTF-8\n"
13
+
14
+ msgctxt "Title of the CKEditor5 editor."
15
+ msgid "Rich Text Editor"
16
+ msgstr "Рэдактар"
17
+
18
+ msgctxt "Label of the block toolbar icon (a block toolbar is displayed next to each paragraph, heading, list item, etc. and contains e.g. block formatting options)"
19
+ msgid "Edit block"
20
+ msgstr "Рэдагаваць блок"
21
+
22
+ msgctxt "First part of the label of the block toolbar icon when functionality of drag and drop is available (a block toolbar is displayed next to each paragraph, heading, list item, etc. and contains e.g. block formatting options)"
23
+ msgid "Click to edit block"
24
+ msgstr "Націсніце, каб рэдагаваць блок"
25
+
26
+ msgctxt "Second part of the label of the block toolbar icon when functionality of drag and drop is available (a block toolbar is displayed next to each paragraph, heading, list item, etc. and contains e.g. block formatting options)"
27
+ msgid "Drag to move"
28
+ msgstr "Перацягніце"
29
+
30
+ msgctxt "Label for a button showing the next thing (tab, page, etc.)."
31
+ msgid "Next"
32
+ msgstr "Наступны"
33
+
34
+ msgctxt "Label for a button showing the previous thing (tab, page, etc.)."
35
+ msgid "Previous"
36
+ msgstr "Папярэдні"
37
+
38
+ msgctxt "Label used by assistive technologies describing a generic editor toolbar."
39
+ msgid "Editor toolbar"
40
+ msgstr "Панэль інструментаў рэдактара"
41
+
42
+ msgctxt "Label used by assistive technologies describing a toolbar displayed inside a dropdown."
43
+ msgid "Dropdown toolbar"
44
+ msgstr "Выпадаючая панэль інструментаў"
45
+
46
+ msgctxt "Label used by assistive technologies describing a menu displayed inside a dropdown."
47
+ msgid "Dropdown menu"
48
+ msgstr "Выпадаючае меню"
49
+
50
+ msgctxt "Label of a button that applies a black color in color pickers."
51
+ msgid "Black"
52
+ msgstr "Чорны"
53
+
54
+ msgctxt "Label of a button that applies a dim grey color in color pickers."
55
+ msgid "Dim grey"
56
+ msgstr "Цёмны серы"
57
+
58
+ msgctxt "Label of a button that applies a grey color in color pickers."
59
+ msgid "Grey"
60
+ msgstr "Серы"
61
+
62
+ msgctxt "Label of a button that applies a light grey color in color pickers."
63
+ msgid "Light grey"
64
+ msgstr "Светла-серы"
65
+
66
+ msgctxt "Label of a button that applies a white color in color pickers."
67
+ msgid "White"
68
+ msgstr "Белы"
69
+
70
+ msgctxt "Label of a button that applies a red color in color pickers."
71
+ msgid "Red"
72
+ msgstr "Чырвоны"
73
+
74
+ msgctxt "Label of a button that applies a orange color in color pickers."
75
+ msgid "Orange"
76
+ msgstr "Аранжавы"
77
+
78
+ msgctxt "Label of a button that applies a yellow color in color pickers."
79
+ msgid "Yellow"
80
+ msgstr "Жоўты"
81
+
82
+ msgctxt "Label of a button that applies a light green color in color pickers."
83
+ msgid "Light green"
84
+ msgstr "Салатавы"
85
+
86
+ msgctxt "Label of a button that applies a green color in color pickers."
87
+ msgid "Green"
88
+ msgstr "Зялёны"
89
+
90
+ msgctxt "Label of a button that applies a aquamarine color in color pickers."
91
+ msgid "Aquamarine"
92
+ msgstr "Аквамарынавы"
93
+
94
+ msgctxt "Label of a button that applies a turquoise color in color pickers."
95
+ msgid "Turquoise"
96
+ msgstr "Бірузовы"
97
+
98
+ msgctxt "Label of a button that applies a light blue color in color pickers."
99
+ msgid "Light blue"
100
+ msgstr "Блакітны"
101
+
102
+ msgctxt "Label of a button that applies a blue color in color pickers."
103
+ msgid "Blue"
104
+ msgstr "Сіні"
105
+
106
+ msgctxt "Label of a button that applies a purple color in color pickers."
107
+ msgid "Purple"
108
+ msgstr "Фіялетавы"
109
+
110
+ msgctxt "Accessible label of a toolbar that shows up next to the blocks of content (e.g. headings, paragraphs)."
111
+ msgid "Editor block content toolbar"
112
+ msgstr "Панэль інструментаў рэдактара"
113
+
114
+ msgctxt "Accessible label of a balloon toolbar that shows up right next to the user selection (the caret)."
115
+ msgid "Editor contextual toolbar"
116
+ msgstr "Кантэкстуальная панэль інструментаў рэдактара"
117
+
118
+ msgctxt "Label of an input field for typing colors in the HEX color format."
119
+ msgid "HEX"
120
+ msgstr "HEX"
121
+
122
+ msgctxt "The main text of the message shown to the user when given query does not match any results."
123
+ msgid "No results found"
124
+ msgstr "Няма вынікаў"
125
+
126
+ msgctxt "The main text of the message shown to the user when no results are available."
127
+ msgid "No searchable items"
128
+ msgstr "Няма элементаў для пошуку"
129
+
130
+ msgctxt "A default label of a dialog window displayed on top the editor."
131
+ msgid "Editor dialog"
132
+ msgstr "Дыялогавае акно рэдактара"
133
+
134
+ msgctxt "The label and the tooltip for the close button in the dialog header."
135
+ msgid "Close"
136
+ msgstr "Закрыць"
137
+
138
+ msgctxt "Accessibility help dialog assistive technologies label telling users how to exit the dialog."
139
+ msgid "Help Contents. To close this dialog press ESC."
140
+ msgstr "Змест дапамогі. Каб закрыць гэта дыялогавае акно, націсніце ESC."
141
+
142
+ msgctxt "Accessibility help dialog text explaining what can be found in that dialog."
143
+ msgid "Below, you can find a list of keyboard shortcuts that can be used in the editor."
144
+ msgstr "Ніжэй вы можаце знайсці спіс камбінацый клавіш, якія можна выкарыстоўваць у рэдактары."
145
+
146
+ msgctxt "Accessibility help dialog text displayed next to keystrokes that may require the Fn key on Mac."
147
+ msgid "(may require <kbd>Fn</kbd>)"
148
+ msgstr "(можа патрабаваць <kbd>Fn</kbd>)"
149
+
150
+ msgctxt "The label for the button that opens the Accessibility help dialog from the application menu bar."
151
+ msgid "Accessibility"
152
+ msgstr "Даступнасць"
153
+
154
+ msgctxt "Accessibility help dialog title."
155
+ msgid "Accessibility help"
156
+ msgstr "Дапамога па спецыяльных магчымасцях"
157
+
158
+ msgctxt "Assistive technologies label added to each editor editing area informing users about the possibility of opening the accessibility help dialog."
159
+ msgid "Press %0 for help."
160
+ msgstr "Націсніце %0 для атрымання дапамогі."
161
+
162
+ msgctxt "Keystroke description for assistive technologies: keystroke for moving focus out of an active dialog window."
163
+ msgid "Move focus in and out of an active dialog window"
164
+ msgstr "Перамясціць фокус у актыўнае дыялогавае акно і наадварот."
165
+
166
+ msgctxt "The label of the top-level application menu bar menu containing buttons and features related to the whole document (e.g. export to PDF, import from Word, etc.)."
167
+ msgid "MENU_BAR_MENU_FILE"
168
+ msgstr "Файл"
169
+
170
+ msgctxt "The label of the top-level application menu bar menu containing buttons and features related to general editing (e.g. undo, redo, select all, etc.)."
171
+ msgid "MENU_BAR_MENU_EDIT"
172
+ msgstr "Рэдагаваць"
173
+
174
+ msgctxt "The label of the top-level application menu bar menu containing buttons and features related to the view of the editor (e.g. show source)."
175
+ msgid "MENU_BAR_MENU_VIEW"
176
+ msgstr "Паглядзець"
177
+
178
+ msgctxt "The label of the top-level application menu bar menu containing buttons and features that insert content (e.g. insert table, insert image, etc.)."
179
+ msgid "MENU_BAR_MENU_INSERT"
180
+ msgstr "Уставіць"
181
+
182
+ msgctxt "The label of the top-level application menu bar menu containing buttons and features related to content formatting (e.g. bold, font color, heading, etc.)."
183
+ msgid "MENU_BAR_MENU_FORMAT"
184
+ msgstr "Фармат"
185
+
186
+ msgctxt "The label of the top-level application menu bar menu containing various editor tools (e.g. AI assistant, track changes, etc.)."
187
+ msgid "MENU_BAR_MENU_TOOLS"
188
+ msgstr "Інструменты"
189
+
190
+ msgctxt "The label of the top-level application menu bar menu containing buttons and features helping users to learn about the editor (e.g. accessibility help)."
191
+ msgid "MENU_BAR_MENU_HELP"
192
+ msgstr "Дапамога"
193
+
194
+ msgctxt "The label of the application menu bar menu containing buttons and features that apply formatting to a text (e.g. bold, italic, etc.)."
195
+ msgid "MENU_BAR_MENU_TEXT"
196
+ msgstr "Тэкст"
197
+
198
+ msgctxt "The label of the application menu bar menu containing buttons and features that control the font of the edited content (e.g. font size, font color, etc.)."
199
+ msgid "MENU_BAR_MENU_FONT"
200
+ msgstr "Шрыфт"
201
+
202
+ msgctxt "The accessible label of the editor menu bar used by assistive technologies."
203
+ msgid "Editor menu bar"
204
+ msgstr "Панэль меню рэдактара"
205
+
206
+ msgctxt "An error text displayed when user attempted to enter an color that is not in HEX format."
207
+ msgid "Please enter a valid color (e.g. \"ff0000\")."
208
+ msgstr "Увядзіце сапраўдны колер (напрыклад, \"ff0000\")."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-ui",
3
- "version": "44.3.0-alpha.7",
3
+ "version": "45.0.0-alpha.0",
4
4
  "description": "The UI framework and standard UI library of CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -9,17 +9,23 @@
9
9
  "ckeditor5-lib",
10
10
  "ckeditor5-dll"
11
11
  ],
12
+ "sideEffects": [
13
+ "*.css",
14
+ "build/**/*.js",
15
+ "dist/translations/*.umd.js"
16
+ ],
12
17
  "type": "module",
13
18
  "main": "src/index.js",
14
19
  "dependencies": {
15
- "@ckeditor/ckeditor5-core": "44.3.0-alpha.7",
16
- "@ckeditor/ckeditor5-editor-multi-root": "44.3.0-alpha.7",
17
- "@ckeditor/ckeditor5-engine": "44.3.0-alpha.7",
18
- "@ckeditor/ckeditor5-utils": "44.3.0-alpha.7",
20
+ "@ckeditor/ckeditor5-core": "45.0.0-alpha.0",
21
+ "@ckeditor/ckeditor5-editor-multi-root": "45.0.0-alpha.0",
22
+ "@ckeditor/ckeditor5-engine": "45.0.0-alpha.0",
23
+ "@ckeditor/ckeditor5-icons": "45.0.0-alpha.0",
24
+ "@ckeditor/ckeditor5-utils": "45.0.0-alpha.0",
19
25
  "@types/color-convert": "2.0.4",
20
26
  "color-convert": "2.0.1",
21
27
  "color-parse": "1.4.2",
22
- "lodash-es": "4.17.21",
28
+ "es-toolkit": "1.32.0",
23
29
  "vanilla-colorful": "0.7.2"
24
30
  },
25
31
  "author": "CKSource (http://cksource.com/)",
@@ -31,6 +31,14 @@ export const AriaLiveAnnouncerPoliteness = {
31
31
  * ```
32
32
  */
33
33
  export default class AriaLiveAnnouncer {
34
+ /**
35
+ * The editor instance.
36
+ */
37
+ editor;
38
+ /**
39
+ * The view that aggregates all `aria-live` regions.
40
+ */
41
+ view;
34
42
  /**
35
43
  * @inheritDoc
36
44
  */
@@ -87,6 +95,10 @@ export default class AriaLiveAnnouncer {
87
95
  * The view that aggregates all `aria-live` regions.
88
96
  */
89
97
  export class AriaLiveAnnouncerView extends View {
98
+ /**
99
+ * A collection of all views that represent individual `aria-live` regions.
100
+ */
101
+ regionViews;
90
102
  constructor(locale) {
91
103
  super(locale);
92
104
  this.regionViews = this.createCollection();
@@ -106,6 +118,18 @@ export class AriaLiveAnnouncerView extends View {
106
118
  * The view that represents a single `aria-live`.
107
119
  */
108
120
  export class AriaLiveAnnouncerRegionView extends View {
121
+ /**
122
+ * Current politeness level of the region.
123
+ */
124
+ politeness;
125
+ /**
126
+ * DOM converter used to sanitize unsafe HTML passed to {@link #announce} method.
127
+ */
128
+ _domConverter;
129
+ /**
130
+ * Interval used to remove additions. It prevents accumulation of added nodes in region.
131
+ */
132
+ _pruneAnnouncementsInterval;
109
133
  constructor(editor, politeness) {
110
134
  super(editor.locale);
111
135
  this.setTemplate({
@@ -14,6 +14,10 @@ import '../../theme/components/autocomplete/autocomplete.css';
14
14
  * the component.
15
15
  */
16
16
  class AutocompleteView extends SearchTextView {
17
+ /**
18
+ * The configuration of the autocomplete view.
19
+ */
20
+ _config;
17
21
  /**
18
22
  * @inheritDoc
19
23
  */
@@ -125,30 +129,30 @@ class AutocompleteView extends SearchTextView {
125
129
  const queryLength = this.queryView.fieldView.element.value.length;
126
130
  this.resultsView.isVisible = this.focusTracker.isFocused && this.isEnabled && queryLength >= queryMinChars;
127
131
  }
132
+ /**
133
+ * Positions for the autocomplete results view. Two positions are defined by default:
134
+ * * `s` - below the search field,
135
+ * * `n` - above the search field.
136
+ */
137
+ static defaultResultsPositions = [
138
+ (fieldRect => {
139
+ return {
140
+ top: fieldRect.bottom,
141
+ left: fieldRect.left,
142
+ name: 's'
143
+ };
144
+ }),
145
+ ((fieldRect, resultsRect) => {
146
+ return {
147
+ top: fieldRect.top - resultsRect.height,
148
+ left: fieldRect.left,
149
+ name: 'n'
150
+ };
151
+ })
152
+ ];
153
+ /**
154
+ * A function used to calculate the optimal position for the dropdown panel.
155
+ */
156
+ static _getOptimalPosition = getOptimalPosition;
128
157
  }
129
- /**
130
- * Positions for the autocomplete results view. Two positions are defined by default:
131
- * * `s` - below the search field,
132
- * * `n` - above the search field.
133
- */
134
- AutocompleteView.defaultResultsPositions = [
135
- (fieldRect => {
136
- return {
137
- top: fieldRect.bottom,
138
- left: fieldRect.left,
139
- name: 's'
140
- };
141
- }),
142
- ((fieldRect, resultsRect) => {
143
- return {
144
- top: fieldRect.top - resultsRect.height,
145
- left: fieldRect.left,
146
- name: 'n'
147
- };
148
- })
149
- ];
150
- /**
151
- * A function used to calculate the optimal position for the dropdown panel.
152
- */
153
- AutocompleteView._getOptimalPosition = getOptimalPosition;
154
158
  export default AutocompleteView;
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { Rect, DomEmitterMixin } from '@ckeditor/ckeditor5-utils';
6
6
  import BalloonPanelView from '../panel/balloon/balloonpanelview.js';
7
- import { throttle } from 'lodash-es';
7
+ import { throttle } from 'es-toolkit/compat';
8
8
  // ⚠ Note, whenever changing the threshold, make sure to update the docs/support/managing-ckeditor-logo.md docs
9
9
  // as this information is also mentioned there ⚠.
10
10
  const NARROW_ROOT_HEIGHT_THRESHOLD = 50;
@@ -16,26 +16,34 @@ const NARROW_ROOT_WIDTH_THRESHOLD = 350;
16
16
  * @private
17
17
  */
18
18
  export default class Badge extends /* #__PURE__ */ DomEmitterMixin() {
19
+ /**
20
+ * Editor instance the helper was created for.
21
+ */
22
+ editor;
23
+ /**
24
+ * A reference to the balloon panel hosting and positioning the badge content.
25
+ */
26
+ _balloonView = null;
27
+ /**
28
+ * A throttled version of the {@link #_showBalloon} method meant for frequent use to avoid performance loss.
29
+ */
30
+ _showBalloonThrottled = throttle(() => this._showBalloon(), 50, { leading: true });
31
+ /**
32
+ * A reference to the last editable element (root, source editing area, etc.) focused by the user.
33
+ * Since the focus can move to other focusable elements in the UI, this reference allows positioning the balloon over the
34
+ * right element whether the user is typing or using the UI.
35
+ */
36
+ _lastFocusedEditableElement = null;
37
+ /**
38
+ * An additional CSS class added to the `BalloonView`.
39
+ */
40
+ _balloonClass;
19
41
  /**
20
42
  * Creates a badge for a given editor. The feature is initialized on Editor#ready
21
43
  * event.
22
44
  */
23
45
  constructor(editor, options = {}) {
24
46
  super();
25
- /**
26
- * A reference to the balloon panel hosting and positioning the badge content.
27
- */
28
- this._balloonView = null;
29
- /**
30
- * A throttled version of the {@link #_showBalloon} method meant for frequent use to avoid performance loss.
31
- */
32
- this._showBalloonThrottled = throttle(() => this._showBalloon(), 50, { leading: true });
33
- /**
34
- * A reference to the last editable element (root, source editing area, etc.) focused by the user.
35
- * Since the focus can move to other focusable elements in the UI, this reference allows positioning the balloon over the
36
- * right element whether the user is typing or using the UI.
37
- */
38
- this._lastFocusedEditableElement = null;
39
47
  this.editor = editor;
40
48
  this._balloonClass = options.balloonClass;
41
49
  editor.on('ready', () => this._handleEditorReady());
@@ -23,23 +23,23 @@ import { global } from '@ckeditor/ckeditor5-utils';
23
23
  */
24
24
  export default function DraggableViewMixin(view) {
25
25
  class DraggableMixin extends view {
26
+ /**
27
+ * A bound version of {@link #_onDrag}.
28
+ */
29
+ _onDragBound = this._onDrag.bind(this);
30
+ /**
31
+ * A bound version of {@link #_onDragEnd}.
32
+ */
33
+ _onDragEndBound = this._onDragEnd.bind(this);
34
+ /**
35
+ * The last coordinates of the view. It is updated on every mouse move.
36
+ */
37
+ _lastDraggingCoordinates = { x: 0, y: 0 };
26
38
  /**
27
39
  * @inheritDoc
28
40
  */
29
41
  constructor(...args) {
30
42
  super(...args);
31
- /**
32
- * A bound version of {@link #_onDrag}.
33
- */
34
- this._onDragBound = this._onDrag.bind(this);
35
- /**
36
- * A bound version of {@link #_onDragEnd}.
37
- */
38
- this._onDragEndBound = this._onDragEnd.bind(this);
39
- /**
40
- * The last coordinates of the view. It is updated on every mouse move.
41
- */
42
- this._lastDraggingCoordinates = { x: 0, y: 0 };
43
43
  this.on('render', () => {
44
44
  this._attachListeners();
45
45
  });
@@ -29,6 +29,32 @@ import '../../theme/components/button/button.css';
29
29
  * ```
30
30
  */
31
31
  export default class ButtonView extends View {
32
+ /**
33
+ * Collection of the child views inside of the button {@link #element}.
34
+ */
35
+ children;
36
+ /**
37
+ * Label of the button view. Its text is configurable using the {@link #label label attribute}.
38
+ *
39
+ * If not configured otherwise in the `constructor()`, by default the label is an instance
40
+ * of {@link module:ui/button/buttonlabelview~ButtonLabelView}.
41
+ */
42
+ labelView;
43
+ /**
44
+ * The icon view of the button. Will be added to {@link #children} when the
45
+ * {@link #icon icon attribute} is defined.
46
+ */
47
+ iconView;
48
+ /**
49
+ * A view displaying the keystroke of the button next to the {@link #labelView label}.
50
+ * Added to {@link #children} when the {@link #withKeystroke `withKeystroke` attribute}
51
+ * is defined.
52
+ */
53
+ keystrokeView;
54
+ /**
55
+ * Delayed focus function for focus handling in Safari.
56
+ */
57
+ _focusDelayed = null;
32
58
  /**
33
59
  * Creates an instance of the button view class.
34
60
  *
@@ -38,10 +64,6 @@ export default class ButtonView extends View {
38
64
  */
39
65
  constructor(locale, labelView = new ButtonLabelView()) {
40
66
  super(locale);
41
- /**
42
- * Delayed focus function for focus handling in Safari.
43
- */
44
- this._focusDelayed = null;
45
67
  const bind = this.bindTemplate;
46
68
  const ariaLabelUid = uid();
47
69
  // Implement the Button interface.
@@ -73,6 +95,7 @@ export default class ButtonView extends View {
73
95
  class: 'ck-button__icon'
74
96
  }
75
97
  });
98
+ this.iconView.bind('content').to(this, 'icon');
76
99
  this.keystrokeView = this._createKeystrokeView();
77
100
  this.bind('_tooltipString').to(this, 'tooltip', this, 'label', this, 'keystroke', this._getTooltipString.bind(this));
78
101
  const template = {
@@ -148,9 +171,16 @@ export default class ButtonView extends View {
148
171
  render() {
149
172
  super.render();
150
173
  if (this.icon) {
151
- this.iconView.bind('content').to(this, 'icon');
152
174
  this.children.add(this.iconView);
153
175
  }
176
+ this.on('change:icon', (evt, prop, newIcon, oldIcon) => {
177
+ if (newIcon && !oldIcon) {
178
+ this.children.add(this.iconView, 0);
179
+ }
180
+ else if (!newIcon && oldIcon) {
181
+ this.children.remove(this.iconView);
182
+ }
183
+ });
154
184
  this.children.add(this.labelView);
155
185
  if (this.withKeystroke && this.keystroke) {
156
186
  this.children.add(this.keystrokeView);
@@ -72,6 +72,16 @@ export class FileDialogListItemButtonView extends /* #__PURE__ */ FileDialogView
72
72
  */
73
73
  function FileDialogViewMixin(view) {
74
74
  class FileDialogView extends view {
75
+ /**
76
+ * The button view of the component.
77
+ *
78
+ * @deprecated
79
+ */
80
+ buttonView;
81
+ /**
82
+ * A hidden `<input>` view used to execute file dialog.
83
+ */
84
+ _fileInputView;
75
85
  /**
76
86
  * @inheritDoc
77
87
  */
@@ -128,7 +138,7 @@ class FileInputView extends View {
128
138
  on: {
129
139
  // Removing from code coverage since we cannot programmatically set input element files.
130
140
  change: bind.to(/* istanbul ignore next -- @preserve */ () => {
131
- if (this.element && this.element.files && this.element.files.length) {
141
+ if (this.element?.files?.length) {
132
142
  this.fire('done', this.element.files);
133
143
  }
134
144
  this.element.value = '';
@@ -2,7 +2,7 @@
2
2
  * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
- import { icons } from '@ckeditor/ckeditor5-core';
5
+ import { IconCheck } from '@ckeditor/ckeditor5-icons';
6
6
  import ButtonView from './buttonview.js';
7
7
  import ButtonLabelView from './buttonlabelview.js';
8
8
  import IconView from '../icon/iconview.js';
@@ -12,15 +12,15 @@ import '../../theme/components/button/listitembutton.css';
12
12
  * Button that is used as dropdown list item entry.
13
13
  */
14
14
  export default class ListItemButtonView extends ButtonView {
15
+ /**
16
+ * Holds the view for the check icon of a button list item.
17
+ */
18
+ _checkIconHolderView = new CheckIconHolderView();
15
19
  /**
16
20
  * @inheritDoc
17
21
  */
18
22
  constructor(locale, labelView = new ButtonLabelView()) {
19
23
  super(locale, labelView);
20
- /**
21
- * Holds the view for the check icon of a button list item.
22
- */
23
- this._checkIconHolderView = new CheckIconHolderView();
24
24
  this.set({
25
25
  hasCheckSpace: false,
26
26
  _hasCheck: this.isToggleable
@@ -65,15 +65,19 @@ export default class ListItemButtonView extends ButtonView {
65
65
  }
66
66
  }
67
67
  export class CheckIconHolderView extends View {
68
+ /**
69
+ * Collection of child views.
70
+ */
71
+ children;
72
+ /**
73
+ * The view for the check icon of the button list item.
74
+ */
75
+ _checkIconView = this._createCheckIconView();
68
76
  /**
69
77
  * @inheritDoc
70
78
  */
71
79
  constructor() {
72
80
  super();
73
- /**
74
- * The view for the check icon of the button list item.
75
- */
76
- this._checkIconView = this._createCheckIconView();
77
81
  const bind = this.bindTemplate;
78
82
  this.children = this.createCollection();
79
83
  this.set('isOn', false);
@@ -118,7 +122,7 @@ export class CheckIconHolderView extends View {
118
122
  */
119
123
  _createCheckIconView() {
120
124
  const iconView = new IconView();
121
- iconView.content = icons.check;
125
+ iconView.content = IconCheck;
122
126
  iconView.extendTemplate({
123
127
  attributes: {
124
128
  class: 'ck-list-item-button__check-icon'
@@ -25,6 +25,10 @@ import '../../theme/components/button/switchbutton.css';
25
25
  * ```
26
26
  */
27
27
  export default class SwitchButtonView extends ButtonView {
28
+ /**
29
+ * The toggle switch of the button.
30
+ */
31
+ toggleSwitchView;
28
32
  /**
29
33
  * @inheritDoc
30
34
  */