@otto-de/b2b-core-components 1.32.2 → 1.33.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/b2b-core-components/b2b-core-components.esm.js +1 -1
- package/dist/b2b-core-components/icons-100/b2b_icon-arrow-misdirected.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-clipboard-check.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-cosmetics.png +0 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-cosmetics.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-lock-open.svg +4 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-person-wheelchair.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-speech-bubble-sparkles.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-sustainable-organic-food.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-universal-access.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-voice-sparkles.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-webhook.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-arrow-long-left.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-arrow-long-right.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-arrow-misdirected.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-arrow-return.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-callback.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-feedback.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-flag-chequered.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-flame.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-inplace-zoom.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-lock-closed.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-lock-open.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-notification.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-pending.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-phone.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-print.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-qr-code.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-skip-link.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-smiley-angry.svg +13 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-smiley-happy.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-smiley-negative.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-smiley-neutral.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-sparkles.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-voucher.svg +3 -0
- package/dist/b2b-core-components/p-24c6aa56.entry.js +1 -0
- package/dist/b2b-core-components/p-2daee203.entry.js +1 -0
- package/dist/b2b-core-components/p-3369f3c0.entry.js +1 -0
- package/dist/b2b-core-components/{p-660c758b.entry.js → p-57842105.entry.js} +1 -1
- package/dist/b2b-core-components/p-5dacf68a.entry.js +1 -0
- package/dist/b2b-core-components/p-6abfdb73.entry.js +1 -0
- package/dist/b2b-core-components/p-703da47c.entry.js +1 -0
- package/dist/b2b-core-components/p-76573f9f.entry.js +1 -0
- package/dist/b2b-core-components/p-76bf79ec.entry.js +1 -0
- package/dist/b2b-core-components/p-840dd6cd.entry.js +1 -0
- package/dist/b2b-core-components/{p-f661154c.entry.js → p-917a7f00.entry.js} +1 -1
- package/dist/b2b-core-components/p-953fc46b.js +1 -0
- package/dist/b2b-core-components/{p-4dad7870.entry.js → p-bc2b17c6.entry.js} +1 -1
- package/dist/b2b-core-components/p-fea90226.entry.js +1 -0
- package/dist/cjs/b2b-checkbox-group.cjs.entry.js +5 -12
- package/dist/cjs/b2b-checkbox.cjs.entry.js +6 -4
- package/dist/cjs/b2b-chip-component_2.cjs.entry.js +4 -2
- package/dist/cjs/b2b-core-components.cjs.js +1 -1
- package/dist/cjs/b2b-custom-dropdown.cjs.entry.js +13 -11
- package/dist/cjs/b2b-date-picker-days_5.cjs.entry.js +30 -22
- package/dist/cjs/b2b-date-picker.cjs.entry.js +10 -5
- package/dist/cjs/b2b-dropdown.cjs.entry.js +8 -7
- package/dist/cjs/b2b-icon-100.cjs.entry.js +402 -392
- package/dist/cjs/b2b-icon-50.cjs.entry.js +57 -35
- package/dist/cjs/b2b-icon.cjs.entry.js +355 -356
- package/dist/cjs/b2b-input-group_2.cjs.entry.js +4 -11
- package/dist/cjs/b2b-input_2.cjs.entry.js +7 -9
- package/dist/cjs/b2b-multiselect-dropdown.cjs.entry.js +82 -55
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{request-801c6ba1.js → request-a16ba589.js} +1 -1
- package/dist/collection/components/checkbox/checkbox.js +6 -4
- package/dist/collection/components/checkbox-group/checkbox-group.js +5 -12
- package/dist/collection/components/custom-dropdown/custom-dropdown.css +6 -0
- package/dist/collection/components/custom-dropdown/custom-dropdown.js +32 -11
- package/dist/collection/components/date-picker/date-picker-months.js +38 -10
- package/dist/collection/components/date-picker/date-picker-years.js +35 -15
- package/dist/collection/components/date-picker/date-picker.css +2 -3
- package/dist/collection/components/date-picker/date-picker.js +9 -4
- package/dist/collection/components/date-picker/date-picker.stories.js +9 -3
- package/dist/collection/components/dropdown/dropdown.css +4 -0
- package/dist/collection/components/dropdown/dropdown.e2e.js +1 -1
- package/dist/collection/components/dropdown/dropdown.js +28 -6
- package/dist/collection/components/dropdown/dropdown.stories.js +17 -4
- package/dist/collection/components/flyout-menu/flyout-menu.e2e.js +7 -2
- package/dist/collection/components/icon/types.js +354 -355
- package/dist/collection/components/icon-100/icon-100.js +1 -1
- package/dist/collection/components/icon-100/icons-100/b2b_icon-arrow-misdirected.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-clipboard-check.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-cosmetics.png +0 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-cosmetics.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-lock-open.svg +4 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-person-wheelchair.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-speech-bubble-sparkles.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-sustainable-organic-food.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-universal-access.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-voice-sparkles.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-webhook.svg +3 -0
- package/dist/collection/components/icon-100/types.js +401 -391
- package/dist/collection/components/icon-50/icon-50.js +1 -1
- package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-long-left.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-long-right.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-misdirected.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-return.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-callback.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-feedback.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-flag-chequered.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-flame.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-inplace-zoom.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-lock-closed.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-lock-open.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-notification.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-pending.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-phone.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-print.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-qr-code.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-skip-link.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-angry.svg +13 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-happy.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-negative.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-neutral.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-sparkles.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-voucher.svg +3 -0
- package/dist/collection/components/icon-50/types.js +56 -34
- package/dist/collection/components/input/input.js +7 -9
- package/dist/collection/components/input-group/input-group.js +4 -11
- package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.e2e.js +15 -0
- package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.js +121 -61
- package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.stories.js +44 -11
- package/dist/collection/components/multiselect-dropdown/multiselect-option/multiselect-option.js +22 -3
- package/dist/collection/utils/icon/request.js +1 -1
- package/dist/components/b2b-checkbox-group.js +5 -12
- package/dist/components/b2b-custom-dropdown.js +16 -12
- package/dist/components/b2b-date-picker.js +10 -5
- package/dist/components/b2b-dropdown.js +9 -7
- package/dist/components/b2b-icon-50.js +56 -34
- package/dist/components/b2b-icon.js +354 -355
- package/dist/components/b2b-multiselect-dropdown.js +85 -55
- package/dist/components/checkbox.js +6 -4
- package/dist/components/date-picker-months.js +16 -8
- package/dist/components/date-picker-years.js +14 -14
- package/dist/components/icon-100.js +401 -391
- package/dist/components/input-group.js +4 -11
- package/dist/components/input.js +7 -9
- package/dist/components/multiselect-option.js +5 -2
- package/dist/components/request.js +1 -1
- package/dist/custom-elements.json +108 -1
- package/dist/esm/b2b-checkbox-group.entry.js +5 -12
- package/dist/esm/b2b-checkbox.entry.js +6 -4
- package/dist/esm/b2b-chip-component_2.entry.js +4 -2
- package/dist/esm/b2b-core-components.js +1 -1
- package/dist/esm/b2b-custom-dropdown.entry.js +13 -11
- package/dist/esm/b2b-date-picker-days_5.entry.js +30 -22
- package/dist/esm/b2b-date-picker.entry.js +10 -5
- package/dist/esm/b2b-dropdown.entry.js +8 -7
- package/dist/esm/b2b-icon-100.entry.js +402 -392
- package/dist/esm/b2b-icon-50.entry.js +57 -35
- package/dist/esm/b2b-icon.entry.js +355 -356
- package/dist/esm/b2b-input-group_2.entry.js +4 -11
- package/dist/esm/b2b-input_2.entry.js +7 -9
- package/dist/esm/b2b-multiselect-dropdown.entry.js +82 -55
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{request-1d048f8a.js → request-6bb66f19.js} +1 -1
- package/dist/types/components/custom-dropdown/custom-dropdown.d.ts +6 -2
- package/dist/types/components/date-picker/date-picker-months.d.ts +7 -4
- package/dist/types/components/date-picker/date-picker-years.d.ts +6 -5
- package/dist/types/components/date-picker/date-picker.d.ts +4 -4
- package/dist/types/components/dropdown/dropdown.d.ts +2 -0
- package/dist/types/components/dropdown/dropdown.stories.d.ts +1 -0
- package/dist/types/components/icon/types.d.ts +1 -1
- package/dist/types/components/icon-100/types.d.ts +2 -2
- package/dist/types/components/icon-50/types.d.ts +2 -2
- package/dist/types/components/multiselect-dropdown/multiselect-dropdown.d.ts +19 -9
- package/dist/types/components/multiselect-dropdown/multiselect-dropdown.stories.d.ts +23 -4
- package/dist/types/components/multiselect-dropdown/multiselect-option/multiselect-option.d.ts +3 -1
- package/dist/types/components.d.ts +36 -8
- package/dist/web-types.json +51 -12
- package/package.json +2 -2
- package/dist/b2b-core-components/p-0bf2c192.entry.js +0 -1
- package/dist/b2b-core-components/p-54eee61c.entry.js +0 -1
- package/dist/b2b-core-components/p-61b2a6ad.js +0 -1
- package/dist/b2b-core-components/p-639d68a2.entry.js +0 -1
- package/dist/b2b-core-components/p-6b291a01.entry.js +0 -1
- package/dist/b2b-core-components/p-6c60d337.entry.js +0 -1
- package/dist/b2b-core-components/p-88bf92be.entry.js +0 -1
- package/dist/b2b-core-components/p-a614bd46.entry.js +0 -1
- package/dist/b2b-core-components/p-ae7ec34a.entry.js +0 -1
- package/dist/b2b-core-components/p-b4d46a07.entry.js +0 -1
- package/dist/b2b-core-components/p-f83dd748.entry.js +0 -1
|
@@ -2,18 +2,17 @@ import { h, Host, } from "@stencil/core";
|
|
|
2
2
|
import { parsePropToArray } from "../../utils/json-property-binding-util";
|
|
3
3
|
export class B2bMultiSelectDropdown {
|
|
4
4
|
constructor() {
|
|
5
|
-
this.handleInput = event => {
|
|
6
|
-
if (this.disabled)
|
|
5
|
+
this.handleInput = (event) => {
|
|
6
|
+
if (this.disabled || this.groupDisabled)
|
|
7
7
|
return;
|
|
8
|
-
|
|
9
|
-
this.value =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
8
|
+
const term = event.target.value.toLowerCase();
|
|
9
|
+
this.value = term;
|
|
10
|
+
const list = this.normalizedOptions;
|
|
11
|
+
this.currentList =
|
|
12
|
+
term === ''
|
|
13
|
+
? list
|
|
14
|
+
: list.filter(o => o.label.toLowerCase().includes(term) ||
|
|
15
|
+
o.value.toLowerCase().includes(term));
|
|
17
16
|
};
|
|
18
17
|
this.getOptions = () => {
|
|
19
18
|
return Array.from(this.hostElement.shadowRoot.querySelectorAll('b2b-multiselect-option')).slice(1);
|
|
@@ -21,10 +20,10 @@ export class B2bMultiSelectDropdown {
|
|
|
21
20
|
this.renderChips = () => {
|
|
22
21
|
return this.currentSelectedValues.map((option, index) => {
|
|
23
22
|
if (index < this.maxOptionsVisible) {
|
|
24
|
-
return (h("b2b-chip-component", { label: option, value: option, "onB2b-close": this.handleChipClose }));
|
|
23
|
+
return (h("b2b-chip-component", { label: option.label, value: option.value, disabled: this.disabled || this.groupDisabled, "onB2b-close": this.handleChipClose }));
|
|
25
24
|
}
|
|
26
25
|
else if (index === this.maxOptionsVisible) {
|
|
27
|
-
return (h("b2b-chip-component", { label: "...", class: "b2b-multiselect-dropdown__option--show-more-button",
|
|
26
|
+
return (h("b2b-chip-component", { label: "...", class: "b2b-multiselect-dropdown__option--show-more-button", disabled: this.disabled || this.groupDisabled, onClick: this.handleOverflowOptionsClick }));
|
|
28
27
|
}
|
|
29
28
|
else {
|
|
30
29
|
return;
|
|
@@ -36,18 +35,24 @@ export class B2bMultiSelectDropdown {
|
|
|
36
35
|
this.setElementOnFocus();
|
|
37
36
|
}
|
|
38
37
|
};
|
|
39
|
-
this.handleSelectedChange = event => {
|
|
40
|
-
const
|
|
38
|
+
this.handleSelectedChange = (event) => {
|
|
39
|
+
const value = event.detail.selectedOption;
|
|
40
|
+
const opt = this.normalizedOptions.find(o => o.value === value);
|
|
41
|
+
if (opt === undefined)
|
|
42
|
+
return;
|
|
41
43
|
if (event.detail.selected) {
|
|
42
|
-
this.currentSelectedValues
|
|
44
|
+
if (!this.currentSelectedValues.some(o => o.value === value)) {
|
|
45
|
+
this.currentSelectedValues = [...this.currentSelectedValues, opt];
|
|
46
|
+
}
|
|
43
47
|
}
|
|
44
48
|
else {
|
|
45
|
-
this.currentSelectedValues = this.currentSelectedValues.filter(
|
|
49
|
+
this.currentSelectedValues = this.currentSelectedValues.filter(o => o.value !== value);
|
|
46
50
|
}
|
|
47
51
|
};
|
|
48
|
-
this.handleChipClose = event => {
|
|
49
|
-
|
|
50
|
-
this.
|
|
52
|
+
this.handleChipClose = (event) => {
|
|
53
|
+
const value = event.detail.value;
|
|
54
|
+
this.currentSelectedValues = this.currentSelectedValues.filter(o => o.value !== value);
|
|
55
|
+
this.updateOption(value);
|
|
51
56
|
this.isOpen = true;
|
|
52
57
|
this.resetFocus();
|
|
53
58
|
};
|
|
@@ -56,21 +61,22 @@ export class B2bMultiSelectDropdown {
|
|
|
56
61
|
const optionToUpdate = options.find(el => el.option === option);
|
|
57
62
|
optionToUpdate.selected = false;
|
|
58
63
|
};
|
|
59
|
-
this.updateAllOptions = options => {
|
|
60
|
-
// Deselect all to avoid caching issues in Vue
|
|
64
|
+
this.updateAllOptions = (options) => {
|
|
61
65
|
options.forEach(option => (option.selected = false));
|
|
66
|
+
const selectedSet = new Set(this.currentSelectedValues.map(o => o.value));
|
|
62
67
|
options
|
|
63
|
-
.filter(option =>
|
|
68
|
+
.filter(option => selectedSet.has(option.option))
|
|
64
69
|
.forEach(option => (option.selected = true));
|
|
65
70
|
};
|
|
66
71
|
this.setElementOnFocus = () => {
|
|
67
|
-
if (this.disabled)
|
|
72
|
+
if (this.disabled || this.groupDisabled)
|
|
68
73
|
return;
|
|
69
74
|
this.isElementFocused = true;
|
|
70
75
|
};
|
|
71
76
|
this.setElementOnBlur = (event) => {
|
|
72
77
|
const nextFocusedElement = event === null || event === void 0 ? void 0 : event.relatedTarget;
|
|
73
|
-
if (!nextFocusedElement
|
|
78
|
+
if (!(nextFocusedElement instanceof Node) ||
|
|
79
|
+
!this.hostElement.contains(nextFocusedElement)) {
|
|
74
80
|
this.isOpen = false;
|
|
75
81
|
}
|
|
76
82
|
else {
|
|
@@ -79,14 +85,14 @@ export class B2bMultiSelectDropdown {
|
|
|
79
85
|
this.isElementFocused = false;
|
|
80
86
|
};
|
|
81
87
|
this.resetFocus = () => {
|
|
82
|
-
if (this.disabled)
|
|
88
|
+
if (this.disabled || this.groupDisabled)
|
|
83
89
|
return;
|
|
84
90
|
const el = this.hostElement.shadowRoot.querySelector('.b2b-multiselect-dropdown');
|
|
85
91
|
el.focus();
|
|
86
92
|
};
|
|
87
93
|
this.handleMouseDown = (event) => {
|
|
88
94
|
/** Keep dropdown open if a tag is removed */
|
|
89
|
-
if (this.disabled) {
|
|
95
|
+
if (this.disabled || this.groupDisabled) {
|
|
90
96
|
event.preventDefault();
|
|
91
97
|
return;
|
|
92
98
|
}
|
|
@@ -98,7 +104,7 @@ export class B2bMultiSelectDropdown {
|
|
|
98
104
|
}
|
|
99
105
|
};
|
|
100
106
|
this.handleKeyDown = (event) => {
|
|
101
|
-
if (this.disabled)
|
|
107
|
+
if (this.disabled || this.groupDisabled)
|
|
102
108
|
return;
|
|
103
109
|
if (event.key === 'Enter') {
|
|
104
110
|
event.preventDefault();
|
|
@@ -109,19 +115,21 @@ export class B2bMultiSelectDropdown {
|
|
|
109
115
|
this.setElementOnBlur();
|
|
110
116
|
}
|
|
111
117
|
};
|
|
112
|
-
this.handleSelectAll = event => {
|
|
118
|
+
this.handleSelectAll = (event) => {
|
|
113
119
|
const newVal = event.detail.selected;
|
|
114
120
|
const options = this.getOptions();
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
options[i].selected = newVal;
|
|
118
|
-
}
|
|
121
|
+
const values = options.map(el => el.option);
|
|
122
|
+
options.forEach(el => (el.selected = newVal));
|
|
119
123
|
if (newVal) {
|
|
120
|
-
|
|
121
|
-
|
|
124
|
+
const toAdd = this.normalizedOptions.filter(o => values.includes(o.value));
|
|
125
|
+
const set = new Set(this.currentSelectedValues.map(o => o.value));
|
|
126
|
+
this.currentSelectedValues = [
|
|
127
|
+
...this.currentSelectedValues,
|
|
128
|
+
...toAdd.filter(o => !set.has(o.value)),
|
|
129
|
+
];
|
|
122
130
|
}
|
|
123
131
|
else {
|
|
124
|
-
this.currentSelectedValues = this.currentSelectedValues.filter(
|
|
132
|
+
this.currentSelectedValues = this.currentSelectedValues.filter(o => !values.includes(o.value));
|
|
125
133
|
}
|
|
126
134
|
};
|
|
127
135
|
this.updateSelectAll = (options) => {
|
|
@@ -143,35 +151,51 @@ export class B2bMultiSelectDropdown {
|
|
|
143
151
|
this.errorMessage = undefined;
|
|
144
152
|
this.hint = undefined;
|
|
145
153
|
this.disabled = false;
|
|
154
|
+
this.groupDisabled = false;
|
|
146
155
|
this.currentSelectedValues = [];
|
|
147
|
-
this.currentList =
|
|
156
|
+
this.currentList = [];
|
|
148
157
|
this.value = '';
|
|
149
158
|
this.isElementFocused = false;
|
|
150
159
|
this.isOpen = false;
|
|
160
|
+
this.normalizedOptions = [];
|
|
161
|
+
this.normalizedSelected = [];
|
|
151
162
|
this.hasOptionList = this.optionsList.length > 0;
|
|
152
163
|
}
|
|
164
|
+
parsePropToOptArray(value) {
|
|
165
|
+
if (Array.isArray(value) && typeof value[0] === 'object') {
|
|
166
|
+
return value;
|
|
167
|
+
}
|
|
168
|
+
return parsePropToArray(value).map(v => ({
|
|
169
|
+
label: v,
|
|
170
|
+
value: v,
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
153
173
|
componentWillLoad() {
|
|
154
|
-
this.
|
|
155
|
-
this.
|
|
156
|
-
this.currentList = this.
|
|
157
|
-
this.
|
|
174
|
+
this.normalizedSelected = this.parsePropToOptArray(this.selectedValues);
|
|
175
|
+
this.normalizedOptions = this.parsePropToOptArray(this.optionsList);
|
|
176
|
+
this.currentList = this.normalizedOptions;
|
|
177
|
+
this.hasOptionList = this.normalizedOptions.length > 0;
|
|
178
|
+
const selectedSet = new Set(this.normalizedSelected.map(o => o.value));
|
|
179
|
+
this.currentSelectedValues = this.normalizedOptions.filter(opt => selectedSet.has(opt.value));
|
|
158
180
|
}
|
|
159
181
|
/** Needed to trigger a re-render for async data */
|
|
160
182
|
watchPropHandler(newList) {
|
|
161
|
-
this.
|
|
162
|
-
this.hasOptionList = this.
|
|
183
|
+
this.normalizedOptions = this.parsePropToOptArray(newList);
|
|
184
|
+
this.hasOptionList = this.normalizedOptions.length > 0;
|
|
163
185
|
if (this.hasOptionList) {
|
|
164
|
-
this.currentList = this.
|
|
165
|
-
|
|
186
|
+
this.currentList = this.normalizedOptions;
|
|
187
|
+
const selectedSet = new Set(this.normalizedSelected.map(o => o.value));
|
|
188
|
+
this.currentSelectedValues = this.normalizedOptions.filter(opt => selectedSet.has(opt.value));
|
|
166
189
|
}
|
|
167
190
|
}
|
|
168
191
|
/** Needed to trigger a re-render for async data */
|
|
169
192
|
handleSelectedValuesChangeFromOutside(newVal) {
|
|
170
|
-
this.
|
|
171
|
-
|
|
193
|
+
this.normalizedSelected = this.parsePropToOptArray(newVal);
|
|
194
|
+
const selectedSet = new Set(this.normalizedSelected.map(o => o.value));
|
|
195
|
+
this.currentSelectedValues = this.normalizedOptions.filter(o => selectedSet.has(o.value));
|
|
172
196
|
}
|
|
173
197
|
handleSelectedValuesChange(newValues) {
|
|
174
|
-
this.b2bChange.emit(newValues);
|
|
198
|
+
this.b2bChange.emit(newValues.map(o => o.value));
|
|
175
199
|
}
|
|
176
200
|
componentDidUpdate() {
|
|
177
201
|
const options = this.getOptions();
|
|
@@ -179,18 +203,21 @@ export class B2bMultiSelectDropdown {
|
|
|
179
203
|
this.updateSelectAll(options);
|
|
180
204
|
}
|
|
181
205
|
render() {
|
|
182
|
-
|
|
206
|
+
const disabled = this.disabled || this.groupDisabled;
|
|
207
|
+
const hasError = this.invalid && !disabled;
|
|
208
|
+
const showHint = this.hint && !hasError;
|
|
209
|
+
const showError = this.errorMessage && hasError;
|
|
210
|
+
return (h(Host, { key: 'c7428f2ae958e0560c2725b11418d6303d762bd6', onFocus: this.setElementOnFocus, onBlur: this.setElementOnBlur, onClick: this.handleMouseDown, onKeyDown: this.handleKeyDown }, h("b2b-input-label", { key: 'ec356ec9b842ff998adc0156c9cadc5e64aaba02', required: this.required }, this.label), h("div", { key: '292e2e884448319fd956a39b0b5cb154bb8ac599', class: {
|
|
183
211
|
'b2b-multiselect-dropdown': true,
|
|
184
212
|
'b2b-multiselect-dropdown--open': this.isOpen,
|
|
185
|
-
'b2b-multiselect-dropdown--error':
|
|
186
|
-
'b2b-multiselect-dropdown--disabled':
|
|
213
|
+
'b2b-multiselect-dropdown--error': hasError,
|
|
214
|
+
'b2b-multiselect-dropdown--disabled': disabled,
|
|
187
215
|
'b2b-multiselect-dropdown--focused': this.invalid && this.isElementFocused,
|
|
188
|
-
}, tabindex: 0, role: "combobox", onClick: () => (this.isOpen = !this.isOpen), "aria-expanded": this.isElementFocused }, h("div", { key: '
|
|
216
|
+
}, tabindex: 0, role: "combobox", onClick: () => (this.isOpen = !this.isOpen && !disabled), "aria-expanded": this.isElementFocused }, h("div", { key: 'e3078ea1d5ce658f84cbd7db8d15fbec5c10bcc4', class: "b2b-multiselect-dropdown__chip-container" }, this.currentSelectedValues.length === 0 ? (h("span", { class: "b2b-multiselect-dropdown__placeholder" }, this.placeholder)) : (this.renderChips())), h("b2b-icon-100", { key: '1591c3ee5f61627ca75e3ca7b1fa4873209d8e52', icon: "b2b_icon-arrow-down" })), h("div", { key: 'a521b5578bcfbab5ceebd638a309e2f68eea0095', class: {
|
|
189
217
|
'b2b-multiselect-dropdown__options-container': true,
|
|
190
218
|
'b2b-multiselect-dropdown__options-container--visible': this.isOpen,
|
|
191
|
-
} }, h("div", { key: '
|
|
192
|
-
this.currentList.map(option => (h("b2b-multiselect-option", { "onB2b-option-selected": this.handleSelectedChange, option: option }))))), (this.hint
|
|
193
|
-
(this.hint !== undefined && this.disabled) ? (h("span", { class: "b2b-multiselect-dropdown__hint" }, this.hint)) : (''), this.errorMessage !== undefined && this.invalid && !this.disabled ? (h("span", { class: "b2b-multiselect-dropdown__error-message" }, this.errorMessage)) : ('')));
|
|
219
|
+
} }, h("div", { key: '85abaf3ebe291b14f6d13758fec48972e6e0bf92', class: "b2b-multiselect-dropdown__options", role: "listbox", "aria-label": this.label, tabIndex: -1 }, h("div", { key: 'fb4f61401da1bf145aa024a17dd8ecb295a369bc', class: "b2b-multiselect-dropdown__option__search" }, h("input", { key: '0971102609b6fa583f12e2c3f15f70a961ebebaa', type: "text", onInput: this.handleInput, class: "b2b-multiselect-dropdown__option__search__input", placeholder: this.searchPlaceholder })), h("b2b-multiselect-option", { key: '2238627bb301f45c5bd3d4d143fc5312bec0e445', class: "b2b-multiselect-dropdown__option__select-all", option: this.selectAllLabel, id: "select-all", "onB2b-option-selected": this.handleSelectAll }), this.hasOptionList &&
|
|
220
|
+
this.currentList.map(option => (h("b2b-multiselect-option", { "onB2b-option-selected": this.handleSelectedChange, option: option.value, label: option.label }))))), showHint && (h("span", { class: "b2b-multiselect-dropdown__hint" }, this.hint)), showError && (h("span", { class: "b2b-multiselect-dropdown__error-message" }, this.errorMessage))));
|
|
194
221
|
}
|
|
195
222
|
static get is() { return "b2b-multiselect-dropdown"; }
|
|
196
223
|
static get encapsulation() { return "shadow"; }
|
|
@@ -244,9 +271,14 @@ export class B2bMultiSelectDropdown {
|
|
|
244
271
|
"type": "string",
|
|
245
272
|
"mutable": false,
|
|
246
273
|
"complexType": {
|
|
247
|
-
"original": "string | string[]",
|
|
248
|
-
"resolved": "string | string[]",
|
|
249
|
-
"references": {
|
|
274
|
+
"original": "string | string[] | Option[]",
|
|
275
|
+
"resolved": "Option[] | string | string[]",
|
|
276
|
+
"references": {
|
|
277
|
+
"Option": {
|
|
278
|
+
"location": "global",
|
|
279
|
+
"id": "global::Option"
|
|
280
|
+
}
|
|
281
|
+
}
|
|
250
282
|
},
|
|
251
283
|
"required": false,
|
|
252
284
|
"optional": false,
|
|
@@ -262,9 +294,14 @@ export class B2bMultiSelectDropdown {
|
|
|
262
294
|
"type": "string",
|
|
263
295
|
"mutable": false,
|
|
264
296
|
"complexType": {
|
|
265
|
-
"original": "string | string[]",
|
|
266
|
-
"resolved": "string | string[]",
|
|
267
|
-
"references": {
|
|
297
|
+
"original": "string | string[] | Option[]",
|
|
298
|
+
"resolved": "Option[] | string | string[]",
|
|
299
|
+
"references": {
|
|
300
|
+
"Option": {
|
|
301
|
+
"location": "global",
|
|
302
|
+
"id": "global::Option"
|
|
303
|
+
}
|
|
304
|
+
}
|
|
268
305
|
},
|
|
269
306
|
"required": false,
|
|
270
307
|
"optional": false,
|
|
@@ -415,6 +452,27 @@ export class B2bMultiSelectDropdown {
|
|
|
415
452
|
"attribute": "disabled",
|
|
416
453
|
"reflect": true,
|
|
417
454
|
"defaultValue": "false"
|
|
455
|
+
},
|
|
456
|
+
"groupDisabled": {
|
|
457
|
+
"type": "boolean",
|
|
458
|
+
"mutable": false,
|
|
459
|
+
"complexType": {
|
|
460
|
+
"original": "boolean",
|
|
461
|
+
"resolved": "boolean",
|
|
462
|
+
"references": {}
|
|
463
|
+
},
|
|
464
|
+
"required": false,
|
|
465
|
+
"optional": false,
|
|
466
|
+
"docs": {
|
|
467
|
+
"tags": [{
|
|
468
|
+
"name": "internal",
|
|
469
|
+
"text": "Whether the parent input group is disabled. Per default, it is false."
|
|
470
|
+
}],
|
|
471
|
+
"text": ""
|
|
472
|
+
},
|
|
473
|
+
"attribute": "group-disabled",
|
|
474
|
+
"reflect": false,
|
|
475
|
+
"defaultValue": "false"
|
|
418
476
|
}
|
|
419
477
|
};
|
|
420
478
|
}
|
|
@@ -425,6 +483,8 @@ export class B2bMultiSelectDropdown {
|
|
|
425
483
|
"value": {},
|
|
426
484
|
"isElementFocused": {},
|
|
427
485
|
"isOpen": {},
|
|
486
|
+
"normalizedOptions": {},
|
|
487
|
+
"normalizedSelected": {},
|
|
428
488
|
"hasOptionList": {}
|
|
429
489
|
};
|
|
430
490
|
}
|
|
@@ -13,8 +13,9 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
13
13
|
import { getArgTypes } from "../../docs/config/utils";
|
|
14
14
|
import { html } from "lit-html";
|
|
15
15
|
import fruits from "./stories.data.json";
|
|
16
|
+
import fruitOptions from "./stories.data2.json";
|
|
16
17
|
const multiselectArgs = getArgTypes('b2b-multiselect-dropdown');
|
|
17
|
-
|
|
18
|
+
export default {
|
|
18
19
|
title: 'Components/Form/Multiselect Dropdown',
|
|
19
20
|
component: 'b2b-multiselect-dropdown',
|
|
20
21
|
args: {
|
|
@@ -51,12 +52,8 @@ const meta = {
|
|
|
51
52
|
</div>`;
|
|
52
53
|
},
|
|
53
54
|
};
|
|
54
|
-
export
|
|
55
|
-
export const Default = {
|
|
56
|
-
args: Object.assign({}, meta.args),
|
|
57
|
-
};
|
|
55
|
+
export const Default = {};
|
|
58
56
|
export const InitialSelectedValues = {
|
|
59
|
-
args: Object.assign({}, meta.args),
|
|
60
57
|
render: (_a) => {
|
|
61
58
|
var args = __rest(_a, []);
|
|
62
59
|
return html `<div style="width: 400px">
|
|
@@ -78,17 +75,53 @@ export const InitialSelectedValues = {
|
|
|
78
75
|
},
|
|
79
76
|
};
|
|
80
77
|
export const Required = {
|
|
81
|
-
args:
|
|
78
|
+
args: {
|
|
79
|
+
required: true,
|
|
80
|
+
},
|
|
82
81
|
};
|
|
83
82
|
export const Hint = {
|
|
84
|
-
args:
|
|
83
|
+
args: {
|
|
84
|
+
hint: 'please select a value',
|
|
85
|
+
},
|
|
85
86
|
};
|
|
86
87
|
export const Disabled = {
|
|
87
|
-
args:
|
|
88
|
+
args: {
|
|
89
|
+
disabled: true,
|
|
90
|
+
},
|
|
88
91
|
};
|
|
89
92
|
export const Invalid = {
|
|
90
|
-
args:
|
|
93
|
+
args: {
|
|
94
|
+
invalid: true,
|
|
95
|
+
},
|
|
91
96
|
};
|
|
92
97
|
export const InvalidWithErrorMessage = {
|
|
93
|
-
args:
|
|
98
|
+
args: {
|
|
99
|
+
invalid: true,
|
|
100
|
+
errorMessage: 'error has occurred',
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
export const WithOptionsArray = {
|
|
104
|
+
args: {
|
|
105
|
+
optionsList: [...fruitOptions],
|
|
106
|
+
selectedValues: ['1', '5'],
|
|
107
|
+
},
|
|
108
|
+
render: (_a) => {
|
|
109
|
+
var args = __rest(_a, []);
|
|
110
|
+
return html `<div style="width: 400px">
|
|
111
|
+
<b2b-multiselect-dropdown
|
|
112
|
+
label=${args.label}
|
|
113
|
+
max-options-visible=${args.maxOptionsVisible}
|
|
114
|
+
select-all-label=${args.selectAllLabel}
|
|
115
|
+
placeholder=${args.placeholder}
|
|
116
|
+
search-placeholder=${args.searchPlaceholder}
|
|
117
|
+
.optionsList=${args.optionsList}
|
|
118
|
+
.selectedValues=${args.selectedValues}
|
|
119
|
+
required=${args.required}
|
|
120
|
+
hint=${args.hint}
|
|
121
|
+
disabled=${args.disabled}
|
|
122
|
+
invalid=${args.invalid}
|
|
123
|
+
error-message=${args.errorMessage}>
|
|
124
|
+
</b2b-multiselect-dropdown>
|
|
125
|
+
</div>`;
|
|
126
|
+
},
|
|
94
127
|
};
|
package/dist/collection/components/multiselect-dropdown/multiselect-option/multiselect-option.js
CHANGED
|
@@ -9,13 +9,15 @@ export class B2bMultiSelectOption {
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
this.option = undefined;
|
|
12
|
+
this.label = undefined;
|
|
12
13
|
this.selected = false;
|
|
13
14
|
this.indeterminate = false;
|
|
14
15
|
}
|
|
15
16
|
render() {
|
|
16
|
-
|
|
17
|
+
var _a;
|
|
18
|
+
return (h(Host, { key: '2935b503975ee29b4cde34ac07d19fe40d08385d', role: "option", class: {
|
|
17
19
|
'b2b-multiselect-dropdown__option': true,
|
|
18
|
-
} }, h("b2b-checkbox", { key: '
|
|
20
|
+
} }, h("b2b-checkbox", { key: 'ba289a5a12c1ba15999d7eed337acfe4ca693b1c', checked: this.selected, "onB2b-change": this.handleCheckboxChange, label: (_a = this.label) !== null && _a !== void 0 ? _a : this.option, indeterminate: this.indeterminate, value: this.option })));
|
|
19
21
|
}
|
|
20
22
|
static get is() { return "b2b-multiselect-option"; }
|
|
21
23
|
static get originalStyleUrls() {
|
|
@@ -42,11 +44,28 @@ export class B2bMultiSelectOption {
|
|
|
42
44
|
"optional": false,
|
|
43
45
|
"docs": {
|
|
44
46
|
"tags": [],
|
|
45
|
-
"text": "The label of the option."
|
|
47
|
+
"text": "The label and value of the option."
|
|
46
48
|
},
|
|
47
49
|
"attribute": "option",
|
|
48
50
|
"reflect": false
|
|
49
51
|
},
|
|
52
|
+
"label": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"mutable": false,
|
|
55
|
+
"complexType": {
|
|
56
|
+
"original": "string",
|
|
57
|
+
"resolved": "string",
|
|
58
|
+
"references": {}
|
|
59
|
+
},
|
|
60
|
+
"required": false,
|
|
61
|
+
"optional": true,
|
|
62
|
+
"docs": {
|
|
63
|
+
"tags": [],
|
|
64
|
+
"text": "Will provide the label instead of option if set"
|
|
65
|
+
},
|
|
66
|
+
"attribute": "label",
|
|
67
|
+
"reflect": false
|
|
68
|
+
},
|
|
50
69
|
"selected": {
|
|
51
70
|
"type": "boolean",
|
|
52
71
|
"mutable": true,
|
|
@@ -5,7 +5,7 @@ const requests = new Map();
|
|
|
5
5
|
export const fetchIcon = (icon) => {
|
|
6
6
|
// see if we already have a request for this url
|
|
7
7
|
let req = requests.get(icon);
|
|
8
|
-
if (req
|
|
8
|
+
if (req == null) {
|
|
9
9
|
if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {
|
|
10
10
|
// we don't already have a request
|
|
11
11
|
req = fetch(icon).then(rsp => {
|
|
@@ -15,16 +15,9 @@ const CheckboxGroupComponent = /*@__PURE__*/ proxyCustomElement(class CheckboxGr
|
|
|
15
15
|
};
|
|
16
16
|
this.toggleAllDisabled = () => {
|
|
17
17
|
let nodes = this.getChildNodes();
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
nodes.forEach(node => {
|
|
25
|
-
node.groupDisabled = this.disabled;
|
|
26
|
-
});
|
|
27
|
-
}
|
|
18
|
+
nodes.forEach(node => {
|
|
19
|
+
node.groupDisabled = this.disabled;
|
|
20
|
+
});
|
|
28
21
|
};
|
|
29
22
|
this.toggleAllError = () => {
|
|
30
23
|
let nodes = this.getChildNodes();
|
|
@@ -74,11 +67,11 @@ const CheckboxGroupComponent = /*@__PURE__*/ proxyCustomElement(class CheckboxGr
|
|
|
74
67
|
}
|
|
75
68
|
}
|
|
76
69
|
render() {
|
|
77
|
-
return (h(Host, { key: '
|
|
70
|
+
return (h(Host, { key: '9a4b62fbdc1783027c0a2a00d2000acf947f905a' }, h("div", { key: '469db8176f63d20fcc9d3c71c73a4fa50fa72a4b', class: {
|
|
78
71
|
'b2b-checkbox-group': true,
|
|
79
72
|
'b2b-checkbox-group--error': this.invalid && !this.disabled,
|
|
80
73
|
[`b2b-checkbox-group--${this.alignment}`]: true,
|
|
81
|
-
} }, this.label && (h("b2b-input-label", { required: this.required }, this.label)), h("fieldset", { key: '
|
|
74
|
+
} }, this.label && (h("b2b-input-label", { required: this.required }, this.label)), h("fieldset", { key: 'be35765e9becc81a018c66802b69ffa294d081a0' }, h("div", { key: '9c57f4dd7f12baa134eca7358fd001c1e73587d4', class: "b2b-checkbox-group__options" }, h("slot", { key: '5ff527c22193448ddcbb630cb8570256cc1289fd' }))), (this.hint !== undefined && !this.invalid) ||
|
|
82
75
|
(this.hint !== undefined && this.disabled) ? (h("span", null, this.hint)) : (''), this.error !== undefined && this.invalid && !this.disabled ? (h("span", null, this.error)) : (''))));
|
|
83
76
|
}
|
|
84
77
|
get host() { return this; }
|
|
@@ -5,7 +5,7 @@ import { d as defineCustomElement$4 } from './icon-100.js';
|
|
|
5
5
|
import { d as defineCustomElement$3 } from './input.js';
|
|
6
6
|
import { d as defineCustomElement$2 } from './input-label.js';
|
|
7
7
|
|
|
8
|
-
const customDropdownCss = ":root,:host{--b2b-color-black-50:#333333;--b2b-color-black-100:#222222;--b2b-color-white-100:#FFFFFF;--b2b-color-grey-10:#F0F0F0;--b2b-color-grey-25:#F6F6F6;--b2b-color-grey-50:#EEEEEE;--b2b-color-grey-100:#E6E6E6;--b2b-color-grey-150:#D5D5D5;--b2b-color-grey-200:#C4C4C4;--b2b-color-grey-250:#B1B1B1;--b2b-color-grey-300:#9E9E9E;--b2b-color-grey-400:#777777;--b2b-color-red-50:#FFDDE3;--b2b-color-red-100:#D4021D;--b2b-color-red-150:#E6344B;--b2b-color-red-200:#BB0004;--b2b-color-red-250:#850012;--b2b-color-blue-10:#F2F7FF;--b2b-color-blue-25:#DBE7FA;--b2b-color-blue-50:#87B1F0;--b2b-color-blue-100:#0F63E1;--b2b-color-blue-200:#093E90;--b2b-color-primary:#D4021D;--b2b-color-error-100:#E6344B;--b2b-color-warning-50:#FFD998;--b2b-color-warning-100:#FFB432;--b2b-color-success-50:#D6E0CC;--b2b-color-success-100:#326400;--b2b-color-info-50:#CCD6E0;--b2b-color-info-100:#003264;--b2b-color-hover-default:#DBE7FA;--b2b-color-hover-black:#3B3B3B;--b2b-color-background-overlay-transparent-80:#22222280;--b2b-color-background-overlay-transparent-40:#22222240;--b2b-color-table-selected-default:#CCE9FF;--b2b-color-table-expand-hover:#DBE7FA;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-font-weight-thin:100;--b2b-font-weight-normal:500;--b2b-font-weight-bold:700;--b2b-size-1:0.0625rem;--b2b-size-5:0.125rem;--b2b-size-7:0.1875rem;--b2b-size-10:0.25rem;--b2b-size-13:0.3125rem;--b2b-size-15:0.375rem;--b2b-size-20:0.5rem;--b2b-size-25:0.625rem;--b2b-size-30:0.75rem;--b2b-size-35:0.875rem;--b2b-size-40:1rem;--b2b-size-45:1.125rem;--b2b-size-50:1.25rem;--b2b-size-53:1.3125rem;--b2b-size-55:1.375rem;--b2b-size-60:1.5rem;--b2b-size-70:1.75rem;--b2b-size-80:2rem;--b2b-size-90:2.25rem;--b2b-size-100:2.5rem;--b2b-size-120:3rem;--b2b-size-140:3.5rem;--b2b-size-150:3.75rem;--b2b-size-160:4rem;--b2b-size-200:5rem;--b2b-color-error-50:var(--b2b-color-red-50);--b2b-color-background-page:var(--b2b-color-grey-10);--b2b-color-background-box:var(--b2b-color-white-100);--b2b-color-background-card:var(--b2b-color-white-100);--b2b-color-background-overlay:var(--b2b-color-black-100);--b2b-color-border-100:var(--b2b-color-grey-200);--b2b-color-copy-default:var(--b2b-color-black-100);--b2b-color-copy-secondary:var(--b2b-color-grey-400);--b2b-color-copy-inverted:var(--b2b-color-white-100);--b2b-color-copy-overlay:var(--b2b-color-white-100);--b2b-color-headline-title:var(--b2b-color-red-100);--b2b-color-headline-default:var(--b2b-color-black-100);--b2b-color-headline-inverted:var(--b2b-color-white-100);--b2b-color-icon-default:var(--b2b-color-black-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-inverted:var(--b2b-color-white-100);--b2b-color-table-expand-default:var(--b2b-color-grey-25);--b2b-size-icon-50:var(--b2b-size-40);--b2b-size-icon-100:var(--b2b-size-60);--b2b-size-icon-200:var(--b2b-size-80);--b2b-size-icon-400:var(--b2b-size-120);--b2b-size-space-25:var(--b2b-size-10);--b2b-size-space-50:var(--b2b-size-20);--b2b-size-space-75:var(--b2b-size-30);--b2b-size-space-100:var(--b2b-size-40);--b2b-size-space-150:var(--b2b-size-60);--b2b-size-space-175:var(--b2b-size-80);--b2b-size-space-200:var(--b2b-size-100);--b2b-size-space-250:var(--b2b-size-160);--b2b-size-space-300:var(--b2b-size-200);--b2b-size-padding-50:var(--b2b-size-20);--b2b-size-padding-100:var(--b2b-size-40);--b2b-size-padding-150:var(--b2b-size-60);--b2b-size-padding-175:var(--b2b-size-80);--b2b-size-border-width-50:var(--b2b-size-1);--b2b-size-border-width-100:var(--b2b-size-5);--b2b-size-border-width-150:var(--b2b-size-10);--b2b-size-border-radius-100:var(--b2b-size-7);--b2b-size-border-no-radius-left:0 var(--b2b-size-7) var(--b2b-size-7) 0;--b2b-size-border-no-radius-right:var(--b2b-size-7) 0 0 var(--b2b-size-7);--b2b-size-border-no-radius-top:0 0 var(--b2b-size-7) var(--b2b-size-7);--b2b-size-border-no-radius-bottom:var(--b2b-size-7) var(--b2b-size-7) 0 0;--b2b-size-copy-50:var(--b2b-size-30);--b2b-size-copy-100:var(--b2b-size-35);--b2b-size-copy-125:var(--b2b-size-40);--b2b-size-copy-200:var(--b2b-size-45);--b2b-size-copy-300:var(--b2b-size-60);--b2b-size-copy-line-height-50:var(--b2b-size-40);--b2b-size-copy-line-height-75:var(--b2b-size-45);--b2b-size-copy-line-height-100:var(--b2b-size-53);--b2b-size-copy-line-height-125:var(--b2b-size-60);--b2b-size-copy-line-height-200:var(--b2b-size-60);--b2b-size-copy-line-height-300:var(--b2b-size-90);--b2b-size-headline-100:var(--b2b-size-40);--b2b-size-headline-200:var(--b2b-size-45);--b2b-size-headline-400:var(--b2b-size-60);--b2b-size-headline-line-height-100:var(--b2b-size-60);--b2b-size-headline-line-height-200:var(--b2b-size-60);--b2b-size-headline-line-height-400:var(--b2b-size-60)}:root [data-theme=\"dark\"]{--b2b-color-black-50:#333333;--b2b-color-black-100:#222222;--b2b-color-white-100:#FFFFFF;--b2b-color-grey-10:#F0F0F0;--b2b-color-grey-25:#F6F6F6;--b2b-color-grey-50:#EEEEEE;--b2b-color-grey-100:#E6E6E6;--b2b-color-grey-150:#D5D5D5;--b2b-color-grey-200:#C4C4C4;--b2b-color-grey-250:#B1B1B1;--b2b-color-grey-300:#9E9E9E;--b2b-color-grey-400:#777777;--b2b-color-red-50:#FFDDE3;--b2b-color-red-100:#D4021D;--b2b-color-red-150:#E6344B;--b2b-color-red-200:#BB0004;--b2b-color-red-250:#850012;--b2b-color-blue-10:#F2F7FF;--b2b-color-blue-25:#DBE7FA;--b2b-color-blue-50:#87B1F0;--b2b-color-blue-100:#0F63E1;--b2b-color-blue-200:#093E90;--b2b-color-primary:#D4021D;--b2b-color-error-100:#E6344B;--b2b-color-warning-50:#FFD998;--b2b-color-warning-100:#FFB432;--b2b-color-success-50:#D6E0CC;--b2b-color-success-100:#326400;--b2b-color-info-50:#CCD6E0;--b2b-color-info-100:#003264;--b2b-color-hover-default:#DBE7FA;--b2b-color-hover-black:#3B3B3B;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-font-weight-thin:100;--b2b-font-weight-normal:500;--b2b-font-weight-bold:700;--b2b-size-1:0.0625rem;--b2b-size-5:0.125rem;--b2b-size-7:0.1875rem;--b2b-size-10:0.25rem;--b2b-size-13:0.3125rem;--b2b-size-15:0.375rem;--b2b-size-20:0.5rem;--b2b-size-25:0.625rem;--b2b-size-30:0.75rem;--b2b-size-35:0.875rem;--b2b-size-40:1rem;--b2b-size-45:1.125rem;--b2b-size-50:1.25rem;--b2b-size-53:1.3125rem;--b2b-size-55:1.375rem;--b2b-size-60:1.5rem;--b2b-size-70:1.75rem;--b2b-size-80:2rem;--b2b-size-90:2.25rem;--b2b-size-100:2.5rem;--b2b-size-120:3rem;--b2b-size-140:3.5rem;--b2b-size-150:3.75rem;--b2b-size-160:4rem;--b2b-size-200:5rem;--b2b-color-error-50:var(--b2b-color-red-50);--b2b-color-background-box:var(--b2b-color-black-50);--b2b-color-background-card:var(--b2b-color-black-50);--b2b-color-background-page:var(--b2b-color-grey-100);--b2b-color-border-100:var(--b2b-color-white-100);--b2b-color-copy-default:var(--b2b-color-white-100);--b2b-color-copy-secondary:var(--b2b-color-grey-100);--b2b-color-copy-inverted:var(--b2b-color-black-100);--b2b-color-headline-title:var(--b2b-color-red-50);--b2b-color-headline-default:var(--b2b-color-white-100);--b2b-color-headline-inverted:var(--b2b-color-black-100);--b2b-color-icon-default:var(--b2b-color-white-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-inverted:var(--b2b-color-black-100)}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf\");font-weight:normal;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf\") format(\"truetype\");font-weight:bold;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf\") format(\"truetype\");font-weight:100;font-style:normal}@font-face{font-family:ObcIcons;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff\")}:host{display:inline-block;position:relative;width:auto}.b2b-custom-dropdown__trigger{position:relative;display:inline !important;cursor:pointer}.b2b-custom-dropdown{position:absolute;top:100%;left:0;z-index:1000;inline-size:var(--b2b-dropdown-width, 300px);display:none}.b2b-custom-dropdown--on{display:block}.b2b-custom-dropdown--drop-shadow{box-shadow:0 0 5px rgba(0, 0, 0, 0.2)}.b2b-custom-dropdown--border{border:1px solid var(--b2b-color-grey-200)}.b2b-custom-dropdown-search{padding:var(--b2b-size-30);display:none}.b2b-custom-dropdown-search--enabled{display:block;border-bottom:var(--b2b-size-1) solid var(--b2b-color-border-100)}.b2b-custom-dropdown__options-scroll-container{position:relative;display:block;max-height:288px;overflow-y:auto;margin:0}.b2b-custom-dropdown__options-container{position:relative;display:block;margin:0}.b2b-custom-dropdown__options-container--disabled{display:none}.b2b-custom-dropdown__option--hidden{display:none}::slotted(b2b-custom-dropdown-option.b2b-custom-dropdown__option--hidden){display:none}";
|
|
8
|
+
const customDropdownCss = ":root,:host{--b2b-color-black-50:#333333;--b2b-color-black-100:#222222;--b2b-color-white-100:#FFFFFF;--b2b-color-grey-10:#F0F0F0;--b2b-color-grey-25:#F6F6F6;--b2b-color-grey-50:#EEEEEE;--b2b-color-grey-100:#E6E6E6;--b2b-color-grey-150:#D5D5D5;--b2b-color-grey-200:#C4C4C4;--b2b-color-grey-250:#B1B1B1;--b2b-color-grey-300:#9E9E9E;--b2b-color-grey-400:#777777;--b2b-color-red-50:#FFDDE3;--b2b-color-red-100:#D4021D;--b2b-color-red-150:#E6344B;--b2b-color-red-200:#BB0004;--b2b-color-red-250:#850012;--b2b-color-blue-10:#F2F7FF;--b2b-color-blue-25:#DBE7FA;--b2b-color-blue-50:#87B1F0;--b2b-color-blue-100:#0F63E1;--b2b-color-blue-200:#093E90;--b2b-color-primary:#D4021D;--b2b-color-error-100:#E6344B;--b2b-color-warning-50:#FFD998;--b2b-color-warning-100:#FFB432;--b2b-color-success-50:#D6E0CC;--b2b-color-success-100:#326400;--b2b-color-info-50:#CCD6E0;--b2b-color-info-100:#003264;--b2b-color-hover-default:#DBE7FA;--b2b-color-hover-black:#3B3B3B;--b2b-color-background-overlay-transparent-80:#22222280;--b2b-color-background-overlay-transparent-40:#22222240;--b2b-color-table-selected-default:#CCE9FF;--b2b-color-table-expand-hover:#DBE7FA;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-font-weight-thin:100;--b2b-font-weight-normal:500;--b2b-font-weight-bold:700;--b2b-size-1:0.0625rem;--b2b-size-5:0.125rem;--b2b-size-7:0.1875rem;--b2b-size-10:0.25rem;--b2b-size-13:0.3125rem;--b2b-size-15:0.375rem;--b2b-size-20:0.5rem;--b2b-size-25:0.625rem;--b2b-size-30:0.75rem;--b2b-size-35:0.875rem;--b2b-size-40:1rem;--b2b-size-45:1.125rem;--b2b-size-50:1.25rem;--b2b-size-53:1.3125rem;--b2b-size-55:1.375rem;--b2b-size-60:1.5rem;--b2b-size-70:1.75rem;--b2b-size-80:2rem;--b2b-size-90:2.25rem;--b2b-size-100:2.5rem;--b2b-size-120:3rem;--b2b-size-140:3.5rem;--b2b-size-150:3.75rem;--b2b-size-160:4rem;--b2b-size-200:5rem;--b2b-color-error-50:var(--b2b-color-red-50);--b2b-color-background-page:var(--b2b-color-grey-10);--b2b-color-background-box:var(--b2b-color-white-100);--b2b-color-background-card:var(--b2b-color-white-100);--b2b-color-background-overlay:var(--b2b-color-black-100);--b2b-color-border-100:var(--b2b-color-grey-200);--b2b-color-copy-default:var(--b2b-color-black-100);--b2b-color-copy-secondary:var(--b2b-color-grey-400);--b2b-color-copy-inverted:var(--b2b-color-white-100);--b2b-color-copy-overlay:var(--b2b-color-white-100);--b2b-color-headline-title:var(--b2b-color-red-100);--b2b-color-headline-default:var(--b2b-color-black-100);--b2b-color-headline-inverted:var(--b2b-color-white-100);--b2b-color-icon-default:var(--b2b-color-black-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-inverted:var(--b2b-color-white-100);--b2b-color-table-expand-default:var(--b2b-color-grey-25);--b2b-size-icon-50:var(--b2b-size-40);--b2b-size-icon-100:var(--b2b-size-60);--b2b-size-icon-200:var(--b2b-size-80);--b2b-size-icon-400:var(--b2b-size-120);--b2b-size-space-25:var(--b2b-size-10);--b2b-size-space-50:var(--b2b-size-20);--b2b-size-space-75:var(--b2b-size-30);--b2b-size-space-100:var(--b2b-size-40);--b2b-size-space-150:var(--b2b-size-60);--b2b-size-space-175:var(--b2b-size-80);--b2b-size-space-200:var(--b2b-size-100);--b2b-size-space-250:var(--b2b-size-160);--b2b-size-space-300:var(--b2b-size-200);--b2b-size-padding-50:var(--b2b-size-20);--b2b-size-padding-100:var(--b2b-size-40);--b2b-size-padding-150:var(--b2b-size-60);--b2b-size-padding-175:var(--b2b-size-80);--b2b-size-border-width-50:var(--b2b-size-1);--b2b-size-border-width-100:var(--b2b-size-5);--b2b-size-border-width-150:var(--b2b-size-10);--b2b-size-border-radius-100:var(--b2b-size-7);--b2b-size-border-no-radius-left:0 var(--b2b-size-7) var(--b2b-size-7) 0;--b2b-size-border-no-radius-right:var(--b2b-size-7) 0 0 var(--b2b-size-7);--b2b-size-border-no-radius-top:0 0 var(--b2b-size-7) var(--b2b-size-7);--b2b-size-border-no-radius-bottom:var(--b2b-size-7) var(--b2b-size-7) 0 0;--b2b-size-copy-50:var(--b2b-size-30);--b2b-size-copy-100:var(--b2b-size-35);--b2b-size-copy-125:var(--b2b-size-40);--b2b-size-copy-200:var(--b2b-size-45);--b2b-size-copy-300:var(--b2b-size-60);--b2b-size-copy-line-height-50:var(--b2b-size-40);--b2b-size-copy-line-height-75:var(--b2b-size-45);--b2b-size-copy-line-height-100:var(--b2b-size-53);--b2b-size-copy-line-height-125:var(--b2b-size-60);--b2b-size-copy-line-height-200:var(--b2b-size-60);--b2b-size-copy-line-height-300:var(--b2b-size-90);--b2b-size-headline-100:var(--b2b-size-40);--b2b-size-headline-200:var(--b2b-size-45);--b2b-size-headline-400:var(--b2b-size-60);--b2b-size-headline-line-height-100:var(--b2b-size-60);--b2b-size-headline-line-height-200:var(--b2b-size-60);--b2b-size-headline-line-height-400:var(--b2b-size-60)}:root [data-theme=\"dark\"]{--b2b-color-black-50:#333333;--b2b-color-black-100:#222222;--b2b-color-white-100:#FFFFFF;--b2b-color-grey-10:#F0F0F0;--b2b-color-grey-25:#F6F6F6;--b2b-color-grey-50:#EEEEEE;--b2b-color-grey-100:#E6E6E6;--b2b-color-grey-150:#D5D5D5;--b2b-color-grey-200:#C4C4C4;--b2b-color-grey-250:#B1B1B1;--b2b-color-grey-300:#9E9E9E;--b2b-color-grey-400:#777777;--b2b-color-red-50:#FFDDE3;--b2b-color-red-100:#D4021D;--b2b-color-red-150:#E6344B;--b2b-color-red-200:#BB0004;--b2b-color-red-250:#850012;--b2b-color-blue-10:#F2F7FF;--b2b-color-blue-25:#DBE7FA;--b2b-color-blue-50:#87B1F0;--b2b-color-blue-100:#0F63E1;--b2b-color-blue-200:#093E90;--b2b-color-primary:#D4021D;--b2b-color-error-100:#E6344B;--b2b-color-warning-50:#FFD998;--b2b-color-warning-100:#FFB432;--b2b-color-success-50:#D6E0CC;--b2b-color-success-100:#326400;--b2b-color-info-50:#CCD6E0;--b2b-color-info-100:#003264;--b2b-color-hover-default:#DBE7FA;--b2b-color-hover-black:#3B3B3B;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-font-weight-thin:100;--b2b-font-weight-normal:500;--b2b-font-weight-bold:700;--b2b-size-1:0.0625rem;--b2b-size-5:0.125rem;--b2b-size-7:0.1875rem;--b2b-size-10:0.25rem;--b2b-size-13:0.3125rem;--b2b-size-15:0.375rem;--b2b-size-20:0.5rem;--b2b-size-25:0.625rem;--b2b-size-30:0.75rem;--b2b-size-35:0.875rem;--b2b-size-40:1rem;--b2b-size-45:1.125rem;--b2b-size-50:1.25rem;--b2b-size-53:1.3125rem;--b2b-size-55:1.375rem;--b2b-size-60:1.5rem;--b2b-size-70:1.75rem;--b2b-size-80:2rem;--b2b-size-90:2.25rem;--b2b-size-100:2.5rem;--b2b-size-120:3rem;--b2b-size-140:3.5rem;--b2b-size-150:3.75rem;--b2b-size-160:4rem;--b2b-size-200:5rem;--b2b-color-error-50:var(--b2b-color-red-50);--b2b-color-background-box:var(--b2b-color-black-50);--b2b-color-background-card:var(--b2b-color-black-50);--b2b-color-background-page:var(--b2b-color-grey-100);--b2b-color-border-100:var(--b2b-color-white-100);--b2b-color-copy-default:var(--b2b-color-white-100);--b2b-color-copy-secondary:var(--b2b-color-grey-100);--b2b-color-copy-inverted:var(--b2b-color-black-100);--b2b-color-headline-title:var(--b2b-color-red-50);--b2b-color-headline-default:var(--b2b-color-white-100);--b2b-color-headline-inverted:var(--b2b-color-black-100);--b2b-color-icon-default:var(--b2b-color-white-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-inverted:var(--b2b-color-black-100)}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf\");font-weight:normal;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf\") format(\"truetype\");font-weight:bold;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf\") format(\"truetype\");font-weight:100;font-style:normal}@font-face{font-family:ObcIcons;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff\")}:host{display:inline-block;position:relative;width:auto}.b2b-custom-dropdown__trigger{position:relative;display:inline !important;cursor:pointer}.b2b-custom-dropdown{position:absolute;top:100%;left:0;z-index:1000;inline-size:var(--b2b-dropdown-width, 300px);display:none}.b2b-custom-dropdown--on{display:block}.b2b-custom-dropdown--drop-shadow{box-shadow:0 0 5px rgba(0, 0, 0, 0.2)}.b2b-custom-dropdown--border{border:1px solid var(--b2b-color-grey-200)}.b2b-custom-dropdown-search{padding:var(--b2b-size-30);display:none}.b2b-custom-dropdown-search--enabled{display:block;border-bottom:var(--b2b-size-1) solid var(--b2b-color-border-100)}.b2b-custom-dropdown__options-scroll-container{position:relative;display:block;max-height:288px;overflow-y:auto;margin:0}.b2b-custom-dropdown__options-container{position:relative;display:block;margin:0}.b2b-custom-dropdown__options-container--disabled{display:none}.b2b-custom-dropdown__option--hidden{display:none}::slotted(b2b-custom-dropdown-option.b2b-custom-dropdown__option--hidden){display:none}.b2b-custom-dropdown__empty{padding:var(--b2b-size-30);color:var(--b2b-color-grey-400);font-size:var(--b2b-size-copy-100);background-color:var(--b2b-color-white-100)}";
|
|
9
9
|
const B2bCustomDropdownStyle0 = customDropdownCss;
|
|
10
10
|
|
|
11
11
|
const B2bCustomDropdownComponent = /*@__PURE__*/ proxyCustomElement(class B2bCustomDropdownComponent extends HTMLElement {
|
|
@@ -24,17 +24,17 @@ const B2bCustomDropdownComponent = /*@__PURE__*/ proxyCustomElement(class B2bCus
|
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
26
|
this.value = event.target.value.toLowerCase();
|
|
27
|
+
let visibleCount = 0;
|
|
27
28
|
this.allOptions.forEach(option => {
|
|
28
29
|
var _a;
|
|
29
30
|
const optionValue = ((_a = option.option) === null || _a === void 0 ? void 0 : _a.toLowerCase()) ||
|
|
30
31
|
'';
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
option.classList.add('b2b-custom-dropdown__option--hidden');
|
|
36
|
-
}
|
|
32
|
+
const match = optionValue.includes(this.value);
|
|
33
|
+
option.classList.toggle('b2b-custom-dropdown__option--hidden', !match);
|
|
34
|
+
if (match)
|
|
35
|
+
visibleCount++;
|
|
37
36
|
});
|
|
37
|
+
this.hasVisibleOptions = visibleCount > 0;
|
|
38
38
|
};
|
|
39
39
|
this.placeholder = undefined;
|
|
40
40
|
this.disabled = false;
|
|
@@ -42,9 +42,11 @@ const B2bCustomDropdownComponent = /*@__PURE__*/ proxyCustomElement(class B2bCus
|
|
|
42
42
|
this.border = false;
|
|
43
43
|
this.autoDisableSearch = true;
|
|
44
44
|
this.opened = false;
|
|
45
|
+
this.noResultsText = 'Keine Ergebnisse gefunden, überprüfen Sie die Eingabe.';
|
|
45
46
|
this.selectedOption = null;
|
|
46
47
|
this.value = '';
|
|
47
48
|
this.allOptions = [];
|
|
49
|
+
this.hasVisibleOptions = true;
|
|
48
50
|
}
|
|
49
51
|
handleOptionSelected(event) {
|
|
50
52
|
event.stopPropagation();
|
|
@@ -77,17 +79,17 @@ const B2bCustomDropdownComponent = /*@__PURE__*/ proxyCustomElement(class B2bCus
|
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
render() {
|
|
80
|
-
return (h(Host, { key: '
|
|
82
|
+
return (h(Host, { key: '54123c64de9c802cf4dc6c9b5d1a156ffcc3eb33' }, h("div", { key: 'ba04968830ab5302127373b99ea97face360a76c', class: "b2b-custom-dropdown__trigger" }, h("slot", { key: '0d36e4e9299a4b87c97a41db86693b25f720ccca', name: "trigger" })), h("div", { key: 'f4dd9227fc1fc768340531c01f4a93d9a355d978', class: {
|
|
81
83
|
'b2b-custom-dropdown': true,
|
|
82
84
|
'b2b-custom-dropdown--on': this.opened && !this.disabled,
|
|
83
85
|
'b2b-custom-dropdown--drop-shadow': this.dropshadow,
|
|
84
86
|
'b2b-custom-dropdown--border': this.border,
|
|
85
|
-
} }, h("b2b-background-box", { key: '
|
|
87
|
+
} }, h("b2b-background-box", { key: '1a2aac422535bb6d99cd9378c742626f535242e7', noPadding: true, borderTop: "none", borderBottom: "none", borderRight: "none", borderLeft: "none" }, h("div", { key: '847f408ef98fff19e3b9c71aeab6fd61c3ed420c', class: {
|
|
86
88
|
'b2b-custom-dropdown-search': true,
|
|
87
89
|
'b2b-custom-dropdown-search--enabled': this.allOptions.length > 6 && !this.disabled,
|
|
88
|
-
} }, h("b2b-input", { key: '
|
|
90
|
+
} }, h("b2b-input", { key: 'b7edd8aa7b161c1d2a168d3648a5833eb9156997', placeholder: this.placeholder, "onB2b-input": this.handleInput }, h("b2b-icon-100", { key: '5434c47b722df4705fcace1650bce3fe141ec08e', icon: "b2b_icon-search", slot: "end" })))), h("div", { key: '115c76ac508079454c1326c8e5e04d9851979239', class: this.allOptions.length > 6
|
|
89
91
|
? 'b2b-custom-dropdown__options-scroll-container'
|
|
90
|
-
: 'b2b-custom-dropdown__options-container' }, h("slot", { key: '
|
|
92
|
+
: 'b2b-custom-dropdown__options-container' }, h("slot", { key: '3e222b38e248bd7bf8cab1c237a474176d43c3bb', name: "option" })), this.value && !this.hasVisibleOptions && (h("div", { class: "b2b-custom-dropdown__empty", role: "status" }, h("slot", { name: "empty" }, this.noResultsText))))));
|
|
91
93
|
}
|
|
92
94
|
get hostElement() { return this; }
|
|
93
95
|
static get style() { return B2bCustomDropdownStyle0; }
|
|
@@ -98,9 +100,11 @@ const B2bCustomDropdownComponent = /*@__PURE__*/ proxyCustomElement(class B2bCus
|
|
|
98
100
|
"border": [516],
|
|
99
101
|
"autoDisableSearch": [4, "auto-disable-search"],
|
|
100
102
|
"opened": [1028],
|
|
103
|
+
"noResultsText": [1, "no-results-text"],
|
|
101
104
|
"selectedOption": [32],
|
|
102
105
|
"value": [32],
|
|
103
|
-
"allOptions": [32]
|
|
106
|
+
"allOptions": [32],
|
|
107
|
+
"hasVisibleOptions": [32]
|
|
104
108
|
}, [[0, "b2b-custom-dropdown-option-selected", "handleOptionSelected"], [4, "click", "handleClickOutside"]]]);
|
|
105
109
|
function defineCustomElement$1() {
|
|
106
110
|
if (typeof customElements === "undefined") {
|