@ckeditor/ckeditor5-ui 40.0.0 → 40.1.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 (165) hide show
  1. package/LICENSE.md +3 -3
  2. package/lang/translations/pt-br.po +1 -1
  3. package/lang/translations/ug.po +26 -26
  4. package/package.json +3 -3
  5. package/src/arialiveannouncer.d.ts +94 -0
  6. package/src/arialiveannouncer.js +113 -0
  7. package/src/augmentation.d.ts +86 -86
  8. package/src/augmentation.js +5 -5
  9. package/src/autocomplete/autocompleteview.d.ts +81 -81
  10. package/src/autocomplete/autocompleteview.js +153 -146
  11. package/src/bindings/addkeyboardhandlingforgrid.d.ts +27 -27
  12. package/src/bindings/addkeyboardhandlingforgrid.js +107 -107
  13. package/src/bindings/clickoutsidehandler.d.ts +28 -28
  14. package/src/bindings/clickoutsidehandler.js +36 -36
  15. package/src/bindings/csstransitiondisablermixin.d.ts +40 -40
  16. package/src/bindings/csstransitiondisablermixin.js +55 -55
  17. package/src/bindings/injectcsstransitiondisabler.d.ts +59 -59
  18. package/src/bindings/injectcsstransitiondisabler.js +71 -71
  19. package/src/bindings/preventdefault.d.ts +33 -33
  20. package/src/bindings/preventdefault.js +34 -34
  21. package/src/bindings/submithandler.d.ts +57 -57
  22. package/src/bindings/submithandler.js +47 -47
  23. package/src/button/button.d.ts +172 -178
  24. package/src/button/button.js +5 -5
  25. package/src/button/buttonlabel.d.ts +34 -34
  26. package/src/button/buttonlabel.js +5 -5
  27. package/src/button/buttonlabelview.d.ts +31 -31
  28. package/src/button/buttonlabelview.js +42 -42
  29. package/src/button/buttonview.d.ts +181 -185
  30. package/src/button/buttonview.js +217 -219
  31. package/src/button/switchbuttonview.d.ts +45 -45
  32. package/src/button/switchbuttonview.js +75 -75
  33. package/src/colorgrid/colorgridview.d.ts +132 -132
  34. package/src/colorgrid/colorgridview.js +124 -124
  35. package/src/colorgrid/colortileview.d.ts +28 -28
  36. package/src/colorgrid/colortileview.js +40 -40
  37. package/src/colorgrid/utils.d.ts +47 -47
  38. package/src/colorgrid/utils.js +84 -84
  39. package/src/colorpicker/colorpickerview.d.ts +137 -137
  40. package/src/colorpicker/colorpickerview.js +270 -270
  41. package/src/colorpicker/utils.d.ts +43 -43
  42. package/src/colorpicker/utils.js +99 -99
  43. package/src/colorselector/colorgridsfragmentview.d.ts +194 -194
  44. package/src/colorselector/colorgridsfragmentview.js +289 -289
  45. package/src/colorselector/colorpickerfragmentview.d.ts +128 -128
  46. package/src/colorselector/colorpickerfragmentview.js +205 -205
  47. package/src/colorselector/colorselectorview.d.ts +242 -242
  48. package/src/colorselector/colorselectorview.js +256 -256
  49. package/src/colorselector/documentcolorcollection.d.ts +70 -70
  50. package/src/colorselector/documentcolorcollection.js +42 -42
  51. package/src/componentfactory.d.ts +81 -81
  52. package/src/componentfactory.js +104 -104
  53. package/src/dropdown/button/dropdownbutton.d.ts +25 -25
  54. package/src/dropdown/button/dropdownbutton.js +5 -5
  55. package/src/dropdown/button/dropdownbuttonview.d.ts +48 -48
  56. package/src/dropdown/button/dropdownbuttonview.js +66 -66
  57. package/src/dropdown/button/splitbuttonview.d.ts +161 -161
  58. package/src/dropdown/button/splitbuttonview.js +152 -152
  59. package/src/dropdown/dropdownpanelfocusable.d.ts +21 -21
  60. package/src/dropdown/dropdownpanelfocusable.js +5 -5
  61. package/src/dropdown/dropdownpanelview.d.ts +62 -62
  62. package/src/dropdown/dropdownpanelview.js +97 -97
  63. package/src/dropdown/dropdownview.d.ts +315 -315
  64. package/src/dropdown/dropdownview.js +379 -379
  65. package/src/dropdown/utils.d.ts +235 -235
  66. package/src/dropdown/utils.js +463 -458
  67. package/src/editableui/editableuiview.d.ts +72 -72
  68. package/src/editableui/editableuiview.js +112 -112
  69. package/src/editableui/inline/inlineeditableuiview.d.ts +40 -40
  70. package/src/editableui/inline/inlineeditableuiview.js +48 -48
  71. package/src/editorui/bodycollection.d.ts +55 -55
  72. package/src/editorui/bodycollection.js +84 -84
  73. package/src/editorui/boxed/boxededitoruiview.d.ts +40 -40
  74. package/src/editorui/boxed/boxededitoruiview.js +81 -81
  75. package/src/editorui/editorui.d.ts +288 -282
  76. package/src/editorui/editorui.js +412 -410
  77. package/src/editorui/editoruiview.d.ts +39 -39
  78. package/src/editorui/editoruiview.js +38 -38
  79. package/src/editorui/poweredby.d.ts +71 -71
  80. package/src/editorui/poweredby.js +276 -276
  81. package/src/focuscycler.d.ts +226 -226
  82. package/src/focuscycler.js +245 -245
  83. package/src/formheader/formheaderview.d.ts +59 -59
  84. package/src/formheader/formheaderview.js +69 -69
  85. package/src/highlightedtext/highlightedtextview.d.ts +38 -38
  86. package/src/highlightedtext/highlightedtextview.js +102 -102
  87. package/src/icon/iconview.d.ts +85 -85
  88. package/src/icon/iconview.js +114 -114
  89. package/src/iframe/iframeview.d.ts +50 -50
  90. package/src/iframe/iframeview.js +63 -63
  91. package/src/index.d.ts +73 -73
  92. package/src/index.js +70 -70
  93. package/src/input/inputbase.d.ts +107 -107
  94. package/src/input/inputbase.js +110 -110
  95. package/src/input/inputview.d.ts +36 -36
  96. package/src/input/inputview.js +24 -24
  97. package/src/inputnumber/inputnumberview.d.ts +49 -49
  98. package/src/inputnumber/inputnumberview.js +40 -40
  99. package/src/inputtext/inputtextview.d.ts +18 -18
  100. package/src/inputtext/inputtextview.js +27 -27
  101. package/src/label/labelview.d.ts +36 -36
  102. package/src/label/labelview.js +41 -41
  103. package/src/labeledfield/labeledfieldview.d.ts +187 -187
  104. package/src/labeledfield/labeledfieldview.js +157 -157
  105. package/src/labeledfield/utils.d.ts +123 -123
  106. package/src/labeledfield/utils.js +176 -176
  107. package/src/labeledinput/labeledinputview.d.ts +125 -125
  108. package/src/labeledinput/labeledinputview.js +125 -125
  109. package/src/list/listitemgroupview.d.ts +59 -51
  110. package/src/list/listitemgroupview.js +63 -75
  111. package/src/list/listitemview.d.ts +36 -36
  112. package/src/list/listitemview.js +42 -42
  113. package/src/list/listseparatorview.d.ts +18 -18
  114. package/src/list/listseparatorview.js +28 -28
  115. package/src/list/listview.d.ts +122 -122
  116. package/src/list/listview.js +187 -187
  117. package/src/model.d.ts +22 -22
  118. package/src/model.js +31 -31
  119. package/src/notification/notification.d.ts +211 -211
  120. package/src/notification/notification.js +187 -187
  121. package/src/panel/balloon/balloonpanelview.d.ts +685 -685
  122. package/src/panel/balloon/balloonpanelview.js +1010 -1010
  123. package/src/panel/balloon/contextualballoon.d.ts +299 -299
  124. package/src/panel/balloon/contextualballoon.js +572 -572
  125. package/src/panel/sticky/stickypanelview.d.ts +156 -156
  126. package/src/panel/sticky/stickypanelview.js +234 -234
  127. package/src/search/filteredview.d.ts +31 -31
  128. package/src/search/filteredview.js +5 -5
  129. package/src/search/searchinfoview.d.ts +45 -45
  130. package/src/search/searchinfoview.js +59 -59
  131. package/src/search/searchresultsview.d.ts +54 -54
  132. package/src/search/searchresultsview.js +65 -65
  133. package/src/search/text/searchtextqueryview.d.ts +76 -76
  134. package/src/search/text/searchtextqueryview.js +75 -75
  135. package/src/search/text/searchtextview.d.ts +219 -219
  136. package/src/search/text/searchtextview.js +201 -201
  137. package/src/spinner/spinnerview.d.ts +25 -25
  138. package/src/spinner/spinnerview.js +38 -38
  139. package/src/template.d.ts +942 -942
  140. package/src/template.js +1294 -1294
  141. package/src/textarea/textareaview.d.ts +88 -88
  142. package/src/textarea/textareaview.js +142 -140
  143. package/src/toolbar/balloon/balloontoolbar.d.ts +122 -122
  144. package/src/toolbar/balloon/balloontoolbar.js +300 -300
  145. package/src/toolbar/block/blockbuttonview.d.ts +35 -35
  146. package/src/toolbar/block/blockbuttonview.js +41 -41
  147. package/src/toolbar/block/blocktoolbar.d.ts +161 -161
  148. package/src/toolbar/block/blocktoolbar.js +395 -395
  149. package/src/toolbar/normalizetoolbarconfig.d.ts +40 -40
  150. package/src/toolbar/normalizetoolbarconfig.js +52 -51
  151. package/src/toolbar/toolbarlinebreakview.d.ts +18 -18
  152. package/src/toolbar/toolbarlinebreakview.js +28 -28
  153. package/src/toolbar/toolbarseparatorview.d.ts +18 -18
  154. package/src/toolbar/toolbarseparatorview.js +28 -28
  155. package/src/toolbar/toolbarview.d.ts +266 -266
  156. package/src/toolbar/toolbarview.js +719 -719
  157. package/src/tooltipmanager.d.ts +180 -180
  158. package/src/tooltipmanager.js +353 -353
  159. package/src/view.d.ts +422 -422
  160. package/src/view.js +396 -396
  161. package/src/viewcollection.d.ts +139 -139
  162. package/src/viewcollection.js +206 -206
  163. package/theme/components/arialiveannouncer/arialiveannouncer.css +10 -0
  164. package/theme/components/button/button.css +9 -1
  165. package/theme/components/formheader/formheader.css +0 -4
