@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.
Files changed (183) hide show
  1. package/dist/b2b-core-components/b2b-core-components.esm.js +1 -1
  2. package/dist/b2b-core-components/icons-100/b2b_icon-arrow-misdirected.svg +3 -0
  3. package/dist/b2b-core-components/icons-100/b2b_icon-clipboard-check.svg +3 -0
  4. package/dist/b2b-core-components/icons-100/b2b_icon-cosmetics.png +0 -0
  5. package/dist/b2b-core-components/icons-100/b2b_icon-cosmetics.svg +3 -0
  6. package/dist/b2b-core-components/icons-100/b2b_icon-lock-open.svg +4 -0
  7. package/dist/b2b-core-components/icons-100/b2b_icon-person-wheelchair.svg +3 -0
  8. package/dist/b2b-core-components/icons-100/b2b_icon-speech-bubble-sparkles.svg +3 -0
  9. package/dist/b2b-core-components/icons-100/b2b_icon-sustainable-organic-food.svg +3 -0
  10. package/dist/b2b-core-components/icons-100/b2b_icon-universal-access.svg +3 -0
  11. package/dist/b2b-core-components/icons-100/b2b_icon-voice-sparkles.svg +3 -0
  12. package/dist/b2b-core-components/icons-100/b2b_icon-webhook.svg +3 -0
  13. package/dist/b2b-core-components/icons-50/b2b_icon-arrow-long-left.svg +3 -0
  14. package/dist/b2b-core-components/icons-50/b2b_icon-arrow-long-right.svg +3 -0
  15. package/dist/b2b-core-components/icons-50/b2b_icon-arrow-misdirected.svg +3 -0
  16. package/dist/b2b-core-components/icons-50/b2b_icon-arrow-return.svg +3 -0
  17. package/dist/b2b-core-components/icons-50/b2b_icon-callback.svg +10 -0
  18. package/dist/b2b-core-components/icons-50/b2b_icon-feedback.svg +3 -0
  19. package/dist/b2b-core-components/icons-50/b2b_icon-flag-chequered.svg +3 -0
  20. package/dist/b2b-core-components/icons-50/b2b_icon-flame.svg +3 -0
  21. package/dist/b2b-core-components/icons-50/b2b_icon-inplace-zoom.svg +3 -0
  22. package/dist/b2b-core-components/icons-50/b2b_icon-lock-closed.svg +3 -0
  23. package/dist/b2b-core-components/icons-50/b2b_icon-lock-open.svg +10 -0
  24. package/dist/b2b-core-components/icons-50/b2b_icon-notification.svg +3 -0
  25. package/dist/b2b-core-components/icons-50/b2b_icon-pending.svg +3 -0
  26. package/dist/b2b-core-components/icons-50/b2b_icon-phone.svg +3 -0
  27. package/dist/b2b-core-components/icons-50/b2b_icon-print.svg +3 -0
  28. package/dist/b2b-core-components/icons-50/b2b_icon-qr-code.svg +10 -0
  29. package/dist/b2b-core-components/icons-50/b2b_icon-skip-link.svg +3 -0
  30. package/dist/b2b-core-components/icons-50/b2b_icon-smiley-angry.svg +13 -0
  31. package/dist/b2b-core-components/icons-50/b2b_icon-smiley-happy.svg +10 -0
  32. package/dist/b2b-core-components/icons-50/b2b_icon-smiley-negative.svg +10 -0
  33. package/dist/b2b-core-components/icons-50/b2b_icon-smiley-neutral.svg +10 -0
  34. package/dist/b2b-core-components/icons-50/b2b_icon-sparkles.svg +10 -0
  35. package/dist/b2b-core-components/icons-50/b2b_icon-voucher.svg +3 -0
  36. package/dist/b2b-core-components/p-24c6aa56.entry.js +1 -0
  37. package/dist/b2b-core-components/p-2daee203.entry.js +1 -0
  38. package/dist/b2b-core-components/p-3369f3c0.entry.js +1 -0
  39. package/dist/b2b-core-components/{p-660c758b.entry.js → p-57842105.entry.js} +1 -1
  40. package/dist/b2b-core-components/p-5dacf68a.entry.js +1 -0
  41. package/dist/b2b-core-components/p-6abfdb73.entry.js +1 -0
  42. package/dist/b2b-core-components/p-703da47c.entry.js +1 -0
  43. package/dist/b2b-core-components/p-76573f9f.entry.js +1 -0
  44. package/dist/b2b-core-components/p-76bf79ec.entry.js +1 -0
  45. package/dist/b2b-core-components/p-840dd6cd.entry.js +1 -0
  46. package/dist/b2b-core-components/{p-f661154c.entry.js → p-917a7f00.entry.js} +1 -1
  47. package/dist/b2b-core-components/p-953fc46b.js +1 -0
  48. package/dist/b2b-core-components/{p-4dad7870.entry.js → p-bc2b17c6.entry.js} +1 -1
  49. package/dist/b2b-core-components/p-fea90226.entry.js +1 -0
  50. package/dist/cjs/b2b-checkbox-group.cjs.entry.js +5 -12
  51. package/dist/cjs/b2b-checkbox.cjs.entry.js +6 -4
  52. package/dist/cjs/b2b-chip-component_2.cjs.entry.js +4 -2
  53. package/dist/cjs/b2b-core-components.cjs.js +1 -1
  54. package/dist/cjs/b2b-custom-dropdown.cjs.entry.js +13 -11
  55. package/dist/cjs/b2b-date-picker-days_5.cjs.entry.js +30 -22
  56. package/dist/cjs/b2b-date-picker.cjs.entry.js +10 -5
  57. package/dist/cjs/b2b-dropdown.cjs.entry.js +8 -7
  58. package/dist/cjs/b2b-icon-100.cjs.entry.js +402 -392
  59. package/dist/cjs/b2b-icon-50.cjs.entry.js +57 -35
  60. package/dist/cjs/b2b-icon.cjs.entry.js +355 -356
  61. package/dist/cjs/b2b-input-group_2.cjs.entry.js +4 -11
  62. package/dist/cjs/b2b-input_2.cjs.entry.js +7 -9
  63. package/dist/cjs/b2b-multiselect-dropdown.cjs.entry.js +82 -55
  64. package/dist/cjs/loader.cjs.js +1 -1
  65. package/dist/cjs/{request-801c6ba1.js → request-a16ba589.js} +1 -1
  66. package/dist/collection/components/checkbox/checkbox.js +6 -4
  67. package/dist/collection/components/checkbox-group/checkbox-group.js +5 -12
  68. package/dist/collection/components/custom-dropdown/custom-dropdown.css +6 -0
  69. package/dist/collection/components/custom-dropdown/custom-dropdown.js +32 -11
  70. package/dist/collection/components/date-picker/date-picker-months.js +38 -10
  71. package/dist/collection/components/date-picker/date-picker-years.js +35 -15
  72. package/dist/collection/components/date-picker/date-picker.css +2 -3
  73. package/dist/collection/components/date-picker/date-picker.js +9 -4
  74. package/dist/collection/components/date-picker/date-picker.stories.js +9 -3
  75. package/dist/collection/components/dropdown/dropdown.css +4 -0
  76. package/dist/collection/components/dropdown/dropdown.e2e.js +1 -1
  77. package/dist/collection/components/dropdown/dropdown.js +28 -6
  78. package/dist/collection/components/dropdown/dropdown.stories.js +17 -4
  79. package/dist/collection/components/flyout-menu/flyout-menu.e2e.js +7 -2
  80. package/dist/collection/components/icon/types.js +354 -355
  81. package/dist/collection/components/icon-100/icon-100.js +1 -1
  82. package/dist/collection/components/icon-100/icons-100/b2b_icon-arrow-misdirected.svg +3 -0
  83. package/dist/collection/components/icon-100/icons-100/b2b_icon-clipboard-check.svg +3 -0
  84. package/dist/collection/components/icon-100/icons-100/b2b_icon-cosmetics.png +0 -0
  85. package/dist/collection/components/icon-100/icons-100/b2b_icon-cosmetics.svg +3 -0
  86. package/dist/collection/components/icon-100/icons-100/b2b_icon-lock-open.svg +4 -0
  87. package/dist/collection/components/icon-100/icons-100/b2b_icon-person-wheelchair.svg +3 -0
  88. package/dist/collection/components/icon-100/icons-100/b2b_icon-speech-bubble-sparkles.svg +3 -0
  89. package/dist/collection/components/icon-100/icons-100/b2b_icon-sustainable-organic-food.svg +3 -0
  90. package/dist/collection/components/icon-100/icons-100/b2b_icon-universal-access.svg +3 -0
  91. package/dist/collection/components/icon-100/icons-100/b2b_icon-voice-sparkles.svg +3 -0
  92. package/dist/collection/components/icon-100/icons-100/b2b_icon-webhook.svg +3 -0
  93. package/dist/collection/components/icon-100/types.js +401 -391
  94. package/dist/collection/components/icon-50/icon-50.js +1 -1
  95. package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-long-left.svg +3 -0
  96. package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-long-right.svg +3 -0
  97. package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-misdirected.svg +3 -0
  98. package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-return.svg +3 -0
  99. package/dist/collection/components/icon-50/icons-50/b2b_icon-callback.svg +10 -0
  100. package/dist/collection/components/icon-50/icons-50/b2b_icon-feedback.svg +3 -0
  101. package/dist/collection/components/icon-50/icons-50/b2b_icon-flag-chequered.svg +3 -0
  102. package/dist/collection/components/icon-50/icons-50/b2b_icon-flame.svg +3 -0
  103. package/dist/collection/components/icon-50/icons-50/b2b_icon-inplace-zoom.svg +3 -0
  104. package/dist/collection/components/icon-50/icons-50/b2b_icon-lock-closed.svg +3 -0
  105. package/dist/collection/components/icon-50/icons-50/b2b_icon-lock-open.svg +10 -0
  106. package/dist/collection/components/icon-50/icons-50/b2b_icon-notification.svg +3 -0
  107. package/dist/collection/components/icon-50/icons-50/b2b_icon-pending.svg +3 -0
  108. package/dist/collection/components/icon-50/icons-50/b2b_icon-phone.svg +3 -0
  109. package/dist/collection/components/icon-50/icons-50/b2b_icon-print.svg +3 -0
  110. package/dist/collection/components/icon-50/icons-50/b2b_icon-qr-code.svg +10 -0
  111. package/dist/collection/components/icon-50/icons-50/b2b_icon-skip-link.svg +3 -0
  112. package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-angry.svg +13 -0
  113. package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-happy.svg +10 -0
  114. package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-negative.svg +10 -0
  115. package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-neutral.svg +10 -0
  116. package/dist/collection/components/icon-50/icons-50/b2b_icon-sparkles.svg +10 -0
  117. package/dist/collection/components/icon-50/icons-50/b2b_icon-voucher.svg +3 -0
  118. package/dist/collection/components/icon-50/types.js +56 -34
  119. package/dist/collection/components/input/input.js +7 -9
  120. package/dist/collection/components/input-group/input-group.js +4 -11
  121. package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.e2e.js +15 -0
  122. package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.js +121 -61
  123. package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.stories.js +44 -11
  124. package/dist/collection/components/multiselect-dropdown/multiselect-option/multiselect-option.js +22 -3
  125. package/dist/collection/utils/icon/request.js +1 -1
  126. package/dist/components/b2b-checkbox-group.js +5 -12
  127. package/dist/components/b2b-custom-dropdown.js +16 -12
  128. package/dist/components/b2b-date-picker.js +10 -5
  129. package/dist/components/b2b-dropdown.js +9 -7
  130. package/dist/components/b2b-icon-50.js +56 -34
  131. package/dist/components/b2b-icon.js +354 -355
  132. package/dist/components/b2b-multiselect-dropdown.js +85 -55
  133. package/dist/components/checkbox.js +6 -4
  134. package/dist/components/date-picker-months.js +16 -8
  135. package/dist/components/date-picker-years.js +14 -14
  136. package/dist/components/icon-100.js +401 -391
  137. package/dist/components/input-group.js +4 -11
  138. package/dist/components/input.js +7 -9
  139. package/dist/components/multiselect-option.js +5 -2
  140. package/dist/components/request.js +1 -1
  141. package/dist/custom-elements.json +108 -1
  142. package/dist/esm/b2b-checkbox-group.entry.js +5 -12
  143. package/dist/esm/b2b-checkbox.entry.js +6 -4
  144. package/dist/esm/b2b-chip-component_2.entry.js +4 -2
  145. package/dist/esm/b2b-core-components.js +1 -1
  146. package/dist/esm/b2b-custom-dropdown.entry.js +13 -11
  147. package/dist/esm/b2b-date-picker-days_5.entry.js +30 -22
  148. package/dist/esm/b2b-date-picker.entry.js +10 -5
  149. package/dist/esm/b2b-dropdown.entry.js +8 -7
  150. package/dist/esm/b2b-icon-100.entry.js +402 -392
  151. package/dist/esm/b2b-icon-50.entry.js +57 -35
  152. package/dist/esm/b2b-icon.entry.js +355 -356
  153. package/dist/esm/b2b-input-group_2.entry.js +4 -11
  154. package/dist/esm/b2b-input_2.entry.js +7 -9
  155. package/dist/esm/b2b-multiselect-dropdown.entry.js +82 -55
  156. package/dist/esm/loader.js +1 -1
  157. package/dist/esm/{request-1d048f8a.js → request-6bb66f19.js} +1 -1
  158. package/dist/types/components/custom-dropdown/custom-dropdown.d.ts +6 -2
  159. package/dist/types/components/date-picker/date-picker-months.d.ts +7 -4
  160. package/dist/types/components/date-picker/date-picker-years.d.ts +6 -5
  161. package/dist/types/components/date-picker/date-picker.d.ts +4 -4
  162. package/dist/types/components/dropdown/dropdown.d.ts +2 -0
  163. package/dist/types/components/dropdown/dropdown.stories.d.ts +1 -0
  164. package/dist/types/components/icon/types.d.ts +1 -1
  165. package/dist/types/components/icon-100/types.d.ts +2 -2
  166. package/dist/types/components/icon-50/types.d.ts +2 -2
  167. package/dist/types/components/multiselect-dropdown/multiselect-dropdown.d.ts +19 -9
  168. package/dist/types/components/multiselect-dropdown/multiselect-dropdown.stories.d.ts +23 -4
  169. package/dist/types/components/multiselect-dropdown/multiselect-option/multiselect-option.d.ts +3 -1
  170. package/dist/types/components.d.ts +36 -8
  171. package/dist/web-types.json +51 -12
  172. package/package.json +2 -2
  173. package/dist/b2b-core-components/p-0bf2c192.entry.js +0 -1
  174. package/dist/b2b-core-components/p-54eee61c.entry.js +0 -1
  175. package/dist/b2b-core-components/p-61b2a6ad.js +0 -1
  176. package/dist/b2b-core-components/p-639d68a2.entry.js +0 -1
  177. package/dist/b2b-core-components/p-6b291a01.entry.js +0 -1
  178. package/dist/b2b-core-components/p-6c60d337.entry.js +0 -1
  179. package/dist/b2b-core-components/p-88bf92be.entry.js +0 -1
  180. package/dist/b2b-core-components/p-a614bd46.entry.js +0 -1
  181. package/dist/b2b-core-components/p-ae7ec34a.entry.js +0 -1
  182. package/dist/b2b-core-components/p-b4d46a07.entry.js +0 -1
  183. 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 = event.target.value.toLowerCase();
