@pathscale/ui 1.1.34 → 1.1.35

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 (249) hide show
  1. package/dist/components/button/Button.css +10 -1
  2. package/dist/components/button/Button.d.ts +2 -0
  3. package/dist/components/button/Button.js +31 -6
  4. package/dist/components/button-group/ButtonGroup.css +117 -0
  5. package/dist/components/button-group/ButtonGroup.d.ts +23 -0
  6. package/dist/components/button-group/ButtonGroup.js +91 -0
  7. package/dist/components/button-group/context.d.ts +8 -0
  8. package/dist/components/button-group/context.js +3 -0
  9. package/dist/components/button-group/index.d.ts +1 -0
  10. package/dist/components/button-group/index.js +6 -0
  11. package/dist/components/card/Card.css +110 -0
  12. package/dist/components/card/Card.d.ts +26 -26
  13. package/dist/components/card/Card.js +131 -70
  14. package/dist/components/card/index.d.ts +1 -1
  15. package/dist/components/card/index.js +6 -1
  16. package/dist/components/checkbox/Checkbox.js +18 -4
  17. package/dist/components/checkbox-group/CheckboxGroup.css +10 -0
  18. package/dist/components/checkbox-group/CheckboxGroup.d.ts +18 -0
  19. package/dist/components/checkbox-group/CheckboxGroup.js +97 -0
  20. package/dist/components/checkbox-group/context.d.ts +11 -0
  21. package/dist/components/checkbox-group/context.js +3 -0
  22. package/dist/components/checkbox-group/index.d.ts +4 -0
  23. package/dist/components/checkbox-group/index.js +4 -0
  24. package/dist/components/chip/Chip.css +11 -9
  25. package/dist/components/chip/Chip.d.ts +2 -2
  26. package/dist/components/chip/Chip.js +38 -30
  27. package/dist/components/close-button/CloseButton.css +81 -0
  28. package/dist/components/close-button/CloseButton.d.ts +14 -0
  29. package/dist/components/close-button/CloseButton.js +76 -0
  30. package/dist/components/close-button/index.d.ts +1 -0
  31. package/dist/components/close-button/index.js +3 -0
  32. package/dist/components/combo-box/ComboBox.css +344 -0
  33. package/dist/components/combo-box/ComboBox.d.ts +86 -0
  34. package/dist/components/combo-box/ComboBox.js +708 -0
  35. package/dist/components/combo-box/index.d.ts +1 -0
  36. package/dist/components/combo-box/index.js +10 -0
  37. package/dist/components/date-field/DateField.css +215 -0
  38. package/dist/components/date-field/DateField.d.ts +64 -0
  39. package/dist/components/date-field/DateField.js +341 -0
  40. package/dist/components/date-field/index.d.ts +1 -0
  41. package/dist/components/date-field/index.js +11 -0
  42. package/dist/components/description/Description.css +10 -0
  43. package/dist/components/description/Description.d.ts +11 -0
  44. package/dist/components/{form/Label.js → description/Description.js} +23 -14
  45. package/dist/components/description/index.d.ts +1 -0
  46. package/dist/components/description/index.js +5 -0
  47. package/dist/components/drawer/Drawer.css +15 -0
  48. package/dist/components/drawer/Drawer.d.ts +2 -0
  49. package/dist/components/drawer/Drawer.js +24 -16
  50. package/dist/components/error-message/ErrorMessage.css +20 -0
  51. package/dist/components/error-message/ErrorMessage.d.ts +11 -0
  52. package/dist/components/error-message/ErrorMessage.js +40 -0
  53. package/dist/components/error-message/index.d.ts +1 -0
  54. package/dist/components/error-message/index.js +5 -0
  55. package/dist/components/field-error/FieldError.css +27 -0
  56. package/dist/components/field-error/FieldError.d.ts +21 -0
  57. package/dist/components/field-error/FieldError.js +69 -0
  58. package/dist/components/field-error/index.d.ts +1 -0
  59. package/dist/components/field-error/index.js +5 -0
  60. package/dist/components/fieldset/Fieldset.css +30 -0
  61. package/dist/components/fieldset/Fieldset.d.ts +22 -9
  62. package/dist/components/fieldset/Fieldset.js +88 -44
  63. package/dist/components/fieldset/index.d.ts +1 -2
  64. package/dist/components/fieldset/index.js +7 -2
  65. package/dist/components/form/Form.css +5 -0
  66. package/dist/components/form/Form.d.ts +10 -16
  67. package/dist/components/form/Form.js +33 -16
  68. package/dist/components/form/index.d.ts +1 -4
  69. package/dist/components/form/index.js +3 -4
  70. package/dist/components/header/Header.css +13 -0
  71. package/dist/components/header/Header.d.ts +9 -0
  72. package/dist/components/{menu/MenuDetails.js → header/Header.js} +17 -20
  73. package/dist/components/header/index.d.ts +1 -0
  74. package/dist/components/header/index.js +5 -0
  75. package/dist/components/immersive-landing/components/FirefoxPWABanner.js +62 -68
  76. package/dist/components/immersive-landing/components/PWAInstallPrompt.js +58 -64
  77. package/dist/components/input/Input.css +3 -2
  78. package/dist/components/input/Input.d.ts +2 -2
  79. package/dist/components/input/Input.js +7 -7
  80. package/dist/components/input-group/InputGroup.css +172 -0
  81. package/dist/components/input-group/InputGroup.d.ts +44 -0
  82. package/dist/components/input-group/InputGroup.js +227 -0
  83. package/dist/components/input-group/index.d.ts +1 -0
  84. package/dist/components/input-group/index.js +9 -0
  85. package/dist/components/input-otp/InputOTP.css +170 -0
  86. package/dist/components/input-otp/InputOTP.d.ts +46 -0
  87. package/dist/components/input-otp/InputOTP.js +385 -0
  88. package/dist/components/input-otp/index.d.ts +1 -0
  89. package/dist/components/input-otp/index.js +11 -0
  90. package/dist/components/label/Label.css +30 -0
  91. package/dist/components/label/Label.d.ts +17 -0
  92. package/dist/components/label/Label.js +64 -0
  93. package/dist/components/label/index.d.ts +1 -0
  94. package/dist/components/label/index.js +5 -0
  95. package/dist/components/list-box/ListBox.css +148 -0
  96. package/dist/components/list-box/ListBox.d.ts +23 -0
  97. package/dist/components/list-box/ListBox.js +224 -0
  98. package/dist/components/list-box/ListBoxItem.d.ts +28 -0
  99. package/dist/components/list-box/ListBoxItem.js +231 -0
  100. package/dist/components/list-box/ListBoxSection.d.ts +11 -0
  101. package/dist/components/list-box/ListBoxSection.js +48 -0
  102. package/dist/components/list-box/context.d.ts +27 -0
  103. package/dist/components/list-box/context.js +3 -0
  104. package/dist/components/list-box/index.d.ts +17 -0
  105. package/dist/components/list-box/index.js +17 -0
  106. package/dist/components/menu/Menu.css +199 -0
  107. package/dist/components/menu/Menu.d.ts +32 -20
  108. package/dist/components/menu/Menu.js +213 -39
  109. package/dist/components/menu/MenuItem.d.ts +35 -5
  110. package/dist/components/menu/MenuItem.js +270 -19
  111. package/dist/components/menu/MenuSection.d.ts +11 -0
  112. package/dist/components/menu/MenuSection.js +48 -0
  113. package/dist/components/menu/context.d.ts +26 -0
  114. package/dist/components/menu/context.js +3 -0
  115. package/dist/components/menu/index.d.ts +4 -3
  116. package/dist/components/menu/index.js +11 -2
  117. package/dist/components/number-field/NumberField.css +198 -0
  118. package/dist/components/number-field/NumberField.d.ts +48 -0
  119. package/dist/components/number-field/NumberField.js +350 -0
  120. package/dist/components/number-field/index.d.ts +1 -0
  121. package/dist/components/number-field/index.js +9 -0
  122. package/dist/components/search-field/SearchField.css +183 -0
  123. package/dist/components/search-field/SearchField.d.ts +53 -0
  124. package/dist/components/search-field/SearchField.js +303 -0
  125. package/dist/components/search-field/index.d.ts +1 -0
  126. package/dist/components/search-field/index.js +9 -0
  127. package/dist/components/select/Select.css +16 -10
  128. package/dist/components/select/Select.d.ts +10 -2
  129. package/dist/components/select/Select.js +119 -33
  130. package/dist/components/separator/Separator.css +35 -0
  131. package/dist/components/separator/Separator.d.ts +12 -0
  132. package/dist/components/separator/Separator.js +57 -0
  133. package/dist/components/separator/index.d.ts +1 -0
  134. package/dist/components/separator/index.js +4 -0
  135. package/dist/components/sidenav/Sidenav.js +2 -2
  136. package/dist/components/surface/Surface.css +37 -0
  137. package/dist/components/surface/Surface.d.ts +12 -0
  138. package/dist/components/surface/Surface.js +41 -0
  139. package/dist/components/surface/index.d.ts +1 -0
  140. package/dist/components/surface/index.js +4 -0
  141. package/dist/components/table/hooks/index.d.ts +1 -9
  142. package/dist/components/table/hooks/index.js +1 -18
  143. package/dist/components/tag/Tag.css +121 -0
  144. package/dist/components/tag/Tag.d.ts +33 -0
  145. package/dist/components/tag/Tag.js +241 -0
  146. package/dist/components/tag/index.d.ts +1 -0
  147. package/dist/components/tag/index.js +6 -0
  148. package/dist/components/tag-group/TagGroup.css +22 -0
  149. package/dist/components/tag-group/TagGroup.d.ts +32 -0
  150. package/dist/components/tag-group/TagGroup.js +177 -0
  151. package/dist/components/tag-group/context.d.ts +15 -0
  152. package/dist/components/tag-group/context.js +3 -0
  153. package/dist/components/tag-group/index.d.ts +2 -0
  154. package/dist/components/tag-group/index.js +6 -0
  155. package/dist/components/text/Text.css +66 -0
  156. package/dist/components/text/Text.d.ts +17 -0
  157. package/dist/components/text/Text.js +46 -0
  158. package/dist/components/text/index.d.ts +1 -0
  159. package/dist/components/text/index.js +5 -0
  160. package/dist/components/text-area/TextArea.css +95 -0
  161. package/dist/components/text-area/TextArea.d.ts +19 -0
  162. package/dist/components/text-area/TextArea.js +64 -0
  163. package/dist/components/text-area/index.d.ts +1 -0
  164. package/dist/components/text-area/index.js +5 -0
  165. package/dist/components/text-field/TextField.css +33 -0
  166. package/dist/components/text-field/TextField.d.ts +34 -0
  167. package/dist/components/text-field/TextField.js +85 -0
  168. package/dist/components/text-field/index.d.ts +1 -0
  169. package/dist/components/text-field/index.js +7 -0
  170. package/dist/components/textarea/Textarea.d.ts +8 -13
  171. package/dist/components/textarea/Textarea.js +14 -45
  172. package/dist/components/textarea/index.d.ts +2 -1
  173. package/dist/components/textarea/index.js +4 -1
  174. package/dist/components/time-field/TimeField.css +215 -0
  175. package/dist/components/time-field/TimeField.d.ts +64 -0
  176. package/dist/components/time-field/TimeField.js +341 -0
  177. package/dist/components/time-field/index.d.ts +1 -0
  178. package/dist/components/time-field/index.js +11 -0
  179. package/dist/components/utils.d.ts +2 -2
  180. package/dist/components/utils.js +3 -17
  181. package/dist/hooks/form/index.d.ts +5 -0
  182. package/dist/hooks/form/index.js +12 -0
  183. package/dist/hooks/form/useField.d.ts +11 -0
  184. package/dist/hooks/form/useField.js +20 -0
  185. package/dist/hooks/form/useFieldError.d.ts +3 -0
  186. package/dist/hooks/form/useFieldError.js +3 -0
  187. package/dist/hooks/form/useFieldMeta.d.ts +20 -0
  188. package/dist/hooks/form/useFieldMeta.js +49 -0
  189. package/dist/hooks/form/useFieldProps.d.ts +10 -0
  190. package/dist/hooks/form/useFieldProps.js +51 -0
  191. package/dist/hooks/form/useForm.d.ts +27 -0
  192. package/dist/hooks/form/useForm.js +54 -0
  193. package/dist/hooks/form/utils.d.ts +4 -0
  194. package/dist/hooks/form/utils.js +30 -0
  195. package/dist/hooks/layout/index.d.ts +1 -0
  196. package/dist/hooks/layout/index.js +3 -0
  197. package/dist/hooks/layout/useDesktop.d.ts +1 -0
  198. package/dist/hooks/layout/useDesktop.js +17 -0
  199. package/dist/hooks/table/index.d.ts +9 -0
  200. package/dist/hooks/table/index.js +18 -0
  201. package/dist/index.d.ts +59 -7
  202. package/dist/index.js +140 -15
  203. package/dist/styles/icons/generated-icons.css +1 -1
  204. package/package.json +1 -1
  205. package/dist/components/card/CardActions.d.ts +0 -4
  206. package/dist/components/card/CardActions.js +0 -15
  207. package/dist/components/card/CardBody.d.ts +0 -4
  208. package/dist/components/card/CardBody.js +0 -15
  209. package/dist/components/card/CardImage.d.ts +0 -3
  210. package/dist/components/card/CardImage.js +0 -10
  211. package/dist/components/card/CardTitle.d.ts +0 -6
  212. package/dist/components/card/CardTitle.js +0 -13
  213. package/dist/components/card/card.css +0 -171
  214. package/dist/components/form/FormBase.d.ts +0 -8
  215. package/dist/components/form/FormBase.js +0 -74
  216. package/dist/components/form/FormDropdown.d.ts +0 -25
  217. package/dist/components/form/FormDropdown.js +0 -139
  218. package/dist/components/form/FormField.d.ts +0 -14
  219. package/dist/components/form/FormField.js +0 -78
  220. package/dist/components/form/Label.d.ts +0 -7
  221. package/dist/components/form/NumberField.d.ts +0 -20
  222. package/dist/components/form/NumberField.js +0 -109
  223. package/dist/components/form/PasswordField.d.ts +0 -16
  224. package/dist/components/form/PasswordField.js +0 -113
  225. package/dist/components/form/ValidatedForm.d.ts +0 -26
  226. package/dist/components/form/ValidatedForm.js +0 -55
  227. package/dist/components/menu/MenuDetails.d.ts +0 -8
  228. package/dist/components/menu/MenuDropdown.d.ts +0 -12
  229. package/dist/components/menu/MenuDropdown.js +0 -48
  230. package/dist/components/menu/MenuTitle.d.ts +0 -8
  231. package/dist/components/menu/MenuTitle.js +0 -22
  232. package/dist/components/menu/menu.css +0 -364
  233. package/dist/components/textarea/textarea.css +0 -191
  234. /package/dist/{components/table/hooks → hooks/table}/helpers.d.ts +0 -0
  235. /package/dist/{components/table/hooks → hooks/table}/helpers.js +0 -0
  236. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.d.ts +0 -0
  237. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.js +0 -0
  238. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.d.ts +0 -0
  239. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.js +0 -0
  240. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.d.ts +0 -0
  241. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.js +0 -0
  242. /package/dist/{components/table/hooks → hooks/table}/useTableModel.d.ts +0 -0
  243. /package/dist/{components/table/hooks → hooks/table}/useTableModel.js +0 -0
  244. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.d.ts +0 -0
  245. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.js +0 -0
  246. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.d.ts +0 -0
  247. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.js +0 -0
  248. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.d.ts +0 -0
  249. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.js +0 -0