@@ -1,187 +1,187 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- /**
6
- * @module ui/list/listview
7
- */
8
- import View from '../view';
9
- import FocusCycler from '../focuscycler';
10
- import ListItemGroupView from './listitemgroupview';
11
- import ViewCollection from '../viewcollection';
12
- import { FocusTracker, KeystrokeHandler } from '@ckeditor/ckeditor5-utils';
13
- import '../../theme/components/list/list.css';
14
- /**
15
- * The list view class.
16
- */
17
- export default class ListView extends View {
18
- /**
19
- * @inheritDoc
20
- */
21
- constructor(locale) {
22
- super(locale);
23
- /**
24
- * A cached map of {@link module:ui/list/listitemgroupview~ListItemGroupView} to `change` event listeners for their `items`.
25
- * Used for accessibility and keyboard navigation purposes.
26
- */
27
- this._listItemGroupToChangeListeners = new WeakMap();
28
- const bind = this.bindTemplate;
29
- this.focusables = new ViewCollection();
30
- this.items = this.createCollection();
31
- this.focusTracker = new FocusTracker();
32
- this.keystrokes = new KeystrokeHandler();
33
- this._focusCycler = new FocusCycler({
34
- focusables: this.focusables,
35
- focusTracker: this.focusTracker,
36
- keystrokeHandler: this.keystrokes,
37
- actions: {
38
- // Navigate list items backwards using the arrowup key.
39
- focusPrevious: 'arrowup',
40
- // Navigate toolbar items forwards using the arrowdown key.
41
- focusNext: 'arrowdown'
42
- }
43
- });
44
- this.set('ariaLabel', undefined);
45
- this.set('ariaLabelledBy', undefined);
46
- this.set('role', undefined);
47
- this.setTemplate({
48
- tag: 'ul',
49
- attributes: {
50
- class: [
51
- 'ck',
52
- 'ck-reset',
53
- 'ck-list'
54
- ],
55
- role: bind.to('role'),
56
- 'aria-label': bind.to('ariaLabel'),
57
- 'aria-labelledby': bind.to('ariaLabelledBy')
58
- },
59
- children: this.items
60
- });
61
- }
62
- /**
63
- * @inheritDoc
64
- */
65
- render() {
66
- super.render();
67
- // Items added before rendering should be known to the #focusTracker.
68
- for (const item of this.items) {
69
- if (item instanceof ListItemGroupView) {
70
- this._registerFocusableItemsGroup(item);
71
- }
72
- else {
73
- this._registerFocusableListItem(item);
74
- }
75
- }
76
- this.items.on('change', (evt, data) => {
77
- for (const removed of data.removed) {
78
- if (removed instanceof ListItemGroupView) {
79
- this._deregisterFocusableItemsGroup(removed);
80
- }
81
- else {
82
- this._deregisterFocusableListItem(removed);
83
- }
84
- }
85
- for (const added of Array.from(data.added).reverse()) {
86
- if (added instanceof ListItemGroupView) {
87
- this._registerFocusableItemsGroup(added, data.index);
88
- }
89
- else {
90
- this._registerFocusableListItem(added, data.index);
91
- }
92
- }
93
- });
94
- // Start listening for the keystrokes coming from #element.
95
- this.keystrokes.listenTo(this.element);
96
- }
97
- /**
98
- * @inheritDoc
99
- */
100
- destroy() {
101
- super.destroy();
102
- this.focusTracker.destroy();
103
- this.keystrokes.destroy();
104
- }
105
- /**
106
- * Focuses the first focusable in {@link #items}.
107
- */
108
- focus() {
109
- this._focusCycler.focusFirst();
110
- }
111
- /**
112
- * Focuses the first focusable in {@link #items}.
113
- */
114
- focusFirst() {
115
- this._focusCycler.focusFirst();
116
- }
117
- /**
118
- * Focuses the last focusable in {@link #items}.
119
- */
120
- focusLast() {
121
- this._focusCycler.focusLast();
122
- }
123
- /**
124
- * Registers a list item view in the focus tracker.
125
- *
126
- * @param item The list item view to be registered.
127
- * @param index Index of the list item view in the {@link #items} collection. If not specified, the item will be added at the end.
128
- */
129
- _registerFocusableListItem(item, index) {
130
- this.focusTracker.add(item.element);
131
- this.focusables.add(item, index);
132
- }
133
- /**
134
- * Removes a list item view from the focus tracker.
135
- *
136
- * @param item The list item view to be removed.
137
- */
138
- _deregisterFocusableListItem(item) {
139
- this.focusTracker.remove(item.element);
140
- this.focusables.remove(item);
141
- }
142
- /**
143
- * Gets a callback that will be called when the `items` collection of a {@link module:ui/list/listitemgroupview~ListItemGroupView}
144
- * change.
145
- *
146
- * @param groupView The group view for which the callback will be created.
147
- * @returns The callback function to be used for the items `change` event listener in a group.
148
- */
149
- _getOnGroupItemsChangeCallback(groupView) {
150
- return (evt, data) => {
151
- for (const removed of data.removed) {
152
- this._deregisterFocusableListItem(removed);
153
- }
154
- for (const added of Array.from(data.added).reverse()) {
155
- this._registerFocusableListItem(added, this.items.getIndex(groupView) + data.index);
156
- }
157
- };
158
- }
159
- /**
160
- * Registers a list item group view (and its children) in the focus tracker.
161
- *
162
- * @param groupView A group view to be registered.
163
- * @param groupIndex Index of the group view in the {@link #items} collection. If not specified, the group will be added at the end.
164
- */
165
- _registerFocusableItemsGroup(groupView, groupIndex) {
166
- Array.from(groupView.items).forEach((child, childIndex) => {
167
- const registeredChildIndex = typeof groupIndex !== 'undefined' ? groupIndex + childIndex : undefined;
168
- this._registerFocusableListItem(child, registeredChildIndex);
169
- });
170
- const groupItemsChangeCallback = this._getOnGroupItemsChangeCallback(groupView);
171
- // Cache the reference to the callback in case the group is removed (see _deregisterFocusableItemsGroup()).
172
- this._listItemGroupToChangeListeners.set(groupView, groupItemsChangeCallback);
173
- groupView.items.on('change', groupItemsChangeCallback);
174
- }
175
- /**
176
- * Removes a list item group view (and its children) from the focus tracker.
177
- *
178
- * @param groupView The group view to be removed.
179
- */
180
- _deregisterFocusableItemsGroup(groupView) {
181
- for (const child of groupView.items) {
182
- this._deregisterFocusableListItem(child);
183
- }
184
- groupView.items.off('change', this._listItemGroupToChangeListeners.get(groupView));
185
- this._listItemGroupToChangeListeners.delete(groupView);
186
- }
187
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module ui/list/listview
7
+ */
8
+ import View from '../view';
9
+ import FocusCycler from '../focuscycler';
10
+ import ListItemGroupView from './listitemgroupview';
11
+ import ViewCollection from '../viewcollection';
12
+ import { FocusTracker, KeystrokeHandler } from '@ckeditor/ckeditor5-utils';
13
+ import '../../theme/components/list/list.css';
14
+ /**
15
+ * The list view class.
16
+ */
17
+ export default class ListView extends View {
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ constructor(locale) {
22
+ super(locale);
23
+ /**
24
+ * A cached map of {@link module:ui/list/listitemgroupview~ListItemGroupView} to `change` event listeners for their `items`.
25
+ * Used for accessibility and keyboard navigation purposes.
26
+ */
27
+ this._listItemGroupToChangeListeners = new WeakMap();
28
+ const bind = this.bindTemplate;
29
+ this.focusables = new ViewCollection();
30
+ this.items = this.createCollection();
31
+ this.focusTracker = new FocusTracker();
32
+ this.keystrokes = new KeystrokeHandler();
33
+ this._focusCycler = new FocusCycler({
34
+ focusables: this.focusables,
35
+ focusTracker: this.focusTracker,
36
+ keystrokeHandler: this.keystrokes,
37
+ actions: {
38
+ // Navigate list items backwards using the arrowup key.
39
+ focusPrevious: 'arrowup',
40
+ // Navigate toolbar items forwards using the arrowdown key.
41
+ focusNext: 'arrowdown'
42
+ }
43
+ });
44
+ this.set('ariaLabel', undefined);
45
+ this.set('ariaLabelledBy', undefined);
46
+ this.set('role', undefined);
47
+ this.setTemplate({
48
+ tag: 'ul',
49
+ attributes: {
50
+ class: [
51
+ 'ck',
52
+ 'ck-reset',
53
+ 'ck-list'
54
+ ],
55
+ role: bind.to('role'),
56
+ 'aria-label': bind.to('ariaLabel'),
57
+ 'aria-labelledby': bind.to('ariaLabelledBy')
58
+ },
59
+ children: this.items
60
+ });
61
+ }
62
+ /**
63
+ * @inheritDoc
64
+ */
65
+ render() {
66
+ super.render();
67
+ // Items added before rendering should be known to the #focusTracker.
68
+ for (const item of this.items) {
69
+ if (item instanceof ListItemGroupView) {
70
+ this._registerFocusableItemsGroup(item);
71
+ }
72
+ else {
73
+ this._registerFocusableListItem(item);
74
+ }
75
+ }
76
+ this.items.on('change', (evt, data) => {
77
+ for (const removed of data.removed) {
78
+ if (removed instanceof ListItemGroupView) {
79
+ this._deregisterFocusableItemsGroup(removed);
80
+ }
81
+ else {
82
+ this._deregisterFocusableListItem(removed);
83
+ }
84
+ }
85
+ for (const added of Array.from(data.added).reverse()) {
86
+ if (added instanceof ListItemGroupView) {
87
+ this._registerFocusableItemsGroup(added, data.index);
88
+ }
89
+ else {
90
+ this._registerFocusableListItem(added, data.index);
91
+ }
92
+ }
93
+ });
94
+ // Start listening for the keystrokes coming from #element.
95
+ this.keystrokes.listenTo(this.element);
96
+ }
97
+ /**
98
+ * @inheritDoc
99
+ */
100
+ destroy() {
101
+ super.destroy();
102
+ this.focusTracker.destroy();
103
+ this.keystrokes.destroy();
104
+ }
105
+ /**
106
+ * Focuses the first focusable in {@link #items}.
107
+ */
108
+ focus() {
109
+ this._focusCycler.focusFirst();
110
+ }
111
+ /**
112
+ * Focuses the first focusable in {@link #items}.
113
+ */
114
+ focusFirst() {
115
+ this._focusCycler.focusFirst();
116
+ }
117
+ /**
118
+ * Focuses the last focusable in {@link #items}.
119
+ */
120
+ focusLast() {
121
+ this._focusCycler.focusLast();
122
+ }
123
+ /**
124
+ * Registers a list item view in the focus tracker.
125
+ *
126
+ * @param item The list item view to be registered.
127
+ * @param index Index of the list item view in the {@link #items} collection. If not specified, the item will be added at the end.
128
+ */
129
+ _registerFocusableListItem(item, index) {
130
+ this.focusTracker.add(item.element);
131
+ this.focusables.add(item, index);
132
+ }
133
+ /**
134
+ * Removes a list item view from the focus tracker.
135
+ *
136
+ * @param item The list item view to be removed.
137
+ */
138
+ _deregisterFocusableListItem(item) {
139
+ this.focusTracker.remove(item.element);
140
+ this.focusables.remove(item);
141
+ }
142
+ /**
143
+ * Gets a callback that will be called when the `items` collection of a {@link module:ui/list/listitemgroupview~ListItemGroupView}
144
+ * change.
145
+ *
146
+ * @param groupView The group view for which the callback will be created.
147
+ * @returns The callback function to be used for the items `change` event listener in a group.
148
+ */
149
+ _getOnGroupItemsChangeCallback(groupView) {
150
+ return (evt, data) => {
151
+ for (const removed of data.removed) {
152
+ this._deregisterFocusableListItem(removed);
153
+ }
154
+ for (const added of Array.from(data.added).reverse()) {
155
+ this._registerFocusableListItem(added, this.items.getIndex(groupView) + data.index);
156
+ }
157
+ };
158
+ }
159
+ /**
160
+ * Registers a list item group view (and its children) in the focus tracker.
161
+ *
162
+ * @param groupView A group view to be registered.
163
+ * @param groupIndex Index of the group view in the {@link #items} collection. If not specified, the group will be added at the end.
164
+ */
165
+ _registerFocusableItemsGroup(groupView, groupIndex) {
166
+ Array.from(groupView.items).forEach((child, childIndex) => {
167
+ const registeredChildIndex = typeof groupIndex !== 'undefined' ? groupIndex + childIndex : undefined;
168
+ this._registerFocusableListItem(child, registeredChildIndex);
169
+ });
170
+ const groupItemsChangeCallback = this._getOnGroupItemsChangeCallback(groupView);
171
+ // Cache the reference to the callback in case the group is removed (see _deregisterFocusableItemsGroup()).
172
+ this._listItemGroupToChangeListeners.set(groupView, groupItemsChangeCallback);
173
+ groupView.items.on('change', groupItemsChangeCallback);
174
+ }
175
+ /**
176
+ * Removes a list item group view (and its children) from the focus tracker.
177
+ *
178
+ * @param groupView The group view to be removed.
179
+ */
180
+ _deregisterFocusableItemsGroup(groupView) {
181
+ for (const child of groupView.items) {
182
+ this._deregisterFocusableListItem(child);
183
+ }
184
+ groupView.items.off('change', this._listItemGroupToChangeListeners.get(groupView));
185
+ this._listItemGroupToChangeListeners.delete(groupView);
186
+ }
187
+ }
package/src/model.d.ts CHANGED
@@ -1,22 +1,22 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- declare const Model_base: {
6
- new (): import("@ckeditor/ckeditor5-utils").Observable;
7
- prototype: import("@ckeditor/ckeditor5-utils").Observable;
8
- };
9
- /**
10
- * The base MVC model class.
11
- */
12
- export default class Model extends Model_base {
13
- [x: string]: unknown;
14
- /**
15
- * Creates a new Model instance.
16
- *
17
- * @param attributes The model state attributes to be defined during the instance creation.
18
- * @param properties The (out of state) properties to be appended to the instance during creation.
19
- */
20
- constructor(attributes?: Record<string, unknown>, properties?: Record<string, unknown>);
21
- }
22
- export {};
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ declare const Model_base: {
6
+ new (): import("@ckeditor/ckeditor5-utils").Observable;
7
+ prototype: import("@ckeditor/ckeditor5-utils").Observable;
8
+ };
9
+ /**
10
+ * The base MVC model class.
11
+ */
12
+ export default class Model extends Model_base {
13
+ [x: string]: unknown;
14
+ /**
15
+ * Creates a new Model instance.
16
+ *
17
+ * @param attributes The model state attributes to be defined during the instance creation.
18
+ * @param properties The (out of state) properties to be appended to the instance during creation.
19
+ */
20
+ constructor(attributes?: Record<string, unknown>, properties?: Record<string, unknown>);
21
+ }
22
+ export {};
package/src/model.js CHANGED
@@ -1,31 +1,31 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- /**
6
- * @module ui/model
7
- */
8
- import { ObservableMixin } from '@ckeditor/ckeditor5-utils';
9
- import { extend } from 'lodash-es';
10
- /**
11
- * The base MVC model class.
12
- */
13
- export default class Model extends ObservableMixin() {
14
- /**
15
- * Creates a new Model instance.
16
- *
17
- * @param attributes The model state attributes to be defined during the instance creation.
18
- * @param properties The (out of state) properties to be appended to the instance during creation.
19
- */
20
- constructor(attributes, properties) {
21
- super();
22
- // Extend this instance with the additional (out of state) properties.
23
- if (properties) {
24
- extend(this, properties);
25
- }
26
- // Initialize the attributes.
27
- if (attributes) {
28
- this.set(attributes);
29
- }
30
- }
31
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module ui/model
7
+ */
8
+ import { ObservableMixin } from '@ckeditor/ckeditor5-utils';
9
+ import { extend } from 'lodash-es';
10
+ /**
11
+ * The base MVC model class.
12
+ */
13
+ export default class Model extends ObservableMixin() {
14
+ /**
15
+ * Creates a new Model instance.
16
+ *
17
+ * @param attributes The model state attributes to be defined during the instance creation.
18
+ * @param properties The (out of state) properties to be appended to the instance during creation.
19
+ */
20
+ constructor(attributes, properties) {
21
+ super();
22
+ // Extend this instance with the additional (out of state) properties.
23
+ if (properties) {
24
+ extend(this, properties);
25
+ }
26
+ // Initialize the attributes.
27
+ if (attributes) {
28
+ this.set(attributes);
29
+ }
30
+ }
31
+ }