@pathscale/ui 1.1.34 → 1.1.36

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