@solid-design-system/components 3.22.18 → 3.23.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. package/dist/components/es/combobox.js +11 -0
  2. package/dist/components/es/dropdown.js +1 -1
  3. package/dist/components/es/map-marker.js +1 -1
  4. package/dist/components/es/navigation-item.js +1 -1
  5. package/dist/components/es/optgroup.js +1 -0
  6. package/dist/components/es/option-renderer.js +1 -0
  7. package/dist/components/es/select.js +7 -3
  8. package/dist/components/es/solid-components2.js +7 -7
  9. package/dist/components/es/tabbable.js +1 -1
  10. package/dist/components/es/utils.js +1 -0
  11. package/dist/components/umd/solid-components.js +37 -23
  12. package/dist/custom-elements.json +1 -1
  13. package/dist/package/components/combobox/combobox.d.ts +129 -0
  14. package/dist/package/components/combobox/combobox.js +958 -0
  15. package/dist/package/components/combobox/option-renderer.d.ts +5 -0
  16. package/dist/package/components/combobox/option-renderer.js +4 -0
  17. package/dist/package/components/combobox/utils.d.ts +8 -0
  18. package/dist/package/components/combobox/utils.js +14 -0
  19. package/dist/package/components/dropdown/dropdown.d.ts +2 -1
  20. package/dist/package/components/dropdown/dropdown.js +37 -28
  21. package/dist/package/components/navigation-item/navigation-item.d.ts +1 -0
  22. package/dist/package/components/navigation-item/navigation-item.js +4 -1
  23. package/dist/package/components/optgroup/optgroup.d.ts +20 -0
  24. package/dist/package/components/optgroup/optgroup.js +68 -0
  25. package/dist/package/components/select/select.d.ts +5 -1
  26. package/dist/package/components/select/select.js +94 -29
  27. package/dist/package/internal/tabbable.js +1 -1
  28. package/dist/package/solid-components.d.ts +2 -0
  29. package/dist/package/solid-components.js +74 -70
  30. package/dist/package/styles/tailwind.css.js +1 -1
  31. package/dist/package/translations/de.js +7 -4
  32. package/dist/package/translations/en.js +7 -4
  33. package/dist/package/utilities/localize.d.ts +3 -0
  34. package/dist/versioned-components/es/accordion-group.js +1 -1
  35. package/dist/versioned-components/es/accordion.js +1 -1
  36. package/dist/versioned-components/es/audio.js +1 -1
  37. package/dist/versioned-components/es/badge.js +1 -1
  38. package/dist/versioned-components/es/brandshape.js +1 -1
  39. package/dist/versioned-components/es/button.js +1 -1
  40. package/dist/versioned-components/es/carousel-item.js +1 -1
  41. package/dist/versioned-components/es/carousel.js +3 -3
  42. package/dist/versioned-components/es/checkbox-group.js +1 -1
  43. package/dist/versioned-components/es/checkbox.js +1 -1
  44. package/dist/versioned-components/es/combobox.js +11 -0
  45. package/dist/versioned-components/es/dialog.js +1 -1
  46. package/dist/versioned-components/es/divider.js +1 -1
  47. package/dist/versioned-components/es/drawer.js +1 -1
  48. package/dist/versioned-components/es/dropdown.js +1 -1
  49. package/dist/versioned-components/es/expandable.js +1 -1
  50. package/dist/versioned-components/es/flipcard.js +1 -1
  51. package/dist/versioned-components/es/form.js +1 -1
  52. package/dist/versioned-components/es/header.js +1 -1
  53. package/dist/versioned-components/es/icon.js +1 -1
  54. package/dist/versioned-components/es/include.js +1 -1
  55. package/dist/versioned-components/es/input.js +1 -1
  56. package/dist/versioned-components/es/link.js +1 -1
  57. package/dist/versioned-components/es/map-marker.js +1 -1
  58. package/dist/versioned-components/es/navigation-item.js +1 -1
  59. package/dist/versioned-components/es/notification.js +1 -1
  60. package/dist/versioned-components/es/optgroup.js +1 -0
  61. package/dist/versioned-components/es/option-renderer.js +1 -0
  62. package/dist/versioned-components/es/option.js +1 -1
  63. package/dist/versioned-components/es/quickfact.js +1 -1
  64. package/dist/versioned-components/es/radio-button.js +1 -1
  65. package/dist/versioned-components/es/radio-group.js +1 -1
  66. package/dist/versioned-components/es/radio.js +1 -1
  67. package/dist/versioned-components/es/scrollable.js +1 -1
  68. package/dist/versioned-components/es/select.js +7 -3
  69. package/dist/versioned-components/es/solid-components2.js +7 -7
  70. package/dist/versioned-components/es/spinner.js +1 -1
  71. package/dist/versioned-components/es/step-group.js +1 -1
  72. package/dist/versioned-components/es/step.js +1 -1
  73. package/dist/versioned-components/es/switch.js +1 -1
  74. package/dist/versioned-components/es/tab-group.js +1 -1
  75. package/dist/versioned-components/es/tab-panel.js +1 -1
  76. package/dist/versioned-components/es/tab.js +1 -1
  77. package/dist/versioned-components/es/tabbable.js +1 -1
  78. package/dist/versioned-components/es/tag.js +1 -1
  79. package/dist/versioned-components/es/teaser-media.js +1 -1
  80. package/dist/versioned-components/es/teaser.js +1 -1
  81. package/dist/versioned-components/es/textarea.js +1 -1
  82. package/dist/versioned-components/es/tooltip.js +2 -2
  83. package/dist/versioned-components/es/utils.js +1 -0
  84. package/dist/versioned-components/es/video.js +1 -1
  85. package/dist/versioned-package/_components/button-group/button-group.d.ts +1 -1
  86. package/dist/versioned-package/_components/button-group/button-group.js +11 -11
  87. package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
  88. package/dist/versioned-package/components/accordion/accordion.js +2 -2
  89. package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
  90. package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
  91. package/dist/versioned-package/components/audio/audio.d.ts +1 -1
  92. package/dist/versioned-package/components/audio/audio.js +6 -6
  93. package/dist/versioned-package/components/badge/badge.d.ts +1 -1
  94. package/dist/versioned-package/components/badge/badge.js +1 -1
  95. package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
  96. package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
  97. package/dist/versioned-package/components/button/button.d.ts +1 -1
  98. package/dist/versioned-package/components/button/button.js +4 -4
  99. package/dist/versioned-package/components/carousel/carousel.d.ts +1 -1
  100. package/dist/versioned-package/components/carousel/carousel.js +6 -6
  101. package/dist/versioned-package/components/carousel-item/carousel-item.d.ts +1 -1
  102. package/dist/versioned-package/components/carousel-item/carousel-item.js +1 -1
  103. package/dist/versioned-package/components/checkbox/checkbox.d.ts +1 -1
  104. package/dist/versioned-package/components/checkbox/checkbox.js +3 -3
  105. package/dist/versioned-package/components/checkbox-group/checkbox-group.d.ts +1 -1
  106. package/dist/versioned-package/components/checkbox-group/checkbox-group.js +5 -5
  107. package/dist/versioned-package/components/combobox/combobox.d.ts +129 -0
  108. package/dist/versioned-package/components/combobox/combobox.js +958 -0
  109. package/dist/versioned-package/components/combobox/option-renderer.d.ts +5 -0
  110. package/dist/versioned-package/components/combobox/option-renderer.js +4 -0
  111. package/dist/versioned-package/components/combobox/utils.d.ts +8 -0
  112. package/dist/versioned-package/components/combobox/utils.js +14 -0
  113. package/dist/versioned-package/components/dialog/dialog.d.ts +1 -1
  114. package/dist/versioned-package/components/dialog/dialog.js +2 -2
  115. package/dist/versioned-package/components/divider/divider.d.ts +1 -1
  116. package/dist/versioned-package/components/divider/divider.js +2 -2
  117. package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
  118. package/dist/versioned-package/components/drawer/drawer.js +2 -2
  119. package/dist/versioned-package/components/dropdown/dropdown.d.ts +3 -2
  120. package/dist/versioned-package/components/dropdown/dropdown.js +42 -33
  121. package/dist/versioned-package/components/expandable/expandable.d.ts +1 -1
  122. package/dist/versioned-package/components/expandable/expandable.js +2 -2
  123. package/dist/versioned-package/components/flipcard/flipcard.d.ts +1 -1
  124. package/dist/versioned-package/components/flipcard/flipcard.js +1 -1
  125. package/dist/versioned-package/components/header/header.d.ts +1 -1
  126. package/dist/versioned-package/components/header/header.js +4 -4
  127. package/dist/versioned-package/components/icon/icon.d.ts +1 -1
  128. package/dist/versioned-package/components/icon/icon.js +1 -1
  129. package/dist/versioned-package/components/include/include.d.ts +1 -1
  130. package/dist/versioned-package/components/include/include.js +1 -1
  131. package/dist/versioned-package/components/input/input.d.ts +1 -1
  132. package/dist/versioned-package/components/input/input.js +3 -3
  133. package/dist/versioned-package/components/link/link.d.ts +1 -1
  134. package/dist/versioned-package/components/link/link.js +2 -2
  135. package/dist/versioned-package/components/map-marker/map-marker.d.ts +1 -1
  136. package/dist/versioned-package/components/map-marker/map-marker.js +1 -1
  137. package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +2 -1
  138. package/dist/versioned-package/components/navigation-item/navigation-item.js +9 -6
  139. package/dist/versioned-package/components/notification/notification.d.ts +1 -1
  140. package/dist/versioned-package/components/notification/notification.js +5 -5
  141. package/dist/versioned-package/components/optgroup/optgroup.d.ts +20 -0
  142. package/dist/versioned-package/components/optgroup/optgroup.js +68 -0
  143. package/dist/versioned-package/components/option/option.d.ts +1 -1
  144. package/dist/versioned-package/components/option/option.js +2 -2
  145. package/dist/versioned-package/components/popup/popup.d.ts +1 -1
  146. package/dist/versioned-package/components/popup/popup.js +1 -1
  147. package/dist/versioned-package/components/quickfact/quickfact.d.ts +1 -1
  148. package/dist/versioned-package/components/quickfact/quickfact.js +2 -2
  149. package/dist/versioned-package/components/radio/radio.d.ts +1 -1
  150. package/dist/versioned-package/components/radio/radio.js +2 -2
  151. package/dist/versioned-package/components/radio-button/radio-button.d.ts +1 -1
  152. package/dist/versioned-package/components/radio-button/radio-button.js +2 -2
  153. package/dist/versioned-package/components/radio-group/radio-group.d.ts +2 -2
  154. package/dist/versioned-package/components/radio-group/radio-group.js +13 -13
  155. package/dist/versioned-package/components/scrollable/scrollable.d.ts +1 -1
  156. package/dist/versioned-package/components/scrollable/scrollable.js +3 -3
  157. package/dist/versioned-package/components/select/select.d.ts +9 -5
  158. package/dist/versioned-package/components/select/select.js +115 -50
  159. package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
  160. package/dist/versioned-package/components/spinner/spinner.js +1 -1
  161. package/dist/versioned-package/components/step/step.d.ts +1 -1
  162. package/dist/versioned-package/components/step/step.js +2 -2
  163. package/dist/versioned-package/components/step-group/step-group.d.ts +1 -1
  164. package/dist/versioned-package/components/step-group/step-group.js +2 -2
  165. package/dist/versioned-package/components/switch/switch.d.ts +1 -1
  166. package/dist/versioned-package/components/switch/switch.js +1 -1
  167. package/dist/versioned-package/components/tab/tab.d.ts +1 -1
  168. package/dist/versioned-package/components/tab/tab.js +2 -2
  169. package/dist/versioned-package/components/tab-group/tab-group.d.ts +1 -1
  170. package/dist/versioned-package/components/tab-group/tab-group.js +13 -13
  171. package/dist/versioned-package/components/tab-panel/tab-panel.d.ts +1 -1
  172. package/dist/versioned-package/components/tab-panel/tab-panel.js +2 -2
  173. package/dist/versioned-package/components/tag/tag.d.ts +1 -1
  174. package/dist/versioned-package/components/tag/tag.js +2 -2
  175. package/dist/versioned-package/components/teaser/teaser.js +1 -1
  176. package/dist/versioned-package/components/teaser-media/teaser-media.js +1 -1
  177. package/dist/versioned-package/components/textarea/textarea.d.ts +1 -1
  178. package/dist/versioned-package/components/textarea/textarea.js +2 -2
  179. package/dist/versioned-package/components/tooltip/tooltip.d.ts +1 -1
  180. package/dist/versioned-package/components/tooltip/tooltip.js +5 -5
  181. package/dist/versioned-package/components/video/video.d.ts +1 -1
  182. package/dist/versioned-package/components/video/video.js +2 -2
  183. package/dist/versioned-package/internal/form.js +3 -3
  184. package/dist/versioned-package/internal/tabbable.js +1 -1
  185. package/dist/versioned-package/solid-components.d.ts +2 -0
  186. package/dist/versioned-package/solid-components.js +74 -70
  187. package/dist/versioned-package/styles/headline/headline.css.js +1 -1
  188. package/dist/versioned-package/styles/tailwind.css.js +1 -1
  189. package/dist/versioned-package/translations/de.js +7 -4
  190. package/dist/versioned-package/translations/en.js +7 -4
  191. package/dist/versioned-package/utilities/autocomplete-config.js +4 -4
  192. package/dist/versioned-package/utilities/localize.d.ts +3 -0
  193. package/dist/versioned-styles/solid-styles.css +1 -1
  194. package/dist/vscode.html-custom-data.json +373 -47
  195. package/dist/web-types.json +3335 -1813
  196. package/package.json +3 -3
