@vaadin/component-base 25.0.0-alpha14 → 25.0.0-alpha16

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/component-base",
3
- "version": "25.0.0-alpha14",
3
+ "version": "25.0.0-alpha16",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -33,15 +33,15 @@
33
33
  "dependencies": {
34
34
  "@open-wc/dedupe-mixin": "^1.3.0",
35
35
  "@vaadin/vaadin-development-mode-detector": "^2.0.0",
36
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha14",
36
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha16",
37
37
  "@vaadin/vaadin-usage-statistics": "^2.1.0",
38
38
  "lit": "^3.0.0"
39
39
  },
40
40
  "devDependencies": {
41
- "@vaadin/chai-plugins": "25.0.0-alpha14",
42
- "@vaadin/test-runner-commands": "25.0.0-alpha14",
41
+ "@vaadin/chai-plugins": "25.0.0-alpha16",
42
+ "@vaadin/test-runner-commands": "25.0.0-alpha16",
43
43
  "@vaadin/testing-helpers": "^2.0.0",
44
44
  "sinon": "^18.0.0"
45
45
  },
46
- "gitHead": "8ebeeeca4b5b6564eff954d6582d0d6760464e51"
46
+ "gitHead": "4b316158a4a4f702f032bc9940fc82f0faa840f4"
47
47
  }
