@heartlandone/vega 2.30.0 → 2.31.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.
- package/dist/cjs/vega-combo-box.cjs.entry.js +158 -32
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +6 -4
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-items-slot-controller.js +57 -0
- package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-source-controller.js +23 -0
- package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +46 -5
- package/dist/collection/components/vega-combo-box/vega-combo-box.js +10 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +6 -4
- package/dist/esm/vega-combo-box.entry.js +159 -33
- package/dist/esm/vega-dropdown_5.entry.js +6 -4
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-items-slot-controller.d.ts +19 -0
- package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-source-controller.d.ts +14 -0
- package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +7 -0
- package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +4 -0
- package/dist/vega/p-1e6c23e0.entry.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-6e6ec77d.entry.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/vega/p-3903ce7a.entry.js +0 -1
- package/dist/vega/p-cea70476.entry.js +0 -1
|
@@ -16,8 +16,11 @@ const staticSubjectTitle = require('./static-subject-title-471e1793.js');
|
|
|
16
16
|
const changeManager = require('./change-manager-a297e4d2.js');
|
|
17
17
|
const accessibility = require('./accessibility-bfa227f6.js');
|
|
18
18
|
const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-2e41340d.js');
|
|
19
|
+
const vegaInternalEventId = require('./vega-internal-event-id-99cc22e1.js');
|
|
19
20
|
const keyboardManagerSlimmer = require('./keyboard-manager-slimmer-8e2d4b5d.js');
|
|
20
21
|
const ui = require('./ui-08f33116.js');
|
|
22
|
+
const mutationObserverSlimmer = require('./mutation-observer-slimmer-895b3d3e.js');
|
|
23
|
+
const mutationObserverFilters = require('./mutation-observer-filters-e5a7f85a.js');
|
|
21
24
|
require('./breakpoints-7e2dff90.js');
|
|
22
25
|
require('./ui-32e69595.js');
|
|
23
26
|
require('./regex-c1f70fd4.js');
|
|
@@ -26,11 +29,8 @@ require('./string-21427167.js');
|
|
|
26
29
|
require('./observer-f49483e8.js');
|
|
27
30
|
require('./create-public-api-runtime-metrics-slimmer-5cc88124.js');
|
|
28
31
|
require('./dynamic-slimmer-f31fdfd7.js');
|
|
29
|
-
require('./vega-internal-event-id-99cc22e1.js');
|
|
30
32
|
require('./translation-42c1b2c8.js');
|
|
31
33
|
require('./page-resize-observer-slimmer-a8cf1874.js');
|
|
32
|
-
require('./mutation-observer-slimmer-895b3d3e.js');
|
|
33
|
-
require('./mutation-observer-filters-e5a7f85a.js');
|
|
34
34
|
require('./array-5adef7b2.js');
|
|
35
35
|
require('./number-4816603d.js');
|
|
36
36
|
require('./internal-vega-event-manager-9ffb3ed1.js');
|
|
@@ -66,7 +66,7 @@ const VegaComboBoxRuntimeMetricsPayloadDefinition = [
|
|
|
66
66
|
},
|
|
67
67
|
];
|
|
68
68
|
|
|
69
|
-
var __decorate$
|
|
69
|
+
var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
70
70
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
71
71
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
72
72
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -94,15 +94,18 @@ class VegaComboBoxDropdownRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
94
94
|
/* istanbul ignore next */
|
|
95
95
|
this.onInputChange = async (e) => {
|
|
96
96
|
const value = e.target.value;
|
|
97
|
-
if (this.useDefaultFilter) {
|
|
97
|
+
if (this.useDefaultFilter || this.vegaDropdownProps.dynamicOption) {
|
|
98
98
|
await this.dropdownRef.show();
|
|
99
99
|
await this.dropdownRef.search(value);
|
|
100
100
|
}
|
|
101
|
-
|
|
101
|
+
if (this.isTemplateMode || !this.useDefaultFilter) {
|
|
102
102
|
this.searchEventEmit.emit(value);
|
|
103
103
|
}
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
|
+
connectedCallback() {
|
|
107
|
+
this.isTemplateMode = this.host.querySelector('[slot=items]') !== null;
|
|
108
|
+
}
|
|
106
109
|
getDropdownRef() {
|
|
107
110
|
return this.dropdownRef;
|
|
108
111
|
}
|
|
@@ -123,8 +126,14 @@ class VegaComboBoxDropdownRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
123
126
|
async show() {
|
|
124
127
|
await this.dropdownRef.show();
|
|
125
128
|
}
|
|
129
|
+
replaceItemsSlot(itemsSlot) {
|
|
130
|
+
if (itemsSlot && this.itemsSlotRef) {
|
|
131
|
+
this.itemsSlotRef.remove();
|
|
132
|
+
this.dropdownRef.append(itemsSlot);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
126
135
|
renderDropdown() {
|
|
127
|
-
return (index.h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true }, this.vegaDropdownProps, { ref: (ref) => {
|
|
136
|
+
return (index.h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true, useDefaultFilter: this.useDefaultFilter }, this.vegaDropdownProps, { ref: (ref) => {
|
|
128
137
|
this.dropdownRef = ref;
|
|
129
138
|
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaCreate, async (payload) => {
|
|
130
139
|
await this.onDropdownCreate(payload.detail);
|
|
@@ -135,7 +144,24 @@ class VegaComboBoxDropdownRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
135
144
|
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaDropdownClick, async () => {
|
|
136
145
|
await this.onItemClick();
|
|
137
146
|
});
|
|
138
|
-
|
|
147
|
+
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaInternalEventId.VegaInternalDropdownTemplateItemsChange,
|
|
148
|
+
/*
|
|
149
|
+
* The below method is e2e-test covered in
|
|
150
|
+
* @see{module:vega-combo-box-template-select-e2e}
|
|
151
|
+
*/
|
|
152
|
+
/* istanbul ignore next */
|
|
153
|
+
(payload) => {
|
|
154
|
+
const addedItems = Array.from(payload)
|
|
155
|
+
.filter((item) => !this.source.find((sourceItem) => sourceItem.key === item.itemKey))
|
|
156
|
+
.map((item) => ({
|
|
157
|
+
key: item.itemKey,
|
|
158
|
+
label: item.label,
|
|
159
|
+
}));
|
|
160
|
+
this.sourceController.setSource([...this.source, ...addedItems]);
|
|
161
|
+
});
|
|
162
|
+
} }),
|
|
163
|
+
this.renderContainer(),
|
|
164
|
+
this.renderItemsSlot()));
|
|
139
165
|
}
|
|
140
166
|
renderContainer() {
|
|
141
167
|
return (index.h("div", { class: {
|
|
@@ -145,6 +171,11 @@ class VegaComboBoxDropdownRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
145
171
|
this.renderSelectedContainer(),
|
|
146
172
|
this.renderInputContainer()));
|
|
147
173
|
}
|
|
174
|
+
renderItemsSlot() {
|
|
175
|
+
return (this.isTemplateMode && (index.h("div", { slot: "items", ref: (ref) => {
|
|
176
|
+
this.itemsSlotRef = ref;
|
|
177
|
+
} })));
|
|
178
|
+
}
|
|
148
179
|
renderSelectedContainer() {
|
|
149
180
|
const selected = this.value
|
|
150
181
|
.map((key) => this.source.find((item) => item.key === key))
|
|
@@ -175,41 +206,50 @@ class VegaComboBoxDropdownRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
175
206
|
await this.dropdownRef.search('');
|
|
176
207
|
}
|
|
177
208
|
}
|
|
178
|
-
__decorate$
|
|
209
|
+
__decorate$6([
|
|
210
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
211
|
+
], VegaComboBoxDropdownRenderer.prototype, "host", void 0);
|
|
212
|
+
__decorate$6([
|
|
179
213
|
globalSlimmerRegistry.MapToComponentField()
|
|
180
214
|
], VegaComboBoxDropdownRenderer.prototype, "value", void 0);
|
|
181
|
-
__decorate$
|
|
215
|
+
__decorate$6([
|
|
182
216
|
globalSlimmerRegistry.MapToComponentField()
|
|
183
217
|
], VegaComboBoxDropdownRenderer.prototype, "source", void 0);
|
|
184
|
-
__decorate$
|
|
218
|
+
__decorate$6([
|
|
185
219
|
globalSlimmerRegistry.MapToComponentField()
|
|
186
220
|
], VegaComboBoxDropdownRenderer.prototype, "disabled", void 0);
|
|
187
|
-
__decorate$
|
|
221
|
+
__decorate$6([
|
|
188
222
|
globalSlimmerRegistry.MapToComponentField()
|
|
189
223
|
], VegaComboBoxDropdownRenderer.prototype, "size", void 0);
|
|
190
|
-
__decorate$
|
|
224
|
+
__decorate$6([
|
|
191
225
|
globalSlimmerRegistry.MapToComponentField()
|
|
192
226
|
], VegaComboBoxDropdownRenderer.prototype, "vegaDropdownProps", void 0);
|
|
193
|
-
__decorate$
|
|
227
|
+
__decorate$6([
|
|
194
228
|
globalSlimmerRegistry.MapToComponentField()
|
|
195
229
|
], VegaComboBoxDropdownRenderer.prototype, "label", void 0);
|
|
196
|
-
__decorate$
|
|
230
|
+
__decorate$6([
|
|
197
231
|
globalSlimmerRegistry.MapToComponentField()
|
|
198
232
|
], VegaComboBoxDropdownRenderer.prototype, "placeholder", void 0);
|
|
199
|
-
__decorate$
|
|
233
|
+
__decorate$6([
|
|
200
234
|
globalSlimmerRegistry.MapToComponentField()
|
|
201
235
|
], VegaComboBoxDropdownRenderer.prototype, "useDefaultFilter", void 0);
|
|
202
|
-
__decorate$
|
|
236
|
+
__decorate$6([
|
|
203
237
|
globalSlimmerRegistry.MapToComponentField()
|
|
204
238
|
], VegaComboBoxDropdownRenderer.prototype, "createEventEmit", void 0);
|
|
205
|
-
__decorate$
|
|
239
|
+
__decorate$6([
|
|
206
240
|
globalSlimmerRegistry.MapToComponentField()
|
|
207
241
|
], VegaComboBoxDropdownRenderer.prototype, "searchEventEmit", void 0);
|
|
208
|
-
__decorate$
|
|
242
|
+
__decorate$6([
|
|
209
243
|
globalSlimmerRegistry.MapToComponentField()
|
|
210
244
|
], VegaComboBoxDropdownRenderer.prototype, "valueController", void 0);
|
|
245
|
+
__decorate$6([
|
|
246
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
247
|
+
], VegaComboBoxDropdownRenderer.prototype, "sourceController", void 0);
|
|
248
|
+
__decorate$6([
|
|
249
|
+
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
250
|
+
], VegaComboBoxDropdownRenderer.prototype, "connectedCallback", null);
|
|
211
251
|
|
|
212
|
-
var __decorate$
|
|
252
|
+
var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
213
253
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
214
254
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
215
255
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -228,11 +268,11 @@ class VegaComboBoxValueController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
228
268
|
this.value = value;
|
|
229
269
|
}
|
|
230
270
|
}
|
|
231
|
-
__decorate$
|
|
271
|
+
__decorate$5([
|
|
232
272
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
233
273
|
], VegaComboBoxValueController.prototype, "value", void 0);
|
|
234
274
|
|
|
235
|
-
var __decorate$
|
|
275
|
+
var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
236
276
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
237
277
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
238
278
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -265,23 +305,23 @@ class VegaComboBoxRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
265
305
|
return index.h("div", { class: "vega-combo-box-hint" }, this.hint);
|
|
266
306
|
}
|
|
267
307
|
}
|
|
268
|
-
__decorate$
|
|
308
|
+
__decorate$4([
|
|
269
309
|
globalSlimmerRegistry.MapToComponentField()
|
|
270
310
|
], VegaComboBoxRenderer.prototype, "required", void 0);
|
|
271
|
-
__decorate$
|
|
311
|
+
__decorate$4([
|
|
272
312
|
globalSlimmerRegistry.MapToComponentField()
|
|
273
313
|
], VegaComboBoxRenderer.prototype, "hint", void 0);
|
|
274
|
-
__decorate$
|
|
314
|
+
__decorate$4([
|
|
275
315
|
globalSlimmerRegistry.MapToComponentField()
|
|
276
316
|
], VegaComboBoxRenderer.prototype, "disabled", void 0);
|
|
277
|
-
__decorate$
|
|
317
|
+
__decorate$4([
|
|
278
318
|
globalSlimmerRegistry.MapToComponentField()
|
|
279
319
|
], VegaComboBoxRenderer.prototype, "dropdownRenderer", void 0);
|
|
280
|
-
__decorate$
|
|
320
|
+
__decorate$4([
|
|
281
321
|
globalSlimmerRegistry.MapToComponentField()
|
|
282
322
|
], VegaComboBoxRenderer.prototype, "label", void 0);
|
|
283
323
|
|
|
284
|
-
var __decorate$
|
|
324
|
+
var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
285
325
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
286
326
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
287
327
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -379,19 +419,97 @@ class VegaComboBoxKeyboardController extends keyboardManagerSlimmer.KeyboardMana
|
|
|
379
419
|
}
|
|
380
420
|
}
|
|
381
421
|
}
|
|
382
|
-
__decorate$
|
|
422
|
+
__decorate$3([
|
|
383
423
|
globalSlimmerRegistry.MapToComponentField()
|
|
384
424
|
], VegaComboBoxKeyboardController.prototype, "host", void 0);
|
|
385
|
-
__decorate$
|
|
425
|
+
__decorate$3([
|
|
386
426
|
globalSlimmerRegistry.MapToComponentField()
|
|
387
427
|
], VegaComboBoxKeyboardController.prototype, "value", void 0);
|
|
388
|
-
__decorate$
|
|
428
|
+
__decorate$3([
|
|
389
429
|
globalSlimmerRegistry.MapToComponentField()
|
|
390
430
|
], VegaComboBoxKeyboardController.prototype, "dropdownRenderer", void 0);
|
|
391
|
-
__decorate$
|
|
431
|
+
__decorate$3([
|
|
392
432
|
globalSlimmerRegistry.MapToComponentField()
|
|
393
433
|
], VegaComboBoxKeyboardController.prototype, "valueController", void 0);
|
|
394
434
|
|
|
435
|
+
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
436
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
437
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
438
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
439
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
440
|
+
};
|
|
441
|
+
/**
|
|
442
|
+
* The class `VegaInputSelectItemsSlotController` extends `VegaSlimmer` and manages
|
|
443
|
+
* appending host items to a dropdown element.
|
|
444
|
+
*/
|
|
445
|
+
class VegaComboBoxItemsSlotController extends globalSlimmerRegistry.VegaSlimmer {
|
|
446
|
+
constructor() {
|
|
447
|
+
super(...arguments);
|
|
448
|
+
this.mutationObserver = new mutationObserverSlimmer.MutationObserverSlimmer({
|
|
449
|
+
mutationFilter: mutationObserverFilters.TagNameMutationFilter('VEGA-DROPDOWN-ITEM'),
|
|
450
|
+
options: {
|
|
451
|
+
childList: true,
|
|
452
|
+
subtree: true,
|
|
453
|
+
},
|
|
454
|
+
callback:
|
|
455
|
+
/*
|
|
456
|
+
* The below method is e2e-test covered in
|
|
457
|
+
* @see{module:vega-combo-box-template-slot-change-e2e}
|
|
458
|
+
*/
|
|
459
|
+
/* istanbul ignore next */
|
|
460
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
461
|
+
() => this.appendHostItemsToDropdown(),
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Component lifecycle - [componentDidLoad]
|
|
466
|
+
*/
|
|
467
|
+
componentDidLoad() {
|
|
468
|
+
this.appendHostItemsToDropdown();
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* The function appends host items to a dropdown element.
|
|
472
|
+
*/
|
|
473
|
+
appendHostItemsToDropdown() {
|
|
474
|
+
this.dropdownRenderer.replaceItemsSlot(this.host.querySelector('[slot=items]'));
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
__decorate$2([
|
|
478
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
479
|
+
], VegaComboBoxItemsSlotController.prototype, "mutationObserver", void 0);
|
|
480
|
+
__decorate$2([
|
|
481
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
482
|
+
], VegaComboBoxItemsSlotController.prototype, "host", void 0);
|
|
483
|
+
__decorate$2([
|
|
484
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
485
|
+
], VegaComboBoxItemsSlotController.prototype, "dropdownRenderer", void 0);
|
|
486
|
+
__decorate$2([
|
|
487
|
+
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
488
|
+
], VegaComboBoxItemsSlotController.prototype, "componentDidLoad", null);
|
|
489
|
+
|
|
490
|
+
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
491
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
492
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
493
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
494
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
495
|
+
};
|
|
496
|
+
/**
|
|
497
|
+
* The source controller of `VegaComboBox` component.
|
|
498
|
+
*/
|
|
499
|
+
class VegaComboBoxSourceController extends globalSlimmerRegistry.VegaSlimmer {
|
|
500
|
+
/**
|
|
501
|
+
* The function `setSource` sets the source of a VegaComboBox component.
|
|
502
|
+
*
|
|
503
|
+
* @param {string[]} source - source
|
|
504
|
+
*/
|
|
505
|
+
setSource(source) {
|
|
506
|
+
this.source = source;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
__decorate$1([
|
|
510
|
+
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
511
|
+
], VegaComboBoxSourceController.prototype, "source", void 0);
|
|
512
|
+
|
|
395
513
|
const vegaComboBoxCss = ":host{display:inline-block;width:100%;min-width:0px;text-align:left;line-height:normal}.vega-combo-box-container{border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));padding-left:16px;padding-right:16px;padding-top:12px;padding-bottom:12px;border-radius:8px;gap:8px;display:block;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer}.vega-combo-box-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}.vega-combo-box-container:focus-within{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));box-shadow:0 0 0 4px rgba(var(--v-ring-input-focus, 19, 98, 226, 0.25))}.vega-combo-box-container .vega-combo-box-input-container{width:-webkit-min-content;width:-moz-min-content;width:min-content;flex-grow:1}.vega-combo-box-container input{border-style:none;background-color:rgba(var(--v-bg-transparent, 0, 0, 0, 0));font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));width:100%}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-combo-box-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-combo-box-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-combo-box-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}.vega-combo-box-container input:focus{outline:2px solid transparent;outline-offset:2px}.vega-combo-box-size-medium{padding-left:12px;padding-right:12px;padding-top:11px;padding-bottom:11px}.vega-combo-box-size-small{padding-left:12px;padding-right:12px;padding-top:7px;padding-bottom:7px}.vega-combo-box-container:focus{outline:none}vega-field-label{margin-bottom:8px}.error .vega-combo-box-container{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}.error .vega-combo-box-container:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}.error .vega-combo-box-container:focus-within{border:1px solid rgba(var(--v-border-input-field-danger-focus, 233, 71, 104, 1));box-shadow:0 0 0 4px rgba(var(--v-ring-input-danger-focus, 230, 50, 87, 0.25))}:host(.vega-combo-box-disabled) .vega-combo-box-container{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));--tw-shadow:0 0 #0000;box-shadow:rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px}:host(.vega-combo-box-disabled) .vega-combo-box-container:hover{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host(.vega-combo-box-disabled) vega-icon{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.vega-combo-box-container input::placeholder{color:rgba(var(--v-text-input-placeholder, 176, 180, 181, 1))}.vega-error{display:inline-block;padding-left:8px;padding-right:8px;padding-top:8px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-hidden{display:none}.vega-combo-box-hint{padding-left:8px;padding-right:8px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));padding-top:8px}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-combo-box-hint{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-combo-box-hint{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-combo-box-hint{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-error:not(.vega-hidden)+.vega-combo-box-hint{padding-top:4px}vega-dropdown{display:block}";
|
|
396
514
|
|
|
397
515
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -414,8 +532,10 @@ const VegaComboBox = class {
|
|
|
414
532
|
this.vegaSearch = index.createEvent(this, "vegaSearch", 7);
|
|
415
533
|
this.search = index.createEvent(this, "search", 7);
|
|
416
534
|
this.globalSlimmers = {};
|
|
535
|
+
this.itemsSlotController = new VegaComboBoxItemsSlotController();
|
|
417
536
|
this.keyboardController = new VegaComboBoxKeyboardController();
|
|
418
537
|
this.valueController = new VegaComboBoxValueController();
|
|
538
|
+
this.sourceController = new VegaComboBoxSourceController();
|
|
419
539
|
this.renderer = new VegaComboBoxRenderer();
|
|
420
540
|
this.dropdownRenderer = new VegaComboBoxDropdownRenderer();
|
|
421
541
|
this.formFieldController = new formFieldControllerSlimmer.FormFieldControllerSlimmer({
|
|
@@ -587,12 +707,18 @@ const VegaComboBox = class {
|
|
|
587
707
|
__decorate([
|
|
588
708
|
componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
|
|
589
709
|
], VegaComboBox.prototype, "globalSlimmers", void 0);
|
|
710
|
+
__decorate([
|
|
711
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
712
|
+
], VegaComboBox.prototype, "itemsSlotController", void 0);
|
|
590
713
|
__decorate([
|
|
591
714
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
592
715
|
], VegaComboBox.prototype, "keyboardController", void 0);
|
|
593
716
|
__decorate([
|
|
594
717
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
595
718
|
], VegaComboBox.prototype, "valueController", void 0);
|
|
719
|
+
__decorate([
|
|
720
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
721
|
+
], VegaComboBox.prototype, "sourceController", void 0);
|
|
596
722
|
__decorate([
|
|
597
723
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
598
724
|
], VegaComboBox.prototype, "renderer", void 0);
|
|
@@ -1383,10 +1383,12 @@ class VegaDropdownScrollableController extends globalSlimmerRegistry.VegaSlimmer
|
|
|
1383
1383
|
scrollToTemplateIndex() {
|
|
1384
1384
|
const scrolledKey = this.getSelectedKey();
|
|
1385
1385
|
if (scrolledKey) {
|
|
1386
|
-
this.renderer
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1386
|
+
const dropdownContent = this.renderer.getDropdownContentBoxRef();
|
|
1387
|
+
const selectedItem = dropdownContent.querySelector(`vega-dropdown-item[item-key='${scrolledKey}']`);
|
|
1388
|
+
const ul = dropdownContent.shadowRoot.querySelector('ul');
|
|
1389
|
+
const ulRect = ul.getBoundingClientRect();
|
|
1390
|
+
const itemRect = selectedItem.getBoundingClientRect();
|
|
1391
|
+
ul.scrollTop = itemRect.top - ulRect.top;
|
|
1390
1392
|
}
|
|
1391
1393
|
}
|
|
1392
1394
|
/**
|
|
@@ -11,9 +11,9 @@ exports.FrameworkEnum = void 0;
|
|
|
11
11
|
/** The VegaEnvManager class manages vega environment parameters. */
|
|
12
12
|
class VegaEnvManager {
|
|
13
13
|
constructor() {
|
|
14
|
-
// The `2.
|
|
14
|
+
// The `2.31.0` will be replaced to a version string when running publish script.
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
16
|
-
this.vegaVersion = '2.
|
|
16
|
+
this.vegaVersion = '2.31.0';
|
|
17
17
|
this.framework = exports.FrameworkEnum.VanillaJs;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { InjectVegaSlimmer, MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
import { MutationObserverSlimmer } from '../../../../helpers/slimmers/mutation-observer/mutation-observer-slimmer';
|
|
9
|
+
import { TagNameMutationFilter } from '../../../../helpers/slimmers/mutation-observer/mutation-observer-filters';
|
|
10
|
+
/**
|
|
11
|
+
* The class `VegaInputSelectItemsSlotController` extends `VegaSlimmer` and manages
|
|
12
|
+
* appending host items to a dropdown element.
|
|
13
|
+
*/
|
|
14
|
+
export class VegaComboBoxItemsSlotController extends VegaSlimmer {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.mutationObserver = new MutationObserverSlimmer({
|
|
18
|
+
mutationFilter: TagNameMutationFilter('VEGA-DROPDOWN-ITEM'),
|
|
19
|
+
options: {
|
|
20
|
+
childList: true,
|
|
21
|
+
subtree: true,
|
|
22
|
+
},
|
|
23
|
+
callback:
|
|
24
|
+
/*
|
|
25
|
+
* The below method is e2e-test covered in
|
|
26
|
+
* @see{module:vega-combo-box-template-slot-change-e2e}
|
|
27
|
+
*/
|
|
28
|
+
/* istanbul ignore next */
|
|
29
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
30
|
+
() => this.appendHostItemsToDropdown(),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Component lifecycle - [componentDidLoad]
|
|
35
|
+
*/
|
|
36
|
+
componentDidLoad() {
|
|
37
|
+
this.appendHostItemsToDropdown();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The function appends host items to a dropdown element.
|
|
41
|
+
*/
|
|
42
|
+
appendHostItemsToDropdown() {
|
|
43
|
+
this.dropdownRenderer.replaceItemsSlot(this.host.querySelector('[slot=items]'));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
__decorate([
|
|
47
|
+
InjectVegaSlimmer()
|
|
48
|
+
], VegaComboBoxItemsSlotController.prototype, "mutationObserver", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
MapToComponentField()
|
|
51
|
+
], VegaComboBoxItemsSlotController.prototype, "host", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
MapToComponentField()
|
|
54
|
+
], VegaComboBoxItemsSlotController.prototype, "dropdownRenderer", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
MapToComponentMethod('componentDidLoad')
|
|
57
|
+
], VegaComboBoxItemsSlotController.prototype, "componentDidLoad", null);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
/**
|
|
9
|
+
* The source controller of `VegaComboBox` component.
|
|
10
|
+
*/
|
|
11
|
+
export class VegaComboBoxSourceController extends VegaSlimmer {
|
|
12
|
+
/**
|
|
13
|
+
* The function `setSource` sets the source of a VegaComboBox component.
|
|
14
|
+
*
|
|
15
|
+
* @param {string[]} source - source
|
|
16
|
+
*/
|
|
17
|
+
setSource(source) {
|
|
18
|
+
this.source = source;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
__decorate([
|
|
22
|
+
MapToComponentField({ writable: true })
|
|
23
|
+
], VegaComboBoxSourceController.prototype, "source", void 0);
|
|
@@ -5,10 +5,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { Fragment, h } from '@stencil/core';
|
|
8
|
-
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
9
|
import { createEnterKeyHandlerToTriggerClick } from '../../../../utils/accessibility';
|
|
10
10
|
import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
11
11
|
import { VegaClose, VegaCreate, VegaDropdownClick, VegaDropdownHide, } from '../../../../helpers/event-manager/event-id/vega-event-id';
|
|
12
|
+
import { VegaInternalDropdownTemplateItemsChange } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
12
13
|
export class VegaComboBoxDropdownRenderer extends VegaSlimmer {
|
|
13
14
|
constructor() {
|
|
14
15
|
super(...arguments);
|
|
@@ -31,15 +32,18 @@ export class VegaComboBoxDropdownRenderer extends VegaSlimmer {
|
|
|
31
32
|
/* istanbul ignore next */
|
|
32
33
|
this.onInputChange = async (e) => {
|
|
33
34
|
const value = e.target.value;
|
|
34
|
-
if (this.useDefaultFilter) {
|
|
35
|
+
if (this.useDefaultFilter || this.vegaDropdownProps.dynamicOption) {
|
|
35
36
|
await this.dropdownRef.show();
|
|
36
37
|
await this.dropdownRef.search(value);
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
+
if (this.isTemplateMode || !this.useDefaultFilter) {
|
|
39
40
|
this.searchEventEmit.emit(value);
|
|
40
41
|
}
|
|
41
42
|
};
|
|
42
43
|
}
|
|
44
|
+
connectedCallback() {
|
|
45
|
+
this.isTemplateMode = this.host.querySelector('[slot=items]') !== null;
|
|
46
|
+
}
|
|
43
47
|
getDropdownRef() {
|
|
44
48
|
return this.dropdownRef;
|
|
45
49
|
}
|
|
@@ -60,8 +64,14 @@ export class VegaComboBoxDropdownRenderer extends VegaSlimmer {
|
|
|
60
64
|
async show() {
|
|
61
65
|
await this.dropdownRef.show();
|
|
62
66
|
}
|
|
67
|
+
replaceItemsSlot(itemsSlot) {
|
|
68
|
+
if (itemsSlot && this.itemsSlotRef) {
|
|
69
|
+
this.itemsSlotRef.remove();
|
|
70
|
+
this.dropdownRef.append(itemsSlot);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
63
73
|
renderDropdown() {
|
|
64
|
-
return (h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true }, this.vegaDropdownProps, { ref: (ref) => {
|
|
74
|
+
return (h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true, useDefaultFilter: this.useDefaultFilter }, this.vegaDropdownProps, { ref: (ref) => {
|
|
65
75
|
this.dropdownRef = ref;
|
|
66
76
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaCreate, async (payload) => {
|
|
67
77
|
await this.onDropdownCreate(payload.detail);
|
|
@@ -72,7 +82,24 @@ export class VegaComboBoxDropdownRenderer extends VegaSlimmer {
|
|
|
72
82
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownClick, async () => {
|
|
73
83
|
await this.onItemClick();
|
|
74
84
|
});
|
|
75
|
-
|
|
85
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaInternalDropdownTemplateItemsChange,
|
|
86
|
+
/*
|
|
87
|
+
* The below method is e2e-test covered in
|
|
88
|
+
* @see{module:vega-combo-box-template-select-e2e}
|
|
89
|
+
*/
|
|
90
|
+
/* istanbul ignore next */
|
|
91
|
+
(payload) => {
|
|
92
|
+
const addedItems = Array.from(payload)
|
|
93
|
+
.filter((item) => !this.source.find((sourceItem) => sourceItem.key === item.itemKey))
|
|
94
|
+
.map((item) => ({
|
|
95
|
+
key: item.itemKey,
|
|
96
|
+
label: item.label,
|
|
97
|
+
}));
|
|
98
|
+
this.sourceController.setSource([...this.source, ...addedItems]);
|
|
99
|
+
});
|
|
100
|
+
} }),
|
|
101
|
+
this.renderContainer(),
|
|
102
|
+
this.renderItemsSlot()));
|
|
76
103
|
}
|
|
77
104
|
renderContainer() {
|
|
78
105
|
return (h("div", { class: {
|
|
@@ -82,6 +109,11 @@ export class VegaComboBoxDropdownRenderer extends VegaSlimmer {
|
|
|
82
109
|
this.renderSelectedContainer(),
|
|
83
110
|
this.renderInputContainer()));
|
|
84
111
|
}
|
|
112
|
+
renderItemsSlot() {
|
|
113
|
+
return (this.isTemplateMode && (h("div", { slot: "items", ref: (ref) => {
|
|
114
|
+
this.itemsSlotRef = ref;
|
|
115
|
+
} })));
|
|
116
|
+
}
|
|
85
117
|
renderSelectedContainer() {
|
|
86
118
|
const selected = this.value
|
|
87
119
|
.map((key) => this.source.find((item) => item.key === key))
|
|
@@ -112,6 +144,9 @@ export class VegaComboBoxDropdownRenderer extends VegaSlimmer {
|
|
|
112
144
|
await this.dropdownRef.search('');
|
|
113
145
|
}
|
|
114
146
|
}
|
|
147
|
+
__decorate([
|
|
148
|
+
MapToComponentField()
|
|
149
|
+
], VegaComboBoxDropdownRenderer.prototype, "host", void 0);
|
|
115
150
|
__decorate([
|
|
116
151
|
MapToComponentField()
|
|
117
152
|
], VegaComboBoxDropdownRenderer.prototype, "value", void 0);
|
|
@@ -145,3 +180,9 @@ __decorate([
|
|
|
145
180
|
__decorate([
|
|
146
181
|
MapToComponentField()
|
|
147
182
|
], VegaComboBoxDropdownRenderer.prototype, "valueController", void 0);
|
|
183
|
+
__decorate([
|
|
184
|
+
MapToComponentField()
|
|
185
|
+
], VegaComboBoxDropdownRenderer.prototype, "sourceController", void 0);
|
|
186
|
+
__decorate([
|
|
187
|
+
MapToComponentMethod('connectedCallback')
|
|
188
|
+
], VegaComboBoxDropdownRenderer.prototype, "connectedCallback", null);
|
|
@@ -21,14 +21,18 @@ import { VegaComboBoxDropdownRenderer } from './slimmers/renderers/vega-combo-bo
|
|
|
21
21
|
import { VegaComboBoxValueController } from './slimmers/controllers/vega-combo-box-value-controller';
|
|
22
22
|
import { VegaComboBoxRenderer } from './slimmers/renderers/vega-combo-box-renderer';
|
|
23
23
|
import { VegaComboBoxKeyboardController } from './slimmers/controllers/vega-combo-box-keyboard-controller';
|
|
24
|
+
import { VegaComboBoxItemsSlotController } from './slimmers/controllers/vega-combo-box-items-slot-controller';
|
|
25
|
+
import { VegaComboBoxSourceController } from './slimmers/controllers/vega-combo-box-source-controller';
|
|
24
26
|
/**
|
|
25
27
|
* @vegaVersion 1.11.0
|
|
26
28
|
*/
|
|
27
29
|
export class VegaComboBox {
|
|
28
30
|
constructor() {
|
|
29
31
|
this.globalSlimmers = {};
|
|
32
|
+
this.itemsSlotController = new VegaComboBoxItemsSlotController();
|
|
30
33
|
this.keyboardController = new VegaComboBoxKeyboardController();
|
|
31
34
|
this.valueController = new VegaComboBoxValueController();
|
|
35
|
+
this.sourceController = new VegaComboBoxSourceController();
|
|
32
36
|
this.renderer = new VegaComboBoxRenderer();
|
|
33
37
|
this.dropdownRenderer = new VegaComboBoxDropdownRenderer();
|
|
34
38
|
this.formFieldController = new FormFieldControllerSlimmer({
|
|
@@ -659,12 +663,18 @@ export class VegaComboBox {
|
|
|
659
663
|
__decorate([
|
|
660
664
|
InjectVegaGlobalSlimmer()
|
|
661
665
|
], VegaComboBox.prototype, "globalSlimmers", void 0);
|
|
666
|
+
__decorate([
|
|
667
|
+
InjectVegaSlimmer()
|
|
668
|
+
], VegaComboBox.prototype, "itemsSlotController", void 0);
|
|
662
669
|
__decorate([
|
|
663
670
|
InjectVegaSlimmer()
|
|
664
671
|
], VegaComboBox.prototype, "keyboardController", void 0);
|
|
665
672
|
__decorate([
|
|
666
673
|
InjectVegaSlimmer()
|
|
667
674
|
], VegaComboBox.prototype, "valueController", void 0);
|
|
675
|
+
__decorate([
|
|
676
|
+
InjectVegaSlimmer()
|
|
677
|
+
], VegaComboBox.prototype, "sourceController", void 0);
|
|
668
678
|
__decorate([
|
|
669
679
|
InjectVegaSlimmer()
|
|
670
680
|
], VegaComboBox.prototype, "renderer", void 0);
|
|
@@ -50,10 +50,12 @@ export class VegaDropdownScrollableController extends VegaSlimmer {
|
|
|
50
50
|
scrollToTemplateIndex() {
|
|
51
51
|
const scrolledKey = this.getSelectedKey();
|
|
52
52
|
if (scrolledKey) {
|
|
53
|
-
this.renderer
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
const dropdownContent = this.renderer.getDropdownContentBoxRef();
|
|
54
|
+
const selectedItem = dropdownContent.querySelector(`vega-dropdown-item[item-key='${scrolledKey}']`);
|
|
55
|
+
const ul = dropdownContent.shadowRoot.querySelector('ul');
|
|
56
|
+
const ulRect = ul.getBoundingClientRect();
|
|
57
|
+
const itemRect = selectedItem.getBoundingClientRect();
|
|
58
|
+
ul.scrollTop = itemRect.top - ulRect.top;
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
/**
|