@proyecto-viviana/solidaria-components 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/ActionBar.js +184 -0
  2. package/dist/ActionBar.js.map +1 -0
  3. package/dist/ActionBar.jsx +128 -0
  4. package/dist/ActionBar.jsx.map +1 -0
  5. package/dist/ActionGroup.js +179 -0
  6. package/dist/ActionGroup.js.map +1 -0
  7. package/dist/ActionGroup.jsx +129 -0
  8. package/dist/ActionGroup.jsx.map +1 -0
  9. package/dist/Alert.js +111 -0
  10. package/dist/Alert.js.map +1 -0
  11. package/dist/Alert.jsx +82 -0
  12. package/dist/Alert.jsx.map +1 -0
  13. package/dist/Autocomplete.js +130 -0
  14. package/dist/Autocomplete.js.map +1 -0
  15. package/dist/Autocomplete.jsx +116 -0
  16. package/dist/Autocomplete.jsx.map +1 -0
  17. package/dist/Breadcrumbs.d.ts.map +1 -1
  18. package/dist/Breadcrumbs.js +334 -0
  19. package/dist/Breadcrumbs.js.map +1 -0
  20. package/dist/Breadcrumbs.jsx +266 -0
  21. package/dist/Breadcrumbs.jsx.map +1 -0
  22. package/dist/Button.d.ts.map +1 -1
  23. package/dist/Button.js +348 -0
  24. package/dist/Button.js.map +1 -0
  25. package/dist/Button.jsx +314 -0
  26. package/dist/Button.jsx.map +1 -0
  27. package/dist/Calendar.d.ts +4 -4
  28. package/dist/Calendar.d.ts.map +1 -1
  29. package/dist/Calendar.js +538 -0
  30. package/dist/Calendar.js.map +1 -0
  31. package/dist/Calendar.jsx +333 -0
  32. package/dist/Calendar.jsx.map +1 -0
  33. package/dist/CalendarPicker.d.ts +33 -0
  34. package/dist/CalendarPicker.d.ts.map +1 -0
  35. package/dist/CalendarPicker.js +44 -0
  36. package/dist/CalendarPicker.js.map +1 -0
  37. package/dist/CalendarPicker.jsx +44 -0
  38. package/dist/CalendarPicker.jsx.map +1 -0
  39. package/dist/Checkbox.d.ts +83 -4
  40. package/dist/Checkbox.d.ts.map +1 -1
  41. package/dist/Checkbox.js +923 -0
  42. package/dist/Checkbox.js.map +1 -0
  43. package/dist/Checkbox.jsx +707 -0
  44. package/dist/Checkbox.jsx.map +1 -0
  45. package/dist/Collection.d.ts.map +1 -1
  46. package/dist/Collection.js +202 -0
  47. package/dist/Collection.js.map +1 -0
  48. package/dist/Collection.jsx +152 -0
  49. package/dist/Collection.jsx.map +1 -0
  50. package/dist/Color.d.ts.map +1 -1
  51. package/dist/Color.js +1720 -0
  52. package/dist/Color.js.map +1 -0
  53. package/dist/Color.jsx +1344 -0
  54. package/dist/Color.jsx.map +1 -0
  55. package/dist/ColorEditor.js +208 -0
  56. package/dist/ColorEditor.js.map +1 -0
  57. package/dist/ColorEditor.jsx +120 -0
  58. package/dist/ColorEditor.jsx.map +1 -0
  59. package/dist/ComboBox.d.ts +4 -4
  60. package/dist/ComboBox.d.ts.map +1 -1
  61. package/dist/ComboBox.js +992 -0
  62. package/dist/ComboBox.js.map +1 -0
  63. package/dist/ComboBox.jsx +714 -0
  64. package/dist/ComboBox.jsx.map +1 -0
  65. package/dist/ContextualHelpTrigger.js +146 -0
  66. package/dist/ContextualHelpTrigger.js.map +1 -0
  67. package/dist/ContextualHelpTrigger.jsx +109 -0
  68. package/dist/ContextualHelpTrigger.jsx.map +1 -0
  69. package/dist/DateField.d.ts +3 -3
  70. package/dist/DateField.d.ts.map +1 -1
  71. package/dist/DateField.js +4 -0
  72. package/dist/DateField.jsx +4 -0
  73. package/dist/DateField2.js +499 -0
  74. package/dist/DateField2.js.map +1 -0
  75. package/dist/DateField2.jsx +317 -0
  76. package/dist/DateField2.jsx.map +1 -0
  77. package/dist/DatePicker.d.ts +4 -4
  78. package/dist/DatePicker.d.ts.map +1 -1
  79. package/dist/DatePicker.js +991 -0
  80. package/dist/DatePicker.js.map +1 -0
  81. package/dist/DatePicker.jsx +682 -0
  82. package/dist/DatePicker.jsx.map +1 -0
  83. package/dist/Dialog.d.ts.map +1 -1
  84. package/dist/Dialog.js +337 -0
  85. package/dist/Dialog.js.map +1 -0
  86. package/dist/Dialog.jsx +192 -0
  87. package/dist/Dialog.jsx.map +1 -0
  88. package/dist/Disclosure.d.ts.map +1 -1
  89. package/dist/Disclosure.js +328 -0
  90. package/dist/Disclosure.js.map +1 -0
  91. package/dist/Disclosure.jsx +230 -0
  92. package/dist/Disclosure.jsx.map +1 -0
  93. package/dist/DragAndDrop.d.ts.map +1 -1
  94. package/dist/DragAndDrop.js +176 -0
  95. package/dist/DragAndDrop.js.map +1 -0
  96. package/dist/DragAndDrop.jsx +160 -0
  97. package/dist/DragAndDrop.jsx.map +1 -0
  98. package/dist/DropZone.d.ts.map +1 -1
  99. package/dist/DropZone.js +189 -0
  100. package/dist/DropZone.js.map +1 -0
  101. package/dist/DropZone.jsx +144 -0
  102. package/dist/DropZone.jsx.map +1 -0
  103. package/dist/FieldError.js +66 -0
  104. package/dist/FieldError.js.map +1 -0
  105. package/dist/FieldError.jsx +47 -0
  106. package/dist/FieldError.jsx.map +1 -0
  107. package/dist/FileTrigger.js +79 -0
  108. package/dist/FileTrigger.js.map +1 -0
  109. package/dist/FileTrigger.jsx +49 -0
  110. package/dist/FileTrigger.jsx.map +1 -0
  111. package/dist/Focusable.js +70 -0
  112. package/dist/Focusable.js.map +1 -0
  113. package/dist/Focusable.jsx +69 -0
  114. package/dist/Focusable.jsx.map +1 -0
  115. package/dist/Form.js +99 -0
  116. package/dist/Form.js.map +1 -0
  117. package/dist/Form.jsx +73 -0
  118. package/dist/Form.jsx.map +1 -0
  119. package/dist/GridList.d.ts +34 -2
  120. package/dist/GridList.d.ts.map +1 -1
  121. package/dist/GridList.js +723 -0
  122. package/dist/GridList.js.map +1 -0
  123. package/dist/GridList.jsx +552 -0
  124. package/dist/GridList.jsx.map +1 -0
  125. package/dist/HiddenTimeInput.js +104 -0
  126. package/dist/HiddenTimeInput.js.map +1 -0
  127. package/dist/HiddenTimeInput.jsx +69 -0
  128. package/dist/HiddenTimeInput.jsx.map +1 -0
  129. package/dist/Icon.d.ts.map +1 -1
  130. package/dist/Icon.js +127 -0
  131. package/dist/Icon.js.map +1 -0
  132. package/dist/Icon.jsx +72 -0
  133. package/dist/Icon.jsx.map +1 -0
  134. package/dist/Keyboard.js +30 -0
  135. package/dist/Keyboard.js.map +1 -0
  136. package/dist/Keyboard.jsx +24 -0
  137. package/dist/Keyboard.jsx.map +1 -0
  138. package/dist/Landmark.js +134 -0
  139. package/dist/Landmark.js.map +1 -0
  140. package/dist/Landmark.jsx +118 -0
  141. package/dist/Landmark.jsx.map +1 -0
  142. package/dist/Link.d.ts.map +1 -1
  143. package/dist/Link.js +219 -0
  144. package/dist/Link.js.map +1 -0
  145. package/dist/Link.jsx +189 -0
  146. package/dist/Link.jsx.map +1 -0
  147. package/dist/ListBox.d.ts.map +1 -1
  148. package/dist/ListBox.js +670 -0
  149. package/dist/ListBox.js.map +1 -0
  150. package/dist/ListBox.jsx +508 -0
  151. package/dist/ListBox.jsx.map +1 -0
  152. package/dist/Menu.d.ts +27 -9
  153. package/dist/Menu.d.ts.map +1 -1
  154. package/dist/Menu.js +1254 -0
  155. package/dist/Menu.js.map +1 -0
  156. package/dist/Menu.jsx +1042 -0
  157. package/dist/Menu.jsx.map +1 -0
  158. package/dist/Meter.d.ts.map +1 -1
  159. package/dist/Meter.js +123 -0
  160. package/dist/Meter.js.map +1 -0
  161. package/dist/Meter.jsx +107 -0
  162. package/dist/Meter.jsx.map +1 -0
  163. package/dist/Modal.d.ts.map +1 -1
  164. package/dist/Modal.js +380 -0
  165. package/dist/Modal.js.map +1 -0
  166. package/dist/Modal.jsx +314 -0
  167. package/dist/Modal.jsx.map +1 -0
  168. package/dist/NumberField.d.ts +3 -3
  169. package/dist/NumberField.d.ts.map +1 -1
  170. package/dist/NumberField.js +573 -0
  171. package/dist/NumberField.js.map +1 -0
  172. package/dist/NumberField.jsx +443 -0
  173. package/dist/NumberField.jsx.map +1 -0
  174. package/dist/Popover.d.ts +10 -2
  175. package/dist/Popover.d.ts.map +1 -1
  176. package/dist/Popover.js +464 -0
  177. package/dist/Popover.js.map +1 -0
  178. package/dist/Popover.jsx +333 -0
  179. package/dist/Popover.jsx.map +1 -0
  180. package/dist/Pressable.js +69 -0
  181. package/dist/Pressable.js.map +1 -0
  182. package/dist/Pressable.jsx +68 -0
  183. package/dist/Pressable.jsx.map +1 -0
  184. package/dist/ProgressBar.d.ts.map +1 -1
  185. package/dist/ProgressBar.js +130 -0
  186. package/dist/ProgressBar.js.map +1 -0
  187. package/dist/ProgressBar.jsx +114 -0
  188. package/dist/ProgressBar.jsx.map +1 -0
  189. package/dist/RadioGroup.d.ts +82 -4
  190. package/dist/RadioGroup.d.ts.map +1 -1
  191. package/dist/RadioGroup.js +931 -0
  192. package/dist/RadioGroup.js.map +1 -0
  193. package/dist/RadioGroup.jsx +681 -0
  194. package/dist/RadioGroup.jsx.map +1 -0
  195. package/dist/RangeCalendar.d.ts.map +1 -1
  196. package/dist/RangeCalendar.js +410 -0
  197. package/dist/RangeCalendar.js.map +1 -0
  198. package/dist/RangeCalendar.jsx +253 -0
  199. package/dist/RangeCalendar.jsx.map +1 -0
  200. package/dist/RouterProvider.js +118 -0
  201. package/dist/RouterProvider.js.map +1 -0
  202. package/dist/RouterProvider.jsx +112 -0
  203. package/dist/RouterProvider.jsx.map +1 -0
  204. package/dist/SearchField.d.ts +2 -2
  205. package/dist/SearchField.d.ts.map +1 -1
  206. package/dist/SearchField.js +643 -0
  207. package/dist/SearchField.js.map +1 -0
  208. package/dist/SearchField.jsx +526 -0
  209. package/dist/SearchField.jsx.map +1 -0
  210. package/dist/Select.d.ts.map +1 -1
  211. package/dist/Select.js +1031 -0
  212. package/dist/Select.js.map +1 -0
  213. package/dist/Select.jsx +744 -0
  214. package/dist/Select.jsx.map +1 -0
  215. package/dist/SelectionIndicator.d.ts.map +1 -1
  216. package/dist/SelectionIndicator.js +86 -0
  217. package/dist/SelectionIndicator.js.map +1 -0
  218. package/dist/SelectionIndicator.jsx +50 -0
  219. package/dist/SelectionIndicator.jsx.map +1 -0
  220. package/dist/Separator.js +97 -0
  221. package/dist/Separator.js.map +1 -0
  222. package/dist/Separator.jsx +85 -0
  223. package/dist/Separator.jsx.map +1 -0
  224. package/dist/SharedElementTransition.d.ts.map +1 -1
  225. package/dist/SharedElementTransition.js +165 -0
  226. package/dist/SharedElementTransition.js.map +1 -0
  227. package/dist/SharedElementTransition.jsx +138 -0
  228. package/dist/SharedElementTransition.jsx.map +1 -0
  229. package/dist/Slider.d.ts +33 -1
  230. package/dist/Slider.d.ts.map +1 -1
  231. package/dist/Slider.js +515 -0
  232. package/dist/Slider.js.map +1 -0
  233. package/dist/Slider.jsx +403 -0
  234. package/dist/Slider.jsx.map +1 -0
  235. package/dist/StepList.js +198 -0
  236. package/dist/StepList.js.map +1 -0
  237. package/dist/StepList.jsx +141 -0
  238. package/dist/StepList.jsx.map +1 -0
  239. package/dist/Switch.d.ts +65 -2
  240. package/dist/Switch.d.ts.map +1 -1
  241. package/dist/Switch.js +534 -0
  242. package/dist/Switch.js.map +1 -0
  243. package/dist/Switch.jsx +393 -0
  244. package/dist/Switch.jsx.map +1 -0
  245. package/dist/Table.d.ts +48 -0
  246. package/dist/Table.d.ts.map +1 -1
  247. package/dist/Table.js +1759 -0
  248. package/dist/Table.js.map +1 -0
  249. package/dist/Table.jsx +1348 -0
  250. package/dist/Table.jsx.map +1 -0
  251. package/dist/Tabs.d.ts +0 -4
  252. package/dist/Tabs.d.ts.map +1 -1
  253. package/dist/Tabs.js +595 -0
  254. package/dist/Tabs.js.map +1 -0
  255. package/dist/Tabs.jsx +367 -0
  256. package/dist/Tabs.jsx.map +1 -0
  257. package/dist/TagGroup.d.ts.map +1 -1
  258. package/dist/TagGroup.js +378 -0
  259. package/dist/TagGroup.js.map +1 -0
  260. package/dist/TagGroup.jsx +270 -0
  261. package/dist/TagGroup.jsx.map +1 -0
  262. package/dist/Text.d.ts +18 -6
  263. package/dist/Text.d.ts.map +1 -1
  264. package/dist/Text.js +42 -0
  265. package/dist/Text.js.map +1 -0
  266. package/dist/Text.jsx +35 -0
  267. package/dist/Text.jsx.map +1 -0
  268. package/dist/TextField.d.ts +6 -6
  269. package/dist/TextField.d.ts.map +1 -1
  270. package/dist/TextField.js +436 -0
  271. package/dist/TextField.js.map +1 -0
  272. package/dist/TextField.jsx +403 -0
  273. package/dist/TextField.jsx.map +1 -0
  274. package/dist/TimeField.d.ts +3 -3
  275. package/dist/TimeField.d.ts.map +1 -1
  276. package/dist/TimeField.js +372 -0
  277. package/dist/TimeField.js.map +1 -0
  278. package/dist/TimeField.jsx +224 -0
  279. package/dist/TimeField.jsx.map +1 -0
  280. package/dist/Toast.d.ts +14 -0
  281. package/dist/Toast.d.ts.map +1 -1
  282. package/dist/Toast.js +551 -0
  283. package/dist/Toast.js.map +1 -0
  284. package/dist/Toast.jsx +361 -0
  285. package/dist/Toast.jsx.map +1 -0
  286. package/dist/ToggleButton.d.ts.map +1 -1
  287. package/dist/ToggleButton.js +123 -0
  288. package/dist/ToggleButton.js.map +1 -0
  289. package/dist/ToggleButton.jsx +88 -0
  290. package/dist/ToggleButton.jsx.map +1 -0
  291. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  292. package/dist/ToggleButtonGroup.js +114 -0
  293. package/dist/ToggleButtonGroup.js.map +1 -0
  294. package/dist/ToggleButtonGroup.jsx +85 -0
  295. package/dist/ToggleButtonGroup.jsx.map +1 -0
  296. package/dist/Toolbar.js +112 -0
  297. package/dist/Toolbar.js.map +1 -0
  298. package/dist/Toolbar.jsx +92 -0
  299. package/dist/Toolbar.jsx.map +1 -0
  300. package/dist/Tooltip.d.ts.map +1 -1
  301. package/dist/Tooltip.js +539 -0
  302. package/dist/Tooltip.js.map +1 -0
  303. package/dist/Tooltip.jsx +465 -0
  304. package/dist/Tooltip.jsx.map +1 -0
  305. package/dist/Tree.d.ts +14 -2
  306. package/dist/Tree.d.ts.map +1 -1
  307. package/dist/Tree.js +1424 -0
  308. package/dist/Tree.js.map +1 -0
  309. package/dist/Tree.jsx +1172 -0
  310. package/dist/Tree.jsx.map +1 -0
  311. package/dist/Virtualizer.d.ts +16 -2
  312. package/dist/Virtualizer.d.ts.map +1 -1
  313. package/dist/Virtualizer.js +2 -0
  314. package/dist/Virtualizer.jsx +2 -0
  315. package/dist/Virtualizer2.js +751 -0
  316. package/dist/Virtualizer2.js.map +1 -0
  317. package/dist/Virtualizer2.jsx +730 -0
  318. package/dist/Virtualizer2.jsx.map +1 -0
  319. package/dist/VirtualizerLayouts.d.ts +18 -0
  320. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  321. package/dist/VisuallyHidden.js +42 -0
  322. package/dist/VisuallyHidden.js.map +1 -0
  323. package/dist/VisuallyHidden.jsx +35 -0
  324. package/dist/VisuallyHidden.jsx.map +1 -0
  325. package/dist/contexts.js +33 -0
  326. package/dist/contexts.js.map +1 -0
  327. package/dist/contexts.jsx +33 -0
  328. package/dist/contexts.jsx.map +1 -0
  329. package/dist/index.d.ts +7 -6
  330. package/dist/index.d.ts.map +1 -1
  331. package/dist/index.js +70 -23932
  332. package/dist/index.jsx +70 -18337
  333. package/dist/useDragAndDrop.js +2 -0
  334. package/dist/useDragAndDrop.jsx +2 -0
  335. package/dist/useDragAndDrop2.js +395 -0
  336. package/dist/useDragAndDrop2.js.map +1 -0
  337. package/dist/useDragAndDrop2.jsx +395 -0
  338. package/dist/useDragAndDrop2.jsx.map +1 -0
  339. package/dist/utils.d.ts +83 -11
  340. package/dist/utils.d.ts.map +1 -1
  341. package/dist/utils.js +285 -0
  342. package/dist/utils.js.map +1 -0
  343. package/dist/utils.jsx +277 -0
  344. package/dist/utils.jsx.map +1 -0
  345. package/dist/virtualizer/Layout.js +144 -0
  346. package/dist/virtualizer/Layout.js.map +1 -0
  347. package/dist/virtualizer/Layout.jsx +144 -0
  348. package/dist/virtualizer/Layout.jsx.map +1 -0
  349. package/package.json +401 -4
  350. package/src/Breadcrumbs.tsx +3 -1
  351. package/src/Button.tsx +22 -2
  352. package/src/Calendar.tsx +27 -10
  353. package/src/CalendarPicker.tsx +73 -0
  354. package/src/Checkbox.tsx +539 -3
  355. package/src/Collection.tsx +9 -3
  356. package/src/Color.tsx +42 -14
  357. package/src/ComboBox.tsx +50 -6
  358. package/src/DateField.tsx +20 -2
  359. package/src/DatePicker.tsx +57 -5
  360. package/src/Dialog.tsx +13 -5
  361. package/src/Disclosure.tsx +3 -1
  362. package/src/DragAndDrop.tsx +3 -1
  363. package/src/DropZone.tsx +3 -1
  364. package/src/GridList.tsx +125 -24
  365. package/src/Icon.tsx +3 -1
  366. package/src/Link.tsx +3 -1
  367. package/src/ListBox.tsx +31 -4
  368. package/src/Menu.tsx +252 -128
  369. package/src/Meter.tsx +3 -1
  370. package/src/Modal.tsx +100 -52
  371. package/src/NumberField.tsx +51 -8
  372. package/src/Popover.tsx +40 -10
  373. package/src/ProgressBar.tsx +3 -1
  374. package/src/RadioGroup.tsx +468 -4
  375. package/src/RangeCalendar.tsx +3 -1
  376. package/src/SearchField.tsx +27 -3
  377. package/src/Select.tsx +22 -7
  378. package/src/SelectionIndicator.tsx +3 -1
  379. package/src/SharedElementTransition.tsx +3 -1
  380. package/src/Slider.tsx +159 -13
  381. package/src/Switch.tsx +395 -2
  382. package/src/Table.tsx +409 -95
  383. package/src/Tabs.tsx +16 -45
  384. package/src/TagGroup.tsx +3 -1
  385. package/src/Text.tsx +31 -10
  386. package/src/TextField.tsx +43 -5
  387. package/src/TimeField.tsx +20 -2
  388. package/src/Toast.tsx +79 -14
  389. package/src/ToggleButton.tsx +3 -1
  390. package/src/ToggleButtonGroup.tsx +3 -1
  391. package/src/Tooltip.tsx +3 -1
  392. package/src/Tree.tsx +77 -9
  393. package/src/Virtualizer.tsx +180 -31
  394. package/src/VirtualizerLayouts.ts +45 -10
  395. package/src/index.ts +50 -0
  396. package/src/utils.tsx +243 -27
  397. package/dist/index.js.map +0 -1
  398. package/dist/index.jsx.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComboBox.js","names":["JSX","Accessor","Context","createContext","createEffect","createMemo","createSignal","onCleanup","splitProps","useContext","For","Show","createComboBox","createListBox","createOption","getComboBoxData","createHover","createInteractOutside","createScrollIntoViewOnFocus","mergeProps","AriaComboBoxProps","AriaListBoxProps","AriaOptionProps","createComboBoxState","defaultContainsFilter","ComboBoxState","ListState","Key","FilterFn","MenuTriggerAction","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","useRenderProps","filterDOMProps","Provider","TextContext","SelectionIndicatorContext","SelectionIndicatorContextValue","RefLike","el","T","current","assignRef","ref","ComboBoxRenderProps","isOpen","isFocused","isFocusVisible","isDisabled","isRequired","isInvalid","isReadOnly","isSelected","inputValue","ComboBoxProps","Omit","items","defaultItems","getKey","item","getTextValue","getDisabled","disabledKeys","Iterable","selectionMode","selectedKey","defaultSelectedKey","selectedKeys","defaultSelectedKeys","onSelectionChange","key","onSelectionChangeMultiple","keys","Set","defaultInputValue","onInputChange","value","defaultOpen","onOpenChange","trigger","defaultFilter","allowsCustomValue","allowsEmptyCollection","menuTrigger","name","formValue","children","class","style","HTMLDivElement","rootRef","slots","Record","Partial","ComboBoxInputRenderProps","isHovered","ComboBoxInputProps","ComboBoxLabelProps","Element","CSSProperties","ComboBoxDescriptionProps","ComboBoxErrorMessageProps","ComboBoxButtonRenderProps","isPressed","ComboBoxValueRenderProps","textValue","isPlaceholder","selectedItems","selectedText","state","ComboBoxValueProps","placeholder","ComboBoxButtonProps","ComboBoxListBoxRenderProps","ComboBoxListBoxProps","ComboBoxOptionRenderProps","ComboBoxOptionProps","id","onAction","ComboBoxContextValue","listState","inputProps","InputHTMLAttributes","HTMLInputElement","buttonProps","HTMLAttributes","HTMLElement","listBoxProps","labelProps","descriptionProps","errorMessageProps","inputRef","setInputRef","buttonRef","setButtonRef","triggerRef","setTriggerRef","listBoxRef","setListBoxRef","registerOptionAction","action","runOptionAction","InputKeyboardEvent","KeyboardEvent","currentTarget","target","ComboBoxContext","ComboBoxStateContext","ComboBoxValueContext","callInputKeyDown","handler","EventHandlerUnion","event","ComboBox","props","parentContext","contextSlotProps","slot","mergedComboBoxProps","local","stateProps","ariaProps","optionActions","Map","get","createComboBoxListStateAdapter","effectiveFormValue","comboBoxAriaProps","cleanProps","startsWith","comboBoxAria","undefined","getInputProps","originalOnKeyDown","onKeyDown","focusedKey","shouldRunAction","isKeyDisabled","optionAction","hoverProps","renderValues","renderProps","defaultClassName","domProps","filtered","global","cleanHoverProps","_ref","rest","ComboBoxChildren","values","textSlots","description","errorMessage","_$createComponent","shouldUseVirtualFocus","shouldSelectOnPressUp","shouldFocusOnHover","linkBehavior","UNSTABLE_itemBehavior","set","delete","_el$","_$getNextElement","_tmpl$2","_el$3","firstChild","_el$4","_co$","_$getNextMarker","nextSibling","_el$5","_el$6","_co$2","_$use","_$spread","_$mergeProps","data-open","data-focused","data-focus-visible","data-disabled","data-required","data-invalid","data-readonly","data-hovered","_$insert","when","_$memo","_el$2","_tmpl$","_$effect","_p$","_v$","_v$2","form","e","_$setAttribute","t","_$setProperty","toString","Array","_$runHydrationEvents","ComboBoxLabel","context","Error","cleanLabelProps","_el$7","_tmpl$3","ComboBoxDescription","cleanDescriptionProps","_el$8","_tmpl$4","ComboBoxErrorMessage","cleanErrorMessageProps","_el$9","ComboBoxInput","cleanInputProps","_ref1","_value","_ref2","_el$0","_tmpl$5","ComboBoxValue","isMulti","selectedItem","map","node","n","join","length","_el$1","_tmpl$6","_c$","renderChildren","_v$3","_v$4","_v$5","_$className","_$style","a","ComboBoxButton","cleanButtonProps","_el$10","_tmpl$7","data-pressed","ComboBoxListBox","rawContext","comboBoxState","HTMLUListElement","isActive","onInteractOutside","input","button","contains","close","cleanContextProps","cleanListBoxProps","from","collection","getNodeValue","index","find","candidate","setListBoxElement","_el$11","_tmpl$8","fallback","each","ComboBoxOption","Function","stateContext","comboBoxContext","setRef","HTMLLIElement","optionId","listBoxId","String","optionAria","aria-label","allowsDifferentPressOrigin","onHoverStart","onHoverEnd","onHoverChange","isOptionFocusVisible","selectionIndicatorContext","cleanOptionProps","optionProps","_el$12","_tmpl$9","data-selected","ComboBoxTagGroupProps","label","ComboBoxTagGroup","_el$13","_tmpl$0","_v$6","_v$7","ComboBoxTagProps","onRemove","ComboBoxTag","handleRemove","removeSelectedKey","_el$14","_tmpl$1","_el$16","_el$17","_co$3","_el$15","$$click","_v$8","_v$9","_v$0","_v$1","o","Input","Button","ListBox","Option","Label","Description","ErrorMessage","TagGroup","Tag","add","selectionManager","setFocused","setFocusedKey","childFocusStrategy","selectionBehavior","disallowEmptySelection","disabledBehavior","isEmpty","size","isSelectAll","setSelectionBehavior","toggleSelection","select","replaceSelection","setSelectedKeys","first","Symbol","iterator","next","setSelectedKey","selectAll","clearSelection","toggleSelectAll","extendSelection","toKey","_$delegateEvents"],"sources":["../src/ComboBox.tsx"],"sourcesContent":["/**\n * ComboBox component for solidaria-components\n *\n * A pre-wired headless combobox that combines state + aria hooks.\n * Port of react-aria-components/src/ComboBox.tsx\n */\n\nimport {\n type JSX,\n type Accessor,\n type Context,\n createContext,\n createEffect,\n createMemo,\n createSignal,\n onCleanup,\n splitProps,\n useContext,\n For,\n Show,\n} from \"solid-js\";\nimport {\n createComboBox,\n createListBox,\n createOption,\n getComboBoxData,\n createHover,\n createInteractOutside,\n createScrollIntoViewOnFocus,\n mergeProps,\n type AriaComboBoxProps,\n type AriaListBoxProps,\n type AriaOptionProps,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n createComboBoxState,\n defaultContainsFilter,\n type ComboBoxState,\n type ListState,\n type Key,\n type FilterFn,\n type MenuTriggerAction,\n} from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n Provider,\n} from \"./utils\";\nimport { TextContext } from \"./Text\";\nimport {\n SelectionIndicatorContext,\n type SelectionIndicatorContextValue,\n} from \"./SelectionIndicator\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface ComboBoxRenderProps {\n /** Whether the combobox listbox is open. */\n isOpen: boolean;\n /** Whether the combobox input is focused. */\n isFocused: boolean;\n /** Whether the combobox input has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the combobox is disabled. */\n isDisabled: boolean;\n /** Whether the combobox is required. */\n isRequired: boolean;\n /** Whether the combobox is invalid. */\n isInvalid: boolean;\n /** Whether the combobox is read only. */\n isReadOnly: boolean;\n /** Whether a value is selected. */\n isSelected: boolean;\n /** The current input value. */\n inputValue: string;\n}\n\nexport interface ComboBoxProps<T> extends Omit<AriaComboBoxProps, \"children\">, SlotProps {\n /** The items to render in the combobox. */\n items?: T[];\n /** The default items to render in the combobox when uncontrolled. */\n defaultItems?: T[];\n /** Function to get the key from an item. */\n getKey?: (item: T) => Key;\n /** Function to get the text value from an item. */\n getTextValue?: (item: T) => string;\n /** Function to check if an item is disabled. */\n getDisabled?: (item: T) => boolean;\n /** Keys of disabled items. */\n disabledKeys?: Iterable<Key>;\n /** The selection mode for the combobox. */\n selectionMode?: \"single\" | \"multiple\";\n /** The currently selected key (controlled, single mode). */\n selectedKey?: Key | null;\n /** The default selected key (uncontrolled, single mode). */\n defaultSelectedKey?: Key | null;\n /** The currently selected keys (controlled, multiple mode). */\n selectedKeys?: Iterable<Key>;\n /** The default selected keys (uncontrolled, multiple mode). */\n defaultSelectedKeys?: Iterable<Key>;\n /** Handler called when selection changes (single mode). */\n onSelectionChange?: (key: Key | null) => void;\n /** Handler called when selection changes (multiple mode). */\n onSelectionChangeMultiple?: (keys: Set<Key>) => void;\n /** The current input value (controlled). */\n inputValue?: string;\n /** The default input value (uncontrolled). */\n defaultInputValue?: string;\n /** Handler called when input value changes. */\n onInputChange?: (value: string) => void;\n /** Whether the combobox is open (controlled). */\n isOpen?: boolean;\n /** Whether the combobox is open by default (uncontrolled). */\n defaultOpen?: boolean;\n /** Handler called when the open state changes. */\n onOpenChange?: (isOpen: boolean, trigger?: MenuTriggerAction) => void;\n /** The filter function to use for filtering items. */\n defaultFilter?: FilterFn;\n /** Whether to allow custom values that don't match any item. */\n allowsCustomValue?: boolean;\n /** Whether to allow an empty collection (show listbox even with no matches). */\n allowsEmptyCollection?: boolean;\n /** The trigger mechanism for the combobox menu. */\n menuTrigger?: \"focus\" | \"input\" | \"manual\";\n /** The name of the combobox, used when submitting an HTML form. */\n name?: string;\n /**\n * Controls what value is submitted in forms.\n * - 'key': submit the selected key via hidden input (default)\n * - 'text': submit the text input value\n *\n * When allowsCustomValue is true, formValue is forced to 'text'.\n */\n formValue?: \"key\" | \"text\";\n /** The children of the component (compound components: ComboBoxInput, ComboBoxButton, ComboBoxListBox). */\n children: RenderChildren<ComboBoxRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<ComboBoxRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<ComboBoxRenderProps>;\n /** Ref for the root combobox element. */\n ref?: RefLike<HTMLDivElement>;\n /** Internal alias for libraries that wrap ComboBox and need a root ref. */\n rootRef?: RefLike<HTMLDivElement>;\n /** Slot definitions provided through ComboBoxContext. */\n slots?: Record<string, Partial<ComboBoxProps<T>>>;\n}\n\nexport interface ComboBoxInputRenderProps {\n /** Whether the combobox is open. */\n isOpen: boolean;\n /** Whether the input is focused. */\n isFocused: boolean;\n /** Whether the input has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the input is hovered. */\n isHovered: boolean;\n /** Whether the input is disabled. */\n isDisabled: boolean;\n /** The current input value. */\n inputValue: string;\n}\n\nexport interface ComboBoxInputProps extends SlotProps {\n /** The children of the input. */\n children?: RenderChildren<ComboBoxInputRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<ComboBoxInputRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<ComboBoxInputRenderProps>;\n}\n\nexport interface ComboBoxLabelProps extends SlotProps {\n /** The children of the label element. */\n children?: JSX.Element;\n /** The CSS className for the element. */\n class?: string;\n /** The inline style for the element. */\n style?: JSX.CSSProperties;\n}\n\nexport interface ComboBoxDescriptionProps extends SlotProps {\n /** The children of the description element. */\n children?: JSX.Element;\n /** The CSS className for the element. */\n class?: string;\n /** The inline style for the element. */\n style?: JSX.CSSProperties;\n}\n\nexport interface ComboBoxErrorMessageProps extends SlotProps {\n /** The children of the error message element. */\n children?: JSX.Element;\n /** The CSS className for the element. */\n class?: string;\n /** The inline style for the element. */\n style?: JSX.CSSProperties;\n}\n\nexport interface ComboBoxButtonRenderProps {\n /** Whether the combobox is open. */\n isOpen: boolean;\n /** Whether the button is focused. */\n isFocused: boolean;\n /** Whether the button is hovered. */\n isHovered: boolean;\n /** Whether the button is pressed. */\n isPressed: boolean;\n /** Whether the button is disabled. */\n isDisabled: boolean;\n}\n\nexport interface ComboBoxValueRenderProps {\n textValue: string;\n isPlaceholder: boolean;\n selectedItems: unknown[];\n selectedText: string;\n state: ComboBoxState<unknown>;\n}\n\nexport interface ComboBoxValueProps extends SlotProps {\n children?: RenderChildren<ComboBoxValueRenderProps>;\n class?: ClassNameOrFunction<ComboBoxValueRenderProps>;\n style?: StyleOrFunction<ComboBoxValueRenderProps>;\n placeholder?: JSX.Element;\n}\n\nexport interface ComboBoxButtonProps extends SlotProps {\n /** The children of the button. */\n children?: RenderChildren<ComboBoxButtonRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<ComboBoxButtonRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<ComboBoxButtonRenderProps>;\n}\n\nexport interface ComboBoxListBoxRenderProps {\n /** Whether the listbox is focused. */\n isFocused: boolean;\n}\n\nexport interface ComboBoxListBoxProps<T> extends SlotProps {\n /** The children of the listbox. A function may be provided to render each item. */\n children?: (item: T) => JSX.Element;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<ComboBoxListBoxRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<ComboBoxListBoxRenderProps>;\n}\n\nexport interface ComboBoxOptionRenderProps {\n /** Whether the option is selected. */\n isSelected: boolean;\n /** Whether the option is focused. */\n isFocused: boolean;\n /** Whether the option has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the option is pressed. */\n isPressed: boolean;\n /** Whether the option is hovered. */\n isHovered: boolean;\n /** Whether the option is disabled. */\n isDisabled: boolean;\n}\n\nexport interface ComboBoxOptionProps<T>\n extends Omit<AriaOptionProps, \"children\" | \"key\">, SlotProps {\n /** The unique key for the option. */\n id: Key;\n /** The item value. */\n item?: T;\n /** The children of the option. A function may be provided to receive render props. */\n children?: RenderChildren<ComboBoxOptionRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<ComboBoxOptionRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<ComboBoxOptionRenderProps>;\n /** The text value of the option (for typeahead). */\n textValue?: string;\n /** Handler called when the option is activated. */\n onAction?: () => void;\n}\n\ninterface ComboBoxContextValue<T> {\n state: ComboBoxState<T>;\n listState: ListState<T>;\n inputProps: () => JSX.InputHTMLAttributes<HTMLInputElement>;\n buttonProps: () => JSX.HTMLAttributes<HTMLElement>;\n listBoxProps: () => JSX.HTMLAttributes<HTMLElement>;\n labelProps: () => JSX.HTMLAttributes<HTMLElement>;\n descriptionProps: () => JSX.HTMLAttributes<HTMLElement>;\n errorMessageProps: () => JSX.HTMLAttributes<HTMLElement>;\n isOpen: Accessor<boolean>;\n isFocused: Accessor<boolean>;\n isFocusVisible: Accessor<boolean>;\n items: T[];\n inputRef: () => HTMLInputElement | null;\n setInputRef: (el: HTMLInputElement | null) => void;\n buttonRef: () => HTMLElement | null;\n setButtonRef: (el: HTMLElement | null) => void;\n triggerRef: () => HTMLElement | null;\n setTriggerRef: (el: HTMLElement | null) => void;\n listBoxRef: () => HTMLElement | null;\n setListBoxRef: (el: HTMLElement | null) => void;\n registerOptionAction: (key: Key, action: (() => void) | undefined) => void;\n runOptionAction: (key: Key) => void;\n slots?: Record<string, Partial<ComboBoxProps<T>>>;\n}\n\ntype InputKeyboardEvent = KeyboardEvent & {\n currentTarget: HTMLInputElement;\n target: Element;\n};\n\nexport const ComboBoxContext = createContext<ComboBoxContextValue<unknown> | null>(null);\nexport const ComboBoxStateContext = createContext<ComboBoxState<unknown> | null>(null);\nexport const ComboBoxValueContext = ComboBoxContext;\n\nfunction callInputKeyDown(\n handler: JSX.EventHandlerUnion<HTMLInputElement, KeyboardEvent> | undefined,\n event: InputKeyboardEvent,\n) {\n if (typeof handler === \"function\") {\n handler(event);\n } else if (handler) {\n handler[0](handler[1], event);\n }\n}\n\n/**\n * A combobox combines a text input with a listbox, allowing users to filter a list of options.\n */\nexport function ComboBox<T>(props: ComboBoxProps<T>): JSX.Element {\n const parentContext = useContext(ComboBoxContext) as ComboBoxContextValue<T> | null;\n const contextSlotProps = parentContext?.slots?.[props.slot ?? \"default\"];\n const mergedComboBoxProps = contextSlotProps\n ? (mergeProps(contextSlotProps, props) as ComboBoxProps<T>)\n : props;\n const [local, stateProps, ariaProps] = splitProps(\n mergedComboBoxProps,\n [\"class\", \"style\", \"slot\", \"children\", \"ref\", \"rootRef\", \"slots\"],\n [\n \"items\",\n \"defaultItems\",\n \"getKey\",\n \"getTextValue\",\n \"getDisabled\",\n \"disabledKeys\",\n \"selectionMode\",\n \"selectedKey\",\n \"defaultSelectedKey\",\n \"selectedKeys\",\n \"defaultSelectedKeys\",\n \"onSelectionChange\",\n \"onSelectionChangeMultiple\",\n \"inputValue\",\n \"defaultInputValue\",\n \"onInputChange\",\n \"isOpen\",\n \"defaultOpen\",\n \"onOpenChange\",\n \"defaultFilter\",\n \"allowsCustomValue\",\n \"allowsEmptyCollection\",\n \"menuTrigger\",\n \"name\",\n \"formValue\",\n ],\n );\n\n let inputRef: HTMLInputElement | null = null;\n let buttonRef: HTMLElement | null = null;\n let triggerRef: HTMLElement | null = null;\n let listBoxRef: HTMLElement | null = null;\n const optionActions = new Map<Key, () => void>();\n const runOptionAction = (key: Key) => {\n optionActions.get(key)?.();\n };\n\n const state = createComboBoxState<T>({\n get items() {\n return stateProps.items;\n },\n get defaultItems() {\n return stateProps.defaultItems;\n },\n get getKey() {\n return stateProps.getKey;\n },\n get getTextValue() {\n return stateProps.getTextValue;\n },\n get getDisabled() {\n return stateProps.getDisabled;\n },\n get disabledKeys() {\n return stateProps.disabledKeys;\n },\n get selectionMode() {\n return stateProps.selectionMode;\n },\n get selectedKey() {\n return stateProps.selectedKey;\n },\n get defaultSelectedKey() {\n return stateProps.defaultSelectedKey;\n },\n get selectedKeys() {\n return stateProps.selectedKeys;\n },\n get defaultSelectedKeys() {\n return stateProps.defaultSelectedKeys;\n },\n get onSelectionChange() {\n return stateProps.onSelectionChange;\n },\n get onSelectionChangeMultiple() {\n return stateProps.onSelectionChangeMultiple;\n },\n get inputValue() {\n return stateProps.inputValue;\n },\n get defaultInputValue() {\n return stateProps.defaultInputValue;\n },\n get onInputChange() {\n return stateProps.onInputChange;\n },\n get isOpen() {\n return stateProps.isOpen;\n },\n get defaultOpen() {\n return stateProps.defaultOpen;\n },\n get onOpenChange() {\n return stateProps.onOpenChange;\n },\n get defaultFilter() {\n return stateProps.defaultFilter;\n },\n get allowsCustomValue() {\n return stateProps.allowsCustomValue;\n },\n get allowsEmptyCollection() {\n return stateProps.allowsEmptyCollection;\n },\n get menuTrigger() {\n return stateProps.menuTrigger;\n },\n get isDisabled() {\n return ariaProps.isDisabled;\n },\n get isReadOnly() {\n return ariaProps.isReadOnly;\n },\n get isRequired() {\n return ariaProps.isRequired;\n },\n });\n const listState = createComboBoxListStateAdapter(state);\n\n const effectiveFormValue = createMemo<\"key\" | \"text\">(() => {\n if (stateProps.allowsCustomValue) {\n return \"text\";\n }\n return stateProps.formValue ?? \"key\";\n });\n\n const comboBoxAriaProps = createMemo(() => {\n const cleanProps: Record<string, unknown> = {};\n for (const key in ariaProps) {\n if (!key.startsWith(\"data-\")) {\n cleanProps[key] = (ariaProps as Record<string, unknown>)[key];\n }\n }\n return cleanProps as AriaComboBoxProps;\n });\n\n const comboBoxAria = createComboBox<T>(\n () => ({\n ...comboBoxAriaProps(),\n get name() {\n return effectiveFormValue() === \"text\" ? stateProps.name : undefined;\n },\n }),\n state,\n () => inputRef,\n () => buttonRef,\n () => listBoxRef,\n );\n\n const getInputProps = () => {\n const inputProps = comboBoxAria.inputProps;\n const originalOnKeyDown = inputProps.onKeyDown;\n\n return {\n ...inputProps,\n onKeyDown: (event: InputKeyboardEvent) => {\n const focusedKey = state.focusedKey();\n const shouldRunAction =\n event.key === \"Enter\" &&\n state.isOpen() &&\n focusedKey != null &&\n !state.isKeyDisabled(focusedKey);\n const optionAction = shouldRunAction ? optionActions.get(focusedKey) : undefined;\n\n callInputKeyDown(originalOnKeyDown, event);\n\n optionAction?.();\n },\n } as JSX.InputHTMLAttributes<HTMLInputElement>;\n };\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return ariaProps.isDisabled;\n },\n });\n\n const renderValues = createMemo<ComboBoxRenderProps>(() => ({\n isOpen: comboBoxAria.isOpen(),\n isFocused: comboBoxAria.isFocused(),\n isFocusVisible: comboBoxAria.isFocusVisible(),\n isDisabled: !!ariaProps.isDisabled,\n isRequired: !!ariaProps.isRequired,\n isInvalid: !!ariaProps.isInvalid,\n isReadOnly: !!ariaProps.isReadOnly,\n isSelected: state.selectedKey() != null,\n inputValue: state.inputValue(),\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ComboBox\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps as Record<string, unknown>, { global: true });\n return filtered;\n });\n\n const cleanHoverProps = () => {\n const { ref: _ref, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n\n const ComboBoxChildren = () =>\n typeof local.children === \"function\"\n ? (local.children as (values: ComboBoxRenderProps) => JSX.Element)(renderValues())\n : local.children;\n\n const textSlots = {\n slots: {\n get description() {\n return comboBoxAria.descriptionProps;\n },\n get errorMessage() {\n return comboBoxAria.errorMessageProps;\n },\n },\n };\n\n return (\n <ComboBoxContext.Provider\n value={\n {\n state,\n listState,\n inputProps: getInputProps,\n buttonProps: () => comboBoxAria.buttonProps,\n listBoxProps: () => ({\n ...comboBoxAria.listBoxProps,\n onAction: undefined,\n shouldUseVirtualFocus: true,\n shouldSelectOnPressUp: true,\n shouldFocusOnHover: true,\n linkBehavior: \"selection\",\n UNSTABLE_itemBehavior: \"action\",\n }),\n labelProps: () => comboBoxAria.labelProps,\n descriptionProps: () => comboBoxAria.descriptionProps,\n errorMessageProps: () => comboBoxAria.errorMessageProps,\n isOpen: comboBoxAria.isOpen,\n isFocused: comboBoxAria.isFocused,\n isFocusVisible: comboBoxAria.isFocusVisible,\n items: stateProps.items ?? stateProps.defaultItems ?? [],\n inputRef: () => inputRef,\n setInputRef: (el) => {\n inputRef = el;\n },\n buttonRef: () => buttonRef,\n setButtonRef: (el) => {\n buttonRef = el;\n },\n triggerRef: () => triggerRef,\n setTriggerRef: (el) => {\n triggerRef = el;\n },\n listBoxRef: () => listBoxRef,\n setListBoxRef: (el) => {\n listBoxRef = el;\n },\n registerOptionAction: (key, action) => {\n if (action) {\n optionActions.set(key, action);\n } else {\n optionActions.delete(key);\n }\n },\n runOptionAction,\n slots: local.slots,\n } as ComboBoxContextValue<unknown>\n }\n >\n <ComboBoxStateContext.Provider value={state}>\n <div\n {...domProps()}\n {...cleanHoverProps()}\n ref={(el) => {\n assignRef(local.ref, el);\n assignRef(local.rootRef, el);\n }}\n class={renderProps.class()}\n style={renderProps.style()}\n data-open={comboBoxAria.isOpen() || undefined}\n data-focused={comboBoxAria.isFocused() || undefined}\n data-focus-visible={comboBoxAria.isFocusVisible() || undefined}\n data-disabled={ariaProps.isDisabled || undefined}\n data-required={ariaProps.isRequired || undefined}\n data-invalid={ariaProps.isInvalid || undefined}\n data-readonly={ariaProps.isReadOnly || undefined}\n data-hovered={isHovered() || undefined}\n slot={local.slot}\n >\n {/* Hidden input for key-based form submission parity */}\n <Show when={stateProps.name && effectiveFormValue() === \"key\"}>\n <input\n type=\"hidden\"\n name={stateProps.name}\n form={ariaProps.form}\n value={state.selectedKey()?.toString() ?? \"\"}\n />\n </Show>\n <Provider values={[[TextContext, textSlots]] as Array<[Context<unknown>, unknown]>}>\n <ComboBoxChildren />\n </Provider>\n </div>\n </ComboBoxStateContext.Provider>\n </ComboBoxContext.Provider>\n );\n}\n\n/**\n * Label element for a combobox.\n */\nexport function ComboBoxLabel(props: ComboBoxLabelProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"children\"]);\n\n const context = useContext(ComboBoxContext);\n if (!context) {\n throw new Error(\"ComboBoxLabel must be used within a ComboBox\");\n }\n\n const cleanLabelProps = () => {\n const { ref: _ref, ...rest } = context.labelProps() as Record<string, unknown>;\n return rest;\n };\n\n return (\n <label {...domProps} {...cleanLabelProps()} class={local.class} style={local.style}>\n {local.children}\n </label>\n );\n}\n\n/**\n * Description element for a combobox.\n */\nexport function ComboBoxDescription(props: ComboBoxDescriptionProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"children\"]);\n\n const context = useContext(ComboBoxContext);\n if (!context) {\n throw new Error(\"ComboBoxDescription must be used within a ComboBox\");\n }\n\n const cleanDescriptionProps = () => {\n const { ref: _ref, ...rest } = context.descriptionProps() as Record<string, unknown>;\n return rest;\n };\n\n return (\n <div {...domProps} {...cleanDescriptionProps()} class={local.class} style={local.style}>\n {local.children}\n </div>\n );\n}\n\n/**\n * Error message element for a combobox.\n */\nexport function ComboBoxErrorMessage(props: ComboBoxErrorMessageProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"children\"]);\n\n const context = useContext(ComboBoxContext);\n if (!context) {\n throw new Error(\"ComboBoxErrorMessage must be used within a ComboBox\");\n }\n\n const cleanErrorMessageProps = () => {\n const { ref: _ref, ...rest } = context.errorMessageProps() as Record<string, unknown>;\n return rest;\n };\n\n return (\n <div {...domProps} {...cleanErrorMessageProps()} class={local.class} style={local.style}>\n {local.children}\n </div>\n );\n}\n\n/**\n * The text input for a combobox.\n */\nexport function ComboBoxInput(props: ComboBoxInputProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"children\"]);\n\n const context = useContext(ComboBoxContext);\n if (!context) {\n throw new Error(\"ComboBoxInput must be used within a ComboBox\");\n }\n const { isOpen, isFocused, isFocusVisible, state, setInputRef } = context;\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return state.isDisabled;\n },\n });\n\n const renderValues = createMemo<ComboBoxInputRenderProps>(() => ({\n isOpen: isOpen(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isHovered: isHovered(),\n isDisabled: state.isDisabled,\n inputValue: state.inputValue(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return local.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ComboBox-input\",\n },\n renderValues,\n );\n\n const cleanInputProps = () => {\n const { ref: _ref1, value: _value, ...rest } = context.inputProps() as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <input\n {...domProps}\n ref={(el) => setInputRef(el)}\n {...cleanInputProps()}\n {...cleanHoverProps()}\n value={state.inputValue()}\n class={renderProps.class()}\n style={renderProps.style()}\n data-open={isOpen() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-hovered={isHovered() || undefined}\n data-disabled={state.isDisabled || undefined}\n />\n );\n}\n\nexport function ComboBoxValue(props: ComboBoxValueProps): JSX.Element {\n const context = useContext(ComboBoxContext);\n if (!context) {\n throw new Error(\"ComboBoxValue must be used within a ComboBox\");\n }\n\n const state = context.state;\n const isMulti = createMemo(() => state.selectionMode() === \"multiple\");\n const selectedItem = createMemo(() => state.selectedItem());\n const selectedItems = createMemo(() => {\n if (isMulti()) {\n return state.selectedItems().map((node) => node.value ?? null);\n }\n const item = selectedItem();\n return item ? [item.value ?? null] : [];\n });\n const selectedText = createMemo(() => {\n if (isMulti()) {\n const items = state.selectedItems();\n return items.map((n) => n.textValue).join(\", \");\n }\n return selectedItem()?.textValue ?? \"\";\n });\n const textValue = createMemo(() => selectedText() || state.inputValue() || \"\");\n const isPlaceholder = createMemo(() => textValue().length === 0);\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: props.class,\n style: props.style,\n defaultClassName: \"solidaria-ComboBox-value\",\n },\n () => ({\n textValue: textValue(),\n isPlaceholder: isPlaceholder(),\n selectedItems: selectedItems(),\n selectedText: selectedText(),\n state: state as ComboBoxState<unknown>,\n }),\n );\n\n return (\n <span\n class={renderProps.class()}\n style={renderProps.style()}\n data-placeholder={isPlaceholder() || undefined}\n >\n {props.children\n ? renderProps.renderChildren()\n : isPlaceholder()\n ? props.placeholder\n : textValue()}\n </span>\n );\n}\n\n/**\n * The trigger button for a combobox.\n */\nexport function ComboBoxButton(props: ComboBoxButtonProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"children\"]);\n\n const context = useContext(ComboBoxContext);\n if (!context) {\n throw new Error(\"ComboBoxButton must be used within a ComboBox\");\n }\n const { isOpen, isFocused, state, setButtonRef } = context;\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return state.isDisabled;\n },\n });\n\n const renderValues = createMemo<ComboBoxButtonRenderProps>(() => ({\n isOpen: isOpen(),\n isFocused: isFocused(),\n isHovered: isHovered(),\n isPressed: isOpen(),\n isDisabled: state.isDisabled,\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return local.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ComboBox-button\",\n },\n renderValues,\n );\n\n const cleanButtonProps = () => {\n const { ref: _ref1, ...rest } = context.buttonProps() as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <button\n {...domProps}\n ref={(el) => setButtonRef(el)}\n {...cleanButtonProps()}\n {...cleanHoverProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n data-open={isOpen() || undefined}\n data-pressed={isOpen() || undefined}\n data-focused={isFocused() || undefined}\n data-hovered={isHovered() || undefined}\n data-disabled={state.isDisabled || undefined}\n >\n {renderProps.renderChildren()}\n </button>\n );\n}\n\n/**\n * The listbox popup for a combobox.\n */\nexport function ComboBoxListBox<T>(props: ComboBoxListBoxProps<T>): JSX.Element {\n const [local, domProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"children\"]);\n\n const rawContext = useContext(ComboBoxContext);\n if (!rawContext) {\n throw new Error(\"ComboBoxListBox must be used within a ComboBox\");\n }\n const context = rawContext as ComboBoxContextValue<T>;\n const { state: comboBoxState, listState, isOpen, inputRef, buttonRef, setListBoxRef } = context;\n const state = comboBoxState;\n\n let listBoxRef: HTMLUListElement | undefined;\n\n // Reveal the activedescendant-focused option on keyboard navigation while the\n // listbox is open. Real DOM focus stays on the input, so the browser won't\n // natively scroll an off-screen focused option into view.\n createScrollIntoViewOnFocus({\n focusedKey: () => state.focusedKey(),\n isActive: () => isOpen(),\n ref: () => listBoxRef ?? null,\n });\n\n createInteractOutside({\n ref: () => listBoxRef ?? null,\n onInteractOutside: (e) => {\n // Don't close if clicking the input or button\n const target = e.target as HTMLElement;\n const input = inputRef();\n const button = buttonRef();\n if (input?.contains(target)) {\n return;\n }\n if (button?.contains(target)) {\n return;\n }\n if (isOpen()) {\n state.close();\n }\n },\n get isDisabled() {\n return !isOpen();\n },\n });\n\n // Create listbox aria props using ComboBoxState's ListState-compatible interface\n const { listBoxProps } = createListBox(\n context.listBoxProps as unknown as AriaListBoxProps,\n listState,\n );\n\n const renderValues = createMemo<ComboBoxListBoxRenderProps>(() => ({\n isFocused: state.isFocused(),\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ComboBox-listbox\",\n },\n renderValues,\n );\n\n const cleanContextProps = () => {\n const { ref: _ref1, ...rest } = context.listBoxProps() as Record<string, unknown>;\n return rest;\n };\n const cleanListBoxProps = () => {\n const { ref: _ref2, ...rest } = listBoxProps as Record<string, unknown>;\n return rest;\n };\n\n const items = () => Array.from(state.collection());\n const getNodeValue = (node: { key: Key; value?: T | null; index?: number }): T | null => {\n if (node.value != null) {\n return node.value;\n }\n\n return (\n context.items.find((item, index) => {\n const candidate = item as { key?: Key; id?: Key };\n const key = candidate.key ?? candidate.id ?? index;\n return key === node.key;\n }) ?? null\n );\n };\n\n const setListBoxElement = (el: HTMLUListElement) => {\n listBoxRef = el;\n setListBoxRef(el);\n };\n\n onCleanup(() => {\n setListBoxRef(null);\n });\n\n return (\n <Show when={isOpen()}>\n <ul\n {...domProps}\n ref={setListBoxElement}\n {...cleanContextProps()}\n {...cleanListBoxProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n data-focused={state.isFocused() || undefined}\n >\n <Show\n when={local.children}\n fallback={\n <For each={items()}>\n {(node) => <ComboBoxOption id={node.key}>{node.textValue}</ComboBoxOption>}\n </For>\n }\n >\n <For each={items()}>\n {(node) => {\n const value = getNodeValue(node);\n return value != null ? (local.children as Function)!(value) : null;\n }}\n </For>\n </Show>\n </ul>\n </Show>\n );\n}\n\n/**\n * An option in a combobox listbox.\n */\nexport function ComboBoxOption<T>(props: ComboBoxOptionProps<T>): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\n \"class\",\n \"style\",\n \"slot\",\n \"id\",\n \"item\",\n \"textValue\",\n \"onAction\",\n ]);\n\n const stateContext = useContext(ComboBoxStateContext);\n const comboBoxContext = useContext(ComboBoxContext);\n if (!stateContext || !comboBoxContext) {\n throw new Error(\"ComboBoxOption must be used within a ComboBox\");\n }\n const state = stateContext as ComboBoxState<T>;\n const listState = (comboBoxContext as ComboBoxContextValue<T>).listState;\n const [ref, setRef] = createSignal<HTMLLIElement | null>(null);\n const optionId = () => {\n const listBoxId = getComboBoxData(state as ComboBoxState<unknown>)?.listBoxId;\n return listBoxId ? `${listBoxId}-option-${local.id}` : String(local.id);\n };\n\n createEffect(() => {\n const key = local.id;\n comboBoxContext?.registerOptionAction(key, local.onAction);\n onCleanup(() => {\n comboBoxContext?.registerOptionAction(key, undefined);\n });\n });\n\n // Create option aria props using ComboBoxState's ListState-compatible interface\n const optionAria = createOption<T>(\n {\n key: local.id,\n get optionId() {\n return optionId();\n },\n get isDisabled() {\n return ariaProps.isDisabled;\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n shouldSelectOnPressUp: true,\n shouldFocusOnHover: true,\n shouldUseVirtualFocus: true,\n allowsDifferentPressOrigin: true,\n get onHoverStart() {\n return ariaProps.onHoverStart;\n },\n get onHoverEnd() {\n return ariaProps.onHoverEnd;\n },\n get onHoverChange() {\n return ariaProps.onHoverChange;\n },\n get onAction() {\n return local.onAction;\n },\n },\n listState,\n () => ref(),\n );\n\n const isOptionFocusVisible = () =>\n optionAria.isFocusVisible() ||\n (optionAria.isFocused() && (comboBoxContext?.isFocusVisible() ?? false));\n\n const renderValues = createMemo<ComboBoxOptionRenderProps>(() => ({\n isSelected: optionAria.isSelected(),\n isFocused: optionAria.isFocused(),\n isFocusVisible: isOptionFocusVisible(),\n isPressed: optionAria.isPressed(),\n isHovered: optionAria.isHovered(),\n isDisabled: optionAria.isDisabled(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ComboBox-option\",\n },\n renderValues,\n );\n\n const selectionIndicatorContext = createMemo<SelectionIndicatorContextValue>(() => ({\n isSelected: optionAria.isSelected,\n }));\n\n const cleanOptionProps = () => {\n const { ref: _ref1, ...rest } = optionAria.optionProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>\n <li\n ref={setRef}\n {...cleanOptionProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n data-selected={optionAria.isSelected() || undefined}\n data-focused={optionAria.isFocused() || undefined}\n data-focus-visible={isOptionFocusVisible() || undefined}\n data-pressed={optionAria.isPressed() || undefined}\n data-hovered={optionAria.isHovered() || undefined}\n data-disabled={optionAria.isDisabled() || undefined}\n >\n {renderProps.renderChildren()}\n </li>\n </SelectionIndicatorContext.Provider>\n );\n}\n\nexport interface ComboBoxTagGroupProps {\n /** Render function for each selected item. */\n children: (item: { key: Key; label: string }) => JSX.Element;\n /** The CSS className for the container. */\n class?: string;\n /** The inline style for the container. */\n style?: JSX.CSSProperties;\n}\n\n/**\n * Renders selected items as tags in multi-select mode.\n */\nexport function ComboBoxTagGroup(props: ComboBoxTagGroupProps): JSX.Element {\n const context = useContext(ComboBoxContext);\n if (!context) {\n throw new Error(\"ComboBoxTagGroup must be used within a ComboBox\");\n }\n\n const state = context.state;\n const items = createMemo(() =>\n state.selectedItems().map((node) => ({\n key: node.key,\n label: node.textValue,\n })),\n );\n\n return (\n <Show when={items().length > 0}>\n <div\n class={props.class ?? \"solidaria-ComboBox-tagGroup\"}\n style={props.style}\n role=\"group\"\n aria-label=\"Selected items\"\n >\n <For each={items()}>{(item) => props.children(item)}</For>\n </div>\n </Show>\n );\n}\n\nexport interface ComboBoxTagProps {\n /** The item data. */\n item: { key: Key; label: string };\n /** Handler called when the tag remove button is clicked. */\n onRemove?: () => void;\n /** The children to render inside the tag. */\n children?: JSX.Element;\n /** The CSS className for the tag. */\n class?: string;\n /** The inline style for the tag. */\n style?: JSX.CSSProperties;\n}\n\n/**\n * A tag representing a selected item in a multi-select combobox.\n */\nexport function ComboBoxTag(props: ComboBoxTagProps): JSX.Element {\n const context = useContext(ComboBoxContext);\n if (!context) {\n throw new Error(\"ComboBoxTag must be used within a ComboBox\");\n }\n\n const state = context.state;\n\n const handleRemove = () => {\n if (props.onRemove) {\n props.onRemove();\n } else {\n state.removeSelectedKey(props.item.key);\n }\n };\n\n return (\n <span\n class={props.class ?? \"solidaria-ComboBox-tag\"}\n style={props.style}\n data-key={String(props.item.key)}\n >\n {props.children ?? props.item.label}\n <button\n type=\"button\"\n aria-label={`Remove ${props.item.label}`}\n onClick={handleRemove}\n class=\"solidaria-ComboBox-tag-remove\"\n tabIndex={-1}\n >\n &#215;\n </button>\n </span>\n );\n}\n\nComboBox.Input = ComboBoxInput;\nComboBox.Button = ComboBoxButton;\nComboBox.ListBox = ComboBoxListBox;\nComboBox.Option = ComboBoxOption;\nComboBox.Label = ComboBoxLabel;\nComboBox.Description = ComboBoxDescription;\nComboBox.ErrorMessage = ComboBoxErrorMessage;\nComboBox.TagGroup = ComboBoxTagGroup;\nComboBox.Tag = ComboBoxTag;\n\nexport { defaultContainsFilter };\n\nfunction createComboBoxListStateAdapter<T>(state: ComboBoxState<T>): ListState<T> {\n const selectedKeys = createMemo(() => {\n if (state.selectionMode() === \"multiple\") {\n return state.selectedKeys();\n }\n const key = state.selectedKey();\n return key != null ? new Set<Key>([key]) : new Set<Key>();\n });\n\n const disabledKeys = createMemo(() => {\n const keys = new Set<Key>();\n for (const node of state.collection()) {\n if (node.isDisabled) keys.add(node.key);\n }\n return keys;\n });\n\n return {\n collection: state.collection,\n selectionManager: state.selectionManager,\n isFocused: state.isFocused,\n setFocused: state.setFocused,\n focusedKey: state.focusedKey,\n setFocusedKey: (key) => state.setFocusedKey(key ?? null),\n childFocusStrategy: () => null,\n selectionMode: state.selectionMode,\n selectionBehavior: () => \"replace\",\n disallowEmptySelection: () => true,\n selectedKeys,\n disabledKeys,\n disabledBehavior: () => \"all\",\n isEmpty: () => selectedKeys().size === 0,\n isSelectAll: () => false,\n isSelected: state.isSelected,\n isDisabled: state.isKeyDisabled,\n setSelectionBehavior: () => {},\n toggleSelection: (key) => state.select(key),\n replaceSelection: (key) => state.select(key),\n setSelectedKeys: (keys) => {\n const first = keys[Symbol.iterator]().next().value as Key | undefined;\n state.setSelectedKey(first ?? null);\n },\n selectAll: () => {},\n clearSelection: () => state.setSelectedKey(null),\n toggleSelectAll: () => {},\n extendSelection: (toKey) => state.select(toKey),\n select: (key) => state.select(key),\n };\n}\n"],"mappings":"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"}