10
- if (this.value !== '') {
11
- const filteredList = this.optionsList.filter(option => option.toLowerCase().indexOf(this.value) > -1);
12
- this.currentList = filteredList;
13
- }
14
- else if (this.value === '') {
15
- this.currentList = this.optionsList;
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", hasCloseButton: true, onClick: this.handleOverflowOptionsClick }));
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 newOption = event.detail.selectedOption;
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 = [...this.currentSelectedValues, newOption];
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(el => el !== newOption);
49
+ this.currentSelectedValues = this.currentSelectedValues.filter(o => o.value !== value);
46
50
  }
47
51
  };
48
- this.handleChipClose = event => {
49
- this.currentSelectedValues = this.currentSelectedValues.filter(el => el !== event.detail.value);
50
- this.updateOption(event.detail.value);
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 => this.currentSelectedValues.includes(option.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 || !this.hostElement.contains(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 newVals = options.map(el => el.option);
116
- for (let i = 0, n = options.length; i < n; i++) {
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
- // filter out duplicates
121
- this.currentSelectedValues = Array.from(new Set([...this.currentSelectedValues, ...newVals]));
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(option => !newVals.includes(option));
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 = this.optionsList;
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.selectedValues = parsePropToArray(this.selectedValues);
155
- this.optionsList = parsePropToArray(this.optionsList);
156
- this.currentList = this.optionsList;
157
- this.currentSelectedValues = this.selectedValues.filter(value => this.optionsList.includes(value));
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.optionsList = parsePropToArray(newList);
162
- this.hasOptionList = this.optionsList.length > 0;
183
+ this.normalizedOptions = this.parsePropToOptArray(newList);
184
+ this.hasOptionList = this.normalizedOptions.length > 0;
163
185
  if (this.hasOptionList) {
164
- this.currentList = this.optionsList;
165
- this.currentSelectedValues = this.selectedValues.filter(value => this.optionsList.includes(value));
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.selectedValues = parsePropToArray(newVal);
171
- this.currentSelectedValues = this.selectedValues.filter(val => this.optionsList.includes(val));
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
- return (h(Host, { key: '964bdaefbeef0b8f9f29be1f2e76b795b95ba17e', onFocus: this.setElementOnFocus, onBlur: this.setElementOnBlur, onClick: this.handleMouseDown, onKeyDown: this.handleKeyDown }, h("b2b-input-label", { key: '88ab1efa48ac4ecb42c88ac35e6edbb2ad08ece2', required: this.required }, this.label), h("div", { key: '5befcc8a885278bac7f00a7407d25ff738b52366', class: {
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': this.invalid && !this.disabled,
186
- 'b2b-multiselect-dropdown--disabled': this.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: 'a0e37fe748d07f62fe0e2c1976369eb7ddcecbe9', 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: 'c6ffcd302b797626eca29c0ae2876d5bedc1b41f', icon: "b2b_icon-arrow-down" })), h("div", { key: '7ceeb281cf01a1bc526c9d0b6d6c1c0d3c1bca9a', class: {
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: '6c44f49ba781b31ed5bdcfad9e4c571e5bbdc871', class: "b2b-multiselect-dropdown__options", role: "listbox", "aria-label": this.label, tabIndex: -1 }, h("div", { key: '07c1bc3b8acb485632e76ae2f688ea9b6647d94b', class: "b2b-multiselect-dropdown__option__search" }, h("input", { key: '9264228fda064567ee88f3b26e953ef4bc4071b8', type: "text", onInput: this.handleInput, class: "b2b-multiselect-dropdown__option__search__input", placeholder: this.searchPlaceholder })), h("b2b-multiselect-option", { key: '461fc919fecefa0bcbf7ef3adc54ed78e827f8fb', class: "b2b-multiselect-dropdown__option__select-all", option: this.selectAllLabel, id: "select-all", "onB2b-option-selected": this.handleSelectAll }), this.hasOptionList &&
192
- this.currentList.map(option => (h("b2b-multiselect-option", { "onB2b-option-selected": this.handleSelectedChange, option: option }))))), (this.hint !== undefined && !this.invalid) ||
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
- const meta = {
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 default meta;
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: Object.assign(Object.assign({}, meta.args), { required: true }),
78
+ args: {
79
+ required: true,
80
+ },
82
81
  };
83
82
  export const Hint = {
84
- args: Object.assign(Object.assign({}, meta.args), { hint: 'please select a value' }),
83
+ args: {
84
+ hint: 'please select a value',
85
+ },
85
86
  };
86
87
  export const Disabled = {
87
- args: Object.assign(Object.assign({}, meta.args), { disabled: true }),
88
+ args: {
89
+ disabled: true,
90
+ },
88
91
  };
89
92
  export const Invalid = {
90
- args: Object.assign(Object.assign({}, meta.args), { invalid: true }),
93
+ args: {
94
+ invalid: true,
95
+ },
91
96
  };
92
97
  export const InvalidWithErrorMessage = {
93
- args: Object.assign(Object.assign({}, meta.args), { invalid: true, errorMessage: 'error has occurred' }),
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
  };
@@ -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
- return (h(Host, { key: 'b1e6b024ef3d453040eb0995cab48eeb25586189', role: "option", class: {
17
+ var _a;
18
+ return (h(Host, { key: '2935b503975ee29b4cde34ac07d19fe40d08385d', role: "option", class: {
17
19
  'b2b-multiselect-dropdown__option': true,
18
- } }, h("b2b-checkbox", { key: '9c4e912adeefec9787822529ba791d2a44aee03d', checked: this.selected, "onB2b-change": this.handleCheckboxChange, label: this.option, indeterminate: this.indeterminate, value: this.option })));
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 === undefined || null) {
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
- if (this.disabled) {
19
- nodes.forEach(node => {
20
- node.disabled = true;
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: 'a13345395b22ac918fcb5b4186f5bb3057af8ea4' }, h("div", { key: 'b388a4b209535c47c07b2720392abeb7191b0809', class: {
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: '33ed6a29fc0742e786d7f82c93dea89fdf0127b8' }, h("div", { key: 'da3884cbef485588a36ea6dd6c92f0dc0bdff138', class: "b2b-checkbox-group__options" }, h("slot", { key: 'c4f2ef006d5c8f04e45315526d076ca69a49026e' }))), (this.hint !== undefined && !this.invalid) ||
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
- if (optionValue.includes(this.value)) {
32
- option.classList.remove('b2b-custom-dropdown__option--hidden');
33
- }
34
- else {
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: '4ab50ad17c43f38eae747029fa3d40a5c3248020' }, h("div", { key: '53cf5f6124a02eb89cb110d264529c938c300a38', class: "b2b-custom-dropdown__trigger" }, h("slot", { key: '52704de85cf40a3f281b2d286bf805063307803c', name: "trigger" })), h("div", { key: 'a740c4001a70a1d989ede124484ee01e0b5b7ba5', class: {
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: 'f15f9489ddc9ffe94ee3b4b2a6236b97fdbe86ba', noPadding: true, borderTop: "none", borderBottom: "none", borderRight: "none", borderLeft: "none" }, h("div", { key: 'b1a26c973d7eef092d31cde5f6593c5cd6ef5671', class: {
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: 'f570afbcfb650229a661fa365c527d0824f34342', placeholder: this.placeholder, "onB2b-input": this.handleInput }, h("b2b-icon-100", { key: '2c6e7c342c9e1c4ae91ec3204fa5b972feac0411', icon: "b2b_icon-search", slot: "end" })))), h("div", { key: '76662fbb1ad9260f62d8b8a9df8da9ecea465f9b', class: this.allOptions.length > 6
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: 'ad2b7dfb88642693837183f99da2e3b115f23dd3', name: "option" })))));
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") {