@@ -48,7 +48,7 @@ export class Cache {
48
48
  * @type {Record<number, Cache>}
49
49
  * @private
50
50
  */
51
- __subCacheByIndex = {};
51
+ #subCacheByIndex = {};
52
52
 
53
53
  /**
54
54
  * The number of items.
@@ -56,7 +56,7 @@ export class Cache {
56
56
  * @type {number}
57
57
  * @private
58
58
  */
59
- __size = 0;
59
+ #size = 0;
60
60
 
61
61
  /**
62
62
  * The total number of items, including items from expanded sub-caches.
@@ -64,7 +64,7 @@ export class Cache {
64
64
  * @type {number}
65
65
  * @private
66
66
  */
67
- __flatSize = 0;
67
+ #flatSize = 0;
68
68
 
69
69
  /**
70
70
  * @param {Cache['context']} context
@@ -79,7 +79,7 @@ export class Cache {
79
79
  this.size = size;
80
80
  this.parentCache = parentCache;
81
81
  this.parentCacheIndex = parentCacheIndex;
82
- this.__flatSize = size || 0;
82
+ this.#flatSize = size || 0;
83
83
  }
84
84
 
85
85
  /**
@@ -98,7 +98,7 @@ export class Cache {
98
98
  * @return {Cache[]}
99
99
  */
100
100
  get subCaches() {
101
- return Object.values(this.__subCacheByIndex);
101
+ return Object.values(this.#subCacheByIndex);
102
102
  }
103
103
 
104
104
  /**
@@ -120,7 +120,7 @@ export class Cache {
120
120
  * @return {number}
121
121
  */
122
122
  get flatSize() {
123
- return this.__flatSize;
123
+ return this.#flatSize;
124
124
  }
125
125
 
126
126
  /**
@@ -129,7 +129,7 @@ export class Cache {
129
129
  * @return {number}
130
130
  */
131
131
  get size() {
132
- return this.__size;
132
+ return this.#size;
133
133
  }
134
134
 
135
135
  /**
@@ -138,12 +138,12 @@ export class Cache {
138
138
  * @param {number} size
139
139
  */
140
140
  set size(size) {
141
- const oldSize = this.__size;
141
+ const oldSize = this.#size;
142
142
  if (oldSize === size) {
143
143
  return;
144
144
  }
145
145
 
146
- this.__size = size;
146
+ this.#size = size;
147
147
 
148
148
  if (this.context.placeholder !== undefined) {
149
149
  this.items.length = size || 0;
@@ -164,7 +164,7 @@ export class Cache {
164
164
  * Recalculates the flattened size for the cache and its descendant caches recursively.
165
165
  */
166
166
  recalculateFlatSize() {
167
- this.__flatSize =
167
+ this.#flatSize =
168
168
  !this.parentItem || this.context.isExpanded(this.parentItem)
169
169
  ? this.size +
170
170
  this.subCaches.reduce((total, subCache) => {
@@ -199,7 +199,7 @@ export class Cache {
199
199
  * @return {Cache | undefined}
200
200
  */
201
201
  getSubCache(index) {
202
- return this.__subCacheByIndex[index];
202
+ return this.#subCacheByIndex[index];
203
203
  }
204
204
 
205
205
  /**
@@ -209,14 +209,14 @@ export class Cache {
209
209
  * @param {number} index
210
210
  */
211
211
  removeSubCache(index) {
212
- delete this.__subCacheByIndex[index];
212
+ delete this.#subCacheByIndex[index];
213
213
  }
214
214
 
215
215
  /**
216
216
  * Removes all sub-caches.
217
217
  */
218
218
  removeSubCaches() {
219
- this.__subCacheByIndex = {};
219
+ this.#subCacheByIndex = {};
220
220
  }
221
221
 
222
222
  /**
@@ -228,7 +228,7 @@ export class Cache {
228
228
  */
229
229
  createSubCache(index) {
230
230
  const subCache = new Cache(this.context, this.pageSize, 0, this, index);
231
- this.__subCacheByIndex[index] = subCache;
231
+ this.#subCacheByIndex[index] = subCache;
232
232
  return subCache;
233
233
  }
234
234
 
@@ -85,7 +85,7 @@ export class DataProviderController extends EventTarget {
85
85
  this.isPlaceholder = isPlaceholder;
86
86
  this.dataProvider = dataProvider;
87
87
  this.dataProviderParams = dataProviderParams;
88
- this.rootCache = this.__createRootCache(size);
88
+ this.rootCache = this.#createRootCache(size);
89
89
  }
90
90
 
91
91
  /**
@@ -96,7 +96,7 @@ export class DataProviderController extends EventTarget {
96
96
  }
97
97
 
98
98
  /** @private */
99
- get __cacheContext() {
99
+ get #cacheContext() {
100
100
  return {
101
101
  isExpanded: this.isExpanded,
102
102
  placeholder: this.placeholder,
@@ -143,7 +143,7 @@ export class DataProviderController extends EventTarget {
143
143
  * Clears the cache.
144
144
  */
145
145
  clearCache() {
146
- this.rootCache = this.__createRootCache(this.rootCache.size);
146
+ this.rootCache = this.#createRootCache(this.rootCache.size);
147
147
  }
148
148
 
149
149
  /**
@@ -198,8 +198,8 @@ export class DataProviderController extends EventTarget {
198
198
  ensureFlatIndexLoaded(flatIndex) {
199
199
  const { cache, page, item } = this.getFlatIndexContext(flatIndex);
200
200
 
201
- if (!this.__isItemLoaded(item)) {
202
- this.__loadCachePage(cache, page);
201
+ if (!this.#isItemLoaded(item)) {
202
+ this.#loadCachePage(cache, page);
203
203
  }
204
204
  }
205
205
 
@@ -213,9 +213,9 @@ export class DataProviderController extends EventTarget {
213
213
  ensureFlatIndexHierarchy(flatIndex) {
214
214
  const { cache, item, index } = this.getFlatIndexContext(flatIndex);
215
215
 
216
- if (this.__isItemLoaded(item) && this.isExpanded(item) && !cache.getSubCache(index)) {
216
+ if (this.#isItemLoaded(item) && this.isExpanded(item) && !cache.getSubCache(index)) {
217
217
  const subCache = cache.createSubCache(index);
218
- this.__loadCachePage(subCache, 0);
218
+ this.#loadCachePage(subCache, 0);
219
219
  }
220
220
  }
221
221
 
@@ -223,17 +223,28 @@ export class DataProviderController extends EventTarget {
223
223
  * Loads the first page into the root cache.
224
224
  */
225
225
  loadFirstPage() {
226
- this.__loadCachePage(this.rootCache, 0);
226
+ this.#loadCachePage(this.rootCache, 0);
227
+ }
228
+
229
+ /**
230
+ * Override to prevent loading of the cache page under certain conditions.
231
+ *
232
+ * @param {Cache} cache
233
+ * @param {number} page
234
+ * @protected
235
+ */
236
+ _shouldLoadCachePage(_cache, _page) {
237
+ return true;
227
238
  }
228
239
 
229
240
  /** @private */
230
- __createRootCache(size) {
231
- return new Cache(this.__cacheContext, this.pageSize, size);
241
+ #createRootCache(size) {
242
+ return new Cache(this.#cacheContext, this.pageSize, size);
232
243
  }
233
244
 
234
245
  /** @private */
235
- __loadCachePage(cache, page) {
236
- if (!this.dataProvider || cache.pendingRequests[page]) {
246
+ #loadCachePage(cache, page) {
247
+ if (!this.dataProvider || cache.pendingRequests[page] || !this._shouldLoadCachePage(cache, page)) {
237
248
  return;
238
249
  }
239
250
 
@@ -277,7 +288,7 @@ export class DataProviderController extends EventTarget {
277
288
  }
278
289
 
279
290
  /** @private */
280
- __isItemLoaded(item) {
291
+ #isItemLoaded(item) {
281
292
  if (this.isPlaceholder) {
282
293
  return !this.isPlaceholder(item);
283
294
  } else if (this.placeholder) {
@@ -18,6 +18,7 @@
18
18
  *
19
19
  * @param {Cache} cache
20
20
  * @param {number} flatIndex
21
+ * @param {number} level
21
22
  */
22
23
  export function getFlatIndexContext(cache, flatIndex, level = 0) {
23
24
  let levelIndex = flatIndex;
@@ -53,7 +54,6 @@ export function getFlatIndexContext(cache, flatIndex, level = 0) {
53
54
  *
54
55
  * If the item isn't found, the method returns undefined.
55
56
  *
56
- * @param {Cache} cache
57
57
  * @param {{ getItemId: (item: unknown) => unknown}} context
58
58
  * @param {Cache} cache
59
59
  * @param {unknown} targetItem
package/src/define.js CHANGED
@@ -13,7 +13,7 @@ function dashToCamelCase(dash) {
13
13
 
14
14
  const experimentalMap = {};
15
15
 
16
- export function defineCustomElement(CustomElement, version = '25.0.0-alpha14') {
16
+ export function defineCustomElement(CustomElement, version = '25.0.0-alpha16') {
17
17
  Object.defineProperty(CustomElement, 'version', {
18
18
  get() {
19
19
  return version;
@@ -48,9 +48,10 @@ export const ElementMixin = (superClass) =>
48
48
  window.Vaadin.registrations.push(this);
49
49
  registered.add(is);
50
50
 
51
- if (window.Vaadin.developmentModeCallback) {
51
+ const callback = window.Vaadin.developmentModeCallback;
52
+ if (callback) {
52
53
  statsJob = Debouncer.debounce(statsJob, idlePeriod, () => {
53
- window.Vaadin.developmentModeCallback['vaadin-usage-statistics']();
54
+ callback['vaadin-usage-statistics']();
54
55
  });
55
56
  enqueueDebouncer(statsJob);
56
57
  }
@@ -15,7 +15,7 @@ export class SlotController extends EventTarget {
15
15
  * Ensure that every instance has unique ID.
16
16
  *
17
17
  * @param {HTMLElement} host
18
- * @param {string} slotName
18
+ * @param {string} prefix
19
19
  * @return {string}
20
20
  * @protected
21
21
  */
@@ -55,27 +55,27 @@ addGlobalThemeStyles(
55
55
 
56
56
  /* Icons, used as mask-image */
57
57
  --_vaadin-icon-arrow-up: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 10.5 12 3m0 0 7.5 7.5M12 3v18" /></svg>');
58
- --_vaadin-icon-calendar: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5" /></svg>');
58
+ --_vaadin-icon-calendar: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5" /></svg>');
59
59
  --_vaadin-icon-checkmark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" /></svg>');
60
- --_vaadin-icon-chevron-down: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" /></svg>');
61
- --_vaadin-icon-clock: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /></svg>');
60
+ --_vaadin-icon-chevron-down: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" /></svg>');
61
+ --_vaadin-icon-clock: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" /></svg>');
62
62
  --_vaadin-icon-cross: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /></svg>');
63
- --_vaadin-icon-drag: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11 7c0 .82843-.6716 1.5-1.5 1.5C8.67157 8.5 8 7.82843 8 7s.67157-1.5 1.5-1.5c.8284 0 1.5.67157 1.5 1.5Zm0 5c0 .8284-.6716 1.5-1.5 1.5-.82843 0-1.5-.6716-1.5-1.5s.67157-1.5 1.5-1.5c.8284 0 1.5.6716 1.5 1.5Zm0 5c0 .8284-.6716 1.5-1.5 1.5-.82843 0-1.5-.6716-1.5-1.5s.67157-1.5 1.5-1.5c.8284 0 1.5.6716 1.5 1.5Zm5-10c0 .82843-.6716 1.5-1.5 1.5S13 7.82843 13 7s.6716-1.5 1.5-1.5S16 6.17157 16 7Zm0 5c0 .8284-.6716 1.5-1.5 1.5S13 12.8284 13 12s.6716-1.5 1.5-1.5 1.5.6716 1.5 1.5Zm0 5c0 .8284-.6716 1.5-1.5 1.5S13 17.8284 13 17s.6716-1.5 1.5-1.5 1.5.6716 1.5 1.5Z" fill="currentColor"/></svg>');
64
- --_vaadin-icon-edit: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11 3.99998H6.8C5.11984 3.99998 4.27976 3.99998 3.63803 4.32696C3.07354 4.61458 2.6146 5.07353 2.32698 5.63801C2 6.27975 2 7.11983 2 8.79998V17.2C2 18.8801 2 19.7202 2.32698 20.362C2.6146 20.9264 3.07354 21.3854 3.63803 21.673C4.27976 22 5.11984 22 6.8 22H15.2C16.8802 22 17.7202 22 18.362 21.673C18.9265 21.3854 19.3854 20.9264 19.673 20.362C20 19.7202 20 18.8801 20 17.2V13M7.99997 16H9.67452C10.1637 16 10.4083 16 10.6385 15.9447C10.8425 15.8957 11.0376 15.8149 11.2166 15.7053C11.4184 15.5816 11.5914 15.4086 11.9373 15.0627L21.5 5.49998C22.3284 4.67156 22.3284 3.32841 21.5 2.49998C20.6716 1.67156 19.3284 1.67155 18.5 2.49998L8.93723 12.0627C8.59133 12.4086 8.41838 12.5816 8.29469 12.7834C8.18504 12.9624 8.10423 13.1574 8.05523 13.3615C7.99997 13.5917 7.99997 13.8363 7.99997 14.3255V16Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
63
+ --_vaadin-icon-drag: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M11 7c0 .82843-.6716 1.5-1.5 1.5C8.67157 8.5 8 7.82843 8 7s.67157-1.5 1.5-1.5c.8284 0 1.5.67157 1.5 1.5Zm0 5c0 .8284-.6716 1.5-1.5 1.5-.82843 0-1.5-.6716-1.5-1.5s.67157-1.5 1.5-1.5c.8284 0 1.5.6716 1.5 1.5Zm0 5c0 .8284-.6716 1.5-1.5 1.5-.82843 0-1.5-.6716-1.5-1.5s.67157-1.5 1.5-1.5c.8284 0 1.5.6716 1.5 1.5Zm5-10c0 .82843-.6716 1.5-1.5 1.5S13 7.82843 13 7s.6716-1.5 1.5-1.5S16 6.17157 16 7Zm0 5c0 .8284-.6716 1.5-1.5 1.5S13 12.8284 13 12s.6716-1.5 1.5-1.5 1.5.6716 1.5 1.5Zm0 5c0 .8284-.6716 1.5-1.5 1.5S13 17.8284 13 17s.6716-1.5 1.5-1.5 1.5.6716 1.5 1.5Z" fill="currentColor"/></svg>');
64
+ --_vaadin-icon-edit: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M11 3.99998H6.8C5.11984 3.99998 4.27976 3.99998 3.63803 4.32696C3.07354 4.61458 2.6146 5.07353 2.32698 5.63801C2 6.27975 2 7.11983 2 8.79998V17.2C2 18.8801 2 19.7202 2.32698 20.362C2.6146 20.9264 3.07354 21.3854 3.63803 21.673C4.27976 22 5.11984 22 6.8 22H15.2C16.8802 22 17.7202 22 18.362 21.673C18.9265 21.3854 19.3854 20.9264 19.673 20.362C20 19.7202 20 18.8801 20 17.2V13M7.99997 16H9.67452C10.1637 16 10.4083 16 10.6385 15.9447C10.8425 15.8957 11.0376 15.8149 11.2166 15.7053C11.4184 15.5816 11.5914 15.4086 11.9373 15.0627L21.5 5.49998C22.3284 4.67156 22.3284 3.32841 21.5 2.49998C20.6716 1.67156 19.3284 1.67155 18.5 2.49998L8.93723 12.0627C8.59133 12.4086 8.41838 12.5816 8.29469 12.7834C8.18504 12.9624 8.10423 13.1574 8.05523 13.3615C7.99997 13.5917 7.99997 13.8363 7.99997 14.3255V16Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
65
65
  --_vaadin-icon-eye: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z" /><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" /></svg>');
66
66
  --_vaadin-icon-eye-slash: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88" /></svg>');
67
67
  --_vaadin-icon-fullscreen: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" /></svg>');
68
68
  --_vaadin-icon-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z" /></svg>');
69
- --_vaadin-icon-link: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9 17H7C4.23858 17 2 14.7614 2 12C2 9.23858 4.23858 7 7 7H9M15 17H17C19.7614 17 22 14.7614 22 12C22 9.23858 19.7614 7 17 7H15M7 12L17 12" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
69
+ --_vaadin-icon-link: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M9 17H7C4.23858 17 2 14.7614 2 12C2 9.23858 4.23858 7 7 7H9M15 17H17C19.7614 17 22 14.7614 22 12C22 9.23858 19.7614 7 17 7H15M7 12L17 12" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
70
70
  --_vaadin-icon-menu: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" /></svg>');
71
71
  --_vaadin-icon-minus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>');
72
72
  --_vaadin-icon-paper-airplane: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 12 3.269 3.125A59.769 59.769 0 0 1 21.485 12 59.768 59.768 0 0 1 3.27 20.875L5.999 12Zm0 0h7.5" /></svg>');
73
73
  --_vaadin-icon-play: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.347a1.125 1.125 0 0 1 0 1.972l-11.54 6.347a1.125 1.125 0 0 1-1.667-.986V5.653Z" /></svg>');
74
74
  --_vaadin-icon-plus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /></svg>');
75
75
  --_vaadin-icon-redo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m15 15 6-6m0 0-6-6m6 6H9a6 6 0 0 0 0 12h3" /></svg>');
76
- --_vaadin-icon-refresh: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 10C22 10 19.995 7.26822 18.3662 5.63824C16.7373 4.00827 14.4864 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.1031 21 19.5649 18.2543 20.6482 14.5M22 10V4M22 10H16" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
76
+ --_vaadin-icon-refresh: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M22 10C22 10 19.995 7.26822 18.3662 5.63824C16.7373 4.00827 14.4864 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.1031 21 19.5649 18.2543 20.6482 14.5M22 10V4M22 10H16" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
77
77
  --_vaadin-icon-resize: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.5303 7.46967c.2929.29289.2929.76777 0 1.06066L8.53033 18.5304c-.29289.2929-.76777.2929-1.06066 0s-.29289-.7678 0-1.0607L17.4697 7.46967c.2929-.29289.7677-.29289 1.0606 0Zm0 4.50003c.2929.2929.2929.7678 0 1.0607l-5.5 5.5c-.2929.2928-.7677.2928-1.0606 0-.2929-.2929-.2929-.7678 0-1.0607l5.4999-5.5c.2929-.2929.7678-.2929 1.0607 0Zm0 4.5c.2929.2928.2929.7677 0 1.0606l-1 1.0001c-.2929.2928-.7677.2929-1.0606 0-.2929-.2929-.2929-.7678 0-1.0607l1-1c.2929-.2929.7677-.2929 1.0606 0Z" fill="currentColor"/></svg>');
78
- --_vaadin-icon-sort: url('data:image/svg+xml;utf8,<svg width="8" height="12" viewBox="0 0 8 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.49854 6.99951C7.92795 6.99951 8.15791 7.50528 7.87549 7.82861L4.37646 11.8296C4.17728 12.0571 3.82272 12.0571 3.62354 11.8296L0.125488 7.82861C-0.157248 7.50531 0.0719873 6.99956 0.501465 6.99951H7.49854ZM3.62354 0.17041C3.82275 -0.0573875 4.17725 -0.0573848 4.37646 0.17041L7.87549 4.17041C8.15825 4.49373 7.92806 5.00049 7.49854 5.00049L0.501465 4.99951C0.0719873 4.99946 -0.157248 4.49371 0.125488 4.17041L3.62354 0.17041Z" fill="black"/></svg>');
78
+ --_vaadin-icon-sort: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="12" viewBox="0 0 8 12" fill="none"><path d="M7.49854 6.99951C7.92795 6.99951 8.15791 7.50528 7.87549 7.82861L4.37646 11.8296C4.17728 12.0571 3.82272 12.0571 3.62354 11.8296L0.125488 7.82861C-0.157248 7.50531 0.0719873 6.99956 0.501465 6.99951H7.49854ZM3.62354 0.17041C3.82275 -0.0573875 4.17725 -0.0573848 4.37646 0.17041L7.87549 4.17041C8.15825 4.49373 7.92806 5.00049 7.49854 5.00049L0.501465 4.99951C0.0719873 4.99946 -0.157248 4.49371 0.125488 4.17041L3.62354 0.17041Z" fill="black"/></svg>');
79
79
  --_vaadin-icon-undo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M9 15 3 9m0 0 6-6M3 9h12a6 6 0 0 1 0 12h-3" /></svg>');
80
80
  --_vaadin-icon-upload: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0 4.5 4.5M12 3v13.5" /></svg>');
81
81
  --_vaadin-icon-user: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M3 20C5.33579 17.5226 8.50702 16 12 16C15.493 16 18.6642 17.5226 21 20M16.5 7.5C16.5 9.98528 14.4853 12 12 12C9.51472 12 7.5 9.98528 7.5 7.5C7.5 5.01472 9.51472 3 12 3C14.4853 3 16.5 5.01472 16.5 7.5Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
@@ -56,7 +56,6 @@ export class TooltipController extends SlotController {
56
56
  /**
57
57
  * Override to notify the host when the tooltip is removed.
58
58
  *
59
- * @param {Node} tooltipNode
60
59
  * @protected
61
60
  * @override
62
61
  */
@@ -78,9 +78,7 @@ export class Virtualizer {
78
78
  /**
79
79
  * Flushes active asynchronous tasks so that the component and the DOM end up in a stable state
80
80
  *
81
- * @method update
82
- * @param {number | undefined} startIndex The start index of the range
83
- * @param {number | undefined} endIndex The end index of the range
81
+ * @method flush
84
82
  */
85
83
  flush() {
86
84
  this.__adapter.flush();
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2000 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+
7
+ /**
8
+ * Issues a warning in the browser console if it has not been issued before.
9
+ */
10
+ export declare function issueWarning(warning: string): void;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2000 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+
7
+ const issuedWarnings = new Set();
8
+
9
+ /**
10
+ * Issues a warning in the browser console if it has not been issued before.
11
+ * @param {string} warning
12
+ */
13
+ export function issueWarning(warning) {
14
+ if (issuedWarnings.has(warning)) {
15
+ return;
16
+ }
17
+
18
+ issuedWarnings.add(warning);
19
+ console.warn(warning);
20
+ }
21
+
22
+ /**
23
+ * Clears all issued warnings. Only intended for testing purposes.
24
+ */
25
+ export function clearWarnings() {
26
+ issuedWarnings.clear();
27
+ }