@@ -0,0 +1,708 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
2
+ import "./ComboBox.css";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
5
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<input type=hidden>"), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="combo-box__icon combo-box__icon--start"data-slot=combobox-start-icon>'), _tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<input>"), _tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<button>"), _tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="combo-box__icon combo-box__icon--start"data-slot=combobox-trigger-start-icon>'), _tmpl$7 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="combo-box__icon combo-box__icon--end combo-box__trigger-icon"data-slot=combobox-trigger-end-icon>'), _tmpl$8 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div class=combo-box__empty data-slot=combobox-empty-state>No matching options"), _tmpl$9 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div role=option tabindex=-1 data-slot=combobox-option class=combo-box__option><span class=combo-box__option-label>"), _tmpl$0 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class=combo-box__option-indicator aria-hidden=true><span class="combo-box__icon combo-box__icon--end"data-slot=combobox-option-end-icon>');
6
+ const ComboBoxContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
7
+ const VARIANT_CLASS_MAP = {
8
+ primary: "combo-box--primary",
9
+ secondary: "combo-box--secondary"
10
+ };
11
+ const invokeEventHandler = (handler, event)=>{
12
+ if ("function" == typeof handler) return void handler(event);
13
+ if (Array.isArray(handler) && "function" == typeof handler[0]) handler[0](handler[1], event);
14
+ };
15
+ const normalizeKey = (key)=>null == key ? null : String(key);
16
+ const toOptionKey = (key, index)=>{
17
+ const safeKey = key.trim().toLowerCase().replace(/[^a-z0-9_-]+/g, "-").replace(/^-+|-+$/g, "");
18
+ return safeKey.length > 0 ? safeKey : `option-${index}`;
19
+ };
20
+ const defaultFilter = (textValue, inputValue)=>{
21
+ if (0 === inputValue.trim().length) return true;
22
+ return textValue.toLowerCase().includes(inputValue.trim().toLowerCase());
23
+ };
24
+ const extractItemKey = (item, index)=>{
25
+ if (item && "object" == typeof item) {
26
+ const record = item;
27
+ if (null != record.key) return String(record.key);
28
+ if (null != record.id) return String(record.id);
29
+ }
30
+ return String(index);
31
+ };
32
+ const extractItemText = (item, fallbackKey)=>{
33
+ if (item && "object" == typeof item) {
34
+ const record = item;
35
+ if ("string" == typeof record.textValue) return record.textValue;
36
+ if ("string" == typeof record.label) return record.label;
37
+ }
38
+ return fallbackKey;
39
+ };
40
+ const extractItemDisabled = (item)=>{
41
+ if (!item || "object" != typeof item) return false;
42
+ return Boolean(item.disabled);
43
+ };
44
+ const ComboBoxRoot = (props)=>{
45
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
46
+ "children",
47
+ "startIcon",
48
+ "endIcon",
49
+ "class",
50
+ "className",
51
+ "dataTheme",
52
+ "style",
53
+ "items",
54
+ "selectedKey",
55
+ "defaultSelectedKey",
56
+ "onSelectionChange",
57
+ "inputValue",
58
+ "defaultInputValue",
59
+ "onInputChange",
60
+ "isOpen",
61
+ "defaultOpen",
62
+ "onOpenChange",
63
+ "fullWidth",
64
+ "variant",
65
+ "menuTrigger",
66
+ "isDisabled",
67
+ "disabled",
68
+ "isInvalid",
69
+ "allowsCustomValue",
70
+ "placeholder",
71
+ "name",
72
+ "isRequired",
73
+ "required",
74
+ "defaultFilter",
75
+ "itemKey",
76
+ "itemTextValue",
77
+ "itemDisabled",
78
+ "onFocusOut",
79
+ "ref"
80
+ ]);
81
+ const listBoxId = `${(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createUniqueId)()}-listbox`;
82
+ const [internalSelectedKey, setInternalSelectedKey] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(normalizeKey(local.defaultSelectedKey));
83
+ const [internalInputValue, setInternalInputValue] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(local.defaultInputValue ?? "");
84
+ const [internalOpen, setInternalOpen] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(Boolean(local.defaultOpen));
85
+ const [activeKey, setActiveKeySignal] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(null);
86
+ let rootRef;
87
+ let inputRef;
88
+ const variant = ()=>local.variant ?? "primary";
89
+ const menuTrigger = ()=>local.menuTrigger ?? "focus";
90
+ const fullWidth = ()=>Boolean(local.fullWidth);
91
+ const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(local.disabled);
92
+ const isInvalid = ()=>Boolean(local.isInvalid);
93
+ const isRequired = ()=>Boolean(local.isRequired) || Boolean(local.required);
94
+ const isOpen = ()=>void 0 !== local.isOpen ? Boolean(local.isOpen) : internalOpen();
95
+ const selectedKey = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>void 0 !== local.selectedKey ? normalizeKey(local.selectedKey) : internalSelectedKey());
96
+ const inputValue = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>void 0 !== local.inputValue ? local.inputValue : internalInputValue());
97
+ const normalizedItems = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>(local.items ?? []).map((item, index)=>{
98
+ const baseKey = null != local.itemKey ? String(local.itemKey(item, index)) : extractItemKey(item, index);
99
+ const textValue = null != local.itemTextValue ? local.itemTextValue(item, index) : extractItemText(item, baseKey);
100
+ const disabled = null != local.itemDisabled ? Boolean(local.itemDisabled(item, index)) : extractItemDisabled(item);
101
+ return {
102
+ key: baseKey,
103
+ textValue,
104
+ disabled,
105
+ item
106
+ };
107
+ }));
108
+ const selectedItem = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
109
+ const key = selectedKey();
110
+ if (!key) return;
111
+ return normalizedItems().find((item)=>item.key === key);
112
+ });
113
+ const filteredItems = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
114
+ const query = inputValue();
115
+ const filter = local.defaultFilter ?? defaultFilter;
116
+ return normalizedItems().filter((item)=>filter(item.textValue, query));
117
+ });
118
+ const getEnabledItems = ()=>filteredItems().filter((item)=>!item.disabled);
119
+ const setSelectedKey = (nextKey)=>{
120
+ if (void 0 === local.selectedKey) setInternalSelectedKey(nextKey);
121
+ local.onSelectionChange?.(nextKey);
122
+ };
123
+ const setInputValue = (nextValue)=>{
124
+ if (void 0 === local.inputValue) setInternalInputValue(nextValue);
125
+ local.onInputChange?.(nextValue);
126
+ };
127
+ const setOpen = (next, options)=>{
128
+ if (next && isDisabled()) return;
129
+ if (void 0 === local.isOpen) setInternalOpen(next);
130
+ local.onOpenChange?.(next);
131
+ if (!next && options?.focusInput) queueMicrotask(()=>{
132
+ inputRef?.focus();
133
+ });
134
+ };
135
+ const focusBoundary = (target)=>{
136
+ const enabledItems = getEnabledItems();
137
+ if (!enabledItems.length) return void setActiveKeySignal(null);
138
+ if ("selected" === target) {
139
+ const selected = enabledItems.find((item)=>item.key === selectedKey());
140
+ setActiveKeySignal((selected ?? enabledItems[0]).key);
141
+ return;
142
+ }
143
+ setActiveKeySignal("first" === target ? enabledItems[0].key : enabledItems[enabledItems.length - 1].key);
144
+ };
145
+ const focusNext = (direction)=>{
146
+ const enabledItems = getEnabledItems();
147
+ if (!enabledItems.length) return void setActiveKeySignal(null);
148
+ const current = activeKey();
149
+ const currentIndex = enabledItems.findIndex((item)=>item.key === current);
150
+ if (currentIndex < 0) return void focusBoundary(1 === direction ? "first" : "last");
151
+ const nextIndex = (currentIndex + direction + enabledItems.length) % enabledItems.length;
152
+ setActiveKeySignal(enabledItems[nextIndex].key);
153
+ };
154
+ const selectKey = (key)=>{
155
+ const item = normalizedItems().find((entry)=>entry.key === key);
156
+ if (!item || item.disabled || isDisabled()) return;
157
+ setSelectedKey(item.key);
158
+ setInputValue(item.textValue);
159
+ setActiveKeySignal(item.key);
160
+ setOpen(false, {
161
+ focusInput: true
162
+ });
163
+ };
164
+ const closeAndCommit = ()=>{
165
+ setOpen(false);
166
+ setActiveKeySignal(null);
167
+ if (!local.allowsCustomValue) {
168
+ const selected = selectedItem();
169
+ setInputValue(selected?.textValue ?? "");
170
+ }
171
+ };
172
+ const handleFocusOut = (event)=>{
173
+ invokeEventHandler(local.onFocusOut, event);
174
+ if (event.defaultPrevented) return;
175
+ const nextTarget = event.relatedTarget;
176
+ if (rootRef?.contains(nextTarget)) return;
177
+ closeAndCommit();
178
+ };
179
+ const getOptionId = (key)=>`${listBoxId}-${toOptionKey(key, 0)}`;
180
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
181
+ if (void 0 !== local.inputValue) return;
182
+ const selected = selectedItem();
183
+ if (!selected) return;
184
+ if (internalInputValue() !== selected.textValue) setInternalInputValue(selected.textValue);
185
+ });
186
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
187
+ if (!isOpen()) return;
188
+ const enabledItems = getEnabledItems();
189
+ if (!enabledItems.length) return void setActiveKeySignal(null);
190
+ const currentKey = activeKey();
191
+ if (currentKey && enabledItems.some((item)=>item.key === currentKey)) return;
192
+ const selected = enabledItems.find((item)=>item.key === selectedKey());
193
+ setActiveKeySignal((selected ?? enabledItems[0]).key);
194
+ });
195
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onMount)(()=>{
196
+ const handlePointerDown = (event)=>{
197
+ if (!rootRef) return;
198
+ if (rootRef.contains(event.target)) return;
199
+ closeAndCommit();
200
+ };
201
+ document.addEventListener("pointerdown", handlePointerDown);
202
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
203
+ document.removeEventListener("pointerdown", handlePointerDown);
204
+ });
205
+ });
206
+ const hiddenValue = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
207
+ const currentKey = selectedKey();
208
+ if (currentKey) return currentKey;
209
+ if (local.allowsCustomValue) return inputValue();
210
+ return "";
211
+ });
212
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(ComboBoxContext.Provider, {
213
+ value: {
214
+ variant,
215
+ fullWidth,
216
+ isDisabled,
217
+ isInvalid,
218
+ isRequired,
219
+ isOpen,
220
+ inputValue,
221
+ selectedKey,
222
+ selectedTextValue: ()=>selectedItem()?.textValue,
223
+ activeKey,
224
+ filteredItems,
225
+ listBoxId,
226
+ menuTrigger,
227
+ setOpen,
228
+ toggleOpen: ()=>setOpen(!isOpen()),
229
+ setSelectedKey,
230
+ setInputValue,
231
+ setActiveKey: setActiveKeySignal,
232
+ selectKey,
233
+ focusNext,
234
+ focusBoundary,
235
+ getOptionId,
236
+ attachInputRef: (node)=>{
237
+ inputRef = node;
238
+ }
239
+ },
240
+ get children () {
241
+ var _el$ = _tmpl$2();
242
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)((node)=>{
243
+ rootRef = node;
244
+ if ("function" == typeof local.ref) local.ref(node);
245
+ }, _el$);
246
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
247
+ get ["class"] () {
248
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("combo-box", VARIANT_CLASS_MAP[variant()], fullWidth() && "combo-box--full-width", local.class, local.className);
249
+ },
250
+ "data-slot": "combobox",
251
+ get ["data-open"] () {
252
+ return isOpen() ? "true" : "false";
253
+ },
254
+ get ["data-invalid"] () {
255
+ return isInvalid() ? "true" : void 0;
256
+ },
257
+ get ["data-disabled"] () {
258
+ return isDisabled() ? "true" : void 0;
259
+ },
260
+ get ["aria-invalid"] () {
261
+ return isInvalid() ? "true" : void 0;
262
+ },
263
+ get ["aria-disabled"] () {
264
+ return isDisabled() ? "true" : void 0;
265
+ },
266
+ get ["data-theme"] () {
267
+ return local.dataTheme;
268
+ },
269
+ get style () {
270
+ return local.style;
271
+ },
272
+ onFocusOut: handleFocusOut
273
+ }), false, true);
274
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
275
+ get when () {
276
+ return local.name;
277
+ },
278
+ get children () {
279
+ var _el$2 = _tmpl$();
280
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$2, "name", local.name));
281
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>_el$2.value = hiddenValue());
282
+ return _el$2;
283
+ }
284
+ }), null);
285
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children ?? [
286
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(ComboBoxInputGroup, {
287
+ get children () {
288
+ return [
289
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
290
+ get when () {
291
+ return local.startIcon;
292
+ },
293
+ get children () {
294
+ var _el$3 = _tmpl$3();
295
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>local.startIcon);
296
+ return _el$3;
297
+ }
298
+ }),
299
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(ComboBoxInput, {
300
+ get placeholder () {
301
+ return local.placeholder;
302
+ },
303
+ get required () {
304
+ return isRequired();
305
+ }
306
+ }),
307
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(ComboBoxTrigger, {
308
+ get endIcon () {
309
+ return local.endIcon;
310
+ }
311
+ })
312
+ ];
313
+ }
314
+ }),
315
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(ComboBoxPopover, {
316
+ get children () {
317
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(ComboBoxList, {});
318
+ }
319
+ })
320
+ ], null);
321
+ return _el$;
322
+ }
323
+ });
324
+ };
325
+ const ComboBoxInputGroup = (props)=>{
326
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(ComboBoxContext);
327
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
328
+ "children",
329
+ "class",
330
+ "className",
331
+ "dataTheme",
332
+ "style"
333
+ ]);
334
+ return (()=>{
335
+ var _el$4 = _tmpl$2();
336
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$4, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
337
+ get ["class"] () {
338
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("combo-box__input-group", context?.fullWidth() && "combo-box__input-group--full-width", local.class, local.className);
339
+ },
340
+ "data-slot": "combobox-input-group",
341
+ get ["data-disabled"] () {
342
+ return context?.isDisabled() ? "true" : void 0;
343
+ },
344
+ get ["data-invalid"] () {
345
+ return context?.isInvalid() ? "true" : void 0;
346
+ },
347
+ get ["data-theme"] () {
348
+ return local.dataTheme;
349
+ },
350
+ get style () {
351
+ return local.style;
352
+ }
353
+ }), false, true);
354
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>local.children);
355
+ return _el$4;
356
+ })();
357
+ };
358
+ const ComboBoxInput = (props)=>{
359
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(ComboBoxContext);
360
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
361
+ "class",
362
+ "className",
363
+ "dataTheme",
364
+ "style",
365
+ "onInput",
366
+ "onKeyDown",
367
+ "onFocus",
368
+ "onBlur",
369
+ "ref",
370
+ "required"
371
+ ]);
372
+ const handleInput = (event)=>{
373
+ invokeEventHandler(local.onInput, event);
374
+ if (event.defaultPrevented) return;
375
+ const nextValue = event.currentTarget.value;
376
+ context?.setInputValue(nextValue);
377
+ const selectedTextValue = context?.selectedTextValue();
378
+ if (context?.selectedKey() != null && selectedTextValue !== nextValue) context?.setSelectedKey(null);
379
+ if ((context?.menuTrigger() ?? "focus") !== "manual") context?.setOpen(true);
380
+ };
381
+ const handleFocus = (event)=>{
382
+ invokeEventHandler(local.onFocus, event);
383
+ if (event.defaultPrevented) return;
384
+ if ((context?.menuTrigger() ?? "focus") === "focus") context?.setOpen(true);
385
+ };
386
+ const handleKeyDown = (event)=>{
387
+ invokeEventHandler(local.onKeyDown, event);
388
+ if (event.defaultPrevented) return;
389
+ const isOpen = context?.isOpen() ?? false;
390
+ if ("ArrowDown" === event.key) {
391
+ event.preventDefault();
392
+ if (!isOpen) {
393
+ context?.setOpen(true);
394
+ context?.focusBoundary("selected");
395
+ return;
396
+ }
397
+ context?.focusNext(1);
398
+ return;
399
+ }
400
+ if ("ArrowUp" === event.key) {
401
+ event.preventDefault();
402
+ if (!isOpen) {
403
+ context?.setOpen(true);
404
+ context?.focusBoundary("selected");
405
+ return;
406
+ }
407
+ context?.focusNext(-1);
408
+ return;
409
+ }
410
+ if ("Home" === event.key && isOpen) {
411
+ event.preventDefault();
412
+ context?.focusBoundary("first");
413
+ return;
414
+ }
415
+ if ("End" === event.key && isOpen) {
416
+ event.preventDefault();
417
+ context?.focusBoundary("last");
418
+ return;
419
+ }
420
+ if ("Escape" === event.key) {
421
+ event.preventDefault();
422
+ context?.setOpen(false);
423
+ return;
424
+ }
425
+ if ("Enter" === event.key && isOpen) {
426
+ const key = context?.activeKey();
427
+ if (!key) return;
428
+ event.preventDefault();
429
+ context?.selectKey(key);
430
+ return;
431
+ }
432
+ if ("Tab" === event.key) context?.setOpen(false);
433
+ };
434
+ const activeOptionId = ()=>{
435
+ const activeKey = context?.activeKey();
436
+ if (!context?.isOpen() || !activeKey) return;
437
+ return context.getOptionId(activeKey);
438
+ };
439
+ return (()=>{
440
+ var _el$5 = _tmpl$4();
441
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)((node)=>{
442
+ context?.attachInputRef(node);
443
+ if ("function" == typeof local.ref) local.ref(node);
444
+ }, _el$5);
445
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$5, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
446
+ role: "combobox",
447
+ "aria-haspopup": "listbox",
448
+ get ["aria-controls"] () {
449
+ return context?.listBoxId;
450
+ },
451
+ get ["aria-expanded"] () {
452
+ return context?.isOpen() ? "true" : "false";
453
+ },
454
+ "aria-autocomplete": "list",
455
+ get ["aria-activedescendant"] () {
456
+ return activeOptionId();
457
+ },
458
+ get ["aria-disabled"] () {
459
+ return context?.isDisabled() ? "true" : void 0;
460
+ },
461
+ get ["aria-invalid"] () {
462
+ return context?.isInvalid() ? "true" : void 0;
463
+ },
464
+ get ["class"] () {
465
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("combo-box__input", local.class, local.className);
466
+ },
467
+ "data-slot": "combobox-input",
468
+ get ["data-theme"] () {
469
+ return local.dataTheme;
470
+ },
471
+ get style () {
472
+ return local.style;
473
+ },
474
+ get value () {
475
+ return context?.inputValue() ?? "";
476
+ },
477
+ get disabled () {
478
+ return context?.isDisabled();
479
+ },
480
+ get required () {
481
+ return local.required ?? context?.isRequired();
482
+ },
483
+ onInput: handleInput,
484
+ onFocus: handleFocus,
485
+ onBlur: (event)=>invokeEventHandler(local.onBlur, event),
486
+ onKeyDown: handleKeyDown
487
+ }), false, false);
488
+ return _el$5;
489
+ })();
490
+ };
491
+ const ComboBoxTrigger = (props)=>{
492
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(ComboBoxContext);
493
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
494
+ "children",
495
+ "class",
496
+ "className",
497
+ "dataTheme",
498
+ "style",
499
+ "startIcon",
500
+ "endIcon",
501
+ "onClick"
502
+ ]);
503
+ const handleClick = (event)=>{
504
+ invokeEventHandler(local.onClick, event);
505
+ if (event.defaultPrevented) return;
506
+ context?.toggleOpen();
507
+ };
508
+ return (()=>{
509
+ var _el$6 = _tmpl$5();
510
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
511
+ type: "button",
512
+ get ["class"] () {
513
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("combo-box__trigger", local.class, local.className);
514
+ },
515
+ "data-slot": "combobox-trigger",
516
+ get ["data-open"] () {
517
+ return context?.isOpen() ? "true" : "false";
518
+ },
519
+ get ["data-theme"] () {
520
+ return local.dataTheme;
521
+ },
522
+ get style () {
523
+ return local.style;
524
+ },
525
+ get disabled () {
526
+ return context?.isDisabled();
527
+ },
528
+ get ["aria-disabled"] () {
529
+ return context?.isDisabled() ? "true" : void 0;
530
+ },
531
+ "aria-haspopup": "listbox",
532
+ get ["aria-expanded"] () {
533
+ return context?.isOpen() ? "true" : "false";
534
+ },
535
+ get ["aria-controls"] () {
536
+ return context?.listBoxId;
537
+ },
538
+ "aria-label": "Toggle options",
539
+ onClick: handleClick
540
+ }), false, true);
541
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (()=>{
542
+ var _c$ = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.startIcon);
543
+ return ()=>_c$() ? (()=>{
544
+ var _el$7 = _tmpl$6();
545
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$7, ()=>local.startIcon);
546
+ return _el$7;
547
+ })() : null;
548
+ })(), null);
549
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, ()=>local.children, null);
550
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (()=>{
551
+ var _c$2 = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.endIcon);
552
+ return ()=>_c$2() ? (()=>{
553
+ var _el$8 = _tmpl$7();
554
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$8, ()=>local.endIcon);
555
+ return _el$8;
556
+ })() : null;
557
+ })(), null);
558
+ return _el$6;
559
+ })();
560
+ };
561
+ const ComboBoxPopover = (props)=>{
562
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(ComboBoxContext);
563
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
564
+ "children",
565
+ "class",
566
+ "className",
567
+ "dataTheme",
568
+ "style"
569
+ ]);
570
+ return (()=>{
571
+ var _el$9 = _tmpl$2();
572
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$9, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
573
+ get ["class"] () {
574
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("combo-box__popover", local.class, local.className);
575
+ },
576
+ "data-slot": "combobox-popover",
577
+ get ["data-open"] () {
578
+ return context?.isOpen() ? "true" : "false";
579
+ },
580
+ get ["data-theme"] () {
581
+ return local.dataTheme;
582
+ },
583
+ get style () {
584
+ return local.style;
585
+ }
586
+ }), false, true);
587
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$9, ()=>local.children ?? (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(ComboBoxList, {}));
588
+ return _el$9;
589
+ })();
590
+ };
591
+ const ComboBoxList = (props)=>{
592
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(ComboBoxContext);
593
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
594
+ "children",
595
+ "class",
596
+ "className",
597
+ "dataTheme",
598
+ "style",
599
+ "renderEmptyState",
600
+ "endIcon"
601
+ ]);
602
+ const items = ()=>context?.filteredItems() ?? [];
603
+ return (()=>{
604
+ var _el$0 = _tmpl$2();
605
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$0, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
606
+ get id () {
607
+ return context?.listBoxId;
608
+ },
609
+ role: "listbox",
610
+ get ["class"] () {
611
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("combo-box__list", local.class, local.className);
612
+ },
613
+ "data-slot": "combobox-list",
614
+ get ["data-theme"] () {
615
+ return local.dataTheme;
616
+ },
617
+ get style () {
618
+ return local.style;
619
+ }
620
+ }), false, true);
621
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$0, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
622
+ get when () {
623
+ return items().length > 0;
624
+ },
625
+ get fallback () {
626
+ return local.renderEmptyState?.() ?? _tmpl$8();
627
+ },
628
+ get children () {
629
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.For, {
630
+ get each () {
631
+ return items();
632
+ },
633
+ children: (item)=>{
634
+ const selected = ()=>context?.selectedKey() === item.key;
635
+ const active = ()=>context?.activeKey() === item.key;
636
+ const state = {
637
+ key: item.key,
638
+ textValue: item.textValue,
639
+ isSelected: selected(),
640
+ isActive: active(),
641
+ isDisabled: item.disabled,
642
+ item: item.item
643
+ };
644
+ return (()=>{
645
+ var _el$10 = _tmpl$9(), _el$11 = _el$10.firstChild;
646
+ _el$10.$$click = ()=>{
647
+ if (item.disabled) return;
648
+ context?.selectKey(item.key);
649
+ };
650
+ _el$10.addEventListener("mouseenter", ()=>{
651
+ if (item.disabled) return;
652
+ context?.setActiveKey(item.key);
653
+ });
654
+ _el$10.$$mousedown = (event)=>event.preventDefault();
655
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$11, (()=>{
656
+ var _c$3 = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"function" == typeof local.children);
657
+ return ()=>_c$3() ? local.children(state) : item.textValue;
658
+ })());
659
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$10, (()=>{
660
+ var _c$4 = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.endIcon);
661
+ return ()=>_c$4() ? (()=>{
662
+ var _el$12 = _tmpl$0(), _el$13 = _el$12.firstChild;
663
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$13, ()=>local.endIcon);
664
+ return _el$12;
665
+ })() : null;
666
+ })(), null);
667
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)((_p$)=>{
668
+ var _v$ = context?.getOptionId(item.key), _v$2 = selected() ? "true" : "false", _v$3 = item.disabled ? "true" : void 0, _v$4 = item.key, _v$5 = selected() ? "true" : "false", _v$6 = active() ? "true" : "false", _v$7 = item.disabled ? "true" : "false";
669
+ _v$ !== _p$.e && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$10, "id", _p$.e = _v$);
670
+ _v$2 !== _p$.t && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$10, "aria-selected", _p$.t = _v$2);
671
+ _v$3 !== _p$.a && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$10, "aria-disabled", _p$.a = _v$3);
672
+ _v$4 !== _p$.o && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$10, "data-key", _p$.o = _v$4);
673
+ _v$5 !== _p$.i && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$10, "data-selected", _p$.i = _v$5);
674
+ _v$6 !== _p$.n && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$10, "data-active", _p$.n = _v$6);
675
+ _v$7 !== _p$.s && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$10, "data-disabled", _p$.s = _v$7);
676
+ return _p$;
677
+ }, {
678
+ e: void 0,
679
+ t: void 0,
680
+ a: void 0,
681
+ o: void 0,
682
+ i: void 0,
683
+ n: void 0,
684
+ s: void 0
685
+ });
686
+ return _el$10;
687
+ })();
688
+ }
689
+ });
690
+ }
691
+ }));
692
+ return _el$0;
693
+ })();
694
+ };
695
+ const ComboBox = Object.assign(ComboBoxRoot, {
696
+ Root: ComboBoxRoot,
697
+ InputGroup: ComboBoxInputGroup,
698
+ Input: ComboBoxInput,
699
+ Trigger: ComboBoxTrigger,
700
+ Popover: ComboBoxPopover,
701
+ List: ComboBoxList
702
+ });
703
+ const combo_box_ComboBox = ComboBox;
704
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
705
+ "mousedown",
706
+ "click"
707
+ ]);
708
+ export { ComboBox, ComboBoxInput, ComboBoxInputGroup, ComboBoxList, ComboBoxPopover, ComboBoxRoot, ComboBoxTrigger, combo_box_ComboBox as default };