reka-ui 2.2.0 → 2.2.1

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 (842) hide show
  1. package/dist/Accordion/AccordionHeader.cjs.map +1 -1
  2. package/dist/Accordion/AccordionHeader.js.map +1 -1
  3. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/AccordionRoot.cjs.map +1 -1
  6. package/dist/Accordion/AccordionRoot.js.map +1 -1
  7. package/dist/Accordion/AccordionTrigger.cjs.map +1 -1
  8. package/dist/Accordion/AccordionTrigger.js.map +1 -1
  9. package/dist/AlertDialog/AlertDialogCancel.cjs.map +1 -1
  10. package/dist/AlertDialog/AlertDialogCancel.js.map +1 -1
  11. package/dist/AlertDialog/AlertDialogContent.cjs.map +1 -1
  12. package/dist/AlertDialog/AlertDialogContent.js.map +1 -1
  13. package/dist/AspectRatio/AspectRatio.cjs.map +1 -1
  14. package/dist/AspectRatio/AspectRatio.js.map +1 -1
  15. package/dist/Avatar/AvatarFallback.cjs.map +1 -1
  16. package/dist/Avatar/AvatarFallback.js.map +1 -1
  17. package/dist/Avatar/AvatarImage.cjs.map +1 -1
  18. package/dist/Avatar/AvatarImage.js.map +1 -1
  19. package/dist/Avatar/AvatarRoot.cjs.map +1 -1
  20. package/dist/Avatar/AvatarRoot.js.map +1 -1
  21. package/dist/Avatar/utils.cjs.map +1 -1
  22. package/dist/Avatar/utils.js.map +1 -1
  23. package/dist/Calendar/CalendarCell.cjs +1 -1
  24. package/dist/Calendar/CalendarCell.js +1 -1
  25. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  26. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  27. package/dist/Calendar/CalendarHeading.cjs +1 -1
  28. package/dist/Calendar/CalendarHeading.js +1 -1
  29. package/dist/Calendar/CalendarNext.cjs.map +1 -1
  30. package/dist/Calendar/CalendarNext.js.map +1 -1
  31. package/dist/Calendar/CalendarPrev.cjs.map +1 -1
  32. package/dist/Calendar/CalendarPrev.js.map +1 -1
  33. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  34. package/dist/Calendar/CalendarRoot.js.map +1 -1
  35. package/dist/Calendar/useCalendar.cjs +2 -2
  36. package/dist/Calendar/useCalendar.cjs.map +1 -1
  37. package/dist/Calendar/useCalendar.js +2 -2
  38. package/dist/Calendar/useCalendar.js.map +1 -1
  39. package/dist/Checkbox/CheckboxGroupRoot.cjs +1 -1
  40. package/dist/Checkbox/CheckboxGroupRoot.cjs.map +1 -1
  41. package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
  42. package/dist/Checkbox/CheckboxGroupRoot.js.map +1 -1
  43. package/dist/Checkbox/CheckboxIndicator.cjs.map +1 -1
  44. package/dist/Checkbox/CheckboxIndicator.js.map +1 -1
  45. package/dist/Checkbox/CheckboxRoot.cjs +1 -1
  46. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  47. package/dist/Checkbox/CheckboxRoot.js +1 -1
  48. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  49. package/dist/Collapsible/CollapsibleContent.cjs +1 -1
  50. package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
  51. package/dist/Collapsible/CollapsibleContent.js +1 -1
  52. package/dist/Collapsible/CollapsibleContent.js.map +1 -1
  53. package/dist/Collapsible/CollapsibleRoot.cjs.map +1 -1
  54. package/dist/Collapsible/CollapsibleRoot.js.map +1 -1
  55. package/dist/Collapsible/CollapsibleTrigger.cjs +1 -1
  56. package/dist/Collapsible/CollapsibleTrigger.js +1 -1
  57. package/dist/Collection/Collection.cjs.map +1 -1
  58. package/dist/Collection/Collection.js.map +1 -1
  59. package/dist/Combobox/ComboboxAnchor.cjs.map +1 -1
  60. package/dist/Combobox/ComboboxAnchor.js.map +1 -1
  61. package/dist/Combobox/ComboboxArrow.cjs.map +1 -1
  62. package/dist/Combobox/ComboboxArrow.js.map +1 -1
  63. package/dist/Combobox/ComboboxCancel.cjs +1 -0
  64. package/dist/Combobox/ComboboxCancel.cjs.map +1 -1
  65. package/dist/Combobox/ComboboxCancel.js +1 -0
  66. package/dist/Combobox/ComboboxCancel.js.map +1 -1
  67. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  68. package/dist/Combobox/ComboboxContent.js.map +1 -1
  69. package/dist/Combobox/ComboboxContentImpl.cjs +2 -2
  70. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  71. package/dist/Combobox/ComboboxContentImpl.js +2 -2
  72. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  73. package/dist/Combobox/ComboboxEmpty.cjs.map +1 -1
  74. package/dist/Combobox/ComboboxEmpty.js.map +1 -1
  75. package/dist/Combobox/ComboboxGroup.cjs +1 -1
  76. package/dist/Combobox/ComboboxGroup.js +1 -1
  77. package/dist/Combobox/ComboboxInput.cjs +9 -1
  78. package/dist/Combobox/ComboboxInput.cjs.map +1 -1
  79. package/dist/Combobox/ComboboxInput.js +9 -1
  80. package/dist/Combobox/ComboboxInput.js.map +1 -1
  81. package/dist/Combobox/ComboboxItem.cjs +4 -3
  82. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  83. package/dist/Combobox/ComboboxItem.js +4 -3
  84. package/dist/Combobox/ComboboxItem.js.map +1 -1
  85. package/dist/Combobox/ComboboxLabel.cjs +1 -1
  86. package/dist/Combobox/ComboboxLabel.js +1 -1
  87. package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
  88. package/dist/Combobox/ComboboxRoot.js.map +1 -1
  89. package/dist/Combobox/ComboboxVirtualizer.cjs.map +1 -1
  90. package/dist/Combobox/ComboboxVirtualizer.js.map +1 -1
  91. package/dist/ContextMenu/ContextMenuContent.cjs.map +1 -1
  92. package/dist/ContextMenu/ContextMenuContent.js.map +1 -1
  93. package/dist/ContextMenu/ContextMenuPortal.cjs.map +1 -1
  94. package/dist/ContextMenu/ContextMenuPortal.js.map +1 -1
  95. package/dist/ContextMenu/ContextMenuRoot.cjs.map +1 -1
  96. package/dist/ContextMenu/ContextMenuRoot.js.map +1 -1
  97. package/dist/ContextMenu/ContextMenuSub.cjs +1 -1
  98. package/dist/ContextMenu/ContextMenuSub.cjs.map +1 -1
  99. package/dist/ContextMenu/ContextMenuSub.js +1 -1
  100. package/dist/ContextMenu/ContextMenuSub.js.map +1 -1
  101. package/dist/ContextMenu/ContextMenuTrigger.cjs +2 -2
  102. package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
  103. package/dist/ContextMenu/ContextMenuTrigger.js +2 -2
  104. package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
  105. package/dist/DateField/DateFieldInput.cjs.map +1 -1
  106. package/dist/DateField/DateFieldInput.js.map +1 -1
  107. package/dist/DateField/DateFieldRoot.cjs.map +1 -1
  108. package/dist/DateField/DateFieldRoot.js.map +1 -1
  109. package/dist/DatePicker/DatePickerArrow.cjs.map +1 -1
  110. package/dist/DatePicker/DatePickerArrow.js.map +1 -1
  111. package/dist/DatePicker/DatePickerCalendar.cjs.map +1 -1
  112. package/dist/DatePicker/DatePickerCalendar.js.map +1 -1
  113. package/dist/DatePicker/DatePickerCell.cjs.map +1 -1
  114. package/dist/DatePicker/DatePickerCell.js.map +1 -1
  115. package/dist/DatePicker/DatePickerCellTrigger.cjs.map +1 -1
  116. package/dist/DatePicker/DatePickerCellTrigger.js.map +1 -1
  117. package/dist/DatePicker/DatePickerClose.cjs.map +1 -1
  118. package/dist/DatePicker/DatePickerClose.js.map +1 -1
  119. package/dist/DatePicker/DatePickerContent.cjs.map +1 -1
  120. package/dist/DatePicker/DatePickerContent.js.map +1 -1
  121. package/dist/DatePicker/DatePickerGrid.cjs.map +1 -1
  122. package/dist/DatePicker/DatePickerGrid.js.map +1 -1
  123. package/dist/DatePicker/DatePickerGridBody.cjs.map +1 -1
  124. package/dist/DatePicker/DatePickerGridBody.js.map +1 -1
  125. package/dist/DatePicker/DatePickerGridHead.cjs.map +1 -1
  126. package/dist/DatePicker/DatePickerGridHead.js.map +1 -1
  127. package/dist/DatePicker/DatePickerGridRow.cjs.map +1 -1
  128. package/dist/DatePicker/DatePickerGridRow.js.map +1 -1
  129. package/dist/DatePicker/DatePickerHeadCell.cjs.map +1 -1
  130. package/dist/DatePicker/DatePickerHeadCell.js.map +1 -1
  131. package/dist/DatePicker/DatePickerHeader.cjs.map +1 -1
  132. package/dist/DatePicker/DatePickerHeader.js.map +1 -1
  133. package/dist/DatePicker/DatePickerHeading.cjs.map +1 -1
  134. package/dist/DatePicker/DatePickerHeading.js.map +1 -1
  135. package/dist/DatePicker/DatePickerInput.cjs.map +1 -1
  136. package/dist/DatePicker/DatePickerInput.js.map +1 -1
  137. package/dist/DatePicker/DatePickerNext.cjs.map +1 -1
  138. package/dist/DatePicker/DatePickerNext.js.map +1 -1
  139. package/dist/DatePicker/DatePickerPrev.cjs.map +1 -1
  140. package/dist/DatePicker/DatePickerPrev.js.map +1 -1
  141. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  142. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  143. package/dist/DatePicker/DatePickerTrigger.cjs.map +1 -1
  144. package/dist/DatePicker/DatePickerTrigger.js.map +1 -1
  145. package/dist/DateRangeField/DateRangeFieldInput.cjs.map +1 -1
  146. package/dist/DateRangeField/DateRangeFieldInput.js.map +1 -1
  147. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  148. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  149. package/dist/DateRangePicker/DateRangePickerAnchor.cjs.map +1 -1
  150. package/dist/DateRangePicker/DateRangePickerAnchor.js.map +1 -1
  151. package/dist/DateRangePicker/DateRangePickerArrow.cjs.map +1 -1
  152. package/dist/DateRangePicker/DateRangePickerArrow.js.map +1 -1
  153. package/dist/DateRangePicker/DateRangePickerCalendar.cjs +1 -0
  154. package/dist/DateRangePicker/DateRangePickerCalendar.cjs.map +1 -1
  155. package/dist/DateRangePicker/DateRangePickerCalendar.js +1 -0
  156. package/dist/DateRangePicker/DateRangePickerCalendar.js.map +1 -1
  157. package/dist/DateRangePicker/DateRangePickerCell.cjs.map +1 -1
  158. package/dist/DateRangePicker/DateRangePickerCell.js.map +1 -1
  159. package/dist/DateRangePicker/DateRangePickerClose.cjs.map +1 -1
  160. package/dist/DateRangePicker/DateRangePickerClose.js.map +1 -1
  161. package/dist/DateRangePicker/DateRangePickerContent.cjs.map +1 -1
  162. package/dist/DateRangePicker/DateRangePickerContent.js.map +1 -1
  163. package/dist/DateRangePicker/DateRangePickerGrid.cjs.map +1 -1
  164. package/dist/DateRangePicker/DateRangePickerGrid.js.map +1 -1
  165. package/dist/DateRangePicker/DateRangePickerGridBody.cjs.map +1 -1
  166. package/dist/DateRangePicker/DateRangePickerGridBody.js.map +1 -1
  167. package/dist/DateRangePicker/DateRangePickerGridHead.cjs.map +1 -1
  168. package/dist/DateRangePicker/DateRangePickerGridHead.js.map +1 -1
  169. package/dist/DateRangePicker/DateRangePickerGridRow.cjs.map +1 -1
  170. package/dist/DateRangePicker/DateRangePickerGridRow.js.map +1 -1
  171. package/dist/DateRangePicker/DateRangePickerHeadCell.cjs.map +1 -1
  172. package/dist/DateRangePicker/DateRangePickerHeadCell.js.map +1 -1
  173. package/dist/DateRangePicker/DateRangePickerHeader.cjs.map +1 -1
  174. package/dist/DateRangePicker/DateRangePickerHeader.js.map +1 -1
  175. package/dist/DateRangePicker/DateRangePickerHeading.cjs.map +1 -1
  176. package/dist/DateRangePicker/DateRangePickerHeading.js.map +1 -1
  177. package/dist/DateRangePicker/DateRangePickerInput.cjs.map +1 -1
  178. package/dist/DateRangePicker/DateRangePickerInput.js.map +1 -1
  179. package/dist/DateRangePicker/DateRangePickerNext.cjs.map +1 -1
  180. package/dist/DateRangePicker/DateRangePickerNext.js.map +1 -1
  181. package/dist/DateRangePicker/DateRangePickerPrev.cjs.map +1 -1
  182. package/dist/DateRangePicker/DateRangePickerPrev.js.map +1 -1
  183. package/dist/DateRangePicker/DateRangePickerRoot.cjs +3 -0
  184. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  185. package/dist/DateRangePicker/DateRangePickerRoot.js +3 -0
  186. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  187. package/dist/DateRangePicker/DateRangePickerTrigger.cjs.map +1 -1
  188. package/dist/DateRangePicker/DateRangePickerTrigger.js.map +1 -1
  189. package/dist/Dialog/DialogClose.cjs +1 -1
  190. package/dist/Dialog/DialogClose.cjs.map +1 -1
  191. package/dist/Dialog/DialogClose.js +1 -1
  192. package/dist/Dialog/DialogClose.js.map +1 -1
  193. package/dist/Dialog/DialogContent.cjs.map +1 -1
  194. package/dist/Dialog/DialogContent.js.map +1 -1
  195. package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
  196. package/dist/Dialog/DialogContentImpl.js.map +1 -1
  197. package/dist/Dialog/DialogContentModal.cjs.map +1 -1
  198. package/dist/Dialog/DialogContentModal.js.map +1 -1
  199. package/dist/Dialog/DialogContentNonModal.cjs.map +1 -1
  200. package/dist/Dialog/DialogContentNonModal.js.map +1 -1
  201. package/dist/Dialog/DialogDescription.cjs.map +1 -1
  202. package/dist/Dialog/DialogDescription.js.map +1 -1
  203. package/dist/Dialog/DialogOverlay.cjs.map +1 -1
  204. package/dist/Dialog/DialogOverlay.js.map +1 -1
  205. package/dist/Dialog/DialogOverlayImpl.cjs.map +1 -1
  206. package/dist/Dialog/DialogOverlayImpl.js.map +1 -1
  207. package/dist/Dialog/DialogRoot.cjs.map +1 -1
  208. package/dist/Dialog/DialogRoot.js.map +1 -1
  209. package/dist/Dialog/DialogTitle.cjs.map +1 -1
  210. package/dist/Dialog/DialogTitle.js.map +1 -1
  211. package/dist/Dialog/DialogTrigger.cjs +1 -1
  212. package/dist/Dialog/DialogTrigger.cjs.map +1 -1
  213. package/dist/Dialog/DialogTrigger.js +1 -1
  214. package/dist/Dialog/DialogTrigger.js.map +1 -1
  215. package/dist/Dialog/utils.cjs.map +1 -1
  216. package/dist/Dialog/utils.js.map +1 -1
  217. package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
  218. package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
  219. package/dist/DismissableLayer/utils.cjs +4 -3
  220. package/dist/DismissableLayer/utils.cjs.map +1 -1
  221. package/dist/DismissableLayer/utils.js +4 -3
  222. package/dist/DismissableLayer/utils.js.map +1 -1
  223. package/dist/DropdownMenu/DropdownMenuContent.cjs +1 -1
  224. package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  225. package/dist/DropdownMenu/DropdownMenuContent.js +1 -1
  226. package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
  227. package/dist/DropdownMenu/DropdownMenuRoot.cjs +1 -1
  228. package/dist/DropdownMenu/DropdownMenuRoot.cjs.map +1 -1
  229. package/dist/DropdownMenu/DropdownMenuRoot.js +1 -1
  230. package/dist/DropdownMenu/DropdownMenuRoot.js.map +1 -1
  231. package/dist/DropdownMenu/DropdownMenuSub.cjs +1 -1
  232. package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
  233. package/dist/DropdownMenu/DropdownMenuSub.js +1 -1
  234. package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
  235. package/dist/DropdownMenu/DropdownMenuTrigger.cjs +1 -1
  236. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  237. package/dist/DropdownMenu/DropdownMenuTrigger.js +1 -1
  238. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  239. package/dist/Editable/EditableInput.cjs.map +1 -1
  240. package/dist/Editable/EditableInput.js.map +1 -1
  241. package/dist/Editable/EditablePreview.cjs.map +1 -1
  242. package/dist/Editable/EditablePreview.js.map +1 -1
  243. package/dist/Editable/EditableRoot.cjs.map +1 -1
  244. package/dist/Editable/EditableRoot.js.map +1 -1
  245. package/dist/FocusScope/FocusScope.cjs +1 -1
  246. package/dist/FocusScope/FocusScope.cjs.map +1 -1
  247. package/dist/FocusScope/FocusScope.js +1 -1
  248. package/dist/FocusScope/FocusScope.js.map +1 -1
  249. package/dist/HoverCard/HoverCardContent.cjs +1 -1
  250. package/dist/HoverCard/HoverCardContent.cjs.map +1 -1
  251. package/dist/HoverCard/HoverCardContent.js +1 -1
  252. package/dist/HoverCard/HoverCardContent.js.map +1 -1
  253. package/dist/HoverCard/HoverCardContentImpl.cjs +3 -3
  254. package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
  255. package/dist/HoverCard/HoverCardContentImpl.js +3 -3
  256. package/dist/HoverCard/HoverCardContentImpl.js.map +1 -1
  257. package/dist/HoverCard/HoverCardRoot.cjs +1 -1
  258. package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
  259. package/dist/HoverCard/HoverCardRoot.js +1 -1
  260. package/dist/HoverCard/HoverCardRoot.js.map +1 -1
  261. package/dist/HoverCard/HoverCardTrigger.cjs +1 -1
  262. package/dist/HoverCard/HoverCardTrigger.cjs.map +1 -1
  263. package/dist/HoverCard/HoverCardTrigger.js +1 -1
  264. package/dist/HoverCard/HoverCardTrigger.js.map +1 -1
  265. package/dist/Listbox/ListboxContent.cjs +1 -1
  266. package/dist/Listbox/ListboxContent.cjs.map +1 -1
  267. package/dist/Listbox/ListboxContent.js +1 -1
  268. package/dist/Listbox/ListboxContent.js.map +1 -1
  269. package/dist/Listbox/ListboxFilter.cjs.map +1 -1
  270. package/dist/Listbox/ListboxFilter.js.map +1 -1
  271. package/dist/Listbox/ListboxItem.cjs +2 -2
  272. package/dist/Listbox/ListboxItem.cjs.map +1 -1
  273. package/dist/Listbox/ListboxItem.js +2 -2
  274. package/dist/Listbox/ListboxItem.js.map +1 -1
  275. package/dist/Listbox/ListboxItemIndicator.cjs.map +1 -1
  276. package/dist/Listbox/ListboxItemIndicator.js.map +1 -1
  277. package/dist/Listbox/ListboxRoot.cjs +3 -3
  278. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  279. package/dist/Listbox/ListboxRoot.js +3 -3
  280. package/dist/Listbox/ListboxRoot.js.map +1 -1
  281. package/dist/Listbox/ListboxVirtualizer.cjs +4 -4
  282. package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
  283. package/dist/Listbox/ListboxVirtualizer.js +4 -4
  284. package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
  285. package/dist/Menu/MenuAnchor.cjs.map +1 -1
  286. package/dist/Menu/MenuAnchor.js.map +1 -1
  287. package/dist/Menu/MenuCheckboxItem.cjs +1 -1
  288. package/dist/Menu/MenuCheckboxItem.cjs.map +1 -1
  289. package/dist/Menu/MenuCheckboxItem.js +1 -1
  290. package/dist/Menu/MenuCheckboxItem.js.map +1 -1
  291. package/dist/Menu/MenuContent.cjs.map +1 -1
  292. package/dist/Menu/MenuContent.js.map +1 -1
  293. package/dist/Menu/MenuContentImpl.cjs +2 -2
  294. package/dist/Menu/MenuContentImpl.cjs.map +1 -1
  295. package/dist/Menu/MenuContentImpl.js +2 -2
  296. package/dist/Menu/MenuContentImpl.js.map +1 -1
  297. package/dist/Menu/MenuItem.cjs.map +1 -1
  298. package/dist/Menu/MenuItem.js.map +1 -1
  299. package/dist/Menu/MenuItemImpl.cjs +1 -1
  300. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  301. package/dist/Menu/MenuItemImpl.js +1 -1
  302. package/dist/Menu/MenuItemImpl.js.map +1 -1
  303. package/dist/Menu/MenuItemIndicator.cjs.map +1 -1
  304. package/dist/Menu/MenuItemIndicator.js.map +1 -1
  305. package/dist/Menu/MenuRadioItem.cjs +1 -1
  306. package/dist/Menu/MenuRadioItem.cjs.map +1 -1
  307. package/dist/Menu/MenuRadioItem.js +1 -1
  308. package/dist/Menu/MenuRadioItem.js.map +1 -1
  309. package/dist/Menu/MenuRoot.cjs +2 -2
  310. package/dist/Menu/MenuRoot.cjs.map +1 -1
  311. package/dist/Menu/MenuRoot.js +2 -2
  312. package/dist/Menu/MenuRoot.js.map +1 -1
  313. package/dist/Menu/MenuRootContentModal.cjs.map +1 -1
  314. package/dist/Menu/MenuRootContentModal.js.map +1 -1
  315. package/dist/Menu/MenuRootContentNonModal.cjs.map +1 -1
  316. package/dist/Menu/MenuRootContentNonModal.js.map +1 -1
  317. package/dist/Menu/MenuSub.cjs +1 -1
  318. package/dist/Menu/MenuSub.cjs.map +1 -1
  319. package/dist/Menu/MenuSub.js +1 -1
  320. package/dist/Menu/MenuSub.js.map +1 -1
  321. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  322. package/dist/Menu/MenuSubContent.js.map +1 -1
  323. package/dist/Menu/MenuSubTrigger.cjs +1 -1
  324. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  325. package/dist/Menu/MenuSubTrigger.js +1 -1
  326. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  327. package/dist/Menubar/MenubarContent.cjs +1 -1
  328. package/dist/Menubar/MenubarContent.cjs.map +1 -1
  329. package/dist/Menubar/MenubarContent.js +1 -1
  330. package/dist/Menubar/MenubarContent.js.map +1 -1
  331. package/dist/Menubar/MenubarGroup.cjs.map +1 -1
  332. package/dist/Menubar/MenubarGroup.js.map +1 -1
  333. package/dist/Menubar/MenubarMenu.cjs.map +1 -1
  334. package/dist/Menubar/MenubarMenu.js.map +1 -1
  335. package/dist/Menubar/MenubarRoot.cjs.map +1 -1
  336. package/dist/Menubar/MenubarRoot.js.map +1 -1
  337. package/dist/Menubar/MenubarSub.cjs +1 -1
  338. package/dist/Menubar/MenubarSub.cjs.map +1 -1
  339. package/dist/Menubar/MenubarSub.js +1 -1
  340. package/dist/Menubar/MenubarSub.js.map +1 -1
  341. package/dist/Menubar/MenubarSubContent.cjs.map +1 -1
  342. package/dist/Menubar/MenubarSubContent.js.map +1 -1
  343. package/dist/Menubar/MenubarTrigger.cjs +1 -1
  344. package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
  345. package/dist/Menubar/MenubarTrigger.js +1 -1
  346. package/dist/Menubar/MenubarTrigger.js.map +1 -1
  347. package/dist/NavigationMenu/NavigationMenuContent.cjs +1 -1
  348. package/dist/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
  349. package/dist/NavigationMenu/NavigationMenuContent.js +1 -1
  350. package/dist/NavigationMenu/NavigationMenuContent.js.map +1 -1
  351. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
  352. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
  353. package/dist/NavigationMenu/NavigationMenuContentImpl.js +1 -1
  354. package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
  355. package/dist/NavigationMenu/NavigationMenuIndicator.cjs.map +1 -1
  356. package/dist/NavigationMenu/NavigationMenuIndicator.js.map +1 -1
  357. package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
  358. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  359. package/dist/NavigationMenu/NavigationMenuLink.cjs.map +1 -1
  360. package/dist/NavigationMenu/NavigationMenuLink.js.map +1 -1
  361. package/dist/NavigationMenu/NavigationMenuList.cjs.map +1 -1
  362. package/dist/NavigationMenu/NavigationMenuList.js.map +1 -1
  363. package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
  364. package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
  365. package/dist/NavigationMenu/NavigationMenuSub.cjs.map +1 -1
  366. package/dist/NavigationMenu/NavigationMenuSub.js.map +1 -1
  367. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  368. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  369. package/dist/NavigationMenu/NavigationMenuViewport.cjs.map +1 -1
  370. package/dist/NavigationMenu/NavigationMenuViewport.js.map +1 -1
  371. package/dist/NumberField/NumberFieldDecrement.cjs +1 -1
  372. package/dist/NumberField/NumberFieldDecrement.cjs.map +1 -1
  373. package/dist/NumberField/NumberFieldDecrement.js +1 -1
  374. package/dist/NumberField/NumberFieldDecrement.js.map +1 -1
  375. package/dist/NumberField/NumberFieldIncrement.cjs.map +1 -1
  376. package/dist/NumberField/NumberFieldIncrement.js.map +1 -1
  377. package/dist/NumberField/NumberFieldInput.cjs +1 -1
  378. package/dist/NumberField/NumberFieldInput.cjs.map +1 -1
  379. package/dist/NumberField/NumberFieldInput.js +1 -1
  380. package/dist/NumberField/NumberFieldInput.js.map +1 -1
  381. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  382. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  383. package/dist/NumberField/utils.cjs.map +1 -1
  384. package/dist/NumberField/utils.js +1 -1
  385. package/dist/NumberField/utils.js.map +1 -1
  386. package/dist/Pagination/PaginationFirst.cjs.map +1 -1
  387. package/dist/Pagination/PaginationFirst.js.map +1 -1
  388. package/dist/Pagination/PaginationLast.cjs.map +1 -1
  389. package/dist/Pagination/PaginationLast.js.map +1 -1
  390. package/dist/Pagination/PaginationListItem.cjs.map +1 -1
  391. package/dist/Pagination/PaginationListItem.js.map +1 -1
  392. package/dist/Pagination/PaginationNext.cjs.map +1 -1
  393. package/dist/Pagination/PaginationNext.js.map +1 -1
  394. package/dist/Pagination/PaginationPrev.cjs.map +1 -1
  395. package/dist/Pagination/PaginationPrev.js.map +1 -1
  396. package/dist/Pagination/PaginationRoot.cjs.map +1 -1
  397. package/dist/Pagination/PaginationRoot.js.map +1 -1
  398. package/dist/Pagination/utils.cjs.map +1 -1
  399. package/dist/Pagination/utils.js.map +1 -1
  400. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  401. package/dist/PinInput/PinInputInput.js.map +1 -1
  402. package/dist/PinInput/PinInputRoot.cjs.map +1 -1
  403. package/dist/PinInput/PinInputRoot.js.map +1 -1
  404. package/dist/Popover/PopoverAnchor.cjs.map +1 -1
  405. package/dist/Popover/PopoverAnchor.js.map +1 -1
  406. package/dist/Popover/PopoverClose.cjs.map +1 -1
  407. package/dist/Popover/PopoverClose.js.map +1 -1
  408. package/dist/Popover/PopoverContent.cjs.map +1 -1
  409. package/dist/Popover/PopoverContent.js.map +1 -1
  410. package/dist/Popover/PopoverContentImpl.cjs +1 -1
  411. package/dist/Popover/PopoverContentImpl.cjs.map +1 -1
  412. package/dist/Popover/PopoverContentImpl.js +1 -1
  413. package/dist/Popover/PopoverContentImpl.js.map +1 -1
  414. package/dist/Popover/PopoverContentModal.cjs +1 -1
  415. package/dist/Popover/PopoverContentModal.cjs.map +1 -1
  416. package/dist/Popover/PopoverContentModal.js +1 -1
  417. package/dist/Popover/PopoverContentModal.js.map +1 -1
  418. package/dist/Popover/PopoverContentNonModal.cjs.map +1 -1
  419. package/dist/Popover/PopoverContentNonModal.js.map +1 -1
  420. package/dist/Popover/PopoverRoot.cjs +1 -1
  421. package/dist/Popover/PopoverRoot.cjs.map +1 -1
  422. package/dist/Popover/PopoverRoot.js +1 -1
  423. package/dist/Popover/PopoverRoot.js.map +1 -1
  424. package/dist/Popover/PopoverTrigger.cjs +1 -1
  425. package/dist/Popover/PopoverTrigger.cjs.map +1 -1
  426. package/dist/Popover/PopoverTrigger.js +1 -1
  427. package/dist/Popover/PopoverTrigger.js.map +1 -1
  428. package/dist/Popper/PopperAnchor.cjs.map +1 -1
  429. package/dist/Popper/PopperAnchor.js.map +1 -1
  430. package/dist/Popper/PopperArrow.cjs.map +1 -1
  431. package/dist/Popper/PopperArrow.js.map +1 -1
  432. package/dist/Popper/PopperContent.cjs +2 -2
  433. package/dist/Popper/PopperContent.cjs.map +1 -1
  434. package/dist/Popper/PopperContent.js +2 -2
  435. package/dist/Popper/PopperContent.js.map +1 -1
  436. package/dist/Popper/PopperRoot.cjs.map +1 -1
  437. package/dist/Popper/PopperRoot.js.map +1 -1
  438. package/dist/Presence/Presence.cjs +1 -1
  439. package/dist/Presence/Presence.cjs.map +1 -1
  440. package/dist/Presence/Presence.js +1 -1
  441. package/dist/Presence/Presence.js.map +1 -1
  442. package/dist/Presence/usePresence.cjs +2 -2
  443. package/dist/Presence/usePresence.cjs.map +1 -1
  444. package/dist/Presence/usePresence.js +2 -2
  445. package/dist/Presence/usePresence.js.map +1 -1
  446. package/dist/Primitive/Primitive.cjs.map +1 -1
  447. package/dist/Primitive/Primitive.js.map +1 -1
  448. package/dist/Primitive/Slot.cjs.map +1 -1
  449. package/dist/Primitive/Slot.js.map +1 -1
  450. package/dist/Primitive/usePrimitiveElement.cjs.map +1 -1
  451. package/dist/Primitive/usePrimitiveElement.js.map +1 -1
  452. package/dist/Progress/ProgressIndicator.cjs.map +1 -1
  453. package/dist/Progress/ProgressIndicator.js.map +1 -1
  454. package/dist/Progress/ProgressRoot.cjs.map +1 -1
  455. package/dist/Progress/ProgressRoot.js.map +1 -1
  456. package/dist/RadioGroup/Radio.cjs.map +1 -1
  457. package/dist/RadioGroup/Radio.js.map +1 -1
  458. package/dist/RadioGroup/RadioGroupIndicator.cjs.map +1 -1
  459. package/dist/RadioGroup/RadioGroupIndicator.js.map +1 -1
  460. package/dist/RadioGroup/RadioGroupItem.cjs +1 -1
  461. package/dist/RadioGroup/RadioGroupItem.cjs.map +1 -1
  462. package/dist/RadioGroup/RadioGroupItem.js +1 -1
  463. package/dist/RadioGroup/RadioGroupItem.js.map +1 -1
  464. package/dist/RadioGroup/RadioGroupRoot.cjs.map +1 -1
  465. package/dist/RadioGroup/RadioGroupRoot.js.map +1 -1
  466. package/dist/RadioGroup/utils.cjs.map +1 -1
  467. package/dist/RadioGroup/utils.js.map +1 -1
  468. package/dist/RangeCalendar/RangeCalendarCell.cjs +1 -1
  469. package/dist/RangeCalendar/RangeCalendarCell.js +1 -1
  470. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +2 -2
  471. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  472. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +2 -2
  473. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  474. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  475. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  476. package/dist/RangeCalendar/RangeCalendarHeading.cjs +1 -1
  477. package/dist/RangeCalendar/RangeCalendarHeading.js +1 -1
  478. package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
  479. package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
  480. package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
  481. package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
  482. package/dist/RangeCalendar/RangeCalendarRoot.cjs +8 -3
  483. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  484. package/dist/RangeCalendar/RangeCalendarRoot.js +8 -3
  485. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  486. package/dist/RangeCalendar/useRangeCalendar.cjs +8 -2
  487. package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
  488. package/dist/RangeCalendar/useRangeCalendar.js +8 -2
  489. package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
  490. package/dist/RovingFocus/RovingFocusGroup.cjs +1 -1
  491. package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
  492. package/dist/RovingFocus/RovingFocusGroup.js +1 -1
  493. package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
  494. package/dist/RovingFocus/RovingFocusItem.cjs +1 -1
  495. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  496. package/dist/RovingFocus/RovingFocusItem.js +1 -1
  497. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  498. package/dist/ScrollArea/ScrollAreaCorner.cjs.map +1 -1
  499. package/dist/ScrollArea/ScrollAreaCorner.js.map +1 -1
  500. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +1 -1
  501. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs.map +1 -1
  502. package/dist/ScrollArea/ScrollAreaCornerImpl.js +1 -1
  503. package/dist/ScrollArea/ScrollAreaCornerImpl.js.map +1 -1
  504. package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
  505. package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
  506. package/dist/ScrollArea/ScrollAreaScrollbar.cjs +1 -1
  507. package/dist/ScrollArea/ScrollAreaScrollbar.cjs.map +1 -1
  508. package/dist/ScrollArea/ScrollAreaScrollbar.js +1 -1
  509. package/dist/ScrollArea/ScrollAreaScrollbar.js.map +1 -1
  510. package/dist/ScrollArea/ScrollAreaScrollbarAuto.cjs.map +1 -1
  511. package/dist/ScrollArea/ScrollAreaScrollbarAuto.js.map +1 -1
  512. package/dist/ScrollArea/ScrollAreaScrollbarHover.cjs.map +1 -1
  513. package/dist/ScrollArea/ScrollAreaScrollbarHover.js.map +1 -1
  514. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
  515. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
  516. package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs.map +1 -1
  517. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js.map +1 -1
  518. package/dist/ScrollArea/ScrollAreaScrollbarVisible.cjs.map +1 -1
  519. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js.map +1 -1
  520. package/dist/ScrollArea/ScrollAreaScrollbarX.cjs.map +1 -1
  521. package/dist/ScrollArea/ScrollAreaScrollbarX.js.map +1 -1
  522. package/dist/ScrollArea/ScrollAreaScrollbarY.cjs.map +1 -1
  523. package/dist/ScrollArea/ScrollAreaScrollbarY.js.map +1 -1
  524. package/dist/ScrollArea/ScrollAreaThumb.cjs.map +1 -1
  525. package/dist/ScrollArea/ScrollAreaThumb.js.map +1 -1
  526. package/dist/ScrollArea/ScrollAreaViewport.cjs +1 -1
  527. package/dist/ScrollArea/ScrollAreaViewport.cjs.map +1 -1
  528. package/dist/ScrollArea/ScrollAreaViewport.js +1 -1
  529. package/dist/ScrollArea/ScrollAreaViewport.js.map +1 -1
  530. package/dist/ScrollArea/utils.cjs.map +1 -1
  531. package/dist/ScrollArea/utils.js.map +1 -1
  532. package/dist/Select/BubbleSelect.cjs.map +1 -1
  533. package/dist/Select/BubbleSelect.js.map +1 -1
  534. package/dist/Select/SelectArrow.cjs +1 -1
  535. package/dist/Select/SelectArrow.cjs.map +1 -1
  536. package/dist/Select/SelectArrow.js +1 -1
  537. package/dist/Select/SelectArrow.js.map +1 -1
  538. package/dist/Select/SelectContent.cjs.map +1 -1
  539. package/dist/Select/SelectContent.js.map +1 -1
  540. package/dist/Select/SelectContentImpl.cjs +4 -4
  541. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  542. package/dist/Select/SelectContentImpl.js +4 -4
  543. package/dist/Select/SelectContentImpl.js.map +1 -1
  544. package/dist/Select/SelectItem.cjs +1 -1
  545. package/dist/Select/SelectItem.cjs.map +1 -1
  546. package/dist/Select/SelectItem.js +1 -1
  547. package/dist/Select/SelectItem.js.map +1 -1
  548. package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
  549. package/dist/Select/SelectItemAlignedPosition.cjs.map +1 -1
  550. package/dist/Select/SelectItemAlignedPosition.js +1 -1
  551. package/dist/Select/SelectItemAlignedPosition.js.map +1 -1
  552. package/dist/Select/SelectItemIndicator.cjs.map +1 -1
  553. package/dist/Select/SelectItemIndicator.js.map +1 -1
  554. package/dist/Select/SelectItemText.cjs.map +1 -1
  555. package/dist/Select/SelectItemText.js.map +1 -1
  556. package/dist/Select/SelectPopperPosition.cjs +1 -1
  557. package/dist/Select/SelectPopperPosition.cjs.map +1 -1
  558. package/dist/Select/SelectPopperPosition.js +1 -1
  559. package/dist/Select/SelectPopperPosition.js.map +1 -1
  560. package/dist/Select/SelectProvider.cjs.map +1 -1
  561. package/dist/Select/SelectProvider.js.map +1 -1
  562. package/dist/Select/SelectRoot.cjs +2 -2
  563. package/dist/Select/SelectRoot.cjs.map +1 -1
  564. package/dist/Select/SelectRoot.js +2 -2
  565. package/dist/Select/SelectRoot.js.map +1 -1
  566. package/dist/Select/SelectScrollButtonImpl.cjs.map +1 -1
  567. package/dist/Select/SelectScrollButtonImpl.js.map +1 -1
  568. package/dist/Select/SelectScrollDownButton.cjs +1 -1
  569. package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
  570. package/dist/Select/SelectScrollDownButton.js +1 -1
  571. package/dist/Select/SelectScrollDownButton.js.map +1 -1
  572. package/dist/Select/SelectTrigger.cjs +3 -3
  573. package/dist/Select/SelectTrigger.cjs.map +1 -1
  574. package/dist/Select/SelectTrigger.js +3 -3
  575. package/dist/Select/SelectTrigger.js.map +1 -1
  576. package/dist/Select/SelectValue.cjs +2 -1
  577. package/dist/Select/SelectValue.cjs.map +1 -1
  578. package/dist/Select/SelectValue.js +2 -1
  579. package/dist/Select/SelectValue.js.map +1 -1
  580. package/dist/Select/SelectViewport.cjs +1 -1
  581. package/dist/Select/SelectViewport.cjs.map +1 -1
  582. package/dist/Select/SelectViewport.js +1 -1
  583. package/dist/Select/SelectViewport.js.map +1 -1
  584. package/dist/Select/utils.cjs +4 -0
  585. package/dist/Select/utils.cjs.map +1 -1
  586. package/dist/Select/utils.js +4 -1
  587. package/dist/Select/utils.js.map +1 -1
  588. package/dist/Slider/SliderHorizontal.cjs.map +1 -1
  589. package/dist/Slider/SliderHorizontal.js.map +1 -1
  590. package/dist/Slider/SliderRange.cjs.map +1 -1
  591. package/dist/Slider/SliderRange.js.map +1 -1
  592. package/dist/Slider/SliderRoot.cjs +1 -1
  593. package/dist/Slider/SliderRoot.cjs.map +1 -1
  594. package/dist/Slider/SliderRoot.js +1 -1
  595. package/dist/Slider/SliderRoot.js.map +1 -1
  596. package/dist/Slider/SliderThumb.cjs +1 -1
  597. package/dist/Slider/SliderThumb.cjs.map +1 -1
  598. package/dist/Slider/SliderThumb.js +1 -1
  599. package/dist/Slider/SliderThumb.js.map +1 -1
  600. package/dist/Slider/SliderThumbImpl.cjs +1 -1
  601. package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
  602. package/dist/Slider/SliderThumbImpl.js +1 -1
  603. package/dist/Slider/SliderThumbImpl.js.map +1 -1
  604. package/dist/Slider/SliderVertical.cjs.map +1 -1
  605. package/dist/Slider/SliderVertical.js.map +1 -1
  606. package/dist/Splitter/SplitterGroup.cjs +5 -5
  607. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  608. package/dist/Splitter/SplitterGroup.js +5 -5
  609. package/dist/Splitter/SplitterGroup.js.map +1 -1
  610. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  611. package/dist/Splitter/SplitterPanel.js.map +1 -1
  612. package/dist/Splitter/SplitterResizeHandle.cjs +1 -1
  613. package/dist/Splitter/SplitterResizeHandle.cjs.map +1 -1
  614. package/dist/Splitter/SplitterResizeHandle.js +1 -1
  615. package/dist/Splitter/SplitterResizeHandle.js.map +1 -1
  616. package/dist/Stepper/StepperDescription.cjs +1 -1
  617. package/dist/Stepper/StepperDescription.cjs.map +1 -1
  618. package/dist/Stepper/StepperDescription.js +1 -1
  619. package/dist/Stepper/StepperDescription.js.map +1 -1
  620. package/dist/Stepper/StepperIndicator.cjs.map +1 -1
  621. package/dist/Stepper/StepperIndicator.js.map +1 -1
  622. package/dist/Stepper/StepperItem.cjs.map +1 -1
  623. package/dist/Stepper/StepperItem.js.map +1 -1
  624. package/dist/Stepper/StepperRoot.cjs.map +1 -1
  625. package/dist/Stepper/StepperRoot.js.map +1 -1
  626. package/dist/Stepper/StepperSeparator.cjs.map +1 -1
  627. package/dist/Stepper/StepperSeparator.js.map +1 -1
  628. package/dist/Stepper/StepperTitle.cjs.map +1 -1
  629. package/dist/Stepper/StepperTitle.js.map +1 -1
  630. package/dist/Stepper/StepperTrigger.cjs +1 -1
  631. package/dist/Stepper/StepperTrigger.cjs.map +1 -1
  632. package/dist/Stepper/StepperTrigger.js +1 -1
  633. package/dist/Stepper/StepperTrigger.js.map +1 -1
  634. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  635. package/dist/Switch/SwitchRoot.js.map +1 -1
  636. package/dist/Switch/SwitchThumb.cjs.map +1 -1
  637. package/dist/Switch/SwitchThumb.js.map +1 -1
  638. package/dist/Tabs/TabsContent.cjs +1 -1
  639. package/dist/Tabs/TabsContent.cjs.map +1 -1
  640. package/dist/Tabs/TabsContent.js +1 -1
  641. package/dist/Tabs/TabsContent.js.map +1 -1
  642. package/dist/Tabs/TabsIndicator.cjs.map +1 -1
  643. package/dist/Tabs/TabsIndicator.js.map +1 -1
  644. package/dist/Tabs/TabsList.cjs +1 -1
  645. package/dist/Tabs/TabsList.cjs.map +1 -1
  646. package/dist/Tabs/TabsList.js +1 -1
  647. package/dist/Tabs/TabsList.js.map +1 -1
  648. package/dist/Tabs/TabsRoot.cjs.map +1 -1
  649. package/dist/Tabs/TabsRoot.js.map +1 -1
  650. package/dist/Tabs/TabsTrigger.cjs.map +1 -1
  651. package/dist/Tabs/TabsTrigger.js.map +1 -1
  652. package/dist/TagsInput/TagsInputClear.cjs +1 -1
  653. package/dist/TagsInput/TagsInputClear.cjs.map +1 -1
  654. package/dist/TagsInput/TagsInputClear.js +1 -1
  655. package/dist/TagsInput/TagsInputClear.js.map +1 -1
  656. package/dist/TagsInput/TagsInputInput.cjs +1 -1
  657. package/dist/TagsInput/TagsInputInput.cjs.map +1 -1
  658. package/dist/TagsInput/TagsInputInput.js +1 -1
  659. package/dist/TagsInput/TagsInputInput.js.map +1 -1
  660. package/dist/TagsInput/TagsInputItem.cjs.map +1 -1
  661. package/dist/TagsInput/TagsInputItem.js.map +1 -1
  662. package/dist/TagsInput/TagsInputItemDelete.cjs +1 -1
  663. package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
  664. package/dist/TagsInput/TagsInputItemDelete.js +1 -1
  665. package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
  666. package/dist/TagsInput/TagsInputItemText.cjs +1 -1
  667. package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
  668. package/dist/TagsInput/TagsInputItemText.js +1 -1
  669. package/dist/TagsInput/TagsInputItemText.js.map +1 -1
  670. package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
  671. package/dist/TagsInput/TagsInputRoot.js.map +1 -1
  672. package/dist/TimeField/TimeFieldInput.cjs.map +1 -1
  673. package/dist/TimeField/TimeFieldInput.js.map +1 -1
  674. package/dist/TimeField/TimeFieldRoot.cjs +1 -1
  675. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  676. package/dist/TimeField/TimeFieldRoot.js +1 -1
  677. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  678. package/dist/Toast/ToastAnnounce.cjs +1 -1
  679. package/dist/Toast/ToastAnnounce.cjs.map +1 -1
  680. package/dist/Toast/ToastAnnounce.js +1 -1
  681. package/dist/Toast/ToastAnnounce.js.map +1 -1
  682. package/dist/Toast/ToastProvider.cjs.map +1 -1
  683. package/dist/Toast/ToastProvider.js.map +1 -1
  684. package/dist/Toast/ToastRoot.cjs +28 -20
  685. package/dist/Toast/ToastRoot.cjs.map +1 -1
  686. package/dist/Toast/ToastRoot.js +28 -20
  687. package/dist/Toast/ToastRoot.js.map +1 -1
  688. package/dist/Toast/ToastRootImpl.cjs +3 -3
  689. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  690. package/dist/Toast/ToastRootImpl.js +3 -3
  691. package/dist/Toast/ToastRootImpl.js.map +1 -1
  692. package/dist/Toast/ToastViewport.cjs +2 -2
  693. package/dist/Toast/ToastViewport.cjs.map +1 -1
  694. package/dist/Toast/ToastViewport.js +2 -2
  695. package/dist/Toast/ToastViewport.js.map +1 -1
  696. package/dist/Toggle/Toggle.cjs.map +1 -1
  697. package/dist/Toggle/Toggle.js.map +1 -1
  698. package/dist/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
  699. package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -1
  700. package/dist/ToggleGroup/ToggleGroupRoot.cjs.map +1 -1
  701. package/dist/ToggleGroup/ToggleGroupRoot.js.map +1 -1
  702. package/dist/Toolbar/ToolbarRoot.cjs.map +1 -1
  703. package/dist/Toolbar/ToolbarRoot.js.map +1 -1
  704. package/dist/Toolbar/ToolbarSeparator.cjs +1 -1
  705. package/dist/Toolbar/ToolbarSeparator.js +1 -1
  706. package/dist/Toolbar/ToolbarToggleGroup.cjs +1 -1
  707. package/dist/Toolbar/ToolbarToggleGroup.cjs.map +1 -1
  708. package/dist/Toolbar/ToolbarToggleGroup.js +1 -1
  709. package/dist/Toolbar/ToolbarToggleGroup.js.map +1 -1
  710. package/dist/Toolbar/ToolbarToggleItem.cjs.map +1 -1
  711. package/dist/Toolbar/ToolbarToggleItem.js.map +1 -1
  712. package/dist/Tooltip/TooltipContent.cjs +1 -1
  713. package/dist/Tooltip/TooltipContent.cjs.map +1 -1
  714. package/dist/Tooltip/TooltipContent.js +1 -1
  715. package/dist/Tooltip/TooltipContent.js.map +1 -1
  716. package/dist/Tooltip/TooltipContentHoverable.cjs.map +1 -1
  717. package/dist/Tooltip/TooltipContentHoverable.js.map +1 -1
  718. package/dist/Tooltip/TooltipContentImpl.cjs +3 -3
  719. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  720. package/dist/Tooltip/TooltipContentImpl.js +3 -3
  721. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  722. package/dist/Tooltip/TooltipRoot.cjs +1 -1
  723. package/dist/Tooltip/TooltipRoot.cjs.map +1 -1
  724. package/dist/Tooltip/TooltipRoot.js +1 -1
  725. package/dist/Tooltip/TooltipRoot.js.map +1 -1
  726. package/dist/Tooltip/TooltipTrigger.cjs +4 -1
  727. package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
  728. package/dist/Tooltip/TooltipTrigger.js +4 -1
  729. package/dist/Tooltip/TooltipTrigger.js.map +1 -1
  730. package/dist/Tree/TreeItem.cjs.map +1 -1
  731. package/dist/Tree/TreeItem.js.map +1 -1
  732. package/dist/Tree/TreeRoot.cjs +1 -1
  733. package/dist/Tree/TreeRoot.cjs.map +1 -1
  734. package/dist/Tree/TreeRoot.js +1 -1
  735. package/dist/Tree/TreeRoot.js.map +1 -1
  736. package/dist/Tree/TreeVirtualizer.cjs +3 -3
  737. package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
  738. package/dist/Tree/TreeVirtualizer.js +3 -3
  739. package/dist/Tree/TreeVirtualizer.js.map +1 -1
  740. package/dist/Tree/utils.cjs.map +1 -1
  741. package/dist/Tree/utils.js.map +1 -1
  742. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
  743. package/dist/VisuallyHidden/VisuallyHiddenInput.js.map +1 -1
  744. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs.map +1 -1
  745. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js.map +1 -1
  746. package/dist/component/BaseSeparator.cjs.map +1 -1
  747. package/dist/component/BaseSeparator.js.map +1 -1
  748. package/dist/composables/useWindowSplitterBehavior.cjs.map +1 -1
  749. package/dist/composables/useWindowSplitterBehavior.js.map +1 -1
  750. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +3 -3
  751. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
  752. package/dist/composables/useWindowSplitterPanelGroupBehavior.js +3 -3
  753. package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
  754. package/dist/date/calendar.cjs +1 -1
  755. package/dist/date/calendar.cjs.map +1 -1
  756. package/dist/date/calendar.js +1 -1
  757. package/dist/date/calendar.js.map +1 -1
  758. package/dist/date/comparators.cjs +6 -4
  759. package/dist/date/comparators.cjs.map +1 -1
  760. package/dist/date/comparators.js +6 -4
  761. package/dist/date/comparators.js.map +1 -1
  762. package/dist/date/parser.cjs.map +1 -1
  763. package/dist/date/parser.js.map +1 -1
  764. package/dist/date/useDateField.cjs.map +1 -1
  765. package/dist/date/useDateField.js.map +1 -1
  766. package/dist/date/utils.cjs +7 -7
  767. package/dist/date/utils.cjs.map +1 -1
  768. package/dist/date/utils.js +7 -7
  769. package/dist/date/utils.js.map +1 -1
  770. package/dist/date.d.ts +2 -2
  771. package/dist/index.cjs +347 -347
  772. package/dist/index.cjs.map +1 -1
  773. package/dist/index.d.ts +1188 -1323
  774. package/dist/index.js +161 -161
  775. package/dist/index.js.map +1 -1
  776. package/dist/shared/createContext.cjs.map +1 -1
  777. package/dist/shared/createContext.js.map +1 -1
  778. package/dist/shared/renderSlotFragments.cjs.map +1 -1
  779. package/dist/shared/renderSlotFragments.js.map +1 -1
  780. package/dist/shared/useArrowNavigation.cjs.map +1 -1
  781. package/dist/shared/useArrowNavigation.js.map +1 -1
  782. package/dist/shared/useBodyScrollLock.cjs +1 -1
  783. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  784. package/dist/shared/useBodyScrollLock.js +1 -1
  785. package/dist/shared/useBodyScrollLock.js.map +1 -1
  786. package/dist/shared/useDateFormatter.cjs +1 -1
  787. package/dist/shared/useDateFormatter.cjs.map +1 -1
  788. package/dist/shared/useDateFormatter.js +1 -1
  789. package/dist/shared/useDateFormatter.js.map +1 -1
  790. package/dist/shared/useDirection.cjs.map +1 -1
  791. package/dist/shared/useDirection.js.map +1 -1
  792. package/dist/shared/useFilter.cjs.map +1 -1
  793. package/dist/shared/useFilter.js.map +1 -1
  794. package/dist/shared/useFormControl.cjs.map +1 -1
  795. package/dist/shared/useFormControl.js.map +1 -1
  796. package/dist/shared/useForwardExpose.cjs.map +1 -1
  797. package/dist/shared/useForwardExpose.js.map +1 -1
  798. package/dist/shared/useForwardProps.cjs.map +1 -1
  799. package/dist/shared/useForwardProps.js.map +1 -1
  800. package/dist/shared/useForwardPropsEmits.cjs.map +1 -1
  801. package/dist/shared/useForwardPropsEmits.js.map +1 -1
  802. package/dist/shared/useGraceArea.cjs +1 -1
  803. package/dist/shared/useGraceArea.cjs.map +1 -1
  804. package/dist/shared/useGraceArea.js +1 -1
  805. package/dist/shared/useGraceArea.js.map +1 -1
  806. package/dist/shared/useHideOthers.cjs.map +1 -1
  807. package/dist/shared/useHideOthers.js.map +1 -1
  808. package/dist/shared/useLocale.cjs.map +1 -1
  809. package/dist/shared/useLocale.js.map +1 -1
  810. package/dist/shared/useNonce.cjs.map +1 -1
  811. package/dist/shared/useNonce.js.map +1 -1
  812. package/dist/shared/useSelectionBehavior.cjs +2 -2
  813. package/dist/shared/useSelectionBehavior.cjs.map +1 -1
  814. package/dist/shared/useSelectionBehavior.js +2 -2
  815. package/dist/shared/useSelectionBehavior.js.map +1 -1
  816. package/dist/shared/useSingleOrMultipleValue.cjs +1 -1
  817. package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
  818. package/dist/shared/useSingleOrMultipleValue.js +1 -1
  819. package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
  820. package/dist/shared/useSize.cjs.map +1 -1
  821. package/dist/shared/useSize.js.map +1 -1
  822. package/dist/shared/useStateMachine.cjs.map +1 -1
  823. package/dist/shared/useStateMachine.js.map +1 -1
  824. package/dist/shared/withDefault.cjs.map +1 -1
  825. package/dist/shared/withDefault.js.map +1 -1
  826. package/dist/utils/calculate.cjs +1 -1
  827. package/dist/utils/calculate.cjs.map +1 -1
  828. package/dist/utils/calculate.js +1 -1
  829. package/dist/utils/calculate.js.map +1 -1
  830. package/dist/utils/dom.cjs.map +1 -1
  831. package/dist/utils/dom.js.map +1 -1
  832. package/dist/utils/registry.cjs +1 -1
  833. package/dist/utils/registry.cjs.map +1 -1
  834. package/dist/utils/registry.js +1 -1
  835. package/dist/utils/registry.js.map +1 -1
  836. package/dist/utils/resizePanel.cjs +1 -1
  837. package/dist/utils/resizePanel.cjs.map +1 -1
  838. package/dist/utils/resizePanel.js +1 -1
  839. package/dist/utils/resizePanel.js.map +1 -1
  840. package/dist/utils/style.cjs.map +1 -1
  841. package/dist/utils/style.js.map +1 -1
  842. package/package.json +7 -8
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxRoot.js","sources":["../../src/Checkbox/CheckboxRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Ref } from 'vue'\nimport { createContext, isNullish, isValueEqualOrExist, useFormControl, useForwardExpose } from '@/shared'\nimport type { CheckedState } from './utils'\nimport type { AcceptableValue, FormFieldProps } from '@/shared/types'\nimport { useVModel } from '@vueuse/core'\nimport { injectCheckboxGroupRootContext } from './CheckboxGroupRoot.vue'\n\nexport interface CheckboxRootProps extends PrimitiveProps, FormFieldProps {\n /** The value of the checkbox when it is initially rendered. Use when you do not need to control its value. */\n defaultValue?: boolean | 'indeterminate'\n /** The controlled value of the checkbox. Can be binded with v-model. */\n modelValue?: boolean | 'indeterminate' | null\n /** When `true`, prevents the user from interacting with the checkbox */\n disabled?: boolean\n /**\n * The value given as data when submitted with a `name`.\n * @defaultValue \"on\"\n */\n value?: AcceptableValue\n /** Id of the element */\n id?: string\n}\n\nexport type CheckboxRootEmits = {\n /** Event handler called when the value of the checkbox changes. */\n 'update:modelValue': [value: boolean | 'indeterminate']\n}\n\ninterface CheckboxRootContext {\n disabled: Ref<boolean>\n state: Ref<CheckedState>\n}\n\nexport const [injectCheckboxRootContext, provideCheckboxRootContext]\n = createContext<CheckboxRootContext>('CheckboxRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { RovingFocusItem } from '@/RovingFocus'\nimport { getState, isIndeterminate } from './utils'\nimport { VisuallyHiddenInput } from '@/VisuallyHidden'\nimport { isEqual } from 'ohash'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<CheckboxRootProps>(), {\n modelValue: undefined,\n value: 'on',\n as: 'button',\n})\nconst emits = defineEmits<CheckboxRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current value */\n modelValue: typeof modelValue.value\n /** Current state */\n state: typeof checkboxState.value\n }) => any\n}>()\n\nconst { forwardRef, currentElement } = useForwardExpose()\n\nconst checkboxGroupContext = injectCheckboxGroupRootContext(null)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<CheckedState>\n\nconst disabled = computed(() => checkboxGroupContext?.disabled.value || props.disabled)\n\nconst checkboxState = computed<CheckedState>(() => {\n if (!isNullish(checkboxGroupContext?.modelValue.value)) {\n return isValueEqualOrExist(checkboxGroupContext.modelValue.value, props.value)\n }\n else {\n return modelValue.value === 'indeterminate' ? 'indeterminate' : modelValue.value\n }\n})\n\nfunction handleClick() {\n if (!isNullish(checkboxGroupContext?.modelValue.value)) {\n const modelValueArray = [...(checkboxGroupContext.modelValue.value || [])]\n if (isValueEqualOrExist(modelValueArray, props.value)) {\n const index = modelValueArray.findIndex(i => isEqual(i, props.value))\n modelValueArray.splice(index, 1)\n }\n else {\n modelValueArray.push(props.value)\n }\n checkboxGroupContext.modelValue.value = modelValueArray\n }\n else {\n modelValue.value = isIndeterminate(modelValue.value) ? true : !modelValue.value\n }\n}\n\nconst isFormControl = useFormControl(currentElement)\nconst ariaLabel = computed(() => props.id && currentElement.value\n ? (document.querySelector(`[for=\"${props.id}\"]`) as HTMLLabelElement)?.innerText\n : undefined)\n\nprovideCheckboxRootContext({\n disabled,\n state: checkboxState,\n})\n</script>\n\n<template>\n <component\n v-bind=\"$attrs\"\n :is=\"checkboxGroupContext?.rovingFocus.value ? RovingFocusItem : Primitive\"\n :id=\"id\"\n :ref=\"forwardRef\"\n role=\"checkbox\"\n :as-child=\"asChild\"\n :as=\"as\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :aria-checked=\"isIndeterminate(checkboxState) ? 'mixed' : checkboxState\"\n :aria-required=\"required\"\n :aria-label=\"$attrs['aria-label'] || ariaLabel\"\n :data-state=\"getState(checkboxState)\"\n :data-disabled=\"disabled ? '' : undefined\"\n :disabled=\"disabled\"\n :focusable=\"checkboxGroupContext?.rovingFocus.value ? !disabled : undefined\"\n @keydown.enter.prevent=\"() => {\n // According to WAI ARIA, Checkboxes don't activate on enter keypress\n }\"\n @click=\"handleClick\"\n >\n <slot\n :model-value=\"modelValue\"\n :state=\"checkboxState\"\n />\n\n <VisuallyHiddenInput\n v-if=\"isFormControl && name && !checkboxGroupContext\"\n type=\"checkbox\"\n :checked=\"!!checkboxState\"\n :name=\"name\"\n :value=\"value\"\n :disabled=\"disabled\"\n :required=\"required\"\n />\n </component>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAmCO,MAAM,CAAC,yBAAA,EAA2B,0BAA0B,CAAA,GAC/D,cAAmC,cAAc;;;;;;;;;;;;;;;;;;;AAerD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAWd,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AAExD,IAAM,MAAA,oBAAA,GAAuB,+BAA+B,IAAI,CAAA;AAEhE,IAAA,MAAM,UAAa,GAAA,SAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,MACvD,cAAc,KAAM,CAAA,YAAA;AAAA,MACpB,OAAA,EAAU,MAAM,UAAe,KAAA;AAAA,KAChC,CAAA;AAED,IAAA,MAAM,WAAW,QAAS,CAAA,MAAM,sBAAsB,QAAS,CAAA,KAAA,IAAS,MAAM,QAAQ,CAAA;AAEtF,IAAM,MAAA,aAAA,GAAgB,SAAuB,MAAM;AACjD,MAAA,IAAI,CAAC,SAAA,CAAU,oBAAsB,EAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACtD,QAAA,OAAO,mBAAoB,CAAA,oBAAA,CAAqB,UAAW,CAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,OAE1E,MAAA;AACH,QAAA,OAAO,UAAW,CAAA,KAAA,KAAU,eAAkB,GAAA,eAAA,GAAkB,UAAW,CAAA,KAAA;AAAA;AAC7E,KACD,CAAA;AAED,IAAA,SAAS,WAAc,GAAA;AACrB,MAAA,IAAI,CAAC,SAAA,CAAU,oBAAsB,EAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACtD,QAAA,MAAM,kBAAkB,CAAC,GAAI,qBAAqB,UAAW,CAAA,KAAA,IAAS,EAAG,CAAA;AACzE,QAAA,IAAI,mBAAoB,CAAA,eAAA,EAAiB,KAAM,CAAA,KAAK,CAAG,EAAA;AACrD,UAAM,MAAA,KAAA,GAAQ,gBAAgB,SAAU,CAAA,CAAA,CAAA,KAAK,QAAQ,CAAG,EAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AACpE,UAAgB,eAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,SAE5B,MAAA;AACH,UAAgB,eAAA,CAAA,IAAA,CAAK,MAAM,KAAK,CAAA;AAAA;AAElC,QAAA,oBAAA,CAAqB,WAAW,KAAQ,GAAA,eAAA;AAAA,OAErC,MAAA;AACH,QAAA,UAAA,CAAW,QAAQ,eAAgB,CAAA,UAAA,CAAW,KAAK,CAAI,GAAA,IAAA,GAAO,CAAC,UAAW,CAAA,KAAA;AAAA;AAC5E;AAGF,IAAM,MAAA,aAAA,GAAgB,eAAe,cAAc,CAAA;AACnD,IAAA,MAAM,SAAY,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,MAAM,cAAe,CAAA,KAAA,GACvD,QAAS,CAAA,aAAA,CAAc,SAAS,KAAM,CAAA,EAAE,CAAI,EAAA,CAAA,CAAA,EAAwB,YACrE,MAAS,CAAA;AAEb,IAA2B,0BAAA,CAAA;AAAA,MACzB,QAAA;AAAA,MACA,KAAO,EAAA;AAAA,KACR,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CheckboxRoot.js","sources":["../../src/Checkbox/CheckboxRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { AcceptableValue, FormFieldProps } from '@/shared/types'\nimport type { Ref } from 'vue'\nimport type { CheckedState } from './utils'\nimport { createContext, isNullish, isValueEqualOrExist, useFormControl, useForwardExpose } from '@/shared'\nimport { useVModel } from '@vueuse/core'\nimport { injectCheckboxGroupRootContext } from './CheckboxGroupRoot.vue'\n\nexport interface CheckboxRootProps extends PrimitiveProps, FormFieldProps {\n /** The value of the checkbox when it is initially rendered. Use when you do not need to control its value. */\n defaultValue?: boolean | 'indeterminate'\n /** The controlled value of the checkbox. Can be binded with v-model. */\n modelValue?: boolean | 'indeterminate' | null\n /** When `true`, prevents the user from interacting with the checkbox */\n disabled?: boolean\n /**\n * The value given as data when submitted with a `name`.\n * @defaultValue \"on\"\n */\n value?: AcceptableValue\n /** Id of the element */\n id?: string\n}\n\nexport type CheckboxRootEmits = {\n /** Event handler called when the value of the checkbox changes. */\n 'update:modelValue': [value: boolean | 'indeterminate']\n}\n\ninterface CheckboxRootContext {\n disabled: Ref<boolean>\n state: Ref<CheckedState>\n}\n\nexport const [injectCheckboxRootContext, provideCheckboxRootContext]\n = createContext<CheckboxRootContext>('CheckboxRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { RovingFocusItem } from '@/RovingFocus'\nimport { VisuallyHiddenInput } from '@/VisuallyHidden'\nimport { isEqual } from 'ohash'\nimport { computed } from 'vue'\nimport { getState, isIndeterminate } from './utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<CheckboxRootProps>(), {\n modelValue: undefined,\n value: 'on',\n as: 'button',\n})\nconst emits = defineEmits<CheckboxRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current value */\n modelValue: typeof modelValue.value\n /** Current state */\n state: typeof checkboxState.value\n }) => any\n}>()\n\nconst { forwardRef, currentElement } = useForwardExpose()\n\nconst checkboxGroupContext = injectCheckboxGroupRootContext(null)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<CheckedState>\n\nconst disabled = computed(() => checkboxGroupContext?.disabled.value || props.disabled)\n\nconst checkboxState = computed<CheckedState>(() => {\n if (!isNullish(checkboxGroupContext?.modelValue.value)) {\n return isValueEqualOrExist(checkboxGroupContext.modelValue.value, props.value)\n }\n else {\n return modelValue.value === 'indeterminate' ? 'indeterminate' : modelValue.value\n }\n})\n\nfunction handleClick() {\n if (!isNullish(checkboxGroupContext?.modelValue.value)) {\n const modelValueArray = [...(checkboxGroupContext.modelValue.value || [])]\n if (isValueEqualOrExist(modelValueArray, props.value)) {\n const index = modelValueArray.findIndex(i => isEqual(i, props.value))\n modelValueArray.splice(index, 1)\n }\n else {\n modelValueArray.push(props.value)\n }\n checkboxGroupContext.modelValue.value = modelValueArray\n }\n else {\n modelValue.value = isIndeterminate(modelValue.value) ? true : !modelValue.value\n }\n}\n\nconst isFormControl = useFormControl(currentElement)\nconst ariaLabel = computed(() => props.id && currentElement.value\n ? (document.querySelector(`[for=\"${props.id}\"]`) as HTMLLabelElement)?.innerText\n : undefined)\n\nprovideCheckboxRootContext({\n disabled,\n state: checkboxState,\n})\n</script>\n\n<template>\n <component\n v-bind=\"$attrs\"\n :is=\"checkboxGroupContext?.rovingFocus.value ? RovingFocusItem : Primitive\"\n :id=\"id\"\n :ref=\"forwardRef\"\n role=\"checkbox\"\n :as-child=\"asChild\"\n :as=\"as\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :aria-checked=\"isIndeterminate(checkboxState) ? 'mixed' : checkboxState\"\n :aria-required=\"required\"\n :aria-label=\"$attrs['aria-label'] || ariaLabel\"\n :data-state=\"getState(checkboxState)\"\n :data-disabled=\"disabled ? '' : undefined\"\n :disabled=\"disabled\"\n :focusable=\"checkboxGroupContext?.rovingFocus.value ? !disabled : undefined\"\n @keydown.enter.prevent=\"() => {\n // According to WAI ARIA, Checkboxes don't activate on enter keypress\n }\"\n @click=\"handleClick\"\n >\n <slot\n :model-value=\"modelValue\"\n :state=\"checkboxState\"\n />\n\n <VisuallyHiddenInput\n v-if=\"isFormControl && name && !checkboxGroupContext\"\n type=\"checkbox\"\n :checked=\"!!checkboxState\"\n :name=\"name\"\n :value=\"value\"\n :disabled=\"disabled\"\n :required=\"required\"\n />\n </component>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAmCO,MAAM,CAAC,yBAAA,EAA2B,0BAA0B,CAAA,GAC/D,cAAmC,cAAc;;;;;;;;;;;;;;;;;;;AAerD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAWd,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AAExD,IAAM,MAAA,oBAAA,GAAuB,+BAA+B,IAAI,CAAA;AAEhE,IAAA,MAAM,UAAa,GAAA,SAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,MACvD,cAAc,KAAM,CAAA,YAAA;AAAA,MACpB,OAAA,EAAU,MAAM,UAAe,KAAA;AAAA,KAChC,CAAA;AAED,IAAA,MAAM,WAAW,QAAS,CAAA,MAAM,sBAAsB,QAAS,CAAA,KAAA,IAAS,MAAM,QAAQ,CAAA;AAEtF,IAAM,MAAA,aAAA,GAAgB,SAAuB,MAAM;AACjD,MAAA,IAAI,CAAC,SAAA,CAAU,oBAAsB,EAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACtD,QAAA,OAAO,mBAAoB,CAAA,oBAAA,CAAqB,UAAW,CAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,OAE1E,MAAA;AACH,QAAA,OAAO,UAAW,CAAA,KAAA,KAAU,eAAkB,GAAA,eAAA,GAAkB,UAAW,CAAA,KAAA;AAAA;AAC7E,KACD,CAAA;AAED,IAAA,SAAS,WAAc,GAAA;AACrB,MAAA,IAAI,CAAC,SAAA,CAAU,oBAAsB,EAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACtD,QAAA,MAAM,kBAAkB,CAAC,GAAI,qBAAqB,UAAW,CAAA,KAAA,IAAS,EAAG,CAAA;AACzE,QAAA,IAAI,mBAAoB,CAAA,eAAA,EAAiB,KAAM,CAAA,KAAK,CAAG,EAAA;AACrD,UAAM,MAAA,KAAA,GAAQ,gBAAgB,SAAU,CAAA,CAAA,CAAA,KAAK,QAAQ,CAAG,EAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AACpE,UAAgB,eAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,SAE5B,MAAA;AACH,UAAgB,eAAA,CAAA,IAAA,CAAK,MAAM,KAAK,CAAA;AAAA;AAElC,QAAA,oBAAA,CAAqB,WAAW,KAAQ,GAAA,eAAA;AAAA,OAErC,MAAA;AACH,QAAA,UAAA,CAAW,QAAQ,eAAgB,CAAA,UAAA,CAAW,KAAK,CAAI,GAAA,IAAA,GAAO,CAAC,UAAW,CAAA,KAAA;AAAA;AAC5E;AAGF,IAAM,MAAA,aAAA,GAAgB,eAAe,cAAc,CAAA;AACnD,IAAA,MAAM,SAAY,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,MAAM,cAAe,CAAA,KAAA,GACvD,QAAS,CAAA,aAAA,CAAc,SAAS,KAAM,CAAA,EAAE,CAAI,EAAA,CAAA,CAAA,EAAwB,YACrE,MAAS,CAAA;AAEb,IAA2B,0BAAA,CAAA;AAAA,MACzB,QAAA;AAAA,MACA,KAAO,EAAA;AAAA,KACR,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,11 +2,11 @@
2
2
 
3
3
  const vue = require('vue');
4
4
  const core = require('@vueuse/core');
5
+ const Collapsible_CollapsibleRoot = require('./CollapsibleRoot.cjs');
5
6
  const shared_useId = require('../shared/useId.cjs');
6
7
  const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
7
8
  const Presence_Presence = require('../Presence/Presence.cjs');
8
9
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
9
- const Collapsible_CollapsibleRoot = require('./CollapsibleRoot.cjs');
10
10
 
11
11
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
12
12
  ...{
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleContent.cjs","sources":["../../src/Collapsible/CollapsibleContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CollapsibleContentProps extends PrimitiveProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport type CollapsibleContentEmits = {\n contentFound: [void]\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { injectCollapsibleRootContext } from './CollapsibleRoot.vue'\nimport {\n Primitive,\n} from '@/Primitive'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose, useId } from '@/shared'\nimport { useEventListener } from '@vueuse/core'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<CollapsibleContentProps>()\nconst emits = defineEmits<CollapsibleContentEmits>()\n\nconst rootContext = injectCollapsibleRootContext()\nrootContext.contentId ||= useId(undefined, 'reka-collapsible-content')\n\nconst presentRef = ref<InstanceType<typeof Presence>>()\nconst { forwardRef, currentElement } = useForwardExpose()\n\nconst width = ref(0)\nconst height = ref(0)\n\n// when opening we want it to immediately open to retrieve dimensions\n// when closing we delay `present` to retrieve dimensions before closing\nconst isOpen = computed(() => rootContext.open.value)\nconst isMountAnimationPrevented = ref(isOpen.value)\nconst currentStyle = ref<Record<string, string>>()\n\nwatch(\n () => [isOpen.value, presentRef.value?.present],\n async () => {\n await nextTick()\n const node = currentElement.value\n if (!node)\n return\n currentStyle.value = currentStyle.value || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName,\n }\n // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s'\n node.style.animationName = 'none'\n\n // get width and height from full dimensions\n const rect = node.getBoundingClientRect()\n height.value = rect.height\n width.value = rect.width\n\n // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPrevented.value) {\n node.style.transitionDuration = currentStyle.value.transitionDuration\n node.style.animationName = currentStyle.value.animationName\n }\n },\n {\n immediate: true,\n },\n)\n\nconst skipAnimation = computed(() => isMountAnimationPrevented.value && rootContext.open.value)\n\nonMounted(() => {\n requestAnimationFrame(() => {\n isMountAnimationPrevented.value = false\n })\n})\n\nuseEventListener(currentElement, 'beforematch', (ev) => {\n requestAnimationFrame(() => {\n rootContext.onOpenToggle()\n emits('contentFound')\n })\n})\n</script>\n\n<template>\n <Presence\n v-slot=\"{ present }\"\n ref=\"presentRef\"\n :present=\"forceMount || rootContext.open.value\"\n :force-mount=\"true\"\n >\n <Primitive\n v-bind=\"$attrs\"\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n :hidden=\"!present ? rootContext.unmountOnHide.value ? '' : 'until-found' : undefined\"\n :data-state=\"skipAnimation ? undefined : rootContext.open.value ? 'open' : 'closed'\"\n :data-disabled=\"rootContext.disabled?.value ? '' : undefined\"\n :style=\"{\n [`--reka-collapsible-content-height`]: `${height}px`,\n [`--reka-collapsible-content-width`]: `${width}px`,\n }\"\n >\n <slot v-if=\"rootContext.unmountOnHide.value ? present : true\" />\n </Primitive>\n </Presence>\n</template>\n"],"names":["injectCollapsibleRootContext","useId","ref","useForwardExpose","computed","watch","nextTick","onMounted","useEventListener"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,cAAcA,wDAA6B,EAAA;AACjD,IAAY,WAAA,CAAA,SAAA,KAAcC,kBAAM,CAAA,MAAA,EAAW,0BAA0B,CAAA;AAErE,IAAA,MAAM,aAAaC,OAAmC,EAAA;AACtD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAIC,wCAAiB,EAAA;AAExD,IAAM,MAAA,KAAA,GAAQD,QAAI,CAAC,CAAA;AACnB,IAAM,MAAA,MAAA,GAASA,QAAI,CAAC,CAAA;AAIpB,IAAA,MAAM,MAAS,GAAAE,YAAA,CAAS,MAAM,WAAA,CAAY,KAAK,KAAK,CAAA;AACpD,IAAM,MAAA,yBAAA,GAA4BF,OAAI,CAAA,MAAA,CAAO,KAAK,CAAA;AAClD,IAAA,MAAM,eAAeA,OAA4B,EAAA;AAEjD,IAAAG,SAAA;AAAA,MACE,MAAM,CAAC,MAAA,CAAO,KAAO,EAAA,UAAA,CAAW,OAAO,OAAO,CAAA;AAAA,MAC9C,YAAY;AACV,QAAA,MAAMC,YAAS,EAAA;AACf,QAAA,MAAM,OAAO,cAAe,CAAA,KAAA;AAC5B,QAAA,IAAI,CAAC,IAAA;AACH,UAAA;AACF,QAAa,YAAA,CAAA,KAAA,GAAQ,aAAa,KAAS,IAAA;AAAA,UACzC,kBAAA,EAAoB,KAAK,KAAM,CAAA,kBAAA;AAAA,UAC/B,aAAA,EAAe,KAAK,KAAM,CAAA;AAAA,SAC5B;AAEA,QAAA,IAAA,CAAK,MAAM,kBAAqB,GAAA,IAAA;AAChC,QAAA,IAAA,CAAK,MAAM,aAAgB,GAAA,MAAA;AAG3B,QAAM,MAAA,IAAA,GAAO,KAAK,qBAAsB,EAAA;AACxC,QAAA,MAAA,CAAO,QAAQ,IAAK,CAAA,MAAA;AACpB,QAAA,KAAA,CAAM,QAAQ,IAAK,CAAA,KAAA;AAGnB,QAAI,IAAA,CAAC,0BAA0B,KAAO,EAAA;AACpC,UAAK,IAAA,CAAA,KAAA,CAAM,kBAAqB,GAAA,YAAA,CAAa,KAAM,CAAA,kBAAA;AACnD,UAAK,IAAA,CAAA,KAAA,CAAM,aAAgB,GAAA,YAAA,CAAa,KAAM,CAAA,aAAA;AAAA;AAChD,OACF;AAAA,MACA;AAAA,QACE,SAAW,EAAA;AAAA;AACb,KACF;AAEA,IAAA,MAAM,gBAAgBF,YAAS,CAAA,MAAM,0BAA0B,KAAS,IAAA,WAAA,CAAY,KAAK,KAAK,CAAA;AAE9F,IAAAG,aAAA,CAAU,MAAM;AACd,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,yBAAA,CAA0B,KAAQ,GAAA,KAAA;AAAA,OACnC,CAAA;AAAA,KACF,CAAA;AAED,IAAiBC,qBAAA,CAAA,cAAA,EAAgB,aAAe,EAAA,CAAC,EAAO,KAAA;AACtD,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,WAAA,CAAY,YAAa,EAAA;AACzB,QAAA,KAAA,CAAM,cAAc,CAAA;AAAA,OACrB,CAAA;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CollapsibleContent.cjs","sources":["../../src/Collapsible/CollapsibleContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CollapsibleContentProps extends PrimitiveProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport type CollapsibleContentEmits = {\n contentFound: [void]\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Presence } from '@/Presence'\nimport {\n Primitive,\n} from '@/Primitive'\nimport { useForwardExpose, useId } from '@/shared'\nimport { useEventListener } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { injectCollapsibleRootContext } from './CollapsibleRoot.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<CollapsibleContentProps>()\nconst emits = defineEmits<CollapsibleContentEmits>()\n\nconst rootContext = injectCollapsibleRootContext()\nrootContext.contentId ||= useId(undefined, 'reka-collapsible-content')\n\nconst presentRef = ref<InstanceType<typeof Presence>>()\nconst { forwardRef, currentElement } = useForwardExpose()\n\nconst width = ref(0)\nconst height = ref(0)\n\n// when opening we want it to immediately open to retrieve dimensions\n// when closing we delay `present` to retrieve dimensions before closing\nconst isOpen = computed(() => rootContext.open.value)\nconst isMountAnimationPrevented = ref(isOpen.value)\nconst currentStyle = ref<Record<string, string>>()\n\nwatch(\n () => [isOpen.value, presentRef.value?.present],\n async () => {\n await nextTick()\n const node = currentElement.value\n if (!node)\n return\n currentStyle.value = currentStyle.value || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName,\n }\n // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s'\n node.style.animationName = 'none'\n\n // get width and height from full dimensions\n const rect = node.getBoundingClientRect()\n height.value = rect.height\n width.value = rect.width\n\n // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPrevented.value) {\n node.style.transitionDuration = currentStyle.value.transitionDuration\n node.style.animationName = currentStyle.value.animationName\n }\n },\n {\n immediate: true,\n },\n)\n\nconst skipAnimation = computed(() => isMountAnimationPrevented.value && rootContext.open.value)\n\nonMounted(() => {\n requestAnimationFrame(() => {\n isMountAnimationPrevented.value = false\n })\n})\n\nuseEventListener(currentElement, 'beforematch', (ev) => {\n requestAnimationFrame(() => {\n rootContext.onOpenToggle()\n emits('contentFound')\n })\n})\n</script>\n\n<template>\n <Presence\n v-slot=\"{ present }\"\n ref=\"presentRef\"\n :present=\"forceMount || rootContext.open.value\"\n :force-mount=\"true\"\n >\n <Primitive\n v-bind=\"$attrs\"\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n :hidden=\"!present ? rootContext.unmountOnHide.value ? '' : 'until-found' : undefined\"\n :data-state=\"skipAnimation ? undefined : rootContext.open.value ? 'open' : 'closed'\"\n :data-disabled=\"rootContext.disabled?.value ? '' : undefined\"\n :style=\"{\n [`--reka-collapsible-content-height`]: `${height}px`,\n [`--reka-collapsible-content-width`]: `${width}px`,\n }\"\n >\n <slot v-if=\"rootContext.unmountOnHide.value ? present : true\" />\n </Primitive>\n </Presence>\n</template>\n"],"names":["injectCollapsibleRootContext","useId","ref","useForwardExpose","computed","watch","nextTick","onMounted","useEventListener"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,cAAcA,wDAA6B,EAAA;AACjD,IAAY,WAAA,CAAA,SAAA,KAAcC,kBAAM,CAAA,MAAA,EAAW,0BAA0B,CAAA;AAErE,IAAA,MAAM,aAAaC,OAAmC,EAAA;AACtD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAIC,wCAAiB,EAAA;AAExD,IAAM,MAAA,KAAA,GAAQD,QAAI,CAAC,CAAA;AACnB,IAAM,MAAA,MAAA,GAASA,QAAI,CAAC,CAAA;AAIpB,IAAA,MAAM,MAAS,GAAAE,YAAA,CAAS,MAAM,WAAA,CAAY,KAAK,KAAK,CAAA;AACpD,IAAM,MAAA,yBAAA,GAA4BF,OAAI,CAAA,MAAA,CAAO,KAAK,CAAA;AAClD,IAAA,MAAM,eAAeA,OAA4B,EAAA;AAEjD,IAAAG,SAAA;AAAA,MACE,MAAM,CAAC,MAAA,CAAO,KAAO,EAAA,UAAA,CAAW,OAAO,OAAO,CAAA;AAAA,MAC9C,YAAY;AACV,QAAA,MAAMC,YAAS,EAAA;AACf,QAAA,MAAM,OAAO,cAAe,CAAA,KAAA;AAC5B,QAAA,IAAI,CAAC,IAAA;AACH,UAAA;AACF,QAAa,YAAA,CAAA,KAAA,GAAQ,aAAa,KAAS,IAAA;AAAA,UACzC,kBAAA,EAAoB,KAAK,KAAM,CAAA,kBAAA;AAAA,UAC/B,aAAA,EAAe,KAAK,KAAM,CAAA;AAAA,SAC5B;AAEA,QAAA,IAAA,CAAK,MAAM,kBAAqB,GAAA,IAAA;AAChC,QAAA,IAAA,CAAK,MAAM,aAAgB,GAAA,MAAA;AAG3B,QAAM,MAAA,IAAA,GAAO,KAAK,qBAAsB,EAAA;AACxC,QAAA,MAAA,CAAO,QAAQ,IAAK,CAAA,MAAA;AACpB,QAAA,KAAA,CAAM,QAAQ,IAAK,CAAA,KAAA;AAGnB,QAAI,IAAA,CAAC,0BAA0B,KAAO,EAAA;AACpC,UAAK,IAAA,CAAA,KAAA,CAAM,kBAAqB,GAAA,YAAA,CAAa,KAAM,CAAA,kBAAA;AACnD,UAAK,IAAA,CAAA,KAAA,CAAM,aAAgB,GAAA,YAAA,CAAa,KAAM,CAAA,aAAA;AAAA;AAChD,OACF;AAAA,MACA;AAAA,QACE,SAAW,EAAA;AAAA;AACb,KACF;AAEA,IAAA,MAAM,gBAAgBF,YAAS,CAAA,MAAM,0BAA0B,KAAS,IAAA,WAAA,CAAY,KAAK,KAAK,CAAA;AAE9F,IAAAG,aAAA,CAAU,MAAM;AACd,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,yBAAA,CAA0B,KAAQ,GAAA,KAAA;AAAA,OACnC,CAAA;AAAA,KACF,CAAA;AAED,IAAiBC,qBAAA,CAAA,cAAA,EAAgB,aAAe,EAAA,CAAC,EAAO,KAAA;AACtD,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,WAAA,CAAY,YAAa,EAAA;AACzB,QAAA,KAAA,CAAM,cAAc,CAAA;AAAA,OACrB,CAAA;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,10 @@
1
1
  import { defineComponent, ref, computed, watch, nextTick, onMounted, createBlock, openBlock, unref, withCtx, createVNode, mergeProps, renderSlot, createCommentVNode } from 'vue';
2
2
  import { useEventListener } from '@vueuse/core';
3
+ import { i as injectCollapsibleRootContext } from './CollapsibleRoot.js';
3
4
  import { u as useId } from '../shared/useId.js';
4
5
  import { u as useForwardExpose } from '../shared/useForwardExpose.js';
5
6
  import { P as Presence } from '../Presence/Presence.js';
6
7
  import { P as Primitive } from '../Primitive/Primitive.js';
7
- import { i as injectCollapsibleRootContext } from './CollapsibleRoot.js';
8
8
 
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  ...{
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleContent.js","sources":["../../src/Collapsible/CollapsibleContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CollapsibleContentProps extends PrimitiveProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport type CollapsibleContentEmits = {\n contentFound: [void]\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { injectCollapsibleRootContext } from './CollapsibleRoot.vue'\nimport {\n Primitive,\n} from '@/Primitive'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose, useId } from '@/shared'\nimport { useEventListener } from '@vueuse/core'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<CollapsibleContentProps>()\nconst emits = defineEmits<CollapsibleContentEmits>()\n\nconst rootContext = injectCollapsibleRootContext()\nrootContext.contentId ||= useId(undefined, 'reka-collapsible-content')\n\nconst presentRef = ref<InstanceType<typeof Presence>>()\nconst { forwardRef, currentElement } = useForwardExpose()\n\nconst width = ref(0)\nconst height = ref(0)\n\n// when opening we want it to immediately open to retrieve dimensions\n// when closing we delay `present` to retrieve dimensions before closing\nconst isOpen = computed(() => rootContext.open.value)\nconst isMountAnimationPrevented = ref(isOpen.value)\nconst currentStyle = ref<Record<string, string>>()\n\nwatch(\n () => [isOpen.value, presentRef.value?.present],\n async () => {\n await nextTick()\n const node = currentElement.value\n if (!node)\n return\n currentStyle.value = currentStyle.value || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName,\n }\n // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s'\n node.style.animationName = 'none'\n\n // get width and height from full dimensions\n const rect = node.getBoundingClientRect()\n height.value = rect.height\n width.value = rect.width\n\n // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPrevented.value) {\n node.style.transitionDuration = currentStyle.value.transitionDuration\n node.style.animationName = currentStyle.value.animationName\n }\n },\n {\n immediate: true,\n },\n)\n\nconst skipAnimation = computed(() => isMountAnimationPrevented.value && rootContext.open.value)\n\nonMounted(() => {\n requestAnimationFrame(() => {\n isMountAnimationPrevented.value = false\n })\n})\n\nuseEventListener(currentElement, 'beforematch', (ev) => {\n requestAnimationFrame(() => {\n rootContext.onOpenToggle()\n emits('contentFound')\n })\n})\n</script>\n\n<template>\n <Presence\n v-slot=\"{ present }\"\n ref=\"presentRef\"\n :present=\"forceMount || rootContext.open.value\"\n :force-mount=\"true\"\n >\n <Primitive\n v-bind=\"$attrs\"\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n :hidden=\"!present ? rootContext.unmountOnHide.value ? '' : 'until-found' : undefined\"\n :data-state=\"skipAnimation ? undefined : rootContext.open.value ? 'open' : 'closed'\"\n :data-disabled=\"rootContext.disabled?.value ? '' : undefined\"\n :style=\"{\n [`--reka-collapsible-content-height`]: `${height}px`,\n [`--reka-collapsible-content-width`]: `${width}px`,\n }\"\n >\n <slot v-if=\"rootContext.unmountOnHide.value ? present : true\" />\n </Primitive>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA8BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,cAAc,4BAA6B,EAAA;AACjD,IAAY,WAAA,CAAA,SAAA,KAAc,KAAM,CAAA,MAAA,EAAW,0BAA0B,CAAA;AAErE,IAAA,MAAM,aAAa,GAAmC,EAAA;AACtD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AAExD,IAAM,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA;AACnB,IAAM,MAAA,MAAA,GAAS,IAAI,CAAC,CAAA;AAIpB,IAAA,MAAM,MAAS,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,KAAK,KAAK,CAAA;AACpD,IAAM,MAAA,yBAAA,GAA4B,GAAI,CAAA,MAAA,CAAO,KAAK,CAAA;AAClD,IAAA,MAAM,eAAe,GAA4B,EAAA;AAEjD,IAAA,KAAA;AAAA,MACE,MAAM,CAAC,MAAA,CAAO,KAAO,EAAA,UAAA,CAAW,OAAO,OAAO,CAAA;AAAA,MAC9C,YAAY;AACV,QAAA,MAAM,QAAS,EAAA;AACf,QAAA,MAAM,OAAO,cAAe,CAAA,KAAA;AAC5B,QAAA,IAAI,CAAC,IAAA;AACH,UAAA;AACF,QAAa,YAAA,CAAA,KAAA,GAAQ,aAAa,KAAS,IAAA;AAAA,UACzC,kBAAA,EAAoB,KAAK,KAAM,CAAA,kBAAA;AAAA,UAC/B,aAAA,EAAe,KAAK,KAAM,CAAA;AAAA,SAC5B;AAEA,QAAA,IAAA,CAAK,MAAM,kBAAqB,GAAA,IAAA;AAChC,QAAA,IAAA,CAAK,MAAM,aAAgB,GAAA,MAAA;AAG3B,QAAM,MAAA,IAAA,GAAO,KAAK,qBAAsB,EAAA;AACxC,QAAA,MAAA,CAAO,QAAQ,IAAK,CAAA,MAAA;AACpB,QAAA,KAAA,CAAM,QAAQ,IAAK,CAAA,KAAA;AAGnB,QAAI,IAAA,CAAC,0BAA0B,KAAO,EAAA;AACpC,UAAK,IAAA,CAAA,KAAA,CAAM,kBAAqB,GAAA,YAAA,CAAa,KAAM,CAAA,kBAAA;AACnD,UAAK,IAAA,CAAA,KAAA,CAAM,aAAgB,GAAA,YAAA,CAAa,KAAM,CAAA,aAAA;AAAA;AAChD,OACF;AAAA,MACA;AAAA,QACE,SAAW,EAAA;AAAA;AACb,KACF;AAEA,IAAA,MAAM,gBAAgB,QAAS,CAAA,MAAM,0BAA0B,KAAS,IAAA,WAAA,CAAY,KAAK,KAAK,CAAA;AAE9F,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,yBAAA,CAA0B,KAAQ,GAAA,KAAA;AAAA,OACnC,CAAA;AAAA,KACF,CAAA;AAED,IAAiB,gBAAA,CAAA,cAAA,EAAgB,aAAe,EAAA,CAAC,EAAO,KAAA;AACtD,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,WAAA,CAAY,YAAa,EAAA;AACzB,QAAA,KAAA,CAAM,cAAc,CAAA;AAAA,OACrB,CAAA;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CollapsibleContent.js","sources":["../../src/Collapsible/CollapsibleContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CollapsibleContentProps extends PrimitiveProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport type CollapsibleContentEmits = {\n contentFound: [void]\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Presence } from '@/Presence'\nimport {\n Primitive,\n} from '@/Primitive'\nimport { useForwardExpose, useId } from '@/shared'\nimport { useEventListener } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { injectCollapsibleRootContext } from './CollapsibleRoot.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<CollapsibleContentProps>()\nconst emits = defineEmits<CollapsibleContentEmits>()\n\nconst rootContext = injectCollapsibleRootContext()\nrootContext.contentId ||= useId(undefined, 'reka-collapsible-content')\n\nconst presentRef = ref<InstanceType<typeof Presence>>()\nconst { forwardRef, currentElement } = useForwardExpose()\n\nconst width = ref(0)\nconst height = ref(0)\n\n// when opening we want it to immediately open to retrieve dimensions\n// when closing we delay `present` to retrieve dimensions before closing\nconst isOpen = computed(() => rootContext.open.value)\nconst isMountAnimationPrevented = ref(isOpen.value)\nconst currentStyle = ref<Record<string, string>>()\n\nwatch(\n () => [isOpen.value, presentRef.value?.present],\n async () => {\n await nextTick()\n const node = currentElement.value\n if (!node)\n return\n currentStyle.value = currentStyle.value || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName,\n }\n // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s'\n node.style.animationName = 'none'\n\n // get width and height from full dimensions\n const rect = node.getBoundingClientRect()\n height.value = rect.height\n width.value = rect.width\n\n // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPrevented.value) {\n node.style.transitionDuration = currentStyle.value.transitionDuration\n node.style.animationName = currentStyle.value.animationName\n }\n },\n {\n immediate: true,\n },\n)\n\nconst skipAnimation = computed(() => isMountAnimationPrevented.value && rootContext.open.value)\n\nonMounted(() => {\n requestAnimationFrame(() => {\n isMountAnimationPrevented.value = false\n })\n})\n\nuseEventListener(currentElement, 'beforematch', (ev) => {\n requestAnimationFrame(() => {\n rootContext.onOpenToggle()\n emits('contentFound')\n })\n})\n</script>\n\n<template>\n <Presence\n v-slot=\"{ present }\"\n ref=\"presentRef\"\n :present=\"forceMount || rootContext.open.value\"\n :force-mount=\"true\"\n >\n <Primitive\n v-bind=\"$attrs\"\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n :hidden=\"!present ? rootContext.unmountOnHide.value ? '' : 'until-found' : undefined\"\n :data-state=\"skipAnimation ? undefined : rootContext.open.value ? 'open' : 'closed'\"\n :data-disabled=\"rootContext.disabled?.value ? '' : undefined\"\n :style=\"{\n [`--reka-collapsible-content-height`]: `${height}px`,\n [`--reka-collapsible-content-width`]: `${width}px`,\n }\"\n >\n <slot v-if=\"rootContext.unmountOnHide.value ? present : true\" />\n </Primitive>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA8BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,cAAc,4BAA6B,EAAA;AACjD,IAAY,WAAA,CAAA,SAAA,KAAc,KAAM,CAAA,MAAA,EAAW,0BAA0B,CAAA;AAErE,IAAA,MAAM,aAAa,GAAmC,EAAA;AACtD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AAExD,IAAM,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA;AACnB,IAAM,MAAA,MAAA,GAAS,IAAI,CAAC,CAAA;AAIpB,IAAA,MAAM,MAAS,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,KAAK,KAAK,CAAA;AACpD,IAAM,MAAA,yBAAA,GAA4B,GAAI,CAAA,MAAA,CAAO,KAAK,CAAA;AAClD,IAAA,MAAM,eAAe,GAA4B,EAAA;AAEjD,IAAA,KAAA;AAAA,MACE,MAAM,CAAC,MAAA,CAAO,KAAO,EAAA,UAAA,CAAW,OAAO,OAAO,CAAA;AAAA,MAC9C,YAAY;AACV,QAAA,MAAM,QAAS,EAAA;AACf,QAAA,MAAM,OAAO,cAAe,CAAA,KAAA;AAC5B,QAAA,IAAI,CAAC,IAAA;AACH,UAAA;AACF,QAAa,YAAA,CAAA,KAAA,GAAQ,aAAa,KAAS,IAAA;AAAA,UACzC,kBAAA,EAAoB,KAAK,KAAM,CAAA,kBAAA;AAAA,UAC/B,aAAA,EAAe,KAAK,KAAM,CAAA;AAAA,SAC5B;AAEA,QAAA,IAAA,CAAK,MAAM,kBAAqB,GAAA,IAAA;AAChC,QAAA,IAAA,CAAK,MAAM,aAAgB,GAAA,MAAA;AAG3B,QAAM,MAAA,IAAA,GAAO,KAAK,qBAAsB,EAAA;AACxC,QAAA,MAAA,CAAO,QAAQ,IAAK,CAAA,MAAA;AACpB,QAAA,KAAA,CAAM,QAAQ,IAAK,CAAA,KAAA;AAGnB,QAAI,IAAA,CAAC,0BAA0B,KAAO,EAAA;AACpC,UAAK,IAAA,CAAA,KAAA,CAAM,kBAAqB,GAAA,YAAA,CAAa,KAAM,CAAA,kBAAA;AACnD,UAAK,IAAA,CAAA,KAAA,CAAM,aAAgB,GAAA,YAAA,CAAa,KAAM,CAAA,aAAA;AAAA;AAChD,OACF;AAAA,MACA;AAAA,QACE,SAAW,EAAA;AAAA;AACb,KACF;AAEA,IAAA,MAAM,gBAAgB,QAAS,CAAA,MAAM,0BAA0B,KAAS,IAAA,WAAA,CAAY,KAAK,KAAK,CAAA;AAE9F,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,yBAAA,CAA0B,KAAQ,GAAA,KAAA;AAAA,OACnC,CAAA;AAAA,KACF,CAAA;AAED,IAAiB,gBAAA,CAAA,cAAA,EAAgB,aAAe,EAAA,CAAC,EAAO,KAAA;AACtD,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,WAAA,CAAY,YAAa,EAAA;AACzB,QAAA,KAAA,CAAM,cAAc,CAAA;AAAA,OACrB,CAAA;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleRoot.cjs","sources":["../../src/Collapsible/CollapsibleRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { type Ref, toRefs } from 'vue'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface CollapsibleRootProps extends PrimitiveProps {\n /** The open state of the collapsible when it is initially rendered. <br> Use when you do not need to control its open state. */\n defaultOpen?: boolean\n /** The controlled open state of the collapsible. Can be binded with `v-model`. */\n open?: boolean\n /** When `true`, prevents the user from interacting with the collapsible. */\n disabled?: boolean\n /** When `true`, the element will be unmounted on closed state. */\n unmountOnHide?: boolean\n}\n\nexport type CollapsibleRootEmits = {\n /** Event handler called when the open state of the collapsible changes. */\n 'update:open': [value: boolean]\n}\n\ninterface CollapsibleRootContext {\n contentId: string\n disabled?: Ref<boolean>\n open: Ref<boolean>\n unmountOnHide: Ref<boolean>\n onOpenToggle: () => void\n}\n\nexport const [injectCollapsibleRootContext, provideCollapsibleRootContext]\n = createContext<CollapsibleRootContext>('CollapsibleRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\n\nconst props = withDefaults(defineProps<CollapsibleRootProps>(), {\n open: undefined,\n defaultOpen: false,\n unmountOnHide: true,\n})\n\nconst emit = defineEmits<CollapsibleRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current open state */\n open: typeof open.value\n }) => any\n}>()\n\nconst open = useVModel(props, 'open', emit, {\n defaultValue: props.defaultOpen,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst { disabled, unmountOnHide } = toRefs(props)\n\nprovideCollapsibleRootContext({\n contentId: '',\n disabled,\n open,\n unmountOnHide,\n onOpenToggle: () => {\n open.value = !open.value\n },\n})\n\ndefineExpose({ open })\nuseForwardExpose()\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"props.asChild\"\n :data-state=\"open ? 'open' : 'closed'\"\n :data-disabled=\"disabled ? '' : undefined\"\n >\n <slot :open=\"open\" />\n </Primitive>\n</template>\n"],"names":["createContext","useVModel","toRefs","useForwardExpose"],"mappings":";;;;;;;;AA6BO,MAAM,CAAC,4BAAA,EAA8B,6BAA6B,CAAA,GACrEA,mCAAsC,iBAAiB;;;;;;;;;;;;;AAO3D,IAAA,MAAM,KAAQ,GAAA,OAAA;AAMd,IAAA,MAAM,IAAO,GAAA,MAAA;AASb,IAAA,MAAM,IAAO,GAAAC,cAAA,CAAU,KAAO,EAAA,MAAA,EAAQ,IAAM,EAAA;AAAA,MAC1C,cAAc,KAAM,CAAA,WAAA;AAAA,MACpB,OAAA,EAAU,MAAM,IAAS,KAAA;AAAA,KAC1B,CAAA;AAED,IAAA,MAAM,EAAE,QAAA,EAAU,aAAc,EAAA,GAAIC,WAAO,KAAK,CAAA;AAEhD,IAA8B,6BAAA,CAAA;AAAA,MAC5B,SAAW,EAAA,EAAA;AAAA,MACX,QAAA;AAAA,MACA,IAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAc,MAAM;AAClB,QAAK,IAAA,CAAA,KAAA,GAAQ,CAAC,IAAK,CAAA,KAAA;AAAA;AACrB,KACD,CAAA;AAED,IAAa,QAAA,CAAA,EAAE,MAAM,CAAA;AACrB,IAAiBC,wCAAA,EAAA;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CollapsibleRoot.cjs","sources":["../../src/Collapsible/CollapsibleRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Ref } from 'vue'\nimport { createContext, useForwardExpose } from '@/shared'\nimport { toRefs } from 'vue'\n\nexport interface CollapsibleRootProps extends PrimitiveProps {\n /** The open state of the collapsible when it is initially rendered. <br> Use when you do not need to control its open state. */\n defaultOpen?: boolean\n /** The controlled open state of the collapsible. Can be binded with `v-model`. */\n open?: boolean\n /** When `true`, prevents the user from interacting with the collapsible. */\n disabled?: boolean\n /** When `true`, the element will be unmounted on closed state. */\n unmountOnHide?: boolean\n}\n\nexport type CollapsibleRootEmits = {\n /** Event handler called when the open state of the collapsible changes. */\n 'update:open': [value: boolean]\n}\n\ninterface CollapsibleRootContext {\n contentId: string\n disabled?: Ref<boolean>\n open: Ref<boolean>\n unmountOnHide: Ref<boolean>\n onOpenToggle: () => void\n}\n\nexport const [injectCollapsibleRootContext, provideCollapsibleRootContext]\n = createContext<CollapsibleRootContext>('CollapsibleRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\n\nconst props = withDefaults(defineProps<CollapsibleRootProps>(), {\n open: undefined,\n defaultOpen: false,\n unmountOnHide: true,\n})\n\nconst emit = defineEmits<CollapsibleRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current open state */\n open: typeof open.value\n }) => any\n}>()\n\nconst open = useVModel(props, 'open', emit, {\n defaultValue: props.defaultOpen,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst { disabled, unmountOnHide } = toRefs(props)\n\nprovideCollapsibleRootContext({\n contentId: '',\n disabled,\n open,\n unmountOnHide,\n onOpenToggle: () => {\n open.value = !open.value\n },\n})\n\ndefineExpose({ open })\nuseForwardExpose()\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"props.asChild\"\n :data-state=\"open ? 'open' : 'closed'\"\n :data-disabled=\"disabled ? '' : undefined\"\n >\n <slot :open=\"open\" />\n </Primitive>\n</template>\n"],"names":["createContext","useVModel","toRefs","useForwardExpose"],"mappings":";;;;;;;;AA8BO,MAAM,CAAC,4BAAA,EAA8B,6BAA6B,CAAA,GACrEA,mCAAsC,iBAAiB;;;;;;;;;;;;;AAO3D,IAAA,MAAM,KAAQ,GAAA,OAAA;AAMd,IAAA,MAAM,IAAO,GAAA,MAAA;AASb,IAAA,MAAM,IAAO,GAAAC,cAAA,CAAU,KAAO,EAAA,MAAA,EAAQ,IAAM,EAAA;AAAA,MAC1C,cAAc,KAAM,CAAA,WAAA;AAAA,MACpB,OAAA,EAAU,MAAM,IAAS,KAAA;AAAA,KAC1B,CAAA;AAED,IAAA,MAAM,EAAE,QAAA,EAAU,aAAc,EAAA,GAAIC,WAAO,KAAK,CAAA;AAEhD,IAA8B,6BAAA,CAAA;AAAA,MAC5B,SAAW,EAAA,EAAA;AAAA,MACX,QAAA;AAAA,MACA,IAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAc,MAAM;AAClB,QAAK,IAAA,CAAA,KAAA,GAAQ,CAAC,IAAK,CAAA,KAAA;AAAA;AACrB,KACD,CAAA;AAED,IAAa,QAAA,CAAA,EAAE,MAAM,CAAA;AACrB,IAAiBC,wCAAA,EAAA;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleRoot.js","sources":["../../src/Collapsible/CollapsibleRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { type Ref, toRefs } from 'vue'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface CollapsibleRootProps extends PrimitiveProps {\n /** The open state of the collapsible when it is initially rendered. <br> Use when you do not need to control its open state. */\n defaultOpen?: boolean\n /** The controlled open state of the collapsible. Can be binded with `v-model`. */\n open?: boolean\n /** When `true`, prevents the user from interacting with the collapsible. */\n disabled?: boolean\n /** When `true`, the element will be unmounted on closed state. */\n unmountOnHide?: boolean\n}\n\nexport type CollapsibleRootEmits = {\n /** Event handler called when the open state of the collapsible changes. */\n 'update:open': [value: boolean]\n}\n\ninterface CollapsibleRootContext {\n contentId: string\n disabled?: Ref<boolean>\n open: Ref<boolean>\n unmountOnHide: Ref<boolean>\n onOpenToggle: () => void\n}\n\nexport const [injectCollapsibleRootContext, provideCollapsibleRootContext]\n = createContext<CollapsibleRootContext>('CollapsibleRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\n\nconst props = withDefaults(defineProps<CollapsibleRootProps>(), {\n open: undefined,\n defaultOpen: false,\n unmountOnHide: true,\n})\n\nconst emit = defineEmits<CollapsibleRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current open state */\n open: typeof open.value\n }) => any\n}>()\n\nconst open = useVModel(props, 'open', emit, {\n defaultValue: props.defaultOpen,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst { disabled, unmountOnHide } = toRefs(props)\n\nprovideCollapsibleRootContext({\n contentId: '',\n disabled,\n open,\n unmountOnHide,\n onOpenToggle: () => {\n open.value = !open.value\n },\n})\n\ndefineExpose({ open })\nuseForwardExpose()\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"props.asChild\"\n :data-state=\"open ? 'open' : 'closed'\"\n :data-disabled=\"disabled ? '' : undefined\"\n >\n <slot :open=\"open\" />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;AA6BO,MAAM,CAAC,4BAAA,EAA8B,6BAA6B,CAAA,GACrE,cAAsC,iBAAiB;;;;;;;;;;;;;AAO3D,IAAA,MAAM,KAAQ,GAAA,OAAA;AAMd,IAAA,MAAM,IAAO,GAAA,MAAA;AASb,IAAA,MAAM,IAAO,GAAA,SAAA,CAAU,KAAO,EAAA,MAAA,EAAQ,IAAM,EAAA;AAAA,MAC1C,cAAc,KAAM,CAAA,WAAA;AAAA,MACpB,OAAA,EAAU,MAAM,IAAS,KAAA;AAAA,KAC1B,CAAA;AAED,IAAA,MAAM,EAAE,QAAA,EAAU,aAAc,EAAA,GAAI,OAAO,KAAK,CAAA;AAEhD,IAA8B,6BAAA,CAAA;AAAA,MAC5B,SAAW,EAAA,EAAA;AAAA,MACX,QAAA;AAAA,MACA,IAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAc,MAAM;AAClB,QAAK,IAAA,CAAA,KAAA,GAAQ,CAAC,IAAK,CAAA,KAAA;AAAA;AACrB,KACD,CAAA;AAED,IAAa,QAAA,CAAA,EAAE,MAAM,CAAA;AACrB,IAAiB,gBAAA,EAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CollapsibleRoot.js","sources":["../../src/Collapsible/CollapsibleRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Ref } from 'vue'\nimport { createContext, useForwardExpose } from '@/shared'\nimport { toRefs } from 'vue'\n\nexport interface CollapsibleRootProps extends PrimitiveProps {\n /** The open state of the collapsible when it is initially rendered. <br> Use when you do not need to control its open state. */\n defaultOpen?: boolean\n /** The controlled open state of the collapsible. Can be binded with `v-model`. */\n open?: boolean\n /** When `true`, prevents the user from interacting with the collapsible. */\n disabled?: boolean\n /** When `true`, the element will be unmounted on closed state. */\n unmountOnHide?: boolean\n}\n\nexport type CollapsibleRootEmits = {\n /** Event handler called when the open state of the collapsible changes. */\n 'update:open': [value: boolean]\n}\n\ninterface CollapsibleRootContext {\n contentId: string\n disabled?: Ref<boolean>\n open: Ref<boolean>\n unmountOnHide: Ref<boolean>\n onOpenToggle: () => void\n}\n\nexport const [injectCollapsibleRootContext, provideCollapsibleRootContext]\n = createContext<CollapsibleRootContext>('CollapsibleRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\n\nconst props = withDefaults(defineProps<CollapsibleRootProps>(), {\n open: undefined,\n defaultOpen: false,\n unmountOnHide: true,\n})\n\nconst emit = defineEmits<CollapsibleRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current open state */\n open: typeof open.value\n }) => any\n}>()\n\nconst open = useVModel(props, 'open', emit, {\n defaultValue: props.defaultOpen,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst { disabled, unmountOnHide } = toRefs(props)\n\nprovideCollapsibleRootContext({\n contentId: '',\n disabled,\n open,\n unmountOnHide,\n onOpenToggle: () => {\n open.value = !open.value\n },\n})\n\ndefineExpose({ open })\nuseForwardExpose()\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"props.asChild\"\n :data-state=\"open ? 'open' : 'closed'\"\n :data-disabled=\"disabled ? '' : undefined\"\n >\n <slot :open=\"open\" />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;AA8BO,MAAM,CAAC,4BAAA,EAA8B,6BAA6B,CAAA,GACrE,cAAsC,iBAAiB;;;;;;;;;;;;;AAO3D,IAAA,MAAM,KAAQ,GAAA,OAAA;AAMd,IAAA,MAAM,IAAO,GAAA,MAAA;AASb,IAAA,MAAM,IAAO,GAAA,SAAA,CAAU,KAAO,EAAA,MAAA,EAAQ,IAAM,EAAA;AAAA,MAC1C,cAAc,KAAM,CAAA,WAAA;AAAA,MACpB,OAAA,EAAU,MAAM,IAAS,KAAA;AAAA,KAC1B,CAAA;AAED,IAAA,MAAM,EAAE,QAAA,EAAU,aAAc,EAAA,GAAI,OAAO,KAAK,CAAA;AAEhD,IAA8B,6BAAA,CAAA;AAAA,MAC5B,SAAW,EAAA,EAAA;AAAA,MACX,QAAA;AAAA,MACA,IAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAc,MAAM;AAClB,QAAK,IAAA,CAAA,KAAA,GAAQ,CAAC,IAAK,CAAA,KAAA;AAAA;AACrB,KACD,CAAA;AAED,IAAa,QAAA,CAAA,EAAE,MAAM,CAAA;AACrB,IAAiB,gBAAA,EAAA;;;;;;;;;;;;;;;;;;;"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  const vue = require('vue');
4
4
  const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
5
- const Collapsible_CollapsibleRoot = require('./CollapsibleRoot.cjs');
6
5
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
6
+ const Collapsible_CollapsibleRoot = require('./CollapsibleRoot.cjs');
7
7
 
8
8
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
9
9
  __name: "CollapsibleTrigger",
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, createBlock, openBlock, unref, withCtx, renderSlot } from 'vue';
2
2
  import { u as useForwardExpose } from '../shared/useForwardExpose.js';
3
- import { i as injectCollapsibleRootContext } from './CollapsibleRoot.js';
4
3
  import { P as Primitive } from '../Primitive/Primitive.js';
4
+ import { i as injectCollapsibleRootContext } from './CollapsibleRoot.js';
5
5
 
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "CollapsibleTrigger",
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.cjs","sources":["../../src/Collection/Collection.ts"],"sourcesContent":["import { type Ref, computed, defineComponent, h, inject, markRaw, provide, ref, watch, watchEffect } from 'vue'\nimport { Slot, usePrimitiveElement } from '@/Primitive'\n\ninterface CollectionContext<ItemData = {}> {\n collectionRef: Ref<HTMLElement | undefined>\n itemMap: Ref<Map<HTMLElement, { ref: HTMLElement, value?: any } & ItemData>>\n}\n\nconst ITEM_DATA_ATTR = 'data-reka-collection-item'\n\nexport function useCollection<ItemData = {}>(options: { key?: string, isProvider?: boolean } = {}) {\n const { key = '', isProvider = false } = options\n const injectionKey = `${key}CollectionProvider`\n let context: CollectionContext<ItemData>\n\n if (isProvider) {\n const itemMap = ref<Map<HTMLElement, { ref: HTMLElement } & ItemData>>(new Map())\n const collectionRef = ref<HTMLElement>()\n\n context = {\n collectionRef,\n itemMap,\n } as CollectionContext<ItemData>\n provide(injectionKey, context)\n }\n else {\n context = inject(injectionKey) as CollectionContext<ItemData>\n }\n\n const getItems = (includeDisabledItem = false) => {\n const collectionNode = context.collectionRef.value\n if (!collectionNode)\n return []\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`))\n const items = Array.from(context.itemMap.value.values())\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref) - orderedNodes.indexOf(b.ref),\n )\n\n if (includeDisabledItem)\n return orderedItems\n else\n return orderedItems.filter(i => i.ref.dataset.disabled !== '')\n }\n\n const CollectionSlot = defineComponent({\n name: 'CollectionSlot',\n setup(_, { slots }) {\n const { primitiveElement, currentElement } = usePrimitiveElement()\n watch(currentElement, () => {\n context.collectionRef.value = currentElement.value\n })\n return () => h(Slot, { ref: primitiveElement }, slots)\n },\n })\n\n const CollectionItem = defineComponent({\n name: 'CollectionItem',\n inheritAttrs: false,\n props: {\n value: {\n // It accepts any value\n validator: () => true,\n },\n },\n setup(props, { slots, attrs }) {\n const { primitiveElement, currentElement } = usePrimitiveElement()\n\n watchEffect((cleanupFn) => {\n if (currentElement.value) {\n const key = markRaw(currentElement.value)\n // @ts-expect-error ignore assignment of unknown to any\n context.itemMap.value.set(key, { ref: currentElement.value!, value: props.value })\n cleanupFn(() => context.itemMap.value.delete(key))\n }\n })\n\n return () => h(Slot, { ...attrs, [ITEM_DATA_ATTR]: '', ref: primitiveElement }, slots)\n },\n })\n\n const reactiveItems = computed(() => Array.from(context.itemMap.value.values()))\n const itemMapSize = computed(() => context.itemMap.value.size)\n\n return { getItems, reactiveItems, itemMapSize, CollectionSlot, CollectionItem }\n}\n"],"names":["ref","provide","inject","defineComponent","usePrimitiveElement","watch","h","Slot","watchEffect","key","markRaw","computed"],"mappings":"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"}
1
+ {"version":3,"file":"Collection.cjs","sources":["../../src/Collection/Collection.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { Slot, usePrimitiveElement } from '@/Primitive'\nimport { computed, defineComponent, h, inject, markRaw, provide, ref, watch, watchEffect } from 'vue'\n\ninterface CollectionContext<ItemData = {}> {\n collectionRef: Ref<HTMLElement | undefined>\n itemMap: Ref<Map<HTMLElement, { ref: HTMLElement, value?: any } & ItemData>>\n}\n\nconst ITEM_DATA_ATTR = 'data-reka-collection-item'\n\nexport function useCollection<ItemData = {}>(options: { key?: string, isProvider?: boolean } = {}) {\n const { key = '', isProvider = false } = options\n const injectionKey = `${key}CollectionProvider`\n let context: CollectionContext<ItemData>\n\n if (isProvider) {\n const itemMap = ref<Map<HTMLElement, { ref: HTMLElement } & ItemData>>(new Map())\n const collectionRef = ref<HTMLElement>()\n\n context = {\n collectionRef,\n itemMap,\n } as CollectionContext<ItemData>\n provide(injectionKey, context)\n }\n else {\n context = inject(injectionKey) as CollectionContext<ItemData>\n }\n\n const getItems = (includeDisabledItem = false) => {\n const collectionNode = context.collectionRef.value\n if (!collectionNode)\n return []\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`))\n const items = Array.from(context.itemMap.value.values())\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref) - orderedNodes.indexOf(b.ref),\n )\n\n if (includeDisabledItem)\n return orderedItems\n else\n return orderedItems.filter(i => i.ref.dataset.disabled !== '')\n }\n\n const CollectionSlot = defineComponent({\n name: 'CollectionSlot',\n setup(_, { slots }) {\n const { primitiveElement, currentElement } = usePrimitiveElement()\n watch(currentElement, () => {\n context.collectionRef.value = currentElement.value\n })\n return () => h(Slot, { ref: primitiveElement }, slots)\n },\n })\n\n const CollectionItem = defineComponent({\n name: 'CollectionItem',\n inheritAttrs: false,\n props: {\n value: {\n // It accepts any value\n validator: () => true,\n },\n },\n setup(props, { slots, attrs }) {\n const { primitiveElement, currentElement } = usePrimitiveElement()\n\n watchEffect((cleanupFn) => {\n if (currentElement.value) {\n const key = markRaw(currentElement.value)\n // @ts-expect-error ignore assignment of unknown to any\n context.itemMap.value.set(key, { ref: currentElement.value!, value: props.value })\n cleanupFn(() => context.itemMap.value.delete(key))\n }\n })\n\n return () => h(Slot, { ...attrs, [ITEM_DATA_ATTR]: '', ref: primitiveElement }, slots)\n },\n })\n\n const reactiveItems = computed(() => Array.from(context.itemMap.value.values()))\n const itemMapSize = computed(() => context.itemMap.value.size)\n\n return { getItems, reactiveItems, itemMapSize, CollectionSlot, CollectionItem }\n}\n"],"names":["ref","provide","inject","defineComponent","usePrimitiveElement","watch","h","Slot","watchEffect","key","markRaw","computed"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.js","sources":["../../src/Collection/Collection.ts"],"sourcesContent":["import { type Ref, computed, defineComponent, h, inject, markRaw, provide, ref, watch, watchEffect } from 'vue'\nimport { Slot, usePrimitiveElement } from '@/Primitive'\n\ninterface CollectionContext<ItemData = {}> {\n collectionRef: Ref<HTMLElement | undefined>\n itemMap: Ref<Map<HTMLElement, { ref: HTMLElement, value?: any } & ItemData>>\n}\n\nconst ITEM_DATA_ATTR = 'data-reka-collection-item'\n\nexport function useCollection<ItemData = {}>(options: { key?: string, isProvider?: boolean } = {}) {\n const { key = '', isProvider = false } = options\n const injectionKey = `${key}CollectionProvider`\n let context: CollectionContext<ItemData>\n\n if (isProvider) {\n const itemMap = ref<Map<HTMLElement, { ref: HTMLElement } & ItemData>>(new Map())\n const collectionRef = ref<HTMLElement>()\n\n context = {\n collectionRef,\n itemMap,\n } as CollectionContext<ItemData>\n provide(injectionKey, context)\n }\n else {\n context = inject(injectionKey) as CollectionContext<ItemData>\n }\n\n const getItems = (includeDisabledItem = false) => {\n const collectionNode = context.collectionRef.value\n if (!collectionNode)\n return []\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`))\n const items = Array.from(context.itemMap.value.values())\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref) - orderedNodes.indexOf(b.ref),\n )\n\n if (includeDisabledItem)\n return orderedItems\n else\n return orderedItems.filter(i => i.ref.dataset.disabled !== '')\n }\n\n const CollectionSlot = defineComponent({\n name: 'CollectionSlot',\n setup(_, { slots }) {\n const { primitiveElement, currentElement } = usePrimitiveElement()\n watch(currentElement, () => {\n context.collectionRef.value = currentElement.value\n })\n return () => h(Slot, { ref: primitiveElement }, slots)\n },\n })\n\n const CollectionItem = defineComponent({\n name: 'CollectionItem',\n inheritAttrs: false,\n props: {\n value: {\n // It accepts any value\n validator: () => true,\n },\n },\n setup(props, { slots, attrs }) {\n const { primitiveElement, currentElement } = usePrimitiveElement()\n\n watchEffect((cleanupFn) => {\n if (currentElement.value) {\n const key = markRaw(currentElement.value)\n // @ts-expect-error ignore assignment of unknown to any\n context.itemMap.value.set(key, { ref: currentElement.value!, value: props.value })\n cleanupFn(() => context.itemMap.value.delete(key))\n }\n })\n\n return () => h(Slot, { ...attrs, [ITEM_DATA_ATTR]: '', ref: primitiveElement }, slots)\n },\n })\n\n const reactiveItems = computed(() => Array.from(context.itemMap.value.values()))\n const itemMapSize = computed(() => context.itemMap.value.size)\n\n return { getItems, reactiveItems, itemMapSize, CollectionSlot, CollectionItem }\n}\n"],"names":["key"],"mappings":"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"}
1
+ {"version":3,"file":"Collection.js","sources":["../../src/Collection/Collection.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { Slot, usePrimitiveElement } from '@/Primitive'\nimport { computed, defineComponent, h, inject, markRaw, provide, ref, watch, watchEffect } from 'vue'\n\ninterface CollectionContext<ItemData = {}> {\n collectionRef: Ref<HTMLElement | undefined>\n itemMap: Ref<Map<HTMLElement, { ref: HTMLElement, value?: any } & ItemData>>\n}\n\nconst ITEM_DATA_ATTR = 'data-reka-collection-item'\n\nexport function useCollection<ItemData = {}>(options: { key?: string, isProvider?: boolean } = {}) {\n const { key = '', isProvider = false } = options\n const injectionKey = `${key}CollectionProvider`\n let context: CollectionContext<ItemData>\n\n if (isProvider) {\n const itemMap = ref<Map<HTMLElement, { ref: HTMLElement } & ItemData>>(new Map())\n const collectionRef = ref<HTMLElement>()\n\n context = {\n collectionRef,\n itemMap,\n } as CollectionContext<ItemData>\n provide(injectionKey, context)\n }\n else {\n context = inject(injectionKey) as CollectionContext<ItemData>\n }\n\n const getItems = (includeDisabledItem = false) => {\n const collectionNode = context.collectionRef.value\n if (!collectionNode)\n return []\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`))\n const items = Array.from(context.itemMap.value.values())\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref) - orderedNodes.indexOf(b.ref),\n )\n\n if (includeDisabledItem)\n return orderedItems\n else\n return orderedItems.filter(i => i.ref.dataset.disabled !== '')\n }\n\n const CollectionSlot = defineComponent({\n name: 'CollectionSlot',\n setup(_, { slots }) {\n const { primitiveElement, currentElement } = usePrimitiveElement()\n watch(currentElement, () => {\n context.collectionRef.value = currentElement.value\n })\n return () => h(Slot, { ref: primitiveElement }, slots)\n },\n })\n\n const CollectionItem = defineComponent({\n name: 'CollectionItem',\n inheritAttrs: false,\n props: {\n value: {\n // It accepts any value\n validator: () => true,\n },\n },\n setup(props, { slots, attrs }) {\n const { primitiveElement, currentElement } = usePrimitiveElement()\n\n watchEffect((cleanupFn) => {\n if (currentElement.value) {\n const key = markRaw(currentElement.value)\n // @ts-expect-error ignore assignment of unknown to any\n context.itemMap.value.set(key, { ref: currentElement.value!, value: props.value })\n cleanupFn(() => context.itemMap.value.delete(key))\n }\n })\n\n return () => h(Slot, { ...attrs, [ITEM_DATA_ATTR]: '', ref: primitiveElement }, slots)\n },\n })\n\n const reactiveItems = computed(() => Array.from(context.itemMap.value.values()))\n const itemMapSize = computed(() => context.itemMap.value.size)\n\n return { getItems, reactiveItems, itemMapSize, CollectionSlot, CollectionItem }\n}\n"],"names":["key"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxAnchor.cjs","sources":["../../src/Combobox/ComboboxAnchor.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ComboboxAnchorProps extends PopperAnchorProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { PopperAnchor, type PopperAnchorProps } from '@/Popper'\nimport { useForwardExpose } from '@/shared'\n\ndefineProps<ComboboxAnchorProps>()\n\nconst { forwardRef } = useForwardExpose()\n</script>\n\n<template>\n <PopperAnchor\n as-child\n :reference=\"reference\"\n >\n <Primitive\n :ref=\"forwardRef\"\n :as-child=\"asChild\"\n :as=\"as\"\n v-bind=\"$attrs\"\n >\n <slot />\n </Primitive>\n </PopperAnchor>\n</template>\n"],"names":["useForwardExpose"],"mappings":";;;;;;;;;;;;;;;AAWA,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIA,wCAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxAnchor.cjs","sources":["../../src/Combobox/ComboboxAnchor.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ComboboxAnchorProps extends PopperAnchorProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport type { PopperAnchorProps } from '@/Popper'\nimport { PopperAnchor } from '@/Popper'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\ndefineProps<ComboboxAnchorProps>()\n\nconst { forwardRef } = useForwardExpose()\n</script>\n\n<template>\n <PopperAnchor\n as-child\n :reference=\"reference\"\n >\n <Primitive\n :ref=\"forwardRef\"\n :as-child=\"asChild\"\n :as=\"as\"\n v-bind=\"$attrs\"\n >\n <slot />\n </Primitive>\n </PopperAnchor>\n</template>\n"],"names":["useForwardExpose"],"mappings":";;;;;;;;;;;;;;;AAYA,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIA,wCAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxAnchor.js","sources":["../../src/Combobox/ComboboxAnchor.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ComboboxAnchorProps extends PopperAnchorProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { PopperAnchor, type PopperAnchorProps } from '@/Popper'\nimport { useForwardExpose } from '@/shared'\n\ndefineProps<ComboboxAnchorProps>()\n\nconst { forwardRef } = useForwardExpose()\n</script>\n\n<template>\n <PopperAnchor\n as-child\n :reference=\"reference\"\n >\n <Primitive\n :ref=\"forwardRef\"\n :as-child=\"asChild\"\n :as=\"as\"\n v-bind=\"$attrs\"\n >\n <slot />\n </Primitive>\n </PopperAnchor>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAWA,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxAnchor.js","sources":["../../src/Combobox/ComboboxAnchor.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ComboboxAnchorProps extends PopperAnchorProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport type { PopperAnchorProps } from '@/Popper'\nimport { PopperAnchor } from '@/Popper'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\ndefineProps<ComboboxAnchorProps>()\n\nconst { forwardRef } = useForwardExpose()\n</script>\n\n<template>\n <PopperAnchor\n as-child\n :reference=\"reference\"\n >\n <Primitive\n :ref=\"forwardRef\"\n :as-child=\"asChild\"\n :as=\"as\"\n v-bind=\"$attrs\"\n >\n <slot />\n </Primitive>\n </PopperAnchor>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAYA,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxArrow.cjs","sources":["../../src/Combobox/ComboboxArrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopperArrowProps } from '@/Popper'\n\nexport interface ComboboxArrowProps extends PopperArrowProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport { injectComboboxContentContext } from './ComboboxContentImpl.vue'\nimport { useForwardExpose } from '@/shared'\nimport { PopperArrow } from '@/Popper'\n\nconst props = withDefaults(defineProps<ComboboxArrowProps>(), {\n width: 10,\n height: 5,\n as: 'svg',\n})\nconst rootContext = injectComboboxRootContext()\nconst contentContext = injectComboboxContentContext()\n\nuseForwardExpose()\n</script>\n\n<template>\n <PopperArrow\n v-if=\"rootContext.open.value && contentContext.position.value === 'popper'\"\n v-bind=\"props\"\n >\n <slot />\n </PopperArrow>\n</template>\n"],"names":["injectComboboxRootContext","injectComboboxContentContext","useForwardExpose"],"mappings":";;;;;;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAA,MAAM,cAAcA,+CAA0B,EAAA;AAC9C,IAAA,MAAM,iBAAiBC,yDAA6B,EAAA;AAEpD,IAAiBC,wCAAA,EAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxArrow.cjs","sources":["../../src/Combobox/ComboboxArrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopperArrowProps } from '@/Popper'\n\nexport interface ComboboxArrowProps extends PopperArrowProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { PopperArrow } from '@/Popper'\nimport { useForwardExpose } from '@/shared'\nimport { injectComboboxContentContext } from './ComboboxContentImpl.vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxArrowProps>(), {\n width: 10,\n height: 5,\n as: 'svg',\n})\nconst rootContext = injectComboboxRootContext()\nconst contentContext = injectComboboxContentContext()\n\nuseForwardExpose()\n</script>\n\n<template>\n <PopperArrow\n v-if=\"rootContext.open.value && contentContext.position.value === 'popper'\"\n v-bind=\"props\"\n >\n <slot />\n </PopperArrow>\n</template>\n"],"names":["injectComboboxRootContext","injectComboboxContentContext","useForwardExpose"],"mappings":";;;;;;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAA,MAAM,cAAcA,+CAA0B,EAAA;AAC9C,IAAA,MAAM,iBAAiBC,yDAA6B,EAAA;AAEpD,IAAiBC,wCAAA,EAAA;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxArrow.js","sources":["../../src/Combobox/ComboboxArrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopperArrowProps } from '@/Popper'\n\nexport interface ComboboxArrowProps extends PopperArrowProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport { injectComboboxContentContext } from './ComboboxContentImpl.vue'\nimport { useForwardExpose } from '@/shared'\nimport { PopperArrow } from '@/Popper'\n\nconst props = withDefaults(defineProps<ComboboxArrowProps>(), {\n width: 10,\n height: 5,\n as: 'svg',\n})\nconst rootContext = injectComboboxRootContext()\nconst contentContext = injectComboboxContentContext()\n\nuseForwardExpose()\n</script>\n\n<template>\n <PopperArrow\n v-if=\"rootContext.open.value && contentContext.position.value === 'popper'\"\n v-bind=\"props\"\n >\n <slot />\n </PopperArrow>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAC9C,IAAA,MAAM,iBAAiB,4BAA6B,EAAA;AAEpD,IAAiB,gBAAA,EAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxArrow.js","sources":["../../src/Combobox/ComboboxArrow.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopperArrowProps } from '@/Popper'\n\nexport interface ComboboxArrowProps extends PopperArrowProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { PopperArrow } from '@/Popper'\nimport { useForwardExpose } from '@/shared'\nimport { injectComboboxContentContext } from './ComboboxContentImpl.vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxArrowProps>(), {\n width: 10,\n height: 5,\n as: 'svg',\n})\nconst rootContext = injectComboboxRootContext()\nconst contentContext = injectComboboxContentContext()\n\nuseForwardExpose()\n</script>\n\n<template>\n <PopperArrow\n v-if=\"rootContext.open.value && contentContext.position.value === 'popper'\"\n v-bind=\"props\"\n >\n <slot />\n </PopperArrow>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAC9C,IAAA,MAAM,iBAAiB,4BAA6B,EAAA;AAEpD,IAAiB,gBAAA,EAAA;;;;;;;;;;;;;;"}
@@ -16,6 +16,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
16
16
  shared_useForwardExpose.useForwardExpose();
17
17
  const rootContext = Combobox_ComboboxRoot.injectComboboxRootContext();
18
18
  function handleClick() {
19
+ rootContext.filterState.search = "";
19
20
  if (rootContext.inputElement.value) {
20
21
  rootContext.inputElement.value.value = "";
21
22
  rootContext.inputElement.value.focus();
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxCancel.cjs","sources":["../../src/Combobox/ComboboxCancel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ComboboxCancelProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxCancelProps>(), {\n as: 'button',\n})\n\nuseForwardExpose()\nconst rootContext = injectComboboxRootContext()\n\nfunction handleClick() {\n if (rootContext.inputElement.value) {\n rootContext.inputElement.value.value = ''\n rootContext.inputElement.value.focus()\n }\n}\n</script>\n\n<template>\n <Primitive\n :type=\"as === 'button' ? 'button' : undefined\"\n v-bind=\"props\"\n tabindex=\"-1\"\n @click=\"handleClick\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectComboboxRootContext"],"mappings":";;;;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,cAAcC,+CAA0B,EAAA;AAE9C,IAAA,SAAS,WAAc,GAAA;AACrB,MAAI,IAAA,WAAA,CAAY,aAAa,KAAO,EAAA;AAClC,QAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAQ,GAAA,EAAA;AACvC,QAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAM,EAAA;AAAA;AACvC;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxCancel.cjs","sources":["../../src/Combobox/ComboboxCancel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ComboboxCancelProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxCancelProps>(), {\n as: 'button',\n})\n\nuseForwardExpose()\nconst rootContext = injectComboboxRootContext()\n\nfunction handleClick() {\n // Reset the search to show all options.\n rootContext.filterState.search = ''\n\n if (rootContext.inputElement.value) {\n rootContext.inputElement.value.value = ''\n rootContext.inputElement.value.focus()\n }\n}\n</script>\n\n<template>\n <Primitive\n :type=\"as === 'button' ? 'button' : undefined\"\n v-bind=\"props\"\n tabindex=\"-1\"\n @click=\"handleClick\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectComboboxRootContext"],"mappings":";;;;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,cAAcC,+CAA0B,EAAA;AAE9C,IAAA,SAAS,WAAc,GAAA;AAErB,MAAA,WAAA,CAAY,YAAY,MAAS,GAAA,EAAA;AAEjC,MAAI,IAAA,WAAA,CAAY,aAAa,KAAO,EAAA;AAClC,QAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAQ,GAAA,EAAA;AACvC,QAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAM,EAAA;AAAA;AACvC;;;;;;;;;;;;;;;;;;;"}
@@ -14,6 +14,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  useForwardExpose();
15
15
  const rootContext = injectComboboxRootContext();
16
16
  function handleClick() {
17
+ rootContext.filterState.search = "";
17
18
  if (rootContext.inputElement.value) {
18
19
  rootContext.inputElement.value.value = "";
19
20
  rootContext.inputElement.value.focus();
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxCancel.js","sources":["../../src/Combobox/ComboboxCancel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ComboboxCancelProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxCancelProps>(), {\n as: 'button',\n})\n\nuseForwardExpose()\nconst rootContext = injectComboboxRootContext()\n\nfunction handleClick() {\n if (rootContext.inputElement.value) {\n rootContext.inputElement.value.value = ''\n rootContext.inputElement.value.focus()\n }\n}\n</script>\n\n<template>\n <Primitive\n :type=\"as === 'button' ? 'button' : undefined\"\n v-bind=\"props\"\n tabindex=\"-1\"\n @click=\"handleClick\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAE9C,IAAA,SAAS,WAAc,GAAA;AACrB,MAAI,IAAA,WAAA,CAAY,aAAa,KAAO,EAAA;AAClC,QAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAQ,GAAA,EAAA;AACvC,QAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAM,EAAA;AAAA;AACvC;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxCancel.js","sources":["../../src/Combobox/ComboboxCancel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ComboboxCancelProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxCancelProps>(), {\n as: 'button',\n})\n\nuseForwardExpose()\nconst rootContext = injectComboboxRootContext()\n\nfunction handleClick() {\n // Reset the search to show all options.\n rootContext.filterState.search = ''\n\n if (rootContext.inputElement.value) {\n rootContext.inputElement.value.value = ''\n rootContext.inputElement.value.focus()\n }\n}\n</script>\n\n<template>\n <Primitive\n :type=\"as === 'button' ? 'button' : undefined\"\n v-bind=\"props\"\n tabindex=\"-1\"\n @click=\"handleClick\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAE9C,IAAA,SAAS,WAAc,GAAA;AAErB,MAAA,WAAA,CAAY,YAAY,MAAS,GAAA,EAAA;AAEjC,MAAI,IAAA,WAAA,CAAY,aAAa,KAAO,EAAA;AAClC,QAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAQ,GAAA,EAAA;AACvC,QAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAM,EAAA;AAAA;AACvC;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxContent.cjs","sources":["../../src/Combobox/ComboboxContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ComboboxContentImplEmits, ComboboxContentImplProps } from './ComboboxContentImpl.vue'\n\nexport type ComboboxContentEmits = ComboboxContentImplEmits\nexport interface ComboboxContentProps extends ComboboxContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport ComboboxContentImpl from './ComboboxContentImpl.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose, useForwardPropsEmits, useId } from '@/shared'\n\nconst props = defineProps<ComboboxContentProps>()\nconst emits = defineEmits<ComboboxContentEmits>()\nconst forwarded = useForwardPropsEmits(props, emits)\nconst { forwardRef } = useForwardExpose()\n\nconst rootContext = injectComboboxRootContext()\n\nrootContext.contentId ||= useId(undefined, 'reka-combobox-content')\n</script>\n\n<template>\n <Presence :present=\"forceMount || rootContext.open.value\">\n <ComboboxContentImpl\n v-bind=\"{ ...forwarded, ...$attrs }\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ComboboxContentImpl>\n </Presence>\n</template>\n"],"names":["useForwardPropsEmits","useForwardExpose","injectComboboxRootContext","useId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAM,MAAA,SAAA,GAAYA,gDAAqB,CAAA,KAAA,EAAO,KAAK,CAAA;AACnD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAA,MAAM,cAAcC,+CAA0B,EAAA;AAE9C,IAAY,WAAA,CAAA,SAAA,KAAcC,kBAAM,CAAA,MAAA,EAAW,uBAAuB,CAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxContent.cjs","sources":["../../src/Combobox/ComboboxContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ComboboxContentImplEmits, ComboboxContentImplProps } from './ComboboxContentImpl.vue'\n\nexport type ComboboxContentEmits = ComboboxContentImplEmits\nexport interface ComboboxContentProps extends ComboboxContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Presence } from '@/Presence'\nimport { useForwardExpose, useForwardPropsEmits, useId } from '@/shared'\nimport ComboboxContentImpl from './ComboboxContentImpl.vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = defineProps<ComboboxContentProps>()\nconst emits = defineEmits<ComboboxContentEmits>()\nconst forwarded = useForwardPropsEmits(props, emits)\nconst { forwardRef } = useForwardExpose()\n\nconst rootContext = injectComboboxRootContext()\n\nrootContext.contentId ||= useId(undefined, 'reka-combobox-content')\n</script>\n\n<template>\n <Presence :present=\"forceMount || rootContext.open.value\">\n <ComboboxContentImpl\n v-bind=\"{ ...forwarded, ...$attrs }\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ComboboxContentImpl>\n </Presence>\n</template>\n"],"names":["useForwardPropsEmits","useForwardExpose","injectComboboxRootContext","useId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAM,MAAA,SAAA,GAAYA,gDAAqB,CAAA,KAAA,EAAO,KAAK,CAAA;AACnD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAA,MAAM,cAAcC,+CAA0B,EAAA;AAE9C,IAAY,WAAA,CAAA,SAAA,KAAcC,kBAAM,CAAA,MAAA,EAAW,uBAAuB,CAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxContent.js","sources":["../../src/Combobox/ComboboxContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ComboboxContentImplEmits, ComboboxContentImplProps } from './ComboboxContentImpl.vue'\n\nexport type ComboboxContentEmits = ComboboxContentImplEmits\nexport interface ComboboxContentProps extends ComboboxContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport ComboboxContentImpl from './ComboboxContentImpl.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose, useForwardPropsEmits, useId } from '@/shared'\n\nconst props = defineProps<ComboboxContentProps>()\nconst emits = defineEmits<ComboboxContentEmits>()\nconst forwarded = useForwardPropsEmits(props, emits)\nconst { forwardRef } = useForwardExpose()\n\nconst rootContext = injectComboboxRootContext()\n\nrootContext.contentId ||= useId(undefined, 'reka-combobox-content')\n</script>\n\n<template>\n <Presence :present=\"forceMount || rootContext.open.value\">\n <ComboboxContentImpl\n v-bind=\"{ ...forwarded, ...$attrs }\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ComboboxContentImpl>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,KAAA,EAAO,KAAK,CAAA;AACnD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAE9C,IAAY,WAAA,CAAA,SAAA,KAAc,KAAM,CAAA,MAAA,EAAW,uBAAuB,CAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxContent.js","sources":["../../src/Combobox/ComboboxContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ComboboxContentImplEmits, ComboboxContentImplProps } from './ComboboxContentImpl.vue'\n\nexport type ComboboxContentEmits = ComboboxContentImplEmits\nexport interface ComboboxContentProps extends ComboboxContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Presence } from '@/Presence'\nimport { useForwardExpose, useForwardPropsEmits, useId } from '@/shared'\nimport ComboboxContentImpl from './ComboboxContentImpl.vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = defineProps<ComboboxContentProps>()\nconst emits = defineEmits<ComboboxContentEmits>()\nconst forwarded = useForwardPropsEmits(props, emits)\nconst { forwardRef } = useForwardExpose()\n\nconst rootContext = injectComboboxRootContext()\n\nrootContext.contentId ||= useId(undefined, 'reka-combobox-content')\n</script>\n\n<template>\n <Presence :present=\"forceMount || rootContext.open.value\">\n <ComboboxContentImpl\n v-bind=\"{ ...forwarded, ...$attrs }\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ComboboxContentImpl>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,KAAA,EAAO,KAAK,CAAA;AACnD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAE9C,IAAY,WAAA,CAAA,SAAA,KAAc,KAAM,CAAA,MAAA,EAAW,uBAAuB,CAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,13 +4,13 @@ const vue = require('vue');
4
4
  const DismissableLayer_DismissableLayer = require('../DismissableLayer/DismissableLayer.cjs');
5
5
  const Popper_PopperContent = require('../Popper/PopperContent.cjs');
6
6
  const shared_useBodyScrollLock = require('../shared/useBodyScrollLock.cjs');
7
+ const shared_createContext = require('../shared/createContext.cjs');
8
+ const Combobox_ComboboxRoot = require('./ComboboxRoot.cjs');
7
9
  const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
8
10
  const shared_useHideOthers = require('../shared/useHideOthers.cjs');
9
11
  const shared_useForwardProps = require('../shared/useForwardProps.cjs');
10
- const shared_createContext = require('../shared/createContext.cjs');
11
12
  const Listbox_ListboxContent = require('../Listbox/ListboxContent.cjs');
12
13
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
13
- const Combobox_ComboboxRoot = require('./ComboboxRoot.cjs');
14
14
 
15
15
  const [injectComboboxContentContext, provideComboboxContentContext] = shared_createContext.createContext("ComboboxContent");
16
16
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxContentImpl.cjs","sources":["../../src/Combobox/ComboboxContentImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { createContext, useForwardExpose, useForwardProps, useHideOthers } from '@/shared'\nimport { useBodyScrollLock } from '@/shared/useBodyScrollLock'\n\nimport type { DismissableLayerEmits, DismissableLayerProps } from '@/DismissableLayer'\nimport type { PopperContentProps } from '@/Popper'\n\nexport type ComboboxContentImplEmits = DismissableLayerEmits\n\nexport interface ComboboxContentImplProps extends PopperContentProps, DismissableLayerProps {\n /**\n * The positioning mode to use, <br>\n * `inline` is the default and you can control the position using CSS. <br>\n * `popper` positions content in the same way as our other primitives, for example `Popover` or `DropdownMenu`.\n */\n position?: 'inline' | 'popper'\n /** The document.body will be lock, and scrolling will be disabled. */\n bodyLock?: boolean\n}\n\nexport const [injectComboboxContentContext, provideComboboxContentContext]\n = createContext<{\n position: Ref<'inline' | 'popper'>\n }>('ComboboxContent')\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, toRefs } from 'vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport { DismissableLayer } from '@/DismissableLayer'\nimport { PopperContent } from '@/Popper'\nimport { Primitive } from '@/Primitive'\nimport { ListboxContent } from '@/Listbox'\n\nconst props = withDefaults(defineProps<ComboboxContentImplProps>(), {\n position: 'inline',\n})\nconst emits = defineEmits<ComboboxContentImplEmits>()\n\nconst { position } = toRefs(props)\nconst rootContext = injectComboboxRootContext()\n\nconst { forwardRef, currentElement } = useForwardExpose()\nuseBodyScrollLock(props.bodyLock)\nuseHideOthers(rootContext.parentElement)\n\nconst pickedProps = computed(() => {\n if (props.position === 'popper')\n return props\n else return {}\n})\n\nconst forwardedProps = useForwardProps(pickedProps.value)\n\nconst popperStyle = {\n // Ensure border-box for floating-ui calculations\n 'boxSizing': 'border-box',\n '--reka-combobox-content-transform-origin':\n 'var(--reka-popper-transform-origin)',\n '--reka-combobox-content-available-width':\n 'var(--reka-popper-available-width)',\n '--reka-combobox-content-available-height':\n 'var(--reka-popper-available-height)',\n '--reka-combobox-trigger-width': 'var(--reka-popper-anchor-width)',\n '--reka-combobox-trigger-height': 'var(--reka-popper-anchor-height)',\n}\n\nprovideComboboxContentContext({ position })\n\n// Handle case where input position within the content\nconst isInputWithinContent = ref(false)\nonMounted(() => {\n if (rootContext.inputElement.value) {\n isInputWithinContent.value = currentElement.value.contains(rootContext.inputElement.value)\n if (isInputWithinContent.value) {\n rootContext.inputElement.value.focus()\n }\n }\n})\n\nonUnmounted(() => {\n if (isInputWithinContent.value) {\n rootContext.triggerElement.value?.focus()\n }\n})\n</script>\n\n<template>\n <ListboxContent as-child>\n <DismissableLayer\n as-child\n :disable-outside-pointer-events=\"disableOutsidePointerEvents\"\n @dismiss=\"rootContext.onOpenChange(false)\"\n @focus-outside=\"(ev) => {\n // if clicking inside the combobox, prevent dismiss\n if (rootContext.parentElement.value?.contains(ev.target as Node)) ev.preventDefault()\n emits('focusOutside', ev)\n }\"\n @interact-outside=\"emits('interactOutside', $event)\"\n @escape-key-down=\"emits('escapeKeyDown', $event)\"\n @pointer-down-outside=\"(ev) => {\n // if clicking inside the combobox, prevent dismiss\n if (rootContext.parentElement.value?.contains(ev.target as Node)) ev.preventDefault()\n emits('pointerDownOutside', ev)\n }\"\n >\n <component\n :is=\"position === 'popper' ? PopperContent : Primitive\"\n v-bind=\"{ ...$attrs, ...forwardedProps }\"\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n :style=\"{\n // flex layout so we can place the scroll buttons properly\n display: 'flex',\n flexDirection: 'column',\n // reset the outline by default as the content MAY get focused\n outline: 'none',\n ...(position === 'popper' ? popperStyle : {}),\n }\"\n >\n <slot />\n </component>\n </DismissableLayer>\n </ListboxContent>\n</template>\n"],"names":["createContext","toRefs","injectComboboxRootContext","useForwardExpose","useBodyScrollLock","useHideOthers","computed","useForwardProps","ref","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;AAqBO,MAAM,CAAC,4BAAA,EAA8B,6BAA6B,CAAA,GACrEA,mCAEC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWtB,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,EAAE,QAAA,EAAa,GAAAC,UAAA,CAAO,KAAK,CAAA;AACjC,IAAA,MAAM,cAAcC,+CAA0B,EAAA;AAE9C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAIC,wCAAiB,EAAA;AACxD,IAAAC,0CAAA,CAAkB,MAAM,QAAQ,CAAA;AAChC,IAAAC,kCAAA,CAAc,YAAY,aAAa,CAAA;AAEvC,IAAM,MAAA,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAA,IAAI,MAAM,QAAa,KAAA,QAAA;AACrB,QAAO,OAAA,KAAA;AAAA,kBACG,EAAC;AAAA,KACd,CAAA;AAED,IAAM,MAAA,cAAA,GAAiBC,sCAAgB,CAAA,WAAA,CAAY,KAAK,CAAA;AAExD,IAAA,MAAM,WAAc,GAAA;AAAA;AAAA,MAElB,WAAa,EAAA,YAAA;AAAA,MACb,0CACM,EAAA,qCAAA;AAAA,MACN,yCACM,EAAA,oCAAA;AAAA,MACN,0CACM,EAAA,qCAAA;AAAA,MACN,+BAAiC,EAAA,iCAAA;AAAA,MACjC,gCAAkC,EAAA;AAAA,KACpC;AAEA,IAA8B,6BAAA,CAAA,EAAE,UAAU,CAAA;AAG1C,IAAM,MAAA,oBAAA,GAAuBC,QAAI,KAAK,CAAA;AACtC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAI,IAAA,WAAA,CAAY,aAAa,KAAO,EAAA;AAClC,QAAA,oBAAA,CAAqB,QAAQ,cAAe,CAAA,KAAA,CAAM,QAAS,CAAA,WAAA,CAAY,aAAa,KAAK,CAAA;AACzF,QAAA,IAAI,qBAAqB,KAAO,EAAA;AAC9B,UAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAM,EAAA;AAAA;AACvC;AACF,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAA,IAAI,qBAAqB,KAAO,EAAA;AAC9B,QAAY,WAAA,CAAA,cAAA,CAAe,OAAO,KAAM,EAAA;AAAA;AAC1C,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxContentImpl.cjs","sources":["../../src/Combobox/ComboboxContentImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DismissableLayerEmits, DismissableLayerProps } from '@/DismissableLayer'\nimport type { PopperContentProps } from '@/Popper'\nimport type { Ref } from 'vue'\n\nimport { createContext, useForwardExpose, useForwardProps, useHideOthers } from '@/shared'\nimport { useBodyScrollLock } from '@/shared/useBodyScrollLock'\n\nexport type ComboboxContentImplEmits = DismissableLayerEmits\n\nexport interface ComboboxContentImplProps extends PopperContentProps, DismissableLayerProps {\n /**\n * The positioning mode to use, <br>\n * `inline` is the default and you can control the position using CSS. <br>\n * `popper` positions content in the same way as our other primitives, for example `Popover` or `DropdownMenu`.\n */\n position?: 'inline' | 'popper'\n /** The document.body will be lock, and scrolling will be disabled. */\n bodyLock?: boolean\n}\n\nexport const [injectComboboxContentContext, provideComboboxContentContext]\n = createContext<{\n position: Ref<'inline' | 'popper'>\n }>('ComboboxContent')\n</script>\n\n<script setup lang=\"ts\">\nimport { DismissableLayer } from '@/DismissableLayer'\nimport { ListboxContent } from '@/Listbox'\nimport { PopperContent } from '@/Popper'\nimport { Primitive } from '@/Primitive'\nimport { computed, onMounted, onUnmounted, ref, toRefs } from 'vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxContentImplProps>(), {\n position: 'inline',\n})\nconst emits = defineEmits<ComboboxContentImplEmits>()\n\nconst { position } = toRefs(props)\nconst rootContext = injectComboboxRootContext()\n\nconst { forwardRef, currentElement } = useForwardExpose()\nuseBodyScrollLock(props.bodyLock)\nuseHideOthers(rootContext.parentElement)\n\nconst pickedProps = computed(() => {\n if (props.position === 'popper')\n return props\n else return {}\n})\n\nconst forwardedProps = useForwardProps(pickedProps.value)\n\nconst popperStyle = {\n // Ensure border-box for floating-ui calculations\n 'boxSizing': 'border-box',\n '--reka-combobox-content-transform-origin':\n 'var(--reka-popper-transform-origin)',\n '--reka-combobox-content-available-width':\n 'var(--reka-popper-available-width)',\n '--reka-combobox-content-available-height':\n 'var(--reka-popper-available-height)',\n '--reka-combobox-trigger-width': 'var(--reka-popper-anchor-width)',\n '--reka-combobox-trigger-height': 'var(--reka-popper-anchor-height)',\n}\n\nprovideComboboxContentContext({ position })\n\n// Handle case where input position within the content\nconst isInputWithinContent = ref(false)\nonMounted(() => {\n if (rootContext.inputElement.value) {\n isInputWithinContent.value = currentElement.value.contains(rootContext.inputElement.value)\n if (isInputWithinContent.value) {\n rootContext.inputElement.value.focus()\n }\n }\n})\n\nonUnmounted(() => {\n if (isInputWithinContent.value) {\n rootContext.triggerElement.value?.focus()\n }\n})\n</script>\n\n<template>\n <ListboxContent as-child>\n <DismissableLayer\n as-child\n :disable-outside-pointer-events=\"disableOutsidePointerEvents\"\n @dismiss=\"rootContext.onOpenChange(false)\"\n @focus-outside=\"(ev) => {\n // if clicking inside the combobox, prevent dismiss\n if (rootContext.parentElement.value?.contains(ev.target as Node)) ev.preventDefault()\n emits('focusOutside', ev)\n }\"\n @interact-outside=\"emits('interactOutside', $event)\"\n @escape-key-down=\"emits('escapeKeyDown', $event)\"\n @pointer-down-outside=\"(ev) => {\n // if clicking inside the combobox, prevent dismiss\n if (rootContext.parentElement.value?.contains(ev.target as Node)) ev.preventDefault()\n emits('pointerDownOutside', ev)\n }\"\n >\n <component\n :is=\"position === 'popper' ? PopperContent : Primitive\"\n v-bind=\"{ ...$attrs, ...forwardedProps }\"\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n :style=\"{\n // flex layout so we can place the scroll buttons properly\n display: 'flex',\n flexDirection: 'column',\n // reset the outline by default as the content MAY get focused\n outline: 'none',\n ...(position === 'popper' ? popperStyle : {}),\n }\"\n >\n <slot />\n </component>\n </DismissableLayer>\n </ListboxContent>\n</template>\n"],"names":["createContext","toRefs","injectComboboxRootContext","useForwardExpose","useBodyScrollLock","useHideOthers","computed","useForwardProps","ref","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;AAqBO,MAAM,CAAC,4BAAA,EAA8B,6BAA6B,CAAA,GACrEA,mCAEC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWtB,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,EAAE,QAAA,EAAa,GAAAC,UAAA,CAAO,KAAK,CAAA;AACjC,IAAA,MAAM,cAAcC,+CAA0B,EAAA;AAE9C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAIC,wCAAiB,EAAA;AACxD,IAAAC,0CAAA,CAAkB,MAAM,QAAQ,CAAA;AAChC,IAAAC,kCAAA,CAAc,YAAY,aAAa,CAAA;AAEvC,IAAM,MAAA,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAA,IAAI,MAAM,QAAa,KAAA,QAAA;AACrB,QAAO,OAAA,KAAA;AAAA,kBACG,EAAC;AAAA,KACd,CAAA;AAED,IAAM,MAAA,cAAA,GAAiBC,sCAAgB,CAAA,WAAA,CAAY,KAAK,CAAA;AAExD,IAAA,MAAM,WAAc,GAAA;AAAA;AAAA,MAElB,WAAa,EAAA,YAAA;AAAA,MACb,0CACM,EAAA,qCAAA;AAAA,MACN,yCACM,EAAA,oCAAA;AAAA,MACN,0CACM,EAAA,qCAAA;AAAA,MACN,+BAAiC,EAAA,iCAAA;AAAA,MACjC,gCAAkC,EAAA;AAAA,KACpC;AAEA,IAA8B,6BAAA,CAAA,EAAE,UAAU,CAAA;AAG1C,IAAM,MAAA,oBAAA,GAAuBC,QAAI,KAAK,CAAA;AACtC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAI,IAAA,WAAA,CAAY,aAAa,KAAO,EAAA;AAClC,QAAA,oBAAA,CAAqB,QAAQ,cAAe,CAAA,KAAA,CAAM,QAAS,CAAA,WAAA,CAAY,aAAa,KAAK,CAAA;AACzF,QAAA,IAAI,qBAAqB,KAAO,EAAA;AAC9B,UAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAM,EAAA;AAAA;AACvC;AACF,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAA,IAAI,qBAAqB,KAAO,EAAA;AAC9B,QAAY,WAAA,CAAA,cAAA,CAAe,OAAO,KAAM,EAAA;AAAA;AAC1C,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,13 +2,13 @@ import { defineComponent, toRefs, computed, ref, onMounted, onUnmounted, createB
2
2
  import { _ as _sfc_main$2 } from '../DismissableLayer/DismissableLayer.js';
3
3
  import { _ as _sfc_main$3 } from '../Popper/PopperContent.js';
4
4
  import { u as useBodyScrollLock } from '../shared/useBodyScrollLock.js';
5
+ import { c as createContext } from '../shared/createContext.js';
6
+ import { i as injectComboboxRootContext } from './ComboboxRoot.js';
5
7
  import { u as useForwardExpose } from '../shared/useForwardExpose.js';
6
8
  import { u as useHideOthers } from '../shared/useHideOthers.js';
7
9
  import { u as useForwardProps } from '../shared/useForwardProps.js';
8
- import { c as createContext } from '../shared/createContext.js';
9
10
  import { _ as _sfc_main$1 } from '../Listbox/ListboxContent.js';
10
11
  import { P as Primitive } from '../Primitive/Primitive.js';
11
- import { i as injectComboboxRootContext } from './ComboboxRoot.js';
12
12
 
13
13
  const [injectComboboxContentContext, provideComboboxContentContext] = createContext("ComboboxContent");
14
14
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxContentImpl.js","sources":["../../src/Combobox/ComboboxContentImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { createContext, useForwardExpose, useForwardProps, useHideOthers } from '@/shared'\nimport { useBodyScrollLock } from '@/shared/useBodyScrollLock'\n\nimport type { DismissableLayerEmits, DismissableLayerProps } from '@/DismissableLayer'\nimport type { PopperContentProps } from '@/Popper'\n\nexport type ComboboxContentImplEmits = DismissableLayerEmits\n\nexport interface ComboboxContentImplProps extends PopperContentProps, DismissableLayerProps {\n /**\n * The positioning mode to use, <br>\n * `inline` is the default and you can control the position using CSS. <br>\n * `popper` positions content in the same way as our other primitives, for example `Popover` or `DropdownMenu`.\n */\n position?: 'inline' | 'popper'\n /** The document.body will be lock, and scrolling will be disabled. */\n bodyLock?: boolean\n}\n\nexport const [injectComboboxContentContext, provideComboboxContentContext]\n = createContext<{\n position: Ref<'inline' | 'popper'>\n }>('ComboboxContent')\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, toRefs } from 'vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport { DismissableLayer } from '@/DismissableLayer'\nimport { PopperContent } from '@/Popper'\nimport { Primitive } from '@/Primitive'\nimport { ListboxContent } from '@/Listbox'\n\nconst props = withDefaults(defineProps<ComboboxContentImplProps>(), {\n position: 'inline',\n})\nconst emits = defineEmits<ComboboxContentImplEmits>()\n\nconst { position } = toRefs(props)\nconst rootContext = injectComboboxRootContext()\n\nconst { forwardRef, currentElement } = useForwardExpose()\nuseBodyScrollLock(props.bodyLock)\nuseHideOthers(rootContext.parentElement)\n\nconst pickedProps = computed(() => {\n if (props.position === 'popper')\n return props\n else return {}\n})\n\nconst forwardedProps = useForwardProps(pickedProps.value)\n\nconst popperStyle = {\n // Ensure border-box for floating-ui calculations\n 'boxSizing': 'border-box',\n '--reka-combobox-content-transform-origin':\n 'var(--reka-popper-transform-origin)',\n '--reka-combobox-content-available-width':\n 'var(--reka-popper-available-width)',\n '--reka-combobox-content-available-height':\n 'var(--reka-popper-available-height)',\n '--reka-combobox-trigger-width': 'var(--reka-popper-anchor-width)',\n '--reka-combobox-trigger-height': 'var(--reka-popper-anchor-height)',\n}\n\nprovideComboboxContentContext({ position })\n\n// Handle case where input position within the content\nconst isInputWithinContent = ref(false)\nonMounted(() => {\n if (rootContext.inputElement.value) {\n isInputWithinContent.value = currentElement.value.contains(rootContext.inputElement.value)\n if (isInputWithinContent.value) {\n rootContext.inputElement.value.focus()\n }\n }\n})\n\nonUnmounted(() => {\n if (isInputWithinContent.value) {\n rootContext.triggerElement.value?.focus()\n }\n})\n</script>\n\n<template>\n <ListboxContent as-child>\n <DismissableLayer\n as-child\n :disable-outside-pointer-events=\"disableOutsidePointerEvents\"\n @dismiss=\"rootContext.onOpenChange(false)\"\n @focus-outside=\"(ev) => {\n // if clicking inside the combobox, prevent dismiss\n if (rootContext.parentElement.value?.contains(ev.target as Node)) ev.preventDefault()\n emits('focusOutside', ev)\n }\"\n @interact-outside=\"emits('interactOutside', $event)\"\n @escape-key-down=\"emits('escapeKeyDown', $event)\"\n @pointer-down-outside=\"(ev) => {\n // if clicking inside the combobox, prevent dismiss\n if (rootContext.parentElement.value?.contains(ev.target as Node)) ev.preventDefault()\n emits('pointerDownOutside', ev)\n }\"\n >\n <component\n :is=\"position === 'popper' ? PopperContent : Primitive\"\n v-bind=\"{ ...$attrs, ...forwardedProps }\"\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n :style=\"{\n // flex layout so we can place the scroll buttons properly\n display: 'flex',\n flexDirection: 'column',\n // reset the outline by default as the content MAY get focused\n outline: 'none',\n ...(position === 'popper' ? popperStyle : {}),\n }\"\n >\n <slot />\n </component>\n </DismissableLayer>\n </ListboxContent>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAqBO,MAAM,CAAC,4BAAA,EAA8B,6BAA6B,CAAA,GACrE,cAEC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWtB,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,EAAE,QAAA,EAAa,GAAA,MAAA,CAAO,KAAK,CAAA;AACjC,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAE9C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AACxD,IAAA,iBAAA,CAAkB,MAAM,QAAQ,CAAA;AAChC,IAAA,aAAA,CAAc,YAAY,aAAa,CAAA;AAEvC,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,IAAI,MAAM,QAAa,KAAA,QAAA;AACrB,QAAO,OAAA,KAAA;AAAA,kBACG,EAAC;AAAA,KACd,CAAA;AAED,IAAM,MAAA,cAAA,GAAiB,eAAgB,CAAA,WAAA,CAAY,KAAK,CAAA;AAExD,IAAA,MAAM,WAAc,GAAA;AAAA;AAAA,MAElB,WAAa,EAAA,YAAA;AAAA,MACb,0CACM,EAAA,qCAAA;AAAA,MACN,yCACM,EAAA,oCAAA;AAAA,MACN,0CACM,EAAA,qCAAA;AAAA,MACN,+BAAiC,EAAA,iCAAA;AAAA,MACjC,gCAAkC,EAAA;AAAA,KACpC;AAEA,IAA8B,6BAAA,CAAA,EAAE,UAAU,CAAA;AAG1C,IAAM,MAAA,oBAAA,GAAuB,IAAI,KAAK,CAAA;AACtC,IAAA,SAAA,CAAU,MAAM;AACd,MAAI,IAAA,WAAA,CAAY,aAAa,KAAO,EAAA;AAClC,QAAA,oBAAA,CAAqB,QAAQ,cAAe,CAAA,KAAA,CAAM,QAAS,CAAA,WAAA,CAAY,aAAa,KAAK,CAAA;AACzF,QAAA,IAAI,qBAAqB,KAAO,EAAA;AAC9B,UAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAM,EAAA;AAAA;AACvC;AACF,KACD,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,IAAI,qBAAqB,KAAO,EAAA;AAC9B,QAAY,WAAA,CAAA,cAAA,CAAe,OAAO,KAAM,EAAA;AAAA;AAC1C,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxContentImpl.js","sources":["../../src/Combobox/ComboboxContentImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DismissableLayerEmits, DismissableLayerProps } from '@/DismissableLayer'\nimport type { PopperContentProps } from '@/Popper'\nimport type { Ref } from 'vue'\n\nimport { createContext, useForwardExpose, useForwardProps, useHideOthers } from '@/shared'\nimport { useBodyScrollLock } from '@/shared/useBodyScrollLock'\n\nexport type ComboboxContentImplEmits = DismissableLayerEmits\n\nexport interface ComboboxContentImplProps extends PopperContentProps, DismissableLayerProps {\n /**\n * The positioning mode to use, <br>\n * `inline` is the default and you can control the position using CSS. <br>\n * `popper` positions content in the same way as our other primitives, for example `Popover` or `DropdownMenu`.\n */\n position?: 'inline' | 'popper'\n /** The document.body will be lock, and scrolling will be disabled. */\n bodyLock?: boolean\n}\n\nexport const [injectComboboxContentContext, provideComboboxContentContext]\n = createContext<{\n position: Ref<'inline' | 'popper'>\n }>('ComboboxContent')\n</script>\n\n<script setup lang=\"ts\">\nimport { DismissableLayer } from '@/DismissableLayer'\nimport { ListboxContent } from '@/Listbox'\nimport { PopperContent } from '@/Popper'\nimport { Primitive } from '@/Primitive'\nimport { computed, onMounted, onUnmounted, ref, toRefs } from 'vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxContentImplProps>(), {\n position: 'inline',\n})\nconst emits = defineEmits<ComboboxContentImplEmits>()\n\nconst { position } = toRefs(props)\nconst rootContext = injectComboboxRootContext()\n\nconst { forwardRef, currentElement } = useForwardExpose()\nuseBodyScrollLock(props.bodyLock)\nuseHideOthers(rootContext.parentElement)\n\nconst pickedProps = computed(() => {\n if (props.position === 'popper')\n return props\n else return {}\n})\n\nconst forwardedProps = useForwardProps(pickedProps.value)\n\nconst popperStyle = {\n // Ensure border-box for floating-ui calculations\n 'boxSizing': 'border-box',\n '--reka-combobox-content-transform-origin':\n 'var(--reka-popper-transform-origin)',\n '--reka-combobox-content-available-width':\n 'var(--reka-popper-available-width)',\n '--reka-combobox-content-available-height':\n 'var(--reka-popper-available-height)',\n '--reka-combobox-trigger-width': 'var(--reka-popper-anchor-width)',\n '--reka-combobox-trigger-height': 'var(--reka-popper-anchor-height)',\n}\n\nprovideComboboxContentContext({ position })\n\n// Handle case where input position within the content\nconst isInputWithinContent = ref(false)\nonMounted(() => {\n if (rootContext.inputElement.value) {\n isInputWithinContent.value = currentElement.value.contains(rootContext.inputElement.value)\n if (isInputWithinContent.value) {\n rootContext.inputElement.value.focus()\n }\n }\n})\n\nonUnmounted(() => {\n if (isInputWithinContent.value) {\n rootContext.triggerElement.value?.focus()\n }\n})\n</script>\n\n<template>\n <ListboxContent as-child>\n <DismissableLayer\n as-child\n :disable-outside-pointer-events=\"disableOutsidePointerEvents\"\n @dismiss=\"rootContext.onOpenChange(false)\"\n @focus-outside=\"(ev) => {\n // if clicking inside the combobox, prevent dismiss\n if (rootContext.parentElement.value?.contains(ev.target as Node)) ev.preventDefault()\n emits('focusOutside', ev)\n }\"\n @interact-outside=\"emits('interactOutside', $event)\"\n @escape-key-down=\"emits('escapeKeyDown', $event)\"\n @pointer-down-outside=\"(ev) => {\n // if clicking inside the combobox, prevent dismiss\n if (rootContext.parentElement.value?.contains(ev.target as Node)) ev.preventDefault()\n emits('pointerDownOutside', ev)\n }\"\n >\n <component\n :is=\"position === 'popper' ? PopperContent : Primitive\"\n v-bind=\"{ ...$attrs, ...forwardedProps }\"\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n :style=\"{\n // flex layout so we can place the scroll buttons properly\n display: 'flex',\n flexDirection: 'column',\n // reset the outline by default as the content MAY get focused\n outline: 'none',\n ...(position === 'popper' ? popperStyle : {}),\n }\"\n >\n <slot />\n </component>\n </DismissableLayer>\n </ListboxContent>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAqBO,MAAM,CAAC,4BAAA,EAA8B,6BAA6B,CAAA,GACrE,cAEC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWtB,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,EAAE,QAAA,EAAa,GAAA,MAAA,CAAO,KAAK,CAAA;AACjC,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAE9C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AACxD,IAAA,iBAAA,CAAkB,MAAM,QAAQ,CAAA;AAChC,IAAA,aAAA,CAAc,YAAY,aAAa,CAAA;AAEvC,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,IAAI,MAAM,QAAa,KAAA,QAAA;AACrB,QAAO,OAAA,KAAA;AAAA,kBACG,EAAC;AAAA,KACd,CAAA;AAED,IAAM,MAAA,cAAA,GAAiB,eAAgB,CAAA,WAAA,CAAY,KAAK,CAAA;AAExD,IAAA,MAAM,WAAc,GAAA;AAAA;AAAA,MAElB,WAAa,EAAA,YAAA;AAAA,MACb,0CACM,EAAA,qCAAA;AAAA,MACN,yCACM,EAAA,oCAAA;AAAA,MACN,0CACM,EAAA,qCAAA;AAAA,MACN,+BAAiC,EAAA,iCAAA;AAAA,MACjC,gCAAkC,EAAA;AAAA,KACpC;AAEA,IAA8B,6BAAA,CAAA,EAAE,UAAU,CAAA;AAG1C,IAAM,MAAA,oBAAA,GAAuB,IAAI,KAAK,CAAA;AACtC,IAAA,SAAA,CAAU,MAAM;AACd,MAAI,IAAA,WAAA,CAAY,aAAa,KAAO,EAAA;AAClC,QAAA,oBAAA,CAAqB,QAAQ,cAAe,CAAA,KAAA,CAAM,QAAS,CAAA,WAAA,CAAY,aAAa,KAAK,CAAA;AACzF,QAAA,IAAI,qBAAqB,KAAO,EAAA;AAC9B,UAAY,WAAA,CAAA,YAAA,CAAa,MAAM,KAAM,EAAA;AAAA;AACvC;AACF,KACD,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,IAAI,qBAAqB,KAAO,EAAA;AAC9B,QAAY,WAAA,CAAA,cAAA,CAAe,OAAO,KAAM,EAAA;AAAA;AAC1C,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxEmpty.cjs","sources":["../../src/Combobox/ComboboxEmpty.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { computed } from 'vue'\n\nexport interface ComboboxEmptyProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport { Primitive } from '@/Primitive'\n\nconst props = defineProps<ComboboxEmptyProps>()\nconst rootContext = injectComboboxRootContext()\n\nconst isRender = computed(() => rootContext.ignoreFilter.value\n ? rootContext.allItems.value.size === 0\n : !!rootContext.filterState.search && rootContext.filterState.filtered.count === 0,\n)\n</script>\n\n<template>\n <Primitive\n v-if=\"isRender\"\n v-bind=\"props\"\n >\n <slot>No options</slot>\n </Primitive>\n</template>\n"],"names":["injectComboboxRootContext","computed"],"mappings":";;;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,cAAcA,+CAA0B,EAAA;AAE9C,IAAA,MAAM,QAAW,GAAAC,YAAA;AAAA,MAAS,MAAM,WAAY,CAAA,YAAA,CAAa,KACrD,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,IAAA,KAAS,CACpC,GAAA,CAAC,CAAC,WAAY,CAAA,WAAA,CAAY,UAAU,WAAY,CAAA,WAAA,CAAY,SAAS,KAAU,KAAA;AAAA,KACnF;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxEmpty.cjs","sources":["../../src/Combobox/ComboboxEmpty.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { computed } from 'vue'\n\nexport interface ComboboxEmptyProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = defineProps<ComboboxEmptyProps>()\nconst rootContext = injectComboboxRootContext()\n\nconst isRender = computed(() => rootContext.ignoreFilter.value\n ? rootContext.allItems.value.size === 0\n : !!rootContext.filterState.search && rootContext.filterState.filtered.count === 0,\n)\n</script>\n\n<template>\n <Primitive\n v-if=\"isRender\"\n v-bind=\"props\"\n >\n <slot>No options</slot>\n </Primitive>\n</template>\n"],"names":["injectComboboxRootContext","computed"],"mappings":";;;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,cAAcA,+CAA0B,EAAA;AAE9C,IAAA,MAAM,QAAW,GAAAC,YAAA;AAAA,MAAS,MAAM,WAAY,CAAA,YAAA,CAAa,KACrD,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,IAAA,KAAS,CACpC,GAAA,CAAC,CAAC,WAAY,CAAA,WAAA,CAAY,UAAU,WAAY,CAAA,WAAA,CAAY,SAAS,KAAU,KAAA;AAAA,KACnF;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxEmpty.js","sources":["../../src/Combobox/ComboboxEmpty.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { computed } from 'vue'\n\nexport interface ComboboxEmptyProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport { Primitive } from '@/Primitive'\n\nconst props = defineProps<ComboboxEmptyProps>()\nconst rootContext = injectComboboxRootContext()\n\nconst isRender = computed(() => rootContext.ignoreFilter.value\n ? rootContext.allItems.value.size === 0\n : !!rootContext.filterState.search && rootContext.filterState.filtered.count === 0,\n)\n</script>\n\n<template>\n <Primitive\n v-if=\"isRender\"\n v-bind=\"props\"\n >\n <slot>No options</slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAE9C,IAAA,MAAM,QAAW,GAAA,QAAA;AAAA,MAAS,MAAM,WAAY,CAAA,YAAA,CAAa,KACrD,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,IAAA,KAAS,CACpC,GAAA,CAAC,CAAC,WAAY,CAAA,WAAA,CAAY,UAAU,WAAY,CAAA,WAAA,CAAY,SAAS,KAAU,KAAA;AAAA,KACnF;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxEmpty.js","sources":["../../src/Combobox/ComboboxEmpty.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { computed } from 'vue'\n\nexport interface ComboboxEmptyProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = defineProps<ComboboxEmptyProps>()\nconst rootContext = injectComboboxRootContext()\n\nconst isRender = computed(() => rootContext.ignoreFilter.value\n ? rootContext.allItems.value.size === 0\n : !!rootContext.filterState.search && rootContext.filterState.filtered.count === 0,\n)\n</script>\n\n<template>\n <Primitive\n v-if=\"isRender\"\n v-bind=\"props\"\n >\n <slot>No options</slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAE9C,IAAA,MAAM,QAAW,GAAA,QAAA;AAAA,MAAS,MAAM,WAAY,CAAA,YAAA,CAAa,KACrD,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,IAAA,KAAS,CACpC,GAAA,CAAC,CAAC,WAAY,CAAA,WAAA,CAAY,UAAU,WAAY,CAAA,WAAA,CAAY,SAAS,KAAU,KAAA;AAAA,KACnF;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  const vue = require('vue');
4
- const shared_createContext = require('../shared/createContext.cjs');
5
4
  const shared_useId = require('../shared/useId.cjs');
5
+ const shared_createContext = require('../shared/createContext.cjs');
6
6
  const Listbox_ListboxGroup = require('../Listbox/ListboxGroup.cjs');
7
7
  const Combobox_ComboboxRoot = require('./ComboboxRoot.cjs');
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, onMounted, onUnmounted, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
2
- import { c as createContext } from '../shared/createContext.js';
3
2
  import { u as useId } from '../shared/useId.js';
3
+ import { c as createContext } from '../shared/createContext.js';
4
4
  import { _ as _sfc_main$1 } from '../Listbox/ListboxGroup.js';
5
5
  import { i as injectComboboxRootContext } from './ComboboxRoot.js';
6
6
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  const vue = require('vue');
4
4
  const core = require('@vueuse/core');
5
- const Combobox_ComboboxRoot = require('./ComboboxRoot.cjs');
6
5
  const Primitive_usePrimitiveElement = require('../Primitive/usePrimitiveElement.cjs');
7
6
  const Listbox_ListboxFilter = require('../Listbox/ListboxFilter.cjs');
7
+ const Combobox_ComboboxRoot = require('./ComboboxRoot.cjs');
8
8
  const Listbox_ListboxRoot = require('../Listbox/ListboxRoot.cjs');
9
9
 
10
10
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -71,6 +71,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
71
71
  if (!rootContext.isUserInputted.value && rootContext.resetSearchTermOnSelect.value)
72
72
  resetSearchTerm();
73
73
  }, { immediate: true, deep: true });
74
+ vue.watch(
75
+ () => props.modelValue,
76
+ () => {
77
+ if (props.modelValue !== void 0) {
78
+ rootContext.filterState.search = props.modelValue;
79
+ }
80
+ }
81
+ );
74
82
  return (_ctx, _cache) => {
75
83
  return vue.openBlock(), vue.createBlock(vue.unref(Listbox_ListboxFilter._sfc_main), {
76
84
  ref_key: "primitiveElement",
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxInput.cjs","sources":["../../src/Combobox/ComboboxInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ListboxFilterEmits, ListboxFilterProps } from '@/Listbox'\nimport { useVModel } from '@vueuse/core'\nimport { usePrimitiveElement } from '@/Primitive'\nimport { nextTick, onMounted, watch } from 'vue'\n\nexport type ComboboxInputEmits = ListboxFilterEmits\nexport interface ComboboxInputProps extends ListboxFilterProps {\n /** The display value of input for selected item. Does not work with `multiple`. */\n displayValue?: (val: any) => string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport { injectListboxRootContext } from '@/Listbox/ListboxRoot.vue'\nimport { ListboxFilter } from '@/Listbox'\n\nconst props = withDefaults(defineProps<ComboboxInputProps>(), {\n as: 'input',\n})\nconst emits = defineEmits<ComboboxInputEmits>()\n\nconst rootContext = injectComboboxRootContext()\nconst listboxContext = injectListboxRootContext()\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n passive: (props.modelValue === undefined) as false,\n})\n\nonMounted(() => {\n if (currentElement.value)\n rootContext.onInputElementChange(currentElement.value as HTMLInputElement)\n})\n\nfunction handleKeyDown(ev: KeyboardEvent) {\n if (!rootContext.open.value)\n rootContext.onOpenChange(true)\n}\n\nfunction handleInput(event: InputEvent) {\n const target = event.target as HTMLInputElement\n if (!rootContext.open.value) {\n rootContext.onOpenChange(true)\n nextTick(() => {\n if (target.value) {\n rootContext.filterState.search = target.value\n listboxContext.highlightFirstItem(event)\n }\n })\n }\n else {\n rootContext.filterState.search = target.value\n }\n}\n\nfunction resetSearchTerm() {\n const rootModelValue = rootContext.modelValue.value\n\n if (props.displayValue) {\n modelValue.value = props.displayValue(rootModelValue)\n }\n else if (!rootContext.multiple.value && rootModelValue && !Array.isArray(rootModelValue)) {\n if (typeof rootModelValue !== 'object')\n modelValue.value = rootModelValue.toString()\n else modelValue.value = ''\n }\n else {\n modelValue.value = ''\n }\n\n nextTick(() => {\n // Temporary force reassign\n // eslint-disable-next-line no-self-assign\n modelValue.value = modelValue.value\n })\n}\n\nrootContext.onResetSearchTerm(() => {\n resetSearchTerm()\n})\n\nwatch(rootContext.modelValue, async () => {\n if (!rootContext.isUserInputted.value && rootContext.resetSearchTermOnSelect.value)\n resetSearchTerm()\n}, { immediate: true, deep: true })\n</script>\n\n<template>\n <ListboxFilter\n ref=\"primitiveElement\"\n v-model=\"modelValue\"\n :as=\"as\"\n :as-child=\"asChild\"\n :auto-focus=\"autoFocus\"\n :aria-expanded=\"rootContext.open.value\"\n :aria-controls=\"rootContext.contentId\"\n aria-autocomplete=\"list\"\n role=\"combobox\"\n autocomplete=\"false\"\n @input=\"handleInput\"\n @keydown.down.up.prevent=\"handleKeyDown\"\n >\n <slot />\n </ListboxFilter>\n</template>\n"],"names":["injectComboboxRootContext","injectListboxRootContext","usePrimitiveElement","useVModel","onMounted","nextTick","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,cAAcA,+CAA0B,EAAA;AAC9C,IAAA,MAAM,iBAAiBC,4CAAyB,EAAA;AAChD,IAAA,MAAM,EAAE,gBAAA,EAAkB,cAAe,EAAA,GAAIC,iDAAoB,EAAA;AAEjE,IAAA,MAAM,UAAa,GAAAC,cAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,MACvD,OAAA,EAAU,MAAM,UAAe,KAAA;AAAA,KAChC,CAAA;AAED,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,cAAe,CAAA,KAAA;AACjB,QAAY,WAAA,CAAA,oBAAA,CAAqB,eAAe,KAAyB,CAAA;AAAA,KAC5E,CAAA;AAED,IAAA,SAAS,cAAc,EAAmB,EAAA;AACxC,MAAI,IAAA,CAAC,YAAY,IAAK,CAAA,KAAA;AACpB,QAAA,WAAA,CAAY,aAAa,IAAI,CAAA;AAAA;AAGjC,IAAA,SAAS,YAAY,KAAmB,EAAA;AACtC,MAAA,MAAM,SAAS,KAAM,CAAA,MAAA;AACrB,MAAI,IAAA,CAAC,WAAY,CAAA,IAAA,CAAK,KAAO,EAAA;AAC3B,QAAA,WAAA,CAAY,aAAa,IAAI,CAAA;AAC7B,QAAAC,YAAA,CAAS,MAAM;AACb,UAAA,IAAI,OAAO,KAAO,EAAA;AAChB,YAAY,WAAA,CAAA,WAAA,CAAY,SAAS,MAAO,CAAA,KAAA;AACxC,YAAA,cAAA,CAAe,mBAAmB,KAAK,CAAA;AAAA;AACzC,SACD,CAAA;AAAA,OAEE,MAAA;AACH,QAAY,WAAA,CAAA,WAAA,CAAY,SAAS,MAAO,CAAA,KAAA;AAAA;AAC1C;AAGF,IAAA,SAAS,eAAkB,GAAA;AACzB,MAAM,MAAA,cAAA,GAAiB,YAAY,UAAW,CAAA,KAAA;AAE9C,MAAA,IAAI,MAAM,YAAc,EAAA;AACtB,QAAW,UAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,YAAA,CAAa,cAAc,CAAA;AAAA,OACtD,MAAA,IACS,CAAC,WAAA,CAAY,QAAS,CAAA,KAAA,IAAS,kBAAkB,CAAC,KAAA,CAAM,OAAQ,CAAA,cAAc,CAAG,EAAA;AACxF,QAAA,IAAI,OAAO,cAAmB,KAAA,QAAA;AAC5B,UAAW,UAAA,CAAA,KAAA,GAAQ,eAAe,QAAS,EAAA;AAAA,wBAC7B,KAAQ,GAAA,EAAA;AAAA,OAErB,MAAA;AACH,QAAA,UAAA,CAAW,KAAQ,GAAA,EAAA;AAAA;AAGrB,MAAAA,YAAA,CAAS,MAAM;AAGb,QAAA,UAAA,CAAW,QAAQ,UAAW,CAAA,KAAA;AAAA,OAC/B,CAAA;AAAA;AAGH,IAAA,WAAA,CAAY,kBAAkB,MAAM;AAClC,MAAgB,eAAA,EAAA;AAAA,KACjB,CAAA;AAED,IAAMC,SAAA,CAAA,WAAA,CAAY,YAAY,YAAY;AACxC,MAAA,IAAI,CAAC,WAAA,CAAY,cAAe,CAAA,KAAA,IAAS,YAAY,uBAAwB,CAAA,KAAA;AAC3E,QAAgB,eAAA,EAAA;AAAA,OACjB,EAAE,SAAA,EAAW,IAAM,EAAA,IAAA,EAAM,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ComboboxInput.cjs","sources":["../../src/Combobox/ComboboxInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ListboxFilterEmits, ListboxFilterProps } from '@/Listbox'\nimport { usePrimitiveElement } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\nimport { nextTick, onMounted, watch } from 'vue'\n\nexport type ComboboxInputEmits = ListboxFilterEmits\nexport interface ComboboxInputProps extends ListboxFilterProps {\n /** The display value of input for selected item. Does not work with `multiple`. */\n displayValue?: (val: any) => string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ListboxFilter } from '@/Listbox'\nimport { injectListboxRootContext } from '@/Listbox/ListboxRoot.vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxInputProps>(), {\n as: 'input',\n})\nconst emits = defineEmits<ComboboxInputEmits>()\n\nconst rootContext = injectComboboxRootContext()\nconst listboxContext = injectListboxRootContext()\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n passive: (props.modelValue === undefined) as false,\n})\n\nonMounted(() => {\n if (currentElement.value)\n rootContext.onInputElementChange(currentElement.value as HTMLInputElement)\n})\n\nfunction handleKeyDown(ev: KeyboardEvent) {\n if (!rootContext.open.value)\n rootContext.onOpenChange(true)\n}\n\nfunction handleInput(event: InputEvent) {\n const target = event.target as HTMLInputElement\n if (!rootContext.open.value) {\n rootContext.onOpenChange(true)\n nextTick(() => {\n if (target.value) {\n rootContext.filterState.search = target.value\n listboxContext.highlightFirstItem(event)\n }\n })\n }\n else {\n rootContext.filterState.search = target.value\n }\n}\n\nfunction resetSearchTerm() {\n const rootModelValue = rootContext.modelValue.value\n\n if (props.displayValue) {\n modelValue.value = props.displayValue(rootModelValue)\n }\n else if (!rootContext.multiple.value && rootModelValue && !Array.isArray(rootModelValue)) {\n if (typeof rootModelValue !== 'object')\n modelValue.value = rootModelValue.toString()\n else modelValue.value = ''\n }\n else {\n modelValue.value = ''\n }\n\n nextTick(() => {\n // Temporary force reassign\n // eslint-disable-next-line no-self-assign\n modelValue.value = modelValue.value\n })\n}\n\nrootContext.onResetSearchTerm(() => {\n resetSearchTerm()\n})\n\nwatch(rootContext.modelValue, async () => {\n if (!rootContext.isUserInputted.value && rootContext.resetSearchTermOnSelect.value)\n resetSearchTerm()\n}, { immediate: true, deep: true })\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.modelValue !== undefined) {\n rootContext.filterState.search = props.modelValue\n }\n },\n)\n</script>\n\n<template>\n <ListboxFilter\n ref=\"primitiveElement\"\n v-model=\"modelValue\"\n :as=\"as\"\n :as-child=\"asChild\"\n :auto-focus=\"autoFocus\"\n :aria-expanded=\"rootContext.open.value\"\n :aria-controls=\"rootContext.contentId\"\n aria-autocomplete=\"list\"\n role=\"combobox\"\n autocomplete=\"false\"\n @input=\"handleInput\"\n @keydown.down.up.prevent=\"handleKeyDown\"\n >\n <slot />\n </ListboxFilter>\n</template>\n"],"names":["injectComboboxRootContext","injectListboxRootContext","usePrimitiveElement","useVModel","onMounted","nextTick","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,cAAcA,+CAA0B,EAAA;AAC9C,IAAA,MAAM,iBAAiBC,4CAAyB,EAAA;AAChD,IAAA,MAAM,EAAE,gBAAA,EAAkB,cAAe,EAAA,GAAIC,iDAAoB,EAAA;AAEjE,IAAA,MAAM,UAAa,GAAAC,cAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,MACvD,OAAA,EAAU,MAAM,UAAe,KAAA;AAAA,KAChC,CAAA;AAED,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,cAAe,CAAA,KAAA;AACjB,QAAY,WAAA,CAAA,oBAAA,CAAqB,eAAe,KAAyB,CAAA;AAAA,KAC5E,CAAA;AAED,IAAA,SAAS,cAAc,EAAmB,EAAA;AACxC,MAAI,IAAA,CAAC,YAAY,IAAK,CAAA,KAAA;AACpB,QAAA,WAAA,CAAY,aAAa,IAAI,CAAA;AAAA;AAGjC,IAAA,SAAS,YAAY,KAAmB,EAAA;AACtC,MAAA,MAAM,SAAS,KAAM,CAAA,MAAA;AACrB,MAAI,IAAA,CAAC,WAAY,CAAA,IAAA,CAAK,KAAO,EAAA;AAC3B,QAAA,WAAA,CAAY,aAAa,IAAI,CAAA;AAC7B,QAAAC,YAAA,CAAS,MAAM;AACb,UAAA,IAAI,OAAO,KAAO,EAAA;AAChB,YAAY,WAAA,CAAA,WAAA,CAAY,SAAS,MAAO,CAAA,KAAA;AACxC,YAAA,cAAA,CAAe,mBAAmB,KAAK,CAAA;AAAA;AACzC,SACD,CAAA;AAAA,OAEE,MAAA;AACH,QAAY,WAAA,CAAA,WAAA,CAAY,SAAS,MAAO,CAAA,KAAA;AAAA;AAC1C;AAGF,IAAA,SAAS,eAAkB,GAAA;AACzB,MAAM,MAAA,cAAA,GAAiB,YAAY,UAAW,CAAA,KAAA;AAE9C,MAAA,IAAI,MAAM,YAAc,EAAA;AACtB,QAAW,UAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,YAAA,CAAa,cAAc,CAAA;AAAA,OACtD,MAAA,IACS,CAAC,WAAA,CAAY,QAAS,CAAA,KAAA,IAAS,kBAAkB,CAAC,KAAA,CAAM,OAAQ,CAAA,cAAc,CAAG,EAAA;AACxF,QAAA,IAAI,OAAO,cAAmB,KAAA,QAAA;AAC5B,UAAW,UAAA,CAAA,KAAA,GAAQ,eAAe,QAAS,EAAA;AAAA,wBAC7B,KAAQ,GAAA,EAAA;AAAA,OAErB,MAAA;AACH,QAAA,UAAA,CAAW,KAAQ,GAAA,EAAA;AAAA;AAGrB,MAAAA,YAAA,CAAS,MAAM;AAGb,QAAA,UAAA,CAAW,QAAQ,UAAW,CAAA,KAAA;AAAA,OAC/B,CAAA;AAAA;AAGH,IAAA,WAAA,CAAY,kBAAkB,MAAM;AAClC,MAAgB,eAAA,EAAA;AAAA,KACjB,CAAA;AAED,IAAMC,SAAA,CAAA,WAAA,CAAY,YAAY,YAAY;AACxC,MAAA,IAAI,CAAC,WAAA,CAAY,cAAe,CAAA,KAAA,IAAS,YAAY,uBAAwB,CAAA,KAAA;AAC3E,QAAgB,eAAA,EAAA;AAAA,OACjB,EAAE,SAAA,EAAW,IAAM,EAAA,IAAA,EAAM,MAAM,CAAA;AAElC,IAAAA,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,MAAM;AACJ,QAAI,IAAA,KAAA,CAAM,eAAe,MAAW,EAAA;AAClC,UAAY,WAAA,CAAA,WAAA,CAAY,SAAS,KAAM,CAAA,UAAA;AAAA;AACzC;AACF,KACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}