@@ -0,0 +1,129 @@
1
+ import { type CSSResultGroup, type TemplateResult } from 'lit';
2
+ import { type OptionRenderer } from './option-renderer.js';
3
+ import SdIcon from '../icon/icon';
4
+ import SdPopup from '../popup/popup';
5
+ import SdTag from '../tag/tag';
6
+ import SolidElement from '../../internal/solid-element';
7
+ import type { SolidFormControl } from '../../internal/solid-element';
8
+ import type SdOptgroup from '../optgroup/optgroup.js';
9
+ import type SdOption from '../option/option';
10
+ export default class SdCombobox extends SolidElement implements SolidFormControl {
11
+ static dependencies: {
12
+ 'sd-icon': typeof SdIcon;
13
+ 'sd-popup': typeof SdPopup;
14
+ 'sd-tag': typeof SdTag;
15
+ };
16
+ private readonly formControlController;
17
+ private readonly hasSlotController;
18
+ private readonly localize;
19
+ popup: SdPopup;
20
+ combobox: HTMLSlotElement;
21
+ displayInput: HTMLInputElement;
22
+ valueInput: HTMLInputElement;
23
+ listbox: HTMLSlotElement;
24
+ tagWrapper: HTMLDivElement;
25
+ filteredWrapper: HTMLSlotElement;
26
+ private defaultSlot;
27
+ invalidMessage: HTMLDivElement;
28
+ hasHover: boolean;
29
+ private hasFocus;
30
+ displayInputValue: string;
31
+ selectedTextLabel: string;
32
+ selectedOptions: (SdOption | undefined)[];
33
+ filteredOptions: (SdOption | SdOptgroup | undefined)[];
34
+ allOptions: (SdOption | SdOptgroup | undefined)[];
35
+ lastOption: SdOption | undefined;
36
+ showValidStyle: boolean;
37
+ showInvalidStyle: boolean;
38
+ name: string;
39
+ value: string | string[];
40
+ defaultValue: string;
41
+ size: 'lg' | 'md' | 'sm';
42
+ placeholder: string;
43
+ disabled: boolean;
44
+ clearable: boolean;
45
+ open: boolean;
46
+ hoist: boolean;
47
+ label: string;
48
+ placement: 'top' | 'bottom';
49
+ helpText: string;
50
+ form: string;
51
+ required: boolean;
52
+ currentPlacement: "top" | "bottom";
53
+ getOption: OptionRenderer;
54
+ multiple: boolean;
55
+ useTags: boolean;
56
+ maxOptionsVisible: number;
57
+ styleOnValid: boolean;
58
+ filter: (option: SdOption, queryString: string) => boolean;
59
+ getTag: (option: SdOption, index: number) => TemplateResult | string | HTMLElement;
60
+ connectedCallback(): void;
61
+ firstUpdated(): void;
62
+ get validity(): ValidityState;
63
+ get validationMessage(): string;
64
+ protected get options(): (SdOption | SdOptgroup | TemplateResult<1>)[];
65
+ protected get tags(): (TemplateResult<1> | TemplateResult<1>[])[];
66
+ private addOpenListeners;
67
+ private removeOpenListeners;
68
+ private handleFocus;
69
+ private handleBlur;
70
+ private handleDocumentFocusIn;
71
+ private handleDocumentKeyDown;
72
+ private handleDocumentMouseDown;
73
+ private handleTagKeyDown;
74
+ private handleTagMaxOptionsKeyDown;
75
+ private handleLabelClick;
76
+ private handleTagRemove;
77
+ private handleComboboxMouseDown;
78
+ private handleComboboxKeyDown;
79
+ private handleClearClick;
80
+ private handleNoResultsClick;
81
+ private clearCombobox;
82
+ private preventLoosingFocus;
83
+ private handleOptionClick;
84
+ private selectNextOption;
85
+ private getAllFilteredOptions;
86
+ private getCurrentOption;
87
+ private setCurrentOption;
88
+ private toggleOptionSelection;
89
+ private findOptionByValue;
90
+ private selectedOptionsAndValueSynced;
91
+ private isOptionSelected;
92
+ private syncSelectedOptionsAndValue;
93
+ private compareOptions;
94
+ private setSelectedOptions;
95
+ private setOrderedSelectedOptions;
96
+ private selectionChanged;
97
+ private createComboboxOptionsFromQuery;
98
+ private handleInvalid;
99
+ private handleMouseEnter;
100
+ private handleMouseLeave;
101
+ private handleCurrentPlacement;
102
+ handleFilterChange(): void;
103
+ handleUseTagsChange(): void;
104
+ applySizeToOptions(): void;
105
+ handleDisabledChange(): void;
106
+ handleValueChange(): void;
107
+ handleDisplayInputValueChange(): void;
108
+ handleOpenChange(): Promise<void>;
109
+ show(): Promise<void>;
110
+ hide(): Promise<void>;
111
+ checkValidity(): boolean;
112
+ getForm(): HTMLFormElement | null;
113
+ reportValidity(): boolean;
114
+ setCustomValidity(message: string): void;
115
+ focus(options?: FocusOptions): void;
116
+ blur(): void;
117
+ private handleInput;
118
+ private handleChange;
119
+ private getSlottedOptions;
120
+ private getSlottedOptGroups;
121
+ private handleDefaultSlotChange;
122
+ render(): TemplateResult<1>;
123
+ static styles: CSSResultGroup;
124
+ }
125
+ declare global {
126
+ interface HTMLElementTagNameMap {
127
+ 'sd-combobox': SdCombobox;
128
+ }
129
+ }