reka-ui 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/README.md +1 -1
  2. package/dist/Accordion/AccordionContent.cjs +2 -1
  3. package/dist/Accordion/AccordionContent.cjs.map +1 -1
  4. package/dist/Accordion/AccordionContent.js +3 -2
  5. package/dist/Accordion/AccordionContent.js.map +1 -1
  6. package/dist/Accordion/AccordionHeader.js +1 -1
  7. package/dist/Accordion/AccordionItem.cjs +2 -2
  8. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  9. package/dist/Accordion/AccordionItem.js +3 -3
  10. package/dist/Accordion/AccordionItem.js.map +1 -1
  11. package/dist/Accordion/AccordionRoot.cjs +1 -1
  12. package/dist/Accordion/AccordionRoot.js +2 -2
  13. package/dist/Accordion/AccordionTrigger.cjs +2 -2
  14. package/dist/Accordion/AccordionTrigger.cjs.map +1 -1
  15. package/dist/Accordion/AccordionTrigger.js +3 -3
  16. package/dist/Accordion/AccordionTrigger.js.map +1 -1
  17. package/dist/AlertDialog/AlertDialogAction.js +1 -1
  18. package/dist/AlertDialog/AlertDialogCancel.js +1 -1
  19. package/dist/AlertDialog/AlertDialogContent.cjs +1 -1
  20. package/dist/AlertDialog/AlertDialogContent.js +2 -2
  21. package/dist/AlertDialog/AlertDialogDescription.js +1 -1
  22. package/dist/AlertDialog/AlertDialogOverlay.js +1 -1
  23. package/dist/AlertDialog/AlertDialogPortal.js +1 -1
  24. package/dist/AlertDialog/AlertDialogRoot.js +1 -1
  25. package/dist/AlertDialog/AlertDialogTitle.js +1 -1
  26. package/dist/AlertDialog/AlertDialogTrigger.js +1 -1
  27. package/dist/AspectRatio/AspectRatio.js +1 -1
  28. package/dist/Avatar/AvatarFallback.js +1 -1
  29. package/dist/Avatar/AvatarImage.js +1 -1
  30. package/dist/Avatar/AvatarRoot.cjs +1 -1
  31. package/dist/Avatar/AvatarRoot.js +2 -2
  32. package/dist/Calendar/CalendarCell.cjs +2 -2
  33. package/dist/Calendar/CalendarCell.js +3 -3
  34. package/dist/Calendar/CalendarCellTrigger.cjs +74 -48
  35. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  36. package/dist/Calendar/CalendarCellTrigger.js +75 -49
  37. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  38. package/dist/Calendar/CalendarGrid.cjs +2 -2
  39. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  40. package/dist/Calendar/CalendarGrid.js +3 -3
  41. package/dist/Calendar/CalendarGrid.js.map +1 -1
  42. package/dist/Calendar/CalendarGridBody.js +1 -1
  43. package/dist/Calendar/CalendarGridHead.js +1 -1
  44. package/dist/Calendar/CalendarGridRow.js +1 -1
  45. package/dist/Calendar/CalendarHeadCell.js +1 -1
  46. package/dist/Calendar/CalendarHeader.js +1 -1
  47. package/dist/Calendar/CalendarHeading.cjs +1 -1
  48. package/dist/Calendar/CalendarHeading.js +2 -2
  49. package/dist/Calendar/CalendarNext.cjs +3 -3
  50. package/dist/Calendar/CalendarNext.js +4 -4
  51. package/dist/Calendar/CalendarPrev.cjs +3 -3
  52. package/dist/Calendar/CalendarPrev.js +4 -4
  53. package/dist/Calendar/CalendarRoot.cjs +14 -12
  54. package/dist/Calendar/CalendarRoot.cjs.map +1 -1
  55. package/dist/Calendar/CalendarRoot.js +15 -13
  56. package/dist/Calendar/CalendarRoot.js.map +1 -1
  57. package/dist/Calendar/useCalendar.js +1 -1
  58. package/dist/Calendar/utils.cjs +9 -0
  59. package/dist/Calendar/utils.cjs.map +1 -0
  60. package/dist/Calendar/utils.js +7 -0
  61. package/dist/Calendar/utils.js.map +1 -0
  62. package/dist/Checkbox/CheckboxGroupRoot.cjs +3 -3
  63. package/dist/Checkbox/CheckboxGroupRoot.js +4 -4
  64. package/dist/Checkbox/CheckboxIndicator.cjs +1 -1
  65. package/dist/Checkbox/CheckboxIndicator.js +2 -2
  66. package/dist/Checkbox/CheckboxRoot.cjs +8 -8
  67. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  68. package/dist/Checkbox/CheckboxRoot.js +10 -10
  69. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  70. package/dist/Collapsible/CollapsibleContent.cjs +4 -4
  71. package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
  72. package/dist/Collapsible/CollapsibleContent.js +5 -5
  73. package/dist/Collapsible/CollapsibleContent.js.map +1 -1
  74. package/dist/Collapsible/CollapsibleRoot.cjs +4 -4
  75. package/dist/Collapsible/CollapsibleRoot.js +5 -5
  76. package/dist/Collapsible/CollapsibleTrigger.cjs +2 -2
  77. package/dist/Collapsible/CollapsibleTrigger.js +3 -3
  78. package/dist/Combobox/ComboboxAnchor.js +1 -1
  79. package/dist/Combobox/ComboboxArrow.js +1 -1
  80. package/dist/Combobox/ComboboxCancel.cjs +1 -1
  81. package/dist/Combobox/ComboboxCancel.js +2 -2
  82. package/dist/Combobox/ComboboxContent.cjs +1 -1
  83. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  84. package/dist/Combobox/ComboboxContent.js +2 -2
  85. package/dist/Combobox/ComboboxContent.js.map +1 -1
  86. package/dist/Combobox/ComboboxContentImpl.cjs +1 -1
  87. package/dist/Combobox/ComboboxContentImpl.js +2 -2
  88. package/dist/Combobox/ComboboxEmpty.js +1 -1
  89. package/dist/Combobox/ComboboxGroup.cjs +3 -3
  90. package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
  91. package/dist/Combobox/ComboboxGroup.js +4 -4
  92. package/dist/Combobox/ComboboxGroup.js.map +1 -1
  93. package/dist/Combobox/ComboboxInput.cjs +1 -1
  94. package/dist/Combobox/ComboboxInput.js +2 -2
  95. package/dist/Combobox/ComboboxItem.cjs +2 -5
  96. package/dist/Combobox/ComboboxItem.cjs.map +1 -1
  97. package/dist/Combobox/ComboboxItem.js +4 -6
  98. package/dist/Combobox/ComboboxItem.js.map +1 -1
  99. package/dist/Combobox/ComboboxItemIndicator.js +1 -1
  100. package/dist/Combobox/ComboboxLabel.cjs +1 -1
  101. package/dist/Combobox/ComboboxLabel.cjs.map +1 -1
  102. package/dist/Combobox/ComboboxLabel.js +2 -2
  103. package/dist/Combobox/ComboboxLabel.js.map +1 -1
  104. package/dist/Combobox/ComboboxPortal.js +1 -1
  105. package/dist/Combobox/ComboboxRoot.cjs +7 -7
  106. package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
  107. package/dist/Combobox/ComboboxRoot.js +8 -8
  108. package/dist/Combobox/ComboboxRoot.js.map +1 -1
  109. package/dist/Combobox/ComboboxSeparator.js +1 -1
  110. package/dist/Combobox/ComboboxTrigger.cjs +3 -3
  111. package/dist/Combobox/ComboboxTrigger.js +4 -4
  112. package/dist/Combobox/ComboboxViewport.cjs +1 -1
  113. package/dist/Combobox/ComboboxViewport.js +2 -2
  114. package/dist/Combobox/ComboboxVirtualizer.js +1 -1
  115. package/dist/ConfigProvider/ConfigProvider.cjs +2 -2
  116. package/dist/ConfigProvider/ConfigProvider.js +2 -2
  117. package/dist/ContextMenu/ContextMenuArrow.js +1 -1
  118. package/dist/ContextMenu/ContextMenuCheckboxItem.js +1 -1
  119. package/dist/ContextMenu/ContextMenuContent.js +1 -1
  120. package/dist/ContextMenu/ContextMenuGroup.js +1 -1
  121. package/dist/ContextMenu/ContextMenuItem.js +1 -1
  122. package/dist/ContextMenu/ContextMenuItemIndicator.js +1 -1
  123. package/dist/ContextMenu/ContextMenuLabel.js +1 -1
  124. package/dist/ContextMenu/ContextMenuPortal.js +1 -1
  125. package/dist/ContextMenu/ContextMenuRadioGroup.js +1 -1
  126. package/dist/ContextMenu/ContextMenuRadioItem.js +1 -1
  127. package/dist/ContextMenu/ContextMenuRoot.cjs +1 -1
  128. package/dist/ContextMenu/ContextMenuRoot.js +2 -2
  129. package/dist/ContextMenu/ContextMenuSeparator.js +1 -1
  130. package/dist/ContextMenu/ContextMenuSub.cjs +2 -2
  131. package/dist/ContextMenu/ContextMenuSub.js +3 -3
  132. package/dist/ContextMenu/ContextMenuSubContent.js +1 -1
  133. package/dist/ContextMenu/ContextMenuSubTrigger.js +1 -1
  134. package/dist/ContextMenu/ContextMenuTrigger.cjs +1 -1
  135. package/dist/ContextMenu/ContextMenuTrigger.js +2 -2
  136. package/dist/DateField/DateFieldInput.cjs +5 -5
  137. package/dist/DateField/DateFieldInput.js +6 -6
  138. package/dist/DateField/DateFieldRoot.cjs +10 -10
  139. package/dist/DateField/DateFieldRoot.js +11 -11
  140. package/dist/DatePicker/DatePickerArrow.js +1 -1
  141. package/dist/DatePicker/DatePickerCalendar.js +1 -1
  142. package/dist/DatePicker/DatePickerCell.js +1 -1
  143. package/dist/DatePicker/DatePickerCellTrigger.js +1 -1
  144. package/dist/DatePicker/DatePickerClose.js +1 -1
  145. package/dist/DatePicker/DatePickerContent.js +1 -1
  146. package/dist/DatePicker/DatePickerField.js +1 -1
  147. package/dist/DatePicker/DatePickerGrid.js +1 -1
  148. package/dist/DatePicker/DatePickerGridBody.js +1 -1
  149. package/dist/DatePicker/DatePickerGridHead.js +1 -1
  150. package/dist/DatePicker/DatePickerGridRow.js +1 -1
  151. package/dist/DatePicker/DatePickerHeadCell.js +1 -1
  152. package/dist/DatePicker/DatePickerHeader.js +1 -1
  153. package/dist/DatePicker/DatePickerHeading.js +1 -1
  154. package/dist/DatePicker/DatePickerInput.js +1 -1
  155. package/dist/DatePicker/DatePickerNext.js +1 -1
  156. package/dist/DatePicker/DatePickerPrev.js +1 -1
  157. package/dist/DatePicker/DatePickerRoot.cjs +11 -11
  158. package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
  159. package/dist/DatePicker/DatePickerRoot.js +12 -12
  160. package/dist/DatePicker/DatePickerRoot.js.map +1 -1
  161. package/dist/DatePicker/DatePickerTrigger.js +1 -1
  162. package/dist/DateRangeField/DateRangeFieldInput.cjs +5 -5
  163. package/dist/DateRangeField/DateRangeFieldInput.js +6 -6
  164. package/dist/DateRangeField/DateRangeFieldRoot.cjs +22 -18
  165. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  166. package/dist/DateRangeField/DateRangeFieldRoot.js +23 -19
  167. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  168. package/dist/DateRangePicker/DateRangePickerAnchor.js +1 -1
  169. package/dist/DateRangePicker/DateRangePickerArrow.js +1 -1
  170. package/dist/DateRangePicker/DateRangePickerCalendar.js +1 -1
  171. package/dist/DateRangePicker/DateRangePickerCell.js +1 -1
  172. package/dist/DateRangePicker/DateRangePickerCellTrigger.js +1 -1
  173. package/dist/DateRangePicker/DateRangePickerClose.js +1 -1
  174. package/dist/DateRangePicker/DateRangePickerContent.js +1 -1
  175. package/dist/DateRangePicker/DateRangePickerField.js +1 -1
  176. package/dist/DateRangePicker/DateRangePickerGrid.js +1 -1
  177. package/dist/DateRangePicker/DateRangePickerGridBody.js +1 -1
  178. package/dist/DateRangePicker/DateRangePickerGridHead.js +1 -1
  179. package/dist/DateRangePicker/DateRangePickerGridRow.js +1 -1
  180. package/dist/DateRangePicker/DateRangePickerHeadCell.js +1 -1
  181. package/dist/DateRangePicker/DateRangePickerHeader.js +1 -1
  182. package/dist/DateRangePicker/DateRangePickerHeading.js +1 -1
  183. package/dist/DateRangePicker/DateRangePickerInput.js +1 -1
  184. package/dist/DateRangePicker/DateRangePickerNext.js +1 -1
  185. package/dist/DateRangePicker/DateRangePickerPrev.js +1 -1
  186. package/dist/DateRangePicker/DateRangePickerRoot.cjs +11 -11
  187. package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
  188. package/dist/DateRangePicker/DateRangePickerRoot.js +12 -12
  189. package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
  190. package/dist/DateRangePicker/DateRangePickerTrigger.js +1 -1
  191. package/dist/Dialog/DialogClose.cjs +1 -1
  192. package/dist/Dialog/DialogClose.js +2 -2
  193. package/dist/Dialog/DialogContent.js +1 -1
  194. package/dist/Dialog/DialogContentImpl.cjs +2 -2
  195. package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
  196. package/dist/Dialog/DialogContentImpl.js +3 -3
  197. package/dist/Dialog/DialogContentImpl.js.map +1 -1
  198. package/dist/Dialog/DialogContentModal.js +1 -1
  199. package/dist/Dialog/DialogContentNonModal.js +1 -1
  200. package/dist/Dialog/DialogDescription.js +1 -1
  201. package/dist/Dialog/DialogOverlay.js +1 -1
  202. package/dist/Dialog/DialogOverlayImpl.js +1 -1
  203. package/dist/Dialog/DialogPortal.js +1 -1
  204. package/dist/Dialog/DialogRoot.cjs +2 -2
  205. package/dist/Dialog/DialogRoot.js +2 -2
  206. package/dist/Dialog/DialogTitle.js +1 -1
  207. package/dist/Dialog/DialogTrigger.cjs +3 -3
  208. package/dist/Dialog/DialogTrigger.cjs.map +1 -1
  209. package/dist/Dialog/DialogTrigger.js +4 -4
  210. package/dist/Dialog/DialogTrigger.js.map +1 -1
  211. package/dist/DismissableLayer/DismissableLayer.cjs +1 -1
  212. package/dist/DismissableLayer/DismissableLayer.js +2 -2
  213. package/dist/DismissableLayer/DismissableLayerBranch.js +1 -1
  214. package/dist/DismissableLayer/utils.cjs +1 -0
  215. package/dist/DismissableLayer/utils.cjs.map +1 -1
  216. package/dist/DismissableLayer/utils.js +1 -0
  217. package/dist/DismissableLayer/utils.js.map +1 -1
  218. package/dist/DropdownMenu/DropdownMenuArrow.js +1 -1
  219. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +1 -1
  220. package/dist/DropdownMenu/DropdownMenuContent.cjs +1 -1
  221. package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
  222. package/dist/DropdownMenu/DropdownMenuContent.js +2 -2
  223. package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
  224. package/dist/DropdownMenu/DropdownMenuGroup.js +1 -1
  225. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  226. package/dist/DropdownMenu/DropdownMenuItemIndicator.js +1 -1
  227. package/dist/DropdownMenu/DropdownMenuLabel.js +1 -1
  228. package/dist/DropdownMenu/DropdownMenuPortal.js +1 -1
  229. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +1 -1
  230. package/dist/DropdownMenu/DropdownMenuRadioItem.js +1 -1
  231. package/dist/DropdownMenu/DropdownMenuRoot.cjs +3 -3
  232. package/dist/DropdownMenu/DropdownMenuRoot.js +4 -4
  233. package/dist/DropdownMenu/DropdownMenuSeparator.js +1 -1
  234. package/dist/DropdownMenu/DropdownMenuSub.cjs +2 -2
  235. package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
  236. package/dist/DropdownMenu/DropdownMenuSub.js +3 -3
  237. package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
  238. package/dist/DropdownMenu/DropdownMenuSubContent.js +1 -1
  239. package/dist/DropdownMenu/DropdownMenuSubTrigger.js +1 -1
  240. package/dist/DropdownMenu/DropdownMenuTrigger.cjs +4 -4
  241. package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
  242. package/dist/DropdownMenu/DropdownMenuTrigger.js +5 -5
  243. package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
  244. package/dist/Editable/EditableArea.cjs +7 -7
  245. package/dist/Editable/EditableArea.js +8 -8
  246. package/dist/Editable/EditableCancelTrigger.cjs +4 -4
  247. package/dist/Editable/EditableCancelTrigger.js +5 -5
  248. package/dist/Editable/EditableEditTrigger.cjs +4 -4
  249. package/dist/Editable/EditableEditTrigger.js +5 -5
  250. package/dist/Editable/EditableInput.cjs +4 -4
  251. package/dist/Editable/EditableInput.js +5 -5
  252. package/dist/Editable/EditablePreview.cjs +4 -4
  253. package/dist/Editable/EditablePreview.js +5 -5
  254. package/dist/Editable/EditableRoot.cjs +2 -2
  255. package/dist/Editable/EditableRoot.js +3 -3
  256. package/dist/Editable/EditableSubmitTrigger.cjs +4 -4
  257. package/dist/Editable/EditableSubmitTrigger.js +5 -5
  258. package/dist/FocusScope/FocusScope.js +1 -1
  259. package/dist/FocusScope/utils.cjs +1 -1
  260. package/dist/FocusScope/utils.cjs.map +1 -1
  261. package/dist/FocusScope/utils.js +1 -1
  262. package/dist/FocusScope/utils.js.map +1 -1
  263. package/dist/HoverCard/HoverCardArrow.js +1 -1
  264. package/dist/HoverCard/HoverCardContent.js +1 -1
  265. package/dist/HoverCard/HoverCardContentImpl.cjs +2 -2
  266. package/dist/HoverCard/HoverCardContentImpl.js +3 -3
  267. package/dist/HoverCard/HoverCardPortal.js +1 -1
  268. package/dist/HoverCard/HoverCardRoot.cjs +3 -3
  269. package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
  270. package/dist/HoverCard/HoverCardRoot.js +4 -4
  271. package/dist/HoverCard/HoverCardRoot.js.map +1 -1
  272. package/dist/HoverCard/HoverCardTrigger.js +1 -1
  273. package/dist/HoverCard/utils.cjs +1 -1
  274. package/dist/HoverCard/utils.cjs.map +1 -1
  275. package/dist/HoverCard/utils.js +1 -1
  276. package/dist/HoverCard/utils.js.map +1 -1
  277. package/dist/Label/Label.js +1 -1
  278. package/dist/Listbox/ListboxContent.cjs +2 -2
  279. package/dist/Listbox/ListboxContent.js +3 -3
  280. package/dist/Listbox/ListboxFilter.cjs +8 -5
  281. package/dist/Listbox/ListboxFilter.cjs.map +1 -1
  282. package/dist/Listbox/ListboxFilter.js +9 -6
  283. package/dist/Listbox/ListboxFilter.js.map +1 -1
  284. package/dist/Listbox/ListboxGroup.cjs +2 -2
  285. package/dist/Listbox/ListboxGroup.cjs.map +1 -1
  286. package/dist/Listbox/ListboxGroup.js +3 -3
  287. package/dist/Listbox/ListboxGroup.js.map +1 -1
  288. package/dist/Listbox/ListboxGroupLabel.js +1 -1
  289. package/dist/Listbox/ListboxItem.cjs +6 -6
  290. package/dist/Listbox/ListboxItem.cjs.map +1 -1
  291. package/dist/Listbox/ListboxItem.js +7 -7
  292. package/dist/Listbox/ListboxItem.js.map +1 -1
  293. package/dist/Listbox/ListboxItemIndicator.js +1 -1
  294. package/dist/Listbox/ListboxRoot.cjs +6 -6
  295. package/dist/Listbox/ListboxRoot.cjs.map +1 -1
  296. package/dist/Listbox/ListboxRoot.js +7 -7
  297. package/dist/Listbox/ListboxRoot.js.map +1 -1
  298. package/dist/Listbox/ListboxVirtualizer.js +1 -1
  299. package/dist/Listbox/utils.cjs +2 -2
  300. package/dist/Listbox/utils.cjs.map +1 -1
  301. package/dist/Listbox/utils.js +2 -2
  302. package/dist/Listbox/utils.js.map +1 -1
  303. package/dist/Menu/MenuAnchor.js +1 -1
  304. package/dist/Menu/MenuArrow.js +1 -1
  305. package/dist/Menu/MenuCheckboxItem.js +1 -1
  306. package/dist/Menu/MenuContent.js +1 -1
  307. package/dist/Menu/MenuContentImpl.cjs +2 -2
  308. package/dist/Menu/MenuContentImpl.js +4 -4
  309. package/dist/Menu/MenuGroup.js +1 -1
  310. package/dist/Menu/MenuItem.js +1 -1
  311. package/dist/Menu/MenuItemImpl.cjs +3 -3
  312. package/dist/Menu/MenuItemImpl.js +4 -4
  313. package/dist/Menu/MenuItemIndicator.cjs +1 -1
  314. package/dist/Menu/MenuItemIndicator.js +2 -2
  315. package/dist/Menu/MenuLabel.js +1 -1
  316. package/dist/Menu/MenuPortal.js +1 -1
  317. package/dist/Menu/MenuRadioGroup.js +1 -1
  318. package/dist/Menu/MenuRadioItem.js +1 -1
  319. package/dist/Menu/MenuRoot.js +1 -1
  320. package/dist/Menu/MenuRootContentModal.js +1 -1
  321. package/dist/Menu/MenuRootContentNonModal.js +1 -1
  322. package/dist/Menu/MenuSeparator.js +1 -1
  323. package/dist/Menu/MenuSub.cjs +2 -2
  324. package/dist/Menu/MenuSub.js +3 -3
  325. package/dist/Menu/MenuSubContent.cjs +1 -1
  326. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  327. package/dist/Menu/MenuSubContent.js +2 -2
  328. package/dist/Menu/MenuSubContent.js.map +1 -1
  329. package/dist/Menu/MenuSubTrigger.cjs +2 -2
  330. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  331. package/dist/Menu/MenuSubTrigger.js +3 -3
  332. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  333. package/dist/Menubar/MenubarArrow.js +1 -1
  334. package/dist/Menubar/MenubarCheckboxItem.js +1 -1
  335. package/dist/Menubar/MenubarContent.cjs +1 -1
  336. package/dist/Menubar/MenubarContent.cjs.map +1 -1
  337. package/dist/Menubar/MenubarContent.js +2 -2
  338. package/dist/Menubar/MenubarContent.js.map +1 -1
  339. package/dist/Menubar/MenubarGroup.js +1 -1
  340. package/dist/Menubar/MenubarItem.js +1 -1
  341. package/dist/Menubar/MenubarItemIndicator.js +1 -1
  342. package/dist/Menubar/MenubarLabel.js +1 -1
  343. package/dist/Menubar/MenubarMenu.cjs +1 -1
  344. package/dist/Menubar/MenubarMenu.js +2 -2
  345. package/dist/Menubar/MenubarPortal.js +1 -1
  346. package/dist/Menubar/MenubarRadioGroup.js +1 -1
  347. package/dist/Menubar/MenubarRadioItem.js +1 -1
  348. package/dist/Menubar/MenubarRoot.cjs +3 -3
  349. package/dist/Menubar/MenubarRoot.js +4 -4
  350. package/dist/Menubar/MenubarSeparator.js +1 -1
  351. package/dist/Menubar/MenubarSub.cjs +2 -2
  352. package/dist/Menubar/MenubarSub.js +3 -3
  353. package/dist/Menubar/MenubarSubContent.js +1 -1
  354. package/dist/Menubar/MenubarSubTrigger.js +1 -1
  355. package/dist/Menubar/MenubarTrigger.cjs +5 -5
  356. package/dist/Menubar/MenubarTrigger.js +6 -6
  357. package/dist/NavigationMenu/NavigationMenuContent.cjs +1 -1
  358. package/dist/NavigationMenu/NavigationMenuContent.js +2 -2
  359. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
  360. package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
  361. package/dist/NavigationMenu/NavigationMenuContentImpl.js +2 -2
  362. package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
  363. package/dist/NavigationMenu/NavigationMenuIndicator.js +1 -1
  364. package/dist/NavigationMenu/NavigationMenuItem.cjs +2 -2
  365. package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
  366. package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
  367. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  368. package/dist/NavigationMenu/NavigationMenuLink.cjs +2 -2
  369. package/dist/NavigationMenu/NavigationMenuLink.js +3 -3
  370. package/dist/NavigationMenu/NavigationMenuList.js +1 -1
  371. package/dist/NavigationMenu/NavigationMenuRoot.cjs +4 -4
  372. package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
  373. package/dist/NavigationMenu/NavigationMenuRoot.js +5 -5
  374. package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
  375. package/dist/NavigationMenu/NavigationMenuSub.cjs +12 -2
  376. package/dist/NavigationMenu/NavigationMenuSub.cjs.map +1 -1
  377. package/dist/NavigationMenu/NavigationMenuSub.js +13 -3
  378. package/dist/NavigationMenu/NavigationMenuSub.js.map +1 -1
  379. package/dist/NavigationMenu/NavigationMenuTrigger.cjs +2 -2
  380. package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
  381. package/dist/NavigationMenu/NavigationMenuTrigger.js +3 -3
  382. package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
  383. package/dist/NavigationMenu/NavigationMenuViewport.cjs +8 -8
  384. package/dist/NavigationMenu/NavigationMenuViewport.cjs.map +1 -1
  385. package/dist/NavigationMenu/NavigationMenuViewport.js +10 -10
  386. package/dist/NavigationMenu/NavigationMenuViewport.js.map +1 -1
  387. package/dist/NavigationMenu/utils.cjs +1 -1
  388. package/dist/NavigationMenu/utils.cjs.map +1 -1
  389. package/dist/NavigationMenu/utils.js +1 -1
  390. package/dist/NavigationMenu/utils.js.map +1 -1
  391. package/dist/NumberField/NumberFieldDecrement.cjs +5 -5
  392. package/dist/NumberField/NumberFieldDecrement.js +6 -6
  393. package/dist/NumberField/NumberFieldIncrement.cjs +5 -5
  394. package/dist/NumberField/NumberFieldIncrement.js +6 -6
  395. package/dist/NumberField/NumberFieldInput.cjs +3 -3
  396. package/dist/NumberField/NumberFieldInput.js +4 -4
  397. package/dist/NumberField/NumberFieldRoot.cjs +7 -7
  398. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  399. package/dist/NumberField/NumberFieldRoot.js +8 -8
  400. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  401. package/dist/NumberField/utils.js +1 -1
  402. package/dist/Pagination/PaginationEllipsis.js +1 -1
  403. package/dist/Pagination/PaginationFirst.cjs +1 -1
  404. package/dist/Pagination/PaginationFirst.js +2 -2
  405. package/dist/Pagination/PaginationLast.cjs +1 -1
  406. package/dist/Pagination/PaginationLast.js +2 -2
  407. package/dist/Pagination/PaginationList.js +1 -1
  408. package/dist/Pagination/PaginationListItem.cjs +3 -3
  409. package/dist/Pagination/PaginationListItem.js +4 -4
  410. package/dist/Pagination/PaginationNext.cjs +1 -1
  411. package/dist/Pagination/PaginationNext.js +2 -2
  412. package/dist/Pagination/PaginationPrev.cjs +1 -1
  413. package/dist/Pagination/PaginationPrev.js +2 -2
  414. package/dist/Pagination/PaginationRoot.cjs +2 -2
  415. package/dist/Pagination/PaginationRoot.js +3 -3
  416. package/dist/PinInput/PinInputInput.cjs +4 -4
  417. package/dist/PinInput/PinInputInput.cjs.map +1 -1
  418. package/dist/PinInput/PinInputInput.js +5 -5
  419. package/dist/PinInput/PinInputInput.js.map +1 -1
  420. package/dist/PinInput/PinInputRoot.cjs +4 -4
  421. package/dist/PinInput/PinInputRoot.js +5 -5
  422. package/dist/Popover/PopoverAnchor.js +1 -1
  423. package/dist/Popover/PopoverArrow.js +1 -1
  424. package/dist/Popover/PopoverClose.cjs +1 -1
  425. package/dist/Popover/PopoverClose.js +2 -2
  426. package/dist/Popover/PopoverContent.cjs +1 -1
  427. package/dist/Popover/PopoverContent.cjs.map +1 -1
  428. package/dist/Popover/PopoverContent.js +2 -2
  429. package/dist/Popover/PopoverContent.js.map +1 -1
  430. package/dist/Popover/PopoverContentImpl.js +1 -1
  431. package/dist/Popover/PopoverContentModal.js +1 -1
  432. package/dist/Popover/PopoverContentNonModal.js +1 -1
  433. package/dist/Popover/PopoverPortal.js +1 -1
  434. package/dist/Popover/PopoverRoot.cjs +2 -2
  435. package/dist/Popover/PopoverRoot.js +3 -3
  436. package/dist/Popover/PopoverTrigger.cjs +2 -2
  437. package/dist/Popover/PopoverTrigger.cjs.map +1 -1
  438. package/dist/Popover/PopoverTrigger.js +3 -3
  439. package/dist/Popover/PopoverTrigger.js.map +1 -1
  440. package/dist/Popper/PopperAnchor.js +1 -1
  441. package/dist/Popper/PopperArrow.cjs +4 -4
  442. package/dist/Popper/PopperArrow.js +5 -5
  443. package/dist/Popper/PopperContent.cjs +3 -3
  444. package/dist/Popper/PopperContent.cjs.map +1 -1
  445. package/dist/Popper/PopperContent.js +5 -5
  446. package/dist/Popper/PopperContent.js.map +1 -1
  447. package/dist/Presence/usePresence.cjs +2 -2
  448. package/dist/Presence/usePresence.cjs.map +1 -1
  449. package/dist/Presence/usePresence.js +2 -2
  450. package/dist/Presence/usePresence.js.map +1 -1
  451. package/dist/Primitive/Primitive.cjs +1 -1
  452. package/dist/Primitive/Primitive.cjs.map +1 -1
  453. package/dist/Primitive/Primitive.js +1 -1
  454. package/dist/Primitive/Primitive.js.map +1 -1
  455. package/dist/Progress/ProgressIndicator.cjs +1 -1
  456. package/dist/Progress/ProgressIndicator.js +2 -2
  457. package/dist/Progress/ProgressRoot.cjs +5 -5
  458. package/dist/Progress/ProgressRoot.js +6 -6
  459. package/dist/RadioGroup/Radio.cjs +6 -6
  460. package/dist/RadioGroup/Radio.cjs.map +1 -1
  461. package/dist/RadioGroup/Radio.js +7 -7
  462. package/dist/RadioGroup/Radio.js.map +1 -1
  463. package/dist/RadioGroup/RadioGroupIndicator.cjs +1 -1
  464. package/dist/RadioGroup/RadioGroupIndicator.js +2 -2
  465. package/dist/RadioGroup/RadioGroupItem.cjs +2 -2
  466. package/dist/RadioGroup/RadioGroupItem.js +3 -3
  467. package/dist/RadioGroup/RadioGroupRoot.cjs +5 -5
  468. package/dist/RadioGroup/RadioGroupRoot.js +6 -6
  469. package/dist/RangeCalendar/RangeCalendarCell.cjs +2 -2
  470. package/dist/RangeCalendar/RangeCalendarCell.js +3 -3
  471. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +84 -58
  472. package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
  473. package/dist/RangeCalendar/RangeCalendarCellTrigger.js +85 -59
  474. package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
  475. package/dist/RangeCalendar/RangeCalendarGrid.cjs +2 -2
  476. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  477. package/dist/RangeCalendar/RangeCalendarGrid.js +3 -3
  478. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  479. package/dist/RangeCalendar/RangeCalendarGridBody.js +1 -1
  480. package/dist/RangeCalendar/RangeCalendarGridHead.js +1 -1
  481. package/dist/RangeCalendar/RangeCalendarGridRow.js +1 -1
  482. package/dist/RangeCalendar/RangeCalendarHeadCell.js +1 -1
  483. package/dist/RangeCalendar/RangeCalendarHeader.js +1 -1
  484. package/dist/RangeCalendar/RangeCalendarHeading.cjs +1 -1
  485. package/dist/RangeCalendar/RangeCalendarHeading.js +2 -2
  486. package/dist/RangeCalendar/RangeCalendarNext.cjs +3 -3
  487. package/dist/RangeCalendar/RangeCalendarNext.js +4 -4
  488. package/dist/RangeCalendar/RangeCalendarPrev.cjs +3 -3
  489. package/dist/RangeCalendar/RangeCalendarPrev.js +4 -4
  490. package/dist/RangeCalendar/RangeCalendarRoot.cjs +18 -16
  491. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  492. package/dist/RangeCalendar/RangeCalendarRoot.js +19 -17
  493. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  494. package/dist/RovingFocus/RovingFocusGroup.cjs +4 -4
  495. package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
  496. package/dist/RovingFocus/RovingFocusGroup.js +5 -5
  497. package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
  498. package/dist/RovingFocus/RovingFocusItem.cjs +4 -4
  499. package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
  500. package/dist/RovingFocus/RovingFocusItem.js +5 -5
  501. package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
  502. package/dist/RovingFocus/utils.cjs +2 -2
  503. package/dist/RovingFocus/utils.cjs.map +1 -1
  504. package/dist/RovingFocus/utils.js +2 -2
  505. package/dist/RovingFocus/utils.js.map +1 -1
  506. package/dist/ScrollArea/ScrollAreaCorner.js +1 -1
  507. package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +2 -2
  508. package/dist/ScrollArea/ScrollAreaCornerImpl.js +3 -3
  509. package/dist/ScrollArea/ScrollAreaRoot.cjs +4 -4
  510. package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
  511. package/dist/ScrollArea/ScrollAreaRoot.js +5 -5
  512. package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
  513. package/dist/ScrollArea/ScrollAreaScrollbar.cjs +1 -1
  514. package/dist/ScrollArea/ScrollAreaScrollbar.js +2 -2
  515. package/dist/ScrollArea/ScrollAreaScrollbarAuto.js +1 -1
  516. package/dist/ScrollArea/ScrollAreaScrollbarHover.js +1 -1
  517. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs +1 -1
  518. package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
  519. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js +2 -2
  520. package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
  521. package/dist/ScrollArea/ScrollAreaScrollbarScroll.js +1 -1
  522. package/dist/ScrollArea/ScrollAreaScrollbarVisible.js +1 -1
  523. package/dist/ScrollArea/ScrollAreaScrollbarX.cjs +1 -1
  524. package/dist/ScrollArea/ScrollAreaScrollbarX.js +2 -2
  525. package/dist/ScrollArea/ScrollAreaScrollbarY.cjs +3 -3
  526. package/dist/ScrollArea/ScrollAreaScrollbarY.js +4 -4
  527. package/dist/ScrollArea/ScrollAreaThumb.js +1 -1
  528. package/dist/ScrollArea/ScrollAreaViewport.cjs +1 -1
  529. package/dist/ScrollArea/ScrollAreaViewport.js +2 -2
  530. package/dist/Select/BubbleSelect.cjs +2 -2
  531. package/dist/Select/BubbleSelect.cjs.map +1 -1
  532. package/dist/Select/BubbleSelect.js +3 -3
  533. package/dist/Select/BubbleSelect.js.map +1 -1
  534. package/dist/Select/SelectArrow.js +1 -1
  535. package/dist/Select/SelectContent.js +1 -1
  536. package/dist/Select/SelectContentImpl.cjs +17 -7
  537. package/dist/Select/SelectContentImpl.cjs.map +1 -1
  538. package/dist/Select/SelectContentImpl.js +18 -8
  539. package/dist/Select/SelectContentImpl.js.map +1 -1
  540. package/dist/Select/SelectGroup.cjs +2 -2
  541. package/dist/Select/SelectGroup.cjs.map +1 -1
  542. package/dist/Select/SelectGroup.js +3 -3
  543. package/dist/Select/SelectGroup.js.map +1 -1
  544. package/dist/Select/SelectIcon.js +1 -1
  545. package/dist/Select/SelectItem.cjs +6 -6
  546. package/dist/Select/SelectItem.cjs.map +1 -1
  547. package/dist/Select/SelectItem.js +7 -7
  548. package/dist/Select/SelectItem.js.map +1 -1
  549. package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
  550. package/dist/Select/SelectItemAlignedPosition.js +2 -2
  551. package/dist/Select/SelectItemIndicator.js +1 -1
  552. package/dist/Select/SelectItemText.js +1 -1
  553. package/dist/Select/SelectLabel.js +1 -1
  554. package/dist/Select/SelectPopperPosition.js +1 -1
  555. package/dist/Select/SelectPortal.js +1 -1
  556. package/dist/Select/SelectRoot.cjs +6 -6
  557. package/dist/Select/SelectRoot.cjs.map +1 -1
  558. package/dist/Select/SelectRoot.js +7 -7
  559. package/dist/Select/SelectRoot.js.map +1 -1
  560. package/dist/Select/SelectScrollButtonImpl.js +1 -1
  561. package/dist/Select/SelectScrollDownButton.cjs +1 -1
  562. package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
  563. package/dist/Select/SelectScrollDownButton.js +2 -2
  564. package/dist/Select/SelectScrollDownButton.js.map +1 -1
  565. package/dist/Select/SelectScrollUpButton.cjs +1 -1
  566. package/dist/Select/SelectScrollUpButton.cjs.map +1 -1
  567. package/dist/Select/SelectScrollUpButton.js +2 -2
  568. package/dist/Select/SelectScrollUpButton.js.map +1 -1
  569. package/dist/Select/SelectSeparator.js +1 -1
  570. package/dist/Select/SelectTrigger.cjs +4 -4
  571. package/dist/Select/SelectTrigger.cjs.map +1 -1
  572. package/dist/Select/SelectTrigger.js +5 -5
  573. package/dist/Select/SelectTrigger.js.map +1 -1
  574. package/dist/Select/SelectValue.cjs +1 -1
  575. package/dist/Select/SelectValue.js +2 -2
  576. package/dist/Select/SelectViewport.cjs +1 -1
  577. package/dist/Select/SelectViewport.cjs.map +1 -1
  578. package/dist/Select/SelectViewport.js +2 -2
  579. package/dist/Select/SelectViewport.js.map +1 -1
  580. package/dist/Select/utils.cjs +2 -2
  581. package/dist/Select/utils.cjs.map +1 -1
  582. package/dist/Select/utils.js +2 -2
  583. package/dist/Select/utils.js.map +1 -1
  584. package/dist/Separator/Separator.js +1 -1
  585. package/dist/Slider/SliderHorizontal.cjs +2 -2
  586. package/dist/Slider/SliderHorizontal.js +3 -3
  587. package/dist/Slider/SliderImpl.js +1 -1
  588. package/dist/Slider/SliderRange.cjs +1 -1
  589. package/dist/Slider/SliderRange.js +2 -2
  590. package/dist/Slider/SliderRoot.cjs +4 -4
  591. package/dist/Slider/SliderRoot.cjs.map +1 -1
  592. package/dist/Slider/SliderRoot.js +5 -5
  593. package/dist/Slider/SliderRoot.js.map +1 -1
  594. package/dist/Slider/SliderThumb.cjs +1 -1
  595. package/dist/Slider/SliderThumb.cjs.map +1 -1
  596. package/dist/Slider/SliderThumb.js +2 -2
  597. package/dist/Slider/SliderThumb.js.map +1 -1
  598. package/dist/Slider/SliderThumbImpl.cjs +4 -4
  599. package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
  600. package/dist/Slider/SliderThumbImpl.js +5 -5
  601. package/dist/Slider/SliderThumbImpl.js.map +1 -1
  602. package/dist/Slider/SliderTrack.cjs +1 -1
  603. package/dist/Slider/SliderTrack.js +2 -2
  604. package/dist/Slider/SliderVertical.cjs +2 -2
  605. package/dist/Slider/SliderVertical.js +3 -3
  606. package/dist/Slider/utils.cjs +1 -1
  607. package/dist/Slider/utils.cjs.map +1 -1
  608. package/dist/Slider/utils.js +1 -1
  609. package/dist/Slider/utils.js.map +1 -1
  610. package/dist/Splitter/SplitterGroup.cjs +2 -2
  611. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  612. package/dist/Splitter/SplitterGroup.js +3 -3
  613. package/dist/Splitter/SplitterGroup.js.map +1 -1
  614. package/dist/Splitter/SplitterPanel.cjs +3 -3
  615. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  616. package/dist/Splitter/SplitterPanel.js +4 -4
  617. package/dist/Splitter/SplitterPanel.js.map +1 -1
  618. package/dist/Splitter/SplitterResizeHandle.cjs +2 -2
  619. package/dist/Splitter/SplitterResizeHandle.js +3 -3
  620. package/dist/Stepper/StepperDescription.js +1 -1
  621. package/dist/Stepper/StepperIndicator.js +1 -1
  622. package/dist/Stepper/StepperItem.cjs +6 -6
  623. package/dist/Stepper/StepperItem.cjs.map +1 -1
  624. package/dist/Stepper/StepperItem.js +7 -7
  625. package/dist/Stepper/StepperItem.js.map +1 -1
  626. package/dist/Stepper/StepperRoot.cjs +3 -3
  627. package/dist/Stepper/StepperRoot.js +4 -4
  628. package/dist/Stepper/StepperSeparator.js +1 -1
  629. package/dist/Stepper/StepperTitle.js +1 -1
  630. package/dist/Stepper/StepperTrigger.cjs +5 -5
  631. package/dist/Stepper/StepperTrigger.cjs.map +1 -1
  632. package/dist/Stepper/StepperTrigger.js +6 -6
  633. package/dist/Stepper/StepperTrigger.js.map +1 -1
  634. package/dist/Switch/SwitchRoot.cjs +6 -6
  635. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  636. package/dist/Switch/SwitchRoot.js +7 -7
  637. package/dist/Switch/SwitchRoot.js.map +1 -1
  638. package/dist/Switch/SwitchThumb.cjs +1 -1
  639. package/dist/Switch/SwitchThumb.js +2 -2
  640. package/dist/Tabs/TabsContent.cjs +1 -1
  641. package/dist/Tabs/TabsContent.js +2 -2
  642. package/dist/Tabs/TabsIndicator.js +1 -1
  643. package/dist/Tabs/TabsList.cjs +1 -1
  644. package/dist/Tabs/TabsList.js +2 -2
  645. package/dist/Tabs/TabsRoot.cjs +3 -3
  646. package/dist/Tabs/TabsRoot.cjs.map +1 -1
  647. package/dist/Tabs/TabsRoot.js +4 -4
  648. package/dist/Tabs/TabsRoot.js.map +1 -1
  649. package/dist/Tabs/TabsTrigger.cjs +3 -3
  650. package/dist/Tabs/TabsTrigger.js +4 -4
  651. package/dist/TagsInput/TagsInputClear.cjs +2 -2
  652. package/dist/TagsInput/TagsInputClear.js +3 -3
  653. package/dist/TagsInput/TagsInputInput.cjs +1 -1
  654. package/dist/TagsInput/TagsInputInput.js +2 -2
  655. package/dist/TagsInput/TagsInputItem.cjs +2 -2
  656. package/dist/TagsInput/TagsInputItem.js +3 -3
  657. package/dist/TagsInput/TagsInputItemDelete.cjs +4 -3
  658. package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
  659. package/dist/TagsInput/TagsInputItemDelete.js +5 -4
  660. package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
  661. package/dist/TagsInput/TagsInputItemText.cjs +1 -1
  662. package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
  663. package/dist/TagsInput/TagsInputItemText.js +2 -2
  664. package/dist/TagsInput/TagsInputItemText.js.map +1 -1
  665. package/dist/TagsInput/TagsInputRoot.cjs +7 -7
  666. package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
  667. package/dist/TagsInput/TagsInputRoot.js +8 -8
  668. package/dist/TagsInput/TagsInputRoot.js.map +1 -1
  669. package/dist/Teleport/Teleport.js +1 -1
  670. package/dist/TimeField/TimeFieldInput.cjs +5 -5
  671. package/dist/TimeField/TimeFieldInput.js +6 -6
  672. package/dist/TimeField/TimeFieldRoot.cjs +17 -14
  673. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  674. package/dist/TimeField/TimeFieldRoot.js +19 -16
  675. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  676. package/dist/Toast/FocusProxy.js +1 -1
  677. package/dist/Toast/ToastAction.js +1 -1
  678. package/dist/Toast/ToastAnnounce.js +1 -1
  679. package/dist/Toast/ToastAnnounceExclude.cjs +1 -1
  680. package/dist/Toast/ToastAnnounceExclude.js +2 -2
  681. package/dist/Toast/ToastClose.cjs +3 -3
  682. package/dist/Toast/ToastClose.cjs.map +1 -1
  683. package/dist/Toast/ToastClose.js +4 -4
  684. package/dist/Toast/ToastClose.js.map +1 -1
  685. package/dist/Toast/ToastDescription.js +1 -1
  686. package/dist/Toast/ToastPortal.js +1 -1
  687. package/dist/Toast/ToastRoot.cjs +5 -2
  688. package/dist/Toast/ToastRoot.cjs.map +1 -1
  689. package/dist/Toast/ToastRoot.js +6 -3
  690. package/dist/Toast/ToastRoot.js.map +1 -1
  691. package/dist/Toast/ToastRootImpl.cjs +7 -4
  692. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  693. package/dist/Toast/ToastRootImpl.js +9 -6
  694. package/dist/Toast/ToastRootImpl.js.map +1 -1
  695. package/dist/Toast/ToastTitle.js +1 -1
  696. package/dist/Toast/ToastViewport.cjs +3 -3
  697. package/dist/Toast/ToastViewport.js +4 -4
  698. package/dist/Toast/utils.js +1 -1
  699. package/dist/Toggle/Toggle.cjs +4 -4
  700. package/dist/Toggle/Toggle.js +5 -5
  701. package/dist/ToggleGroup/ToggleGroupItem.cjs +1 -1
  702. package/dist/ToggleGroup/ToggleGroupItem.js +2 -2
  703. package/dist/ToggleGroup/ToggleGroupRoot.cjs +4 -4
  704. package/dist/ToggleGroup/ToggleGroupRoot.js +5 -5
  705. package/dist/Toolbar/ToolbarButton.cjs +2 -2
  706. package/dist/Toolbar/ToolbarButton.js +3 -3
  707. package/dist/Toolbar/ToolbarLink.cjs +1 -1
  708. package/dist/Toolbar/ToolbarLink.js +2 -2
  709. package/dist/Toolbar/ToolbarRoot.cjs +2 -2
  710. package/dist/Toolbar/ToolbarRoot.js +3 -3
  711. package/dist/Toolbar/ToolbarSeparator.js +1 -1
  712. package/dist/Toolbar/ToolbarToggleGroup.js +1 -1
  713. package/dist/Toolbar/ToolbarToggleItem.js +1 -1
  714. package/dist/Tooltip/TooltipArrow.js +1 -1
  715. package/dist/Tooltip/TooltipContent.js +1 -1
  716. package/dist/Tooltip/TooltipContentHoverable.js +1 -1
  717. package/dist/Tooltip/TooltipContentImpl.js +1 -1
  718. package/dist/Tooltip/TooltipPortal.js +1 -1
  719. package/dist/Tooltip/TooltipProvider.cjs +1 -1
  720. package/dist/Tooltip/TooltipProvider.js +1 -1
  721. package/dist/Tooltip/TooltipRoot.cjs +8 -8
  722. package/dist/Tooltip/TooltipRoot.js +9 -9
  723. package/dist/Tooltip/TooltipTrigger.cjs +2 -2
  724. package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
  725. package/dist/Tooltip/TooltipTrigger.js +3 -3
  726. package/dist/Tooltip/TooltipTrigger.js.map +1 -1
  727. package/dist/Tree/TreeItem.cjs +5 -5
  728. package/dist/Tree/TreeItem.cjs.map +1 -1
  729. package/dist/Tree/TreeItem.js +6 -6
  730. package/dist/Tree/TreeItem.js.map +1 -1
  731. package/dist/Tree/TreeRoot.cjs +8 -8
  732. package/dist/Tree/TreeRoot.cjs.map +1 -1
  733. package/dist/Tree/TreeRoot.js +9 -9
  734. package/dist/Tree/TreeRoot.js.map +1 -1
  735. package/dist/Tree/TreeVirtualizer.js +1 -1
  736. package/dist/Viewport/Viewport.js +1 -1
  737. package/dist/VisuallyHidden/VisuallyHidden.cjs +3 -3
  738. package/dist/VisuallyHidden/VisuallyHidden.js +4 -4
  739. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs +9 -3
  740. package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
  741. package/dist/VisuallyHidden/VisuallyHiddenInput.js +10 -4
  742. package/dist/VisuallyHidden/VisuallyHiddenInput.js.map +1 -1
  743. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs +1 -1
  744. package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js +2 -2
  745. package/dist/component/Arrow.cjs +2 -2
  746. package/dist/component/Arrow.js +3 -3
  747. package/dist/component/BaseSeparator.cjs +1 -1
  748. package/dist/component/BaseSeparator.js +2 -2
  749. package/dist/constant/components.cjs +4 -0
  750. package/dist/constant/components.cjs.map +1 -1
  751. package/dist/constant/components.js +4 -0
  752. package/dist/constant/components.js.map +1 -1
  753. package/dist/date/comparators.cjs +1 -1
  754. package/dist/date/comparators.cjs.map +1 -1
  755. package/dist/date/comparators.js +2 -2
  756. package/dist/date/comparators.js.map +1 -1
  757. package/dist/date/parser.cjs +2 -2
  758. package/dist/date/parser.js +3 -3
  759. package/dist/date/useDateField.cjs +9 -9
  760. package/dist/date/useDateField.cjs.map +1 -1
  761. package/dist/date/useDateField.js +10 -10
  762. package/dist/date/useDateField.js.map +1 -1
  763. package/dist/date/utils.cjs +2 -2
  764. package/dist/date/utils.cjs.map +1 -1
  765. package/dist/date/utils.js +2 -2
  766. package/dist/date/utils.js.map +1 -1
  767. package/dist/index.cjs +91 -87
  768. package/dist/index.cjs.map +1 -1
  769. package/dist/index.d.ts +75 -12
  770. package/dist/index.js +43 -41
  771. package/dist/index.js.map +1 -1
  772. package/dist/shared/nullish.cjs +1 -1
  773. package/dist/shared/nullish.cjs.map +1 -1
  774. package/dist/shared/nullish.js +1 -1
  775. package/dist/shared/nullish.js.map +1 -1
  776. package/dist/shared/useBodyScrollLock.cjs +2 -2
  777. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  778. package/dist/shared/useBodyScrollLock.js +4 -4
  779. package/dist/shared/useBodyScrollLock.js.map +1 -1
  780. package/dist/shared/useDateFormatter.js +2 -2
  781. package/dist/shared/useForwardProps.cjs +2 -2
  782. package/dist/shared/useForwardProps.cjs.map +1 -1
  783. package/dist/shared/useForwardProps.js +2 -2
  784. package/dist/shared/useForwardProps.js.map +1 -1
  785. package/dist/shared/useGraceArea.cjs +1 -1
  786. package/dist/shared/useGraceArea.cjs.map +1 -1
  787. package/dist/shared/useGraceArea.js +1 -1
  788. package/dist/shared/useGraceArea.js.map +1 -1
  789. package/dist/shared/useId.cjs +1 -1
  790. package/dist/shared/useId.cjs.map +1 -1
  791. package/dist/shared/useId.js +1 -1
  792. package/dist/shared/useId.js.map +1 -1
  793. package/dist/shared/useSelectionBehavior.cjs +1 -1
  794. package/dist/shared/useSelectionBehavior.cjs.map +1 -1
  795. package/dist/shared/useSelectionBehavior.js +1 -1
  796. package/dist/shared/useSelectionBehavior.js.map +1 -1
  797. package/dist/shared/useSingleOrMultipleValue.cjs +5 -5
  798. package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
  799. package/dist/shared/useSingleOrMultipleValue.js +5 -5
  800. package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
  801. package/dist/shared/useSize.cjs +1 -1
  802. package/dist/shared/useSize.cjs.map +1 -1
  803. package/dist/shared/useSize.js +1 -1
  804. package/dist/shared/useSize.js.map +1 -1
  805. package/dist/shared/useTypeahead.cjs +1 -1
  806. package/dist/shared/useTypeahead.cjs.map +1 -1
  807. package/dist/shared/useTypeahead.js +1 -1
  808. package/dist/shared/useTypeahead.js.map +1 -1
  809. package/dist/utils/layout.cjs +1 -1
  810. package/dist/utils/layout.cjs.map +1 -1
  811. package/dist/utils/layout.js +1 -1
  812. package/dist/utils/layout.js.map +1 -1
  813. package/dist/utils/style.cjs +2 -2
  814. package/dist/utils/style.cjs.map +1 -1
  815. package/dist/utils/style.js +3 -3
  816. package/dist/utils/style.js.map +1 -1
  817. package/package.json +3 -3
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const vue = require('vue');
4
+ const ohash = require('ohash');
4
5
  const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
5
6
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
6
7
  const TagsInput_TagsInputRoot = require('./TagsInputRoot.cjs');
@@ -21,7 +22,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
22
  function handleDelete() {
22
23
  if (disabled.value)
23
24
  return;
24
- const index = context.modelValue.value.findIndex((i) => i === itemContext.value.value);
25
+ const index = context.modelValue.value.findIndex((i) => ohash.isEqual(i, itemContext.value.value));
25
26
  context.onRemoveValue(index);
26
27
  }
27
28
  return (_ctx, _cache) => {
@@ -29,8 +30,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
29
30
  "aria-labelledby": vue.unref(itemContext).textId,
30
31
  "aria-current": vue.unref(itemContext).isSelected.value,
31
32
  "data-state": vue.unref(itemContext).isSelected.value ? "active" : "inactive",
32
- "data-disabled": disabled.value ? "" : undefined,
33
- type: _ctx.as === "button" ? "button" : undefined,
33
+ "data-disabled": disabled.value ? "" : void 0,
34
+ type: _ctx.as === "button" ? "button" : void 0,
34
35
  onClick: handleDelete
35
36
  }), {
36
37
  default: vue.withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"TagsInputItemDelete.cjs","sources":["../../src/TagsInput/TagsInputItemDelete.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { injectTagsInputItemContext } from './TagsInputItem.vue'\nimport { injectTagsInputRootContext } from './TagsInputRoot.vue'\nimport { computed } from 'vue'\nimport { useForwardExpose } from '@/shared'\n\nexport interface TagsInputItemDeleteProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<TagsInputItemDeleteProps>(), {\n as: 'button',\n})\n\nuseForwardExpose()\nconst context = injectTagsInputRootContext()\nconst itemContext = injectTagsInputItemContext()\n\nconst disabled = computed(() => itemContext.disabled?.value || context.disabled.value)\n\nfunction handleDelete() {\n if (disabled.value)\n return\n const index = context.modelValue.value.findIndex(i => i === itemContext.value.value)\n context.onRemoveValue(index)\n}\n</script>\n\n<template>\n <Primitive\n tabindex=\"-1\"\n v-bind=\"props\"\n :aria-labelledby=\"itemContext.textId\"\n :aria-current=\"itemContext.isSelected.value\"\n :data-state=\"itemContext.isSelected.value ? 'active' : 'inactive'\"\n :data-disabled=\"disabled ? '' : undefined\"\n :type=\"as === 'button' ? 'button' : undefined\"\n @click=\"handleDelete\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectTagsInputRootContext","injectTagsInputItemContext","computed"],"mappings":";;;;;;;;;;;;;;;AAaA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,UAAUC,kDAA2B,EAAA;AAC3C,IAAA,MAAM,cAAcC,kDAA2B,EAAA;AAE/C,IAAM,MAAA,QAAA,GAAWC,aAAS,MAAM,WAAA,CAAY,UAAU,KAAS,IAAA,OAAA,CAAQ,SAAS,KAAK,CAAA;AAErF,IAAA,SAAS,YAAe,GAAA;AACtB,MAAA,IAAI,QAAS,CAAA,KAAA;AACX,QAAA;AACF,MAAM,MAAA,KAAA,GAAQ,QAAQ,UAAW,CAAA,KAAA,CAAM,UAAU,CAAK,CAAA,KAAA,CAAA,KAAM,WAAY,CAAA,KAAA,CAAM,KAAK,CAAA;AACnF,MAAA,OAAA,CAAQ,cAAc,KAAK,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TagsInputItemDelete.cjs","sources":["../../src/TagsInput/TagsInputItemDelete.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { injectTagsInputItemContext } from './TagsInputItem.vue'\nimport { injectTagsInputRootContext } from './TagsInputRoot.vue'\nimport { computed } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { isEqual } from 'ohash'\n\nexport interface TagsInputItemDeleteProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<TagsInputItemDeleteProps>(), {\n as: 'button',\n})\n\nuseForwardExpose()\nconst context = injectTagsInputRootContext()\nconst itemContext = injectTagsInputItemContext()\n\nconst disabled = computed(() => itemContext.disabled?.value || context.disabled.value)\n\nfunction handleDelete() {\n if (disabled.value)\n return\n const index = context.modelValue.value.findIndex(i => isEqual(i, itemContext.value.value))\n context.onRemoveValue(index)\n}\n</script>\n\n<template>\n <Primitive\n tabindex=\"-1\"\n v-bind=\"props\"\n :aria-labelledby=\"itemContext.textId\"\n :aria-current=\"itemContext.isSelected.value\"\n :data-state=\"itemContext.isSelected.value ? 'active' : 'inactive'\"\n :data-disabled=\"disabled ? '' : undefined\"\n :type=\"as === 'button' ? 'button' : undefined\"\n @click=\"handleDelete\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectTagsInputRootContext","injectTagsInputItemContext","computed","isEqual"],"mappings":";;;;;;;;;;;;;;;;AAcA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,UAAUC,kDAA2B,EAAA;AAC3C,IAAA,MAAM,cAAcC,kDAA2B,EAAA;AAE/C,IAAM,MAAA,QAAA,GAAWC,aAAS,MAAM,WAAA,CAAY,UAAU,KAAS,IAAA,OAAA,CAAQ,SAAS,KAAK,CAAA;AAErF,IAAA,SAAS,YAAe,GAAA;AACtB,MAAA,IAAI,QAAS,CAAA,KAAA;AACX,QAAA;AACF,MAAM,MAAA,KAAA,GAAQ,OAAQ,CAAA,UAAA,CAAW,KAAM,CAAA,SAAA,CAAU,CAAK,CAAA,KAAAC,aAAA,CAAQ,CAAG,EAAA,WAAA,CAAY,KAAM,CAAA,KAAK,CAAC,CAAA;AACzF,MAAA,OAAA,CAAQ,cAAc,KAAK,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,5 @@
1
- import { defineComponent, computed, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, computed, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
2
+ import { isEqual } from 'ohash';
2
3
  import { u as useForwardExpose } from '../shared/useForwardExpose.js';
3
4
  import { P as Primitive } from '../Primitive/Primitive.js';
4
5
  import { i as injectTagsInputRootContext } from './TagsInputRoot.js';
@@ -19,7 +20,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
20
  function handleDelete() {
20
21
  if (disabled.value)
21
22
  return;
22
- const index = context.modelValue.value.findIndex((i) => i === itemContext.value.value);
23
+ const index = context.modelValue.value.findIndex((i) => isEqual(i, itemContext.value.value));
23
24
  context.onRemoveValue(index);
24
25
  }
25
26
  return (_ctx, _cache) => {
@@ -27,8 +28,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
28
  "aria-labelledby": unref(itemContext).textId,
28
29
  "aria-current": unref(itemContext).isSelected.value,
29
30
  "data-state": unref(itemContext).isSelected.value ? "active" : "inactive",
30
- "data-disabled": disabled.value ? "" : undefined,
31
- type: _ctx.as === "button" ? "button" : undefined,
31
+ "data-disabled": disabled.value ? "" : void 0,
32
+ type: _ctx.as === "button" ? "button" : void 0,
32
33
  onClick: handleDelete
33
34
  }), {
34
35
  default: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"TagsInputItemDelete.js","sources":["../../src/TagsInput/TagsInputItemDelete.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { injectTagsInputItemContext } from './TagsInputItem.vue'\nimport { injectTagsInputRootContext } from './TagsInputRoot.vue'\nimport { computed } from 'vue'\nimport { useForwardExpose } from '@/shared'\n\nexport interface TagsInputItemDeleteProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<TagsInputItemDeleteProps>(), {\n as: 'button',\n})\n\nuseForwardExpose()\nconst context = injectTagsInputRootContext()\nconst itemContext = injectTagsInputItemContext()\n\nconst disabled = computed(() => itemContext.disabled?.value || context.disabled.value)\n\nfunction handleDelete() {\n if (disabled.value)\n return\n const index = context.modelValue.value.findIndex(i => i === itemContext.value.value)\n context.onRemoveValue(index)\n}\n</script>\n\n<template>\n <Primitive\n tabindex=\"-1\"\n v-bind=\"props\"\n :aria-labelledby=\"itemContext.textId\"\n :aria-current=\"itemContext.isSelected.value\"\n :data-state=\"itemContext.isSelected.value ? 'active' : 'inactive'\"\n :data-disabled=\"disabled ? '' : undefined\"\n :type=\"as === 'button' ? 'button' : undefined\"\n @click=\"handleDelete\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAaA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,UAAU,0BAA2B,EAAA;AAC3C,IAAA,MAAM,cAAc,0BAA2B,EAAA;AAE/C,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM,WAAA,CAAY,UAAU,KAAS,IAAA,OAAA,CAAQ,SAAS,KAAK,CAAA;AAErF,IAAA,SAAS,YAAe,GAAA;AACtB,MAAA,IAAI,QAAS,CAAA,KAAA;AACX,QAAA;AACF,MAAM,MAAA,KAAA,GAAQ,QAAQ,UAAW,CAAA,KAAA,CAAM,UAAU,CAAK,CAAA,KAAA,CAAA,KAAM,WAAY,CAAA,KAAA,CAAM,KAAK,CAAA;AACnF,MAAA,OAAA,CAAQ,cAAc,KAAK,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TagsInputItemDelete.js","sources":["../../src/TagsInput/TagsInputItemDelete.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { injectTagsInputItemContext } from './TagsInputItem.vue'\nimport { injectTagsInputRootContext } from './TagsInputRoot.vue'\nimport { computed } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { isEqual } from 'ohash'\n\nexport interface TagsInputItemDeleteProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<TagsInputItemDeleteProps>(), {\n as: 'button',\n})\n\nuseForwardExpose()\nconst context = injectTagsInputRootContext()\nconst itemContext = injectTagsInputItemContext()\n\nconst disabled = computed(() => itemContext.disabled?.value || context.disabled.value)\n\nfunction handleDelete() {\n if (disabled.value)\n return\n const index = context.modelValue.value.findIndex(i => isEqual(i, itemContext.value.value))\n context.onRemoveValue(index)\n}\n</script>\n\n<template>\n <Primitive\n tabindex=\"-1\"\n v-bind=\"props\"\n :aria-labelledby=\"itemContext.textId\"\n :aria-current=\"itemContext.isSelected.value\"\n :data-state=\"itemContext.isSelected.value ? 'active' : 'inactive'\"\n :data-disabled=\"disabled ? '' : undefined\"\n :type=\"as === 'button' ? 'button' : undefined\"\n @click=\"handleDelete\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAcA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,UAAU,0BAA2B,EAAA;AAC3C,IAAA,MAAM,cAAc,0BAA2B,EAAA;AAE/C,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM,WAAA,CAAY,UAAU,KAAS,IAAA,OAAA,CAAQ,SAAS,KAAK,CAAA;AAErF,IAAA,SAAS,YAAe,GAAA;AACtB,MAAA,IAAI,QAAS,CAAA,KAAA;AACX,QAAA;AACF,MAAM,MAAA,KAAA,GAAQ,OAAQ,CAAA,UAAA,CAAW,KAAM,CAAA,SAAA,CAAU,CAAK,CAAA,KAAA,OAAA,CAAQ,CAAG,EAAA,WAAA,CAAY,KAAM,CAAA,KAAK,CAAC,CAAA;AACzF,MAAA,OAAA,CAAQ,cAAc,KAAK,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -16,7 +16,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
16
16
  const props = __props;
17
17
  const itemContext = TagsInput_TagsInputItem.injectTagsInputItemContext();
18
18
  shared_useForwardExpose.useForwardExpose();
19
- itemContext.textId ||= shared_useId.useId(undefined, "reka-tags-input-item-text");
19
+ itemContext.textId ||= shared_useId.useId(void 0, "reka-tags-input-item-text");
20
20
  return (_ctx, _cache) => {
21
21
  return vue.openBlock(), vue.createBlock(vue.unref(Primitive_Primitive.Primitive), vue.mergeProps(props, {
22
22
  id: vue.unref(itemContext).textId
@@ -1 +1 @@
1
- {"version":3,"file":"TagsInputItemText.cjs","sources":["../../src/TagsInput/TagsInputItemText.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { injectTagsInputItemContext } from './TagsInputItem.vue'\nimport { useForwardExpose, useId } from '@/shared'\n\nexport interface TagsInputItemTextProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<TagsInputItemTextProps>(), {\n as: 'span',\n})\n\nconst itemContext = injectTagsInputItemContext()\nuseForwardExpose()\n\nitemContext.textId ||= useId(undefined, 'reka-tags-input-item-text')\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :id=\"itemContext.textId\"\n >\n <slot>{{ itemContext.displayValue.value }}</slot>\n </Primitive>\n</template>\n"],"names":["injectTagsInputItemContext","useForwardExpose","useId"],"mappings":";;;;;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,cAAcA,kDAA2B,EAAA;AAC/C,IAAiBC,wCAAA,EAAA;AAEjB,IAAY,WAAA,CAAA,MAAA,KAAWC,kBAAM,CAAA,SAAA,EAAW,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TagsInputItemText.cjs","sources":["../../src/TagsInput/TagsInputItemText.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { injectTagsInputItemContext } from './TagsInputItem.vue'\nimport { useForwardExpose, useId } from '@/shared'\n\nexport interface TagsInputItemTextProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<TagsInputItemTextProps>(), {\n as: 'span',\n})\n\nconst itemContext = injectTagsInputItemContext()\nuseForwardExpose()\n\nitemContext.textId ||= useId(undefined, 'reka-tags-input-item-text')\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :id=\"itemContext.textId\"\n >\n <slot>{{ itemContext.displayValue.value }}</slot>\n </Primitive>\n</template>\n"],"names":["injectTagsInputItemContext","useForwardExpose","useId"],"mappings":";;;;;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,cAAcA,kDAA2B,EAAA;AAC/C,IAAiBC,wCAAA,EAAA;AAEjB,IAAY,WAAA,CAAA,MAAA,KAAWC,kBAAM,CAAA,MAAA,EAAW,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString } from 'vue';
1
+ import { defineComponent, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString } from 'vue';
2
2
  import { i as injectTagsInputItemContext } from './TagsInputItem.js';
3
3
  import { u as useForwardExpose } from '../shared/useForwardExpose.js';
4
4
  import { u as useId } from '../shared/useId.js';
@@ -14,7 +14,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  const props = __props;
15
15
  const itemContext = injectTagsInputItemContext();
16
16
  useForwardExpose();
17
- itemContext.textId ||= useId(undefined, "reka-tags-input-item-text");
17
+ itemContext.textId ||= useId(void 0, "reka-tags-input-item-text");
18
18
  return (_ctx, _cache) => {
19
19
  return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
20
20
  id: unref(itemContext).textId
@@ -1 +1 @@
1
- {"version":3,"file":"TagsInputItemText.js","sources":["../../src/TagsInput/TagsInputItemText.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { injectTagsInputItemContext } from './TagsInputItem.vue'\nimport { useForwardExpose, useId } from '@/shared'\n\nexport interface TagsInputItemTextProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<TagsInputItemTextProps>(), {\n as: 'span',\n})\n\nconst itemContext = injectTagsInputItemContext()\nuseForwardExpose()\n\nitemContext.textId ||= useId(undefined, 'reka-tags-input-item-text')\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :id=\"itemContext.textId\"\n >\n <slot>{{ itemContext.displayValue.value }}</slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,cAAc,0BAA2B,EAAA;AAC/C,IAAiB,gBAAA,EAAA;AAEjB,IAAY,WAAA,CAAA,MAAA,KAAW,KAAM,CAAA,SAAA,EAAW,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TagsInputItemText.js","sources":["../../src/TagsInput/TagsInputItemText.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { injectTagsInputItemContext } from './TagsInputItem.vue'\nimport { useForwardExpose, useId } from '@/shared'\n\nexport interface TagsInputItemTextProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<TagsInputItemTextProps>(), {\n as: 'span',\n})\n\nconst itemContext = injectTagsInputItemContext()\nuseForwardExpose()\n\nitemContext.textId ||= useId(undefined, 'reka-tags-input-item-text')\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :id=\"itemContext.textId\"\n >\n <slot>{{ itemContext.displayValue.value }}</slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,cAAc,0BAA2B,EAAA;AAC/C,IAAiB,gBAAA,EAAA;AAEjB,IAAY,WAAA,CAAA,MAAA,KAAW,KAAM,CAAA,MAAA,EAAW,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;"}
@@ -3,13 +3,13 @@
3
3
  const vue = require('vue');
4
4
  const Collection_Collection = require('../Collection/Collection.cjs');
5
5
  const core = require('@vueuse/core');
6
+ const shared_createContext = require('../shared/createContext.cjs');
6
7
  const shared_useDirection = require('../shared/useDirection.cjs');
7
8
  const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
8
9
  const shared_useFormControl = require('../shared/useFormControl.cjs');
9
10
  const shared_useArrowNavigation = require('../shared/useArrowNavigation.cjs');
10
11
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
11
12
  const VisuallyHidden_VisuallyHiddenInput = require('../VisuallyHidden/VisuallyHiddenInput.cjs');
12
- const shared_createContext = require('../shared/createContext.cjs');
13
13
 
14
14
  const [injectTagsInputRootContext, provideTagsInputRootContext] = shared_createContext.createContext("TagsInputRoot");
15
15
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -123,10 +123,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
123
123
  selectedElement.value = lastTag;
124
124
  event.preventDefault();
125
125
  } else if (isArrowRight && lastTag && selectedElement.value === lastTag) {
126
- selectedElement.value = undefined;
126
+ selectedElement.value = void 0;
127
127
  event.preventDefault();
128
128
  } else if (selectedElement.value) {
129
- const el = shared_useArrowNavigation.useArrowNavigation(event, selectedElement.value, undefined, {
129
+ const el = shared_useArrowNavigation.useArrowNavigation(event, selectedElement.value, void 0, {
130
130
  itemsArray: collection,
131
131
  loop: false,
132
132
  dir: dir.value
@@ -144,7 +144,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
144
144
  break;
145
145
  }
146
146
  default: {
147
- selectedElement.value = undefined;
147
+ selectedElement.value = void 0;
148
148
  }
149
149
  }
150
150
  },
@@ -168,9 +168,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
168
168
  dir: vue.unref(dir),
169
169
  as: _ctx.as,
170
170
  "as-child": _ctx.asChild,
171
- "data-invalid": isInvalidInput.value ? "" : undefined,
172
- "data-disabled": vue.unref(disabled) ? "" : undefined,
173
- "data-focused": vue.unref(focused) ? "" : undefined
171
+ "data-invalid": isInvalidInput.value ? "" : void 0,
172
+ "data-disabled": vue.unref(disabled) ? "" : void 0,
173
+ "data-focused": vue.unref(focused) ? "" : void 0
174
174
  }, {
175
175
  default: vue.withCtx(() => [
176
176
  vue.renderSlot(_ctx.$slots, "default", { modelValue: vue.unref(modelValue) }),
@@ -1 +1 @@
1
- {"version":3,"file":"TagsInputRoot.cjs","sources":["../../src/TagsInput/TagsInputRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useArrowNavigation, useDirection, useFormControl, useForwardExpose } from '@/shared'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport { type Ref, computed, ref, toRefs } from 'vue'\n\nexport type AcceptableInputValue = string | Record<string, any>\n\nexport interface TagsInputRootProps<T = AcceptableInputValue> extends PrimitiveProps, FormFieldProps {\n /** The controlled value of the tags input. Can be bind as `v-model`. */\n modelValue?: Array<T> | null\n /** The value of the tags that should be added. Use when you do not need to control the state of the tags input */\n defaultValue?: Array<T>\n /** When `true`, allow adding tags on paste. Work in conjunction with delimiter prop. */\n addOnPaste?: boolean\n /** When `true` allow adding tags on tab keydown */\n addOnTab?: boolean\n /** When `true` allow adding tags blur input */\n addOnBlur?: boolean\n /** When `true`, allow duplicated tags. */\n duplicate?: boolean\n /** When `true`, prevents the user from interacting with the tags input. */\n disabled?: boolean\n /** The character or regular expression to trigger the addition of a new tag. Also used to split tags for `@paste` event */\n delimiter?: string | RegExp\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** Maximum number of tags. */\n max?: number\n id?: string\n /** Convert the input value to the desired type. Mandatory when using objects as values and using `TagsInputInput` */\n convertValue?: (value: string) => T\n /** Display the value of the tag. Useful when you want to apply modifications to the value like adding a suffix or when using object as values */\n displayValue?: (value: T) => string\n}\n\nexport type TagsInputRootEmits<T = AcceptableInputValue> = {\n /** Event handler called when the value changes */\n 'update:modelValue': [payload: Array<T>]\n /** Event handler called when the value is invalid */\n 'invalid': [payload: T]\n /** Event handler called when tag is added */\n 'addTag': [payload: T]\n /** Event handler called when tag is removed */\n 'removeTag': [payload: T]\n}\n\nexport interface TagsInputRootContext<T = AcceptableInputValue> {\n modelValue: Ref<Array<T>>\n onAddValue: (payload: string) => boolean\n onRemoveValue: (index: number) => void\n onInputKeydown: (event: KeyboardEvent) => void\n selectedElement: Ref<HTMLElement | undefined>\n isInvalidInput: Ref<boolean>\n addOnPaste: Ref<boolean>\n addOnTab: Ref<boolean>\n addOnBlur: Ref<boolean>\n disabled: Ref<boolean>\n delimiter: Ref<string | RegExp>\n dir: Ref<Direction>\n max: Ref<number>\n id: Ref<string | undefined> | undefined\n displayValue: (value: T) => string\n}\n\nexport const [injectTagsInputRootContext, provideTagsInputRootContext]\n = createContext<TagsInputRootContext>('TagsInputRoot')\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableInputValue = string\">\nimport { Primitive } from '@/Primitive'\nimport { useCollection } from '@/Collection'\nimport { useFocusWithin, useVModel } from '@vueuse/core'\nimport { VisuallyHiddenInput } from '@/VisuallyHidden'\n\nconst props = withDefaults(defineProps<TagsInputRootProps<T>>(), {\n defaultValue: () => [],\n delimiter: ',',\n max: 0,\n displayValue: (value: T) => value.toString(),\n})\nconst emits = defineEmits<TagsInputRootEmits<T>>()\n\ndefineSlots<{\n default: (props: {\n /** Current input values */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { addOnPaste, disabled, delimiter, max, id, dir: propDir, addOnBlur, addOnTab } = toRefs(props)\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue,\n passive: true,\n deep: true,\n}) as Ref<Array<AcceptableInputValue>>\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst { focused } = useFocusWithin(currentElement)\nconst isFormControl = useFormControl(currentElement)\n\nconst { getItems, CollectionSlot } = useCollection({ isProvider: true })\n\nconst selectedElement = ref<HTMLElement>()\nconst isInvalidInput = ref(false)\n\nconst currentModelValue = computed(() => Array.isArray(modelValue.value) ? [...modelValue.value] : [])\n\nfunction handleRemoveTag(index: number) {\n if (index !== -1) {\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n modelValue.value = modelValue.value.filter((_, i) => i !== index)\n emits('removeTag', collection[index].value)\n }\n}\n\nprovideTagsInputRootContext({\n modelValue,\n onAddValue: (_payload) => {\n const array = [...currentModelValue.value]\n const modelValueIsObject = array.length > 0 && typeof array[0] === 'object'\n const defaultValueIsObject = array.length > 0 && typeof props.defaultValue[0] === 'object'\n\n // Check if the value is an object and if the convertValue function is provided. We don't check this a type level because the use\n // of `TagsInputInput` is optional.\n if ((modelValueIsObject || defaultValueIsObject) && typeof props.convertValue !== 'function')\n throw new Error('You must provide a `convertValue` function when using objects as values.')\n const payload = props.convertValue ? props.convertValue(_payload) : _payload as T\n\n if ((array.length >= max.value) && !!max.value) {\n emits('invalid', payload)\n return false\n }\n\n if (props.duplicate) {\n modelValue.value = [...array, payload]\n emits('addTag', payload)\n return true\n }\n else {\n const exist = array.includes(payload)\n if (!exist) {\n modelValue.value = [...array, payload]\n emits('addTag', payload)\n return true\n }\n else {\n isInvalidInput.value = true\n }\n }\n emits('invalid', payload)\n return false\n },\n onRemoveValue: handleRemoveTag,\n onInputKeydown: (event) => {\n const target = event.target as HTMLInputElement\n const collection = getItems().map(i => i.ref).filter(i => i.dataset.disabled !== '')\n if (!collection.length)\n return\n const lastTag = collection.at(-1)\n switch (event.key) {\n case 'Delete':\n case 'Backspace': {\n if (target.selectionStart !== 0 || target.selectionEnd !== 0)\n break\n\n if (selectedElement.value) {\n const index = collection.findIndex(i => i === selectedElement.value)\n handleRemoveTag(index)\n selectedElement.value = selectedElement.value === lastTag ? collection.at(index - 1) : collection.at(index + 1)\n event.preventDefault()\n }\n else if (event.key === 'Backspace') {\n selectedElement.value = lastTag\n event.preventDefault()\n }\n break\n }\n case 'Home':\n case 'End':\n case 'ArrowRight':\n case 'ArrowLeft': {\n const isArrowRight = (event.key === 'ArrowRight' && dir.value === 'ltr') || (event.key === 'ArrowLeft' && dir.value === 'rtl')\n const isArrowLeft = !isArrowRight\n // only focus on tags when cursor is at the first position\n if (target.selectionStart !== 0 || target.selectionEnd !== 0)\n break\n\n // if you press ArrowLeft, then we last tag\n if (isArrowLeft && !selectedElement.value) {\n selectedElement.value = lastTag\n event.preventDefault()\n }\n // if you press ArrowRight on last tag, you deselect\n else if (isArrowRight && lastTag && selectedElement.value === lastTag) {\n selectedElement.value = undefined\n event.preventDefault()\n }\n else if (selectedElement.value) {\n const el = useArrowNavigation(event, selectedElement.value, undefined, {\n itemsArray: collection,\n loop: false,\n dir: dir.value,\n })\n if (el)\n selectedElement.value = el\n event.preventDefault()\n }\n break\n }\n case 'ArrowUp':\n case 'ArrowDown': {\n if (selectedElement.value)\n event.preventDefault()\n break\n }\n default: {\n selectedElement.value = undefined\n }\n }\n },\n selectedElement,\n isInvalidInput,\n addOnPaste,\n addOnBlur,\n addOnTab,\n dir,\n disabled,\n delimiter,\n max,\n id,\n displayValue: props.displayValue as (value: AcceptableInputValue) => string,\n})\n</script>\n\n<template>\n <CollectionSlot>\n <Primitive\n :ref=\"forwardRef\"\n :dir=\"dir\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-invalid=\"isInvalidInput ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-focused=\"focused ? '' : undefined\"\n >\n <slot :model-value=\"modelValue\" />\n\n <VisuallyHiddenInput\n v-if=\"isFormControl && name\"\n :name=\"name\"\n :value=\"modelValue\"\n :required=\"required\"\n :disabled=\"disabled\"\n />\n </Primitive>\n </CollectionSlot>\n</template>\n"],"names":["createContext","toRefs","useDirection","useVModel","useForwardExpose","useFocusWithin","useFormControl","useCollection","ref","computed","useArrowNavigation"],"mappings":"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"}
1
+ {"version":3,"file":"TagsInputRoot.cjs","sources":["../../src/TagsInput/TagsInputRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useArrowNavigation, useDirection, useFormControl, useForwardExpose } from '@/shared'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport { type Ref, computed, ref, toRefs } from 'vue'\n\nexport type AcceptableInputValue = string | Record<string, any>\n\nexport interface TagsInputRootProps<T = AcceptableInputValue> extends PrimitiveProps, FormFieldProps {\n /** The controlled value of the tags input. Can be bind as `v-model`. */\n modelValue?: Array<T> | null\n /** The value of the tags that should be added. Use when you do not need to control the state of the tags input */\n defaultValue?: Array<T>\n /** When `true`, allow adding tags on paste. Work in conjunction with delimiter prop. */\n addOnPaste?: boolean\n /** When `true` allow adding tags on tab keydown */\n addOnTab?: boolean\n /** When `true` allow adding tags blur input */\n addOnBlur?: boolean\n /** When `true`, allow duplicated tags. */\n duplicate?: boolean\n /** When `true`, prevents the user from interacting with the tags input. */\n disabled?: boolean\n /** The character or regular expression to trigger the addition of a new tag. Also used to split tags for `@paste` event */\n delimiter?: string | RegExp\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** Maximum number of tags. */\n max?: number\n id?: string\n /** Convert the input value to the desired type. Mandatory when using objects as values and using `TagsInputInput` */\n convertValue?: (value: string) => T\n /** Display the value of the tag. Useful when you want to apply modifications to the value like adding a suffix or when using object as values */\n displayValue?: (value: T) => string\n}\n\nexport type TagsInputRootEmits<T = AcceptableInputValue> = {\n /** Event handler called when the value changes */\n 'update:modelValue': [payload: Array<T>]\n /** Event handler called when the value is invalid */\n 'invalid': [payload: T]\n /** Event handler called when tag is added */\n 'addTag': [payload: T]\n /** Event handler called when tag is removed */\n 'removeTag': [payload: T]\n}\n\nexport interface TagsInputRootContext<T = AcceptableInputValue> {\n modelValue: Ref<Array<T>>\n onAddValue: (payload: string) => boolean\n onRemoveValue: (index: number) => void\n onInputKeydown: (event: KeyboardEvent) => void\n selectedElement: Ref<HTMLElement | undefined>\n isInvalidInput: Ref<boolean>\n addOnPaste: Ref<boolean>\n addOnTab: Ref<boolean>\n addOnBlur: Ref<boolean>\n disabled: Ref<boolean>\n delimiter: Ref<string | RegExp>\n dir: Ref<Direction>\n max: Ref<number>\n id: Ref<string | undefined> | undefined\n displayValue: (value: T) => string\n}\n\nexport const [injectTagsInputRootContext, provideTagsInputRootContext]\n = createContext<TagsInputRootContext>('TagsInputRoot')\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableInputValue = string\">\nimport { Primitive } from '@/Primitive'\nimport { useCollection } from '@/Collection'\nimport { useFocusWithin, useVModel } from '@vueuse/core'\nimport { VisuallyHiddenInput } from '@/VisuallyHidden'\n\nconst props = withDefaults(defineProps<TagsInputRootProps<T>>(), {\n defaultValue: () => [],\n delimiter: ',',\n max: 0,\n displayValue: (value: T) => value.toString(),\n})\nconst emits = defineEmits<TagsInputRootEmits<T>>()\n\ndefineSlots<{\n default: (props: {\n /** Current input values */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { addOnPaste, disabled, delimiter, max, id, dir: propDir, addOnBlur, addOnTab } = toRefs(props)\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue,\n passive: true,\n deep: true,\n}) as Ref<Array<AcceptableInputValue>>\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst { focused } = useFocusWithin(currentElement)\nconst isFormControl = useFormControl(currentElement)\n\nconst { getItems, CollectionSlot } = useCollection({ isProvider: true })\n\nconst selectedElement = ref<HTMLElement>()\nconst isInvalidInput = ref(false)\n\nconst currentModelValue = computed(() => Array.isArray(modelValue.value) ? [...modelValue.value] : [])\n\nfunction handleRemoveTag(index: number) {\n if (index !== -1) {\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n modelValue.value = modelValue.value.filter((_, i) => i !== index)\n emits('removeTag', collection[index].value)\n }\n}\n\nprovideTagsInputRootContext({\n modelValue,\n onAddValue: (_payload) => {\n const array = [...currentModelValue.value]\n const modelValueIsObject = array.length > 0 && typeof array[0] === 'object'\n const defaultValueIsObject = array.length > 0 && typeof props.defaultValue[0] === 'object'\n\n // Check if the value is an object and if the convertValue function is provided. We don't check this a type level because the use\n // of `TagsInputInput` is optional.\n if ((modelValueIsObject || defaultValueIsObject) && typeof props.convertValue !== 'function')\n throw new Error('You must provide a `convertValue` function when using objects as values.')\n const payload = props.convertValue ? props.convertValue(_payload) : _payload as T\n\n if ((array.length >= max.value) && !!max.value) {\n emits('invalid', payload)\n return false\n }\n\n if (props.duplicate) {\n modelValue.value = [...array, payload]\n emits('addTag', payload)\n return true\n }\n else {\n const exist = array.includes(payload)\n if (!exist) {\n modelValue.value = [...array, payload]\n emits('addTag', payload)\n return true\n }\n else {\n isInvalidInput.value = true\n }\n }\n emits('invalid', payload)\n return false\n },\n onRemoveValue: handleRemoveTag,\n onInputKeydown: (event) => {\n const target = event.target as HTMLInputElement\n const collection = getItems().map(i => i.ref).filter(i => i.dataset.disabled !== '')\n if (!collection.length)\n return\n const lastTag = collection.at(-1)\n switch (event.key) {\n case 'Delete':\n case 'Backspace': {\n if (target.selectionStart !== 0 || target.selectionEnd !== 0)\n break\n\n if (selectedElement.value) {\n const index = collection.findIndex(i => i === selectedElement.value)\n handleRemoveTag(index)\n selectedElement.value = selectedElement.value === lastTag ? collection.at(index - 1) : collection.at(index + 1)\n event.preventDefault()\n }\n else if (event.key === 'Backspace') {\n selectedElement.value = lastTag\n event.preventDefault()\n }\n break\n }\n case 'Home':\n case 'End':\n case 'ArrowRight':\n case 'ArrowLeft': {\n const isArrowRight = (event.key === 'ArrowRight' && dir.value === 'ltr') || (event.key === 'ArrowLeft' && dir.value === 'rtl')\n const isArrowLeft = !isArrowRight\n // only focus on tags when cursor is at the first position\n if (target.selectionStart !== 0 || target.selectionEnd !== 0)\n break\n\n // if you press ArrowLeft, then we last tag\n if (isArrowLeft && !selectedElement.value) {\n selectedElement.value = lastTag\n event.preventDefault()\n }\n // if you press ArrowRight on last tag, you deselect\n else if (isArrowRight && lastTag && selectedElement.value === lastTag) {\n selectedElement.value = undefined\n event.preventDefault()\n }\n else if (selectedElement.value) {\n const el = useArrowNavigation(event, selectedElement.value, undefined, {\n itemsArray: collection,\n loop: false,\n dir: dir.value,\n })\n if (el)\n selectedElement.value = el\n event.preventDefault()\n }\n break\n }\n case 'ArrowUp':\n case 'ArrowDown': {\n if (selectedElement.value)\n event.preventDefault()\n break\n }\n default: {\n selectedElement.value = undefined\n }\n }\n },\n selectedElement,\n isInvalidInput,\n addOnPaste,\n addOnBlur,\n addOnTab,\n dir,\n disabled,\n delimiter,\n max,\n id,\n displayValue: props.displayValue as (value: AcceptableInputValue) => string,\n})\n</script>\n\n<template>\n <CollectionSlot>\n <Primitive\n :ref=\"forwardRef\"\n :dir=\"dir\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-invalid=\"isInvalidInput ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-focused=\"focused ? '' : undefined\"\n >\n <slot :model-value=\"modelValue\" />\n\n <VisuallyHiddenInput\n v-if=\"isFormControl && name\"\n :name=\"name\"\n :value=\"modelValue\"\n :required=\"required\"\n :disabled=\"disabled\"\n />\n </Primitive>\n </CollectionSlot>\n</template>\n"],"names":["createContext","toRefs","useDirection","useVModel","useForwardExpose","useFocusWithin","useFormControl","useCollection","ref","computed","useArrowNavigation"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { defineComponent, toRefs, ref, computed, openBlock, createBlock, unref, withCtx, createVNode, renderSlot, createCommentVNode } from 'vue';
1
+ import { defineComponent, toRefs, ref, computed, createBlock, openBlock, unref, withCtx, createVNode, renderSlot, createCommentVNode } from 'vue';
2
2
  import { u as useCollection } from '../Collection/Collection.js';
3
3
  import { useVModel, useFocusWithin } from '@vueuse/core';
4
+ import { c as createContext } from '../shared/createContext.js';
4
5
  import { u as useDirection } from '../shared/useDirection.js';
5
6
  import { u as useForwardExpose } from '../shared/useForwardExpose.js';
6
7
  import { u as useFormControl } from '../shared/useFormControl.js';
7
8
  import { u as useArrowNavigation } from '../shared/useArrowNavigation.js';
8
9
  import { P as Primitive } from '../Primitive/Primitive.js';
9
10
  import { _ as _sfc_main$1 } from '../VisuallyHidden/VisuallyHiddenInput.js';
10
- import { c as createContext } from '../shared/createContext.js';
11
11
 
12
12
  const [injectTagsInputRootContext, provideTagsInputRootContext] = createContext("TagsInputRoot");
13
13
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -121,10 +121,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
121
121
  selectedElement.value = lastTag;
122
122
  event.preventDefault();
123
123
  } else if (isArrowRight && lastTag && selectedElement.value === lastTag) {
124
- selectedElement.value = undefined;
124
+ selectedElement.value = void 0;
125
125
  event.preventDefault();
126
126
  } else if (selectedElement.value) {
127
- const el = useArrowNavigation(event, selectedElement.value, undefined, {
127
+ const el = useArrowNavigation(event, selectedElement.value, void 0, {
128
128
  itemsArray: collection,
129
129
  loop: false,
130
130
  dir: dir.value
@@ -142,7 +142,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
142
142
  break;
143
143
  }
144
144
  default: {
145
- selectedElement.value = undefined;
145
+ selectedElement.value = void 0;
146
146
  }
147
147
  }
148
148
  },
@@ -166,9 +166,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
166
166
  dir: unref(dir),
167
167
  as: _ctx.as,
168
168
  "as-child": _ctx.asChild,
169
- "data-invalid": isInvalidInput.value ? "" : undefined,
170
- "data-disabled": unref(disabled) ? "" : undefined,
171
- "data-focused": unref(focused) ? "" : undefined
169
+ "data-invalid": isInvalidInput.value ? "" : void 0,
170
+ "data-disabled": unref(disabled) ? "" : void 0,
171
+ "data-focused": unref(focused) ? "" : void 0
172
172
  }, {
173
173
  default: withCtx(() => [
174
174
  renderSlot(_ctx.$slots, "default", { modelValue: unref(modelValue) }),
@@ -1 +1 @@
1
- {"version":3,"file":"TagsInputRoot.js","sources":["../../src/TagsInput/TagsInputRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useArrowNavigation, useDirection, useFormControl, useForwardExpose } from '@/shared'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport { type Ref, computed, ref, toRefs } from 'vue'\n\nexport type AcceptableInputValue = string | Record<string, any>\n\nexport interface TagsInputRootProps<T = AcceptableInputValue> extends PrimitiveProps, FormFieldProps {\n /** The controlled value of the tags input. Can be bind as `v-model`. */\n modelValue?: Array<T> | null\n /** The value of the tags that should be added. Use when you do not need to control the state of the tags input */\n defaultValue?: Array<T>\n /** When `true`, allow adding tags on paste. Work in conjunction with delimiter prop. */\n addOnPaste?: boolean\n /** When `true` allow adding tags on tab keydown */\n addOnTab?: boolean\n /** When `true` allow adding tags blur input */\n addOnBlur?: boolean\n /** When `true`, allow duplicated tags. */\n duplicate?: boolean\n /** When `true`, prevents the user from interacting with the tags input. */\n disabled?: boolean\n /** The character or regular expression to trigger the addition of a new tag. Also used to split tags for `@paste` event */\n delimiter?: string | RegExp\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** Maximum number of tags. */\n max?: number\n id?: string\n /** Convert the input value to the desired type. Mandatory when using objects as values and using `TagsInputInput` */\n convertValue?: (value: string) => T\n /** Display the value of the tag. Useful when you want to apply modifications to the value like adding a suffix or when using object as values */\n displayValue?: (value: T) => string\n}\n\nexport type TagsInputRootEmits<T = AcceptableInputValue> = {\n /** Event handler called when the value changes */\n 'update:modelValue': [payload: Array<T>]\n /** Event handler called when the value is invalid */\n 'invalid': [payload: T]\n /** Event handler called when tag is added */\n 'addTag': [payload: T]\n /** Event handler called when tag is removed */\n 'removeTag': [payload: T]\n}\n\nexport interface TagsInputRootContext<T = AcceptableInputValue> {\n modelValue: Ref<Array<T>>\n onAddValue: (payload: string) => boolean\n onRemoveValue: (index: number) => void\n onInputKeydown: (event: KeyboardEvent) => void\n selectedElement: Ref<HTMLElement | undefined>\n isInvalidInput: Ref<boolean>\n addOnPaste: Ref<boolean>\n addOnTab: Ref<boolean>\n addOnBlur: Ref<boolean>\n disabled: Ref<boolean>\n delimiter: Ref<string | RegExp>\n dir: Ref<Direction>\n max: Ref<number>\n id: Ref<string | undefined> | undefined\n displayValue: (value: T) => string\n}\n\nexport const [injectTagsInputRootContext, provideTagsInputRootContext]\n = createContext<TagsInputRootContext>('TagsInputRoot')\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableInputValue = string\">\nimport { Primitive } from '@/Primitive'\nimport { useCollection } from '@/Collection'\nimport { useFocusWithin, useVModel } from '@vueuse/core'\nimport { VisuallyHiddenInput } from '@/VisuallyHidden'\n\nconst props = withDefaults(defineProps<TagsInputRootProps<T>>(), {\n defaultValue: () => [],\n delimiter: ',',\n max: 0,\n displayValue: (value: T) => value.toString(),\n})\nconst emits = defineEmits<TagsInputRootEmits<T>>()\n\ndefineSlots<{\n default: (props: {\n /** Current input values */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { addOnPaste, disabled, delimiter, max, id, dir: propDir, addOnBlur, addOnTab } = toRefs(props)\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue,\n passive: true,\n deep: true,\n}) as Ref<Array<AcceptableInputValue>>\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst { focused } = useFocusWithin(currentElement)\nconst isFormControl = useFormControl(currentElement)\n\nconst { getItems, CollectionSlot } = useCollection({ isProvider: true })\n\nconst selectedElement = ref<HTMLElement>()\nconst isInvalidInput = ref(false)\n\nconst currentModelValue = computed(() => Array.isArray(modelValue.value) ? [...modelValue.value] : [])\n\nfunction handleRemoveTag(index: number) {\n if (index !== -1) {\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n modelValue.value = modelValue.value.filter((_, i) => i !== index)\n emits('removeTag', collection[index].value)\n }\n}\n\nprovideTagsInputRootContext({\n modelValue,\n onAddValue: (_payload) => {\n const array = [...currentModelValue.value]\n const modelValueIsObject = array.length > 0 && typeof array[0] === 'object'\n const defaultValueIsObject = array.length > 0 && typeof props.defaultValue[0] === 'object'\n\n // Check if the value is an object and if the convertValue function is provided. We don't check this a type level because the use\n // of `TagsInputInput` is optional.\n if ((modelValueIsObject || defaultValueIsObject) && typeof props.convertValue !== 'function')\n throw new Error('You must provide a `convertValue` function when using objects as values.')\n const payload = props.convertValue ? props.convertValue(_payload) : _payload as T\n\n if ((array.length >= max.value) && !!max.value) {\n emits('invalid', payload)\n return false\n }\n\n if (props.duplicate) {\n modelValue.value = [...array, payload]\n emits('addTag', payload)\n return true\n }\n else {\n const exist = array.includes(payload)\n if (!exist) {\n modelValue.value = [...array, payload]\n emits('addTag', payload)\n return true\n }\n else {\n isInvalidInput.value = true\n }\n }\n emits('invalid', payload)\n return false\n },\n onRemoveValue: handleRemoveTag,\n onInputKeydown: (event) => {\n const target = event.target as HTMLInputElement\n const collection = getItems().map(i => i.ref).filter(i => i.dataset.disabled !== '')\n if (!collection.length)\n return\n const lastTag = collection.at(-1)\n switch (event.key) {\n case 'Delete':\n case 'Backspace': {\n if (target.selectionStart !== 0 || target.selectionEnd !== 0)\n break\n\n if (selectedElement.value) {\n const index = collection.findIndex(i => i === selectedElement.value)\n handleRemoveTag(index)\n selectedElement.value = selectedElement.value === lastTag ? collection.at(index - 1) : collection.at(index + 1)\n event.preventDefault()\n }\n else if (event.key === 'Backspace') {\n selectedElement.value = lastTag\n event.preventDefault()\n }\n break\n }\n case 'Home':\n case 'End':\n case 'ArrowRight':\n case 'ArrowLeft': {\n const isArrowRight = (event.key === 'ArrowRight' && dir.value === 'ltr') || (event.key === 'ArrowLeft' && dir.value === 'rtl')\n const isArrowLeft = !isArrowRight\n // only focus on tags when cursor is at the first position\n if (target.selectionStart !== 0 || target.selectionEnd !== 0)\n break\n\n // if you press ArrowLeft, then we last tag\n if (isArrowLeft && !selectedElement.value) {\n selectedElement.value = lastTag\n event.preventDefault()\n }\n // if you press ArrowRight on last tag, you deselect\n else if (isArrowRight && lastTag && selectedElement.value === lastTag) {\n selectedElement.value = undefined\n event.preventDefault()\n }\n else if (selectedElement.value) {\n const el = useArrowNavigation(event, selectedElement.value, undefined, {\n itemsArray: collection,\n loop: false,\n dir: dir.value,\n })\n if (el)\n selectedElement.value = el\n event.preventDefault()\n }\n break\n }\n case 'ArrowUp':\n case 'ArrowDown': {\n if (selectedElement.value)\n event.preventDefault()\n break\n }\n default: {\n selectedElement.value = undefined\n }\n }\n },\n selectedElement,\n isInvalidInput,\n addOnPaste,\n addOnBlur,\n addOnTab,\n dir,\n disabled,\n delimiter,\n max,\n id,\n displayValue: props.displayValue as (value: AcceptableInputValue) => string,\n})\n</script>\n\n<template>\n <CollectionSlot>\n <Primitive\n :ref=\"forwardRef\"\n :dir=\"dir\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-invalid=\"isInvalidInput ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-focused=\"focused ? '' : undefined\"\n >\n <slot :model-value=\"modelValue\" />\n\n <VisuallyHiddenInput\n v-if=\"isFormControl && name\"\n :name=\"name\"\n :value=\"modelValue\"\n :required=\"required\"\n :disabled=\"disabled\"\n />\n </Primitive>\n </CollectionSlot>\n</template>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TagsInputRoot.js","sources":["../../src/TagsInput/TagsInputRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useArrowNavigation, useDirection, useFormControl, useForwardExpose } from '@/shared'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport { type Ref, computed, ref, toRefs } from 'vue'\n\nexport type AcceptableInputValue = string | Record<string, any>\n\nexport interface TagsInputRootProps<T = AcceptableInputValue> extends PrimitiveProps, FormFieldProps {\n /** The controlled value of the tags input. Can be bind as `v-model`. */\n modelValue?: Array<T> | null\n /** The value of the tags that should be added. Use when you do not need to control the state of the tags input */\n defaultValue?: Array<T>\n /** When `true`, allow adding tags on paste. Work in conjunction with delimiter prop. */\n addOnPaste?: boolean\n /** When `true` allow adding tags on tab keydown */\n addOnTab?: boolean\n /** When `true` allow adding tags blur input */\n addOnBlur?: boolean\n /** When `true`, allow duplicated tags. */\n duplicate?: boolean\n /** When `true`, prevents the user from interacting with the tags input. */\n disabled?: boolean\n /** The character or regular expression to trigger the addition of a new tag. Also used to split tags for `@paste` event */\n delimiter?: string | RegExp\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** Maximum number of tags. */\n max?: number\n id?: string\n /** Convert the input value to the desired type. Mandatory when using objects as values and using `TagsInputInput` */\n convertValue?: (value: string) => T\n /** Display the value of the tag. Useful when you want to apply modifications to the value like adding a suffix or when using object as values */\n displayValue?: (value: T) => string\n}\n\nexport type TagsInputRootEmits<T = AcceptableInputValue> = {\n /** Event handler called when the value changes */\n 'update:modelValue': [payload: Array<T>]\n /** Event handler called when the value is invalid */\n 'invalid': [payload: T]\n /** Event handler called when tag is added */\n 'addTag': [payload: T]\n /** Event handler called when tag is removed */\n 'removeTag': [payload: T]\n}\n\nexport interface TagsInputRootContext<T = AcceptableInputValue> {\n modelValue: Ref<Array<T>>\n onAddValue: (payload: string) => boolean\n onRemoveValue: (index: number) => void\n onInputKeydown: (event: KeyboardEvent) => void\n selectedElement: Ref<HTMLElement | undefined>\n isInvalidInput: Ref<boolean>\n addOnPaste: Ref<boolean>\n addOnTab: Ref<boolean>\n addOnBlur: Ref<boolean>\n disabled: Ref<boolean>\n delimiter: Ref<string | RegExp>\n dir: Ref<Direction>\n max: Ref<number>\n id: Ref<string | undefined> | undefined\n displayValue: (value: T) => string\n}\n\nexport const [injectTagsInputRootContext, provideTagsInputRootContext]\n = createContext<TagsInputRootContext>('TagsInputRoot')\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableInputValue = string\">\nimport { Primitive } from '@/Primitive'\nimport { useCollection } from '@/Collection'\nimport { useFocusWithin, useVModel } from '@vueuse/core'\nimport { VisuallyHiddenInput } from '@/VisuallyHidden'\n\nconst props = withDefaults(defineProps<TagsInputRootProps<T>>(), {\n defaultValue: () => [],\n delimiter: ',',\n max: 0,\n displayValue: (value: T) => value.toString(),\n})\nconst emits = defineEmits<TagsInputRootEmits<T>>()\n\ndefineSlots<{\n default: (props: {\n /** Current input values */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { addOnPaste, disabled, delimiter, max, id, dir: propDir, addOnBlur, addOnTab } = toRefs(props)\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue,\n passive: true,\n deep: true,\n}) as Ref<Array<AcceptableInputValue>>\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst { focused } = useFocusWithin(currentElement)\nconst isFormControl = useFormControl(currentElement)\n\nconst { getItems, CollectionSlot } = useCollection({ isProvider: true })\n\nconst selectedElement = ref<HTMLElement>()\nconst isInvalidInput = ref(false)\n\nconst currentModelValue = computed(() => Array.isArray(modelValue.value) ? [...modelValue.value] : [])\n\nfunction handleRemoveTag(index: number) {\n if (index !== -1) {\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n modelValue.value = modelValue.value.filter((_, i) => i !== index)\n emits('removeTag', collection[index].value)\n }\n}\n\nprovideTagsInputRootContext({\n modelValue,\n onAddValue: (_payload) => {\n const array = [...currentModelValue.value]\n const modelValueIsObject = array.length > 0 && typeof array[0] === 'object'\n const defaultValueIsObject = array.length > 0 && typeof props.defaultValue[0] === 'object'\n\n // Check if the value is an object and if the convertValue function is provided. We don't check this a type level because the use\n // of `TagsInputInput` is optional.\n if ((modelValueIsObject || defaultValueIsObject) && typeof props.convertValue !== 'function')\n throw new Error('You must provide a `convertValue` function when using objects as values.')\n const payload = props.convertValue ? props.convertValue(_payload) : _payload as T\n\n if ((array.length >= max.value) && !!max.value) {\n emits('invalid', payload)\n return false\n }\n\n if (props.duplicate) {\n modelValue.value = [...array, payload]\n emits('addTag', payload)\n return true\n }\n else {\n const exist = array.includes(payload)\n if (!exist) {\n modelValue.value = [...array, payload]\n emits('addTag', payload)\n return true\n }\n else {\n isInvalidInput.value = true\n }\n }\n emits('invalid', payload)\n return false\n },\n onRemoveValue: handleRemoveTag,\n onInputKeydown: (event) => {\n const target = event.target as HTMLInputElement\n const collection = getItems().map(i => i.ref).filter(i => i.dataset.disabled !== '')\n if (!collection.length)\n return\n const lastTag = collection.at(-1)\n switch (event.key) {\n case 'Delete':\n case 'Backspace': {\n if (target.selectionStart !== 0 || target.selectionEnd !== 0)\n break\n\n if (selectedElement.value) {\n const index = collection.findIndex(i => i === selectedElement.value)\n handleRemoveTag(index)\n selectedElement.value = selectedElement.value === lastTag ? collection.at(index - 1) : collection.at(index + 1)\n event.preventDefault()\n }\n else if (event.key === 'Backspace') {\n selectedElement.value = lastTag\n event.preventDefault()\n }\n break\n }\n case 'Home':\n case 'End':\n case 'ArrowRight':\n case 'ArrowLeft': {\n const isArrowRight = (event.key === 'ArrowRight' && dir.value === 'ltr') || (event.key === 'ArrowLeft' && dir.value === 'rtl')\n const isArrowLeft = !isArrowRight\n // only focus on tags when cursor is at the first position\n if (target.selectionStart !== 0 || target.selectionEnd !== 0)\n break\n\n // if you press ArrowLeft, then we last tag\n if (isArrowLeft && !selectedElement.value) {\n selectedElement.value = lastTag\n event.preventDefault()\n }\n // if you press ArrowRight on last tag, you deselect\n else if (isArrowRight && lastTag && selectedElement.value === lastTag) {\n selectedElement.value = undefined\n event.preventDefault()\n }\n else if (selectedElement.value) {\n const el = useArrowNavigation(event, selectedElement.value, undefined, {\n itemsArray: collection,\n loop: false,\n dir: dir.value,\n })\n if (el)\n selectedElement.value = el\n event.preventDefault()\n }\n break\n }\n case 'ArrowUp':\n case 'ArrowDown': {\n if (selectedElement.value)\n event.preventDefault()\n break\n }\n default: {\n selectedElement.value = undefined\n }\n }\n },\n selectedElement,\n isInvalidInput,\n addOnPaste,\n addOnBlur,\n addOnTab,\n dir,\n disabled,\n delimiter,\n max,\n id,\n displayValue: props.displayValue as (value: AcceptableInputValue) => string,\n})\n</script>\n\n<template>\n <CollectionSlot>\n <Primitive\n :ref=\"forwardRef\"\n :dir=\"dir\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-invalid=\"isInvalidInput ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-focused=\"focused ? '' : undefined\"\n >\n <slot :model-value=\"modelValue\" />\n\n <VisuallyHiddenInput\n v-if=\"isFormControl && name\"\n :name=\"name\"\n :value=\"modelValue\"\n :required=\"required\"\n :disabled=\"disabled\"\n />\n </Primitive>\n </CollectionSlot>\n</template>\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, unref, openBlock, createBlock, Teleport, renderSlot, createCommentVNode } from 'vue';
1
+ import { defineComponent, createBlock, createCommentVNode, unref, openBlock, Teleport, renderSlot } from 'vue';
2
2
  import { useMounted } from '@vueuse/core';
3
3
 
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -44,11 +44,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
44
44
  }, vue.unref(attributes), {
45
45
  contenteditable: disabled.value || readonly.value ? false : _ctx.part !== "literal",
46
46
  "data-reka-time-field-segment": _ctx.part,
47
- "aria-disabled": disabled.value ? true : undefined,
48
- "aria-readonly": readonly.value ? true : undefined,
49
- "data-disabled": disabled.value ? "" : undefined,
50
- "data-invalid": isInvalid.value ? "" : undefined,
51
- "aria-invalid": isInvalid.value ? true : undefined
47
+ "aria-disabled": disabled.value ? true : void 0,
48
+ "aria-readonly": readonly.value ? true : void 0,
49
+ "data-disabled": disabled.value ? "" : void 0,
50
+ "data-invalid": isInvalid.value ? "" : void 0,
51
+ "aria-invalid": isInvalid.value ? true : void 0
52
52
  }, vue.toHandlers(_ctx.part !== "literal" ? {
53
53
  mousedown: vue.unref(handleSegmentClick),
54
54
  keydown: vue.unref(handleSegmentKeydown),
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, openBlock, createBlock, unref, mergeProps, toHandlers, withCtx, renderSlot } from 'vue';
1
+ import { defineComponent, ref, computed, createBlock, openBlock, unref, mergeProps, toHandlers, withCtx, renderSlot } from 'vue';
2
2
  import { u as useDateField } from '../date/useDateField.js';
3
3
  import { i as injectTimeFieldRootContext } from './TimeFieldRoot.js';
4
4
  import { P as Primitive } from '../Primitive/Primitive.js';
@@ -42,11 +42,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  }, unref(attributes), {
43
43
  contenteditable: disabled.value || readonly.value ? false : _ctx.part !== "literal",
44
44
  "data-reka-time-field-segment": _ctx.part,
45
- "aria-disabled": disabled.value ? true : undefined,
46
- "aria-readonly": readonly.value ? true : undefined,
47
- "data-disabled": disabled.value ? "" : undefined,
48
- "data-invalid": isInvalid.value ? "" : undefined,
49
- "aria-invalid": isInvalid.value ? true : undefined
45
+ "aria-disabled": disabled.value ? true : void 0,
46
+ "aria-readonly": readonly.value ? true : void 0,
47
+ "data-disabled": disabled.value ? "" : void 0,
48
+ "data-invalid": isInvalid.value ? "" : void 0,
49
+ "aria-invalid": isInvalid.value ? true : void 0
50
50
  }, toHandlers(_ctx.part !== "literal" ? {
51
51
  mousedown: unref(handleSegmentClick),
52
52
  keydown: unref(handleSegmentKeydown),
@@ -4,6 +4,7 @@ const vue = require('vue');
4
4
  const core = require('@vueuse/core');
5
5
  const date = require('@internationalized/date');
6
6
  const date_comparators = require('../date/comparators.cjs');
7
+ const shared_createContext = require('../shared/createContext.cjs');
7
8
  const shared_useLocale = require('../shared/useLocale.cjs');
8
9
  const shared_useDirection = require('../shared/useDirection.cjs');
9
10
  const shared_useDateFormatter = require('../shared/useDateFormatter.cjs');
@@ -12,8 +13,8 @@ const date_segment = require('../date/segment.cjs');
12
13
  const date_parser = require('../date/parser.cjs');
13
14
  const Primitive_Primitive = require('../Primitive/Primitive.cjs');
14
15
  const VisuallyHidden_VisuallyHidden = require('../VisuallyHidden/VisuallyHidden.cjs');
15
- const shared_createContext = require('../shared/createContext.cjs');
16
16
  const shared_useKbd = require('../shared/useKbd.cjs');
17
+ const shared_nullish = require('../shared/nullish.cjs');
17
18
 
18
19
  const [injectTimeFieldRootContext, provideTimeFieldRootContext] = shared_createContext.createContext("TimeFieldRoot");
19
20
  function convertValue(value, date$1 = date.today(date.getLocalTimeZone())) {
@@ -28,9 +29,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
28
29
  },
29
30
  __name: "TimeFieldRoot",
30
31
  props: {
31
- defaultValue: { default: undefined },
32
+ defaultValue: { default: void 0 },
32
33
  defaultPlaceholder: {},
33
- placeholder: { default: undefined },
34
+ placeholder: { default: void 0 },
34
35
  modelValue: {},
35
36
  hourCycle: {},
36
37
  granularity: {},
@@ -57,17 +58,19 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
57
58
  const formatter = shared_useDateFormatter.useDateFormatter(locale.value);
58
59
  const { primitiveElement, currentElement: parentElement } = Primitive_usePrimitiveElement.usePrimitiveElement();
59
60
  const segmentElements = vue.ref(/* @__PURE__ */ new Set());
60
- const convertedMinValue = vue.computed(() => minValue.value ? convertValue(minValue.value) : undefined);
61
- const convertedMaxValue = vue.computed(() => maxValue.value ? convertValue(maxValue.value) : undefined);
61
+ const convertedMinValue = vue.computed(() => minValue.value ? convertValue(minValue.value) : void 0);
62
+ const convertedMaxValue = vue.computed(() => maxValue.value ? convertValue(maxValue.value) : void 0);
62
63
  vue.onMounted(() => {
63
64
  date_segment.getTimeFieldSegmentElements(parentElement.value).forEach((item) => segmentElements.value.add(item));
64
65
  });
65
66
  const modelValue = core.useVModel(props, "modelValue", emits, {
66
67
  defaultValue: defaultValue.value,
67
- passive: props.modelValue === undefined
68
+ passive: props.modelValue === void 0
68
69
  });
69
70
  const convertedModelValue = vue.computed({
70
71
  get() {
72
+ if (shared_nullish.isNullish(modelValue.value))
73
+ return modelValue.value;
71
74
  return convertValue(modelValue.value);
72
75
  },
73
76
  set(newValue) {
@@ -82,7 +85,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
82
85
  });
83
86
  const placeholder = core.useVModel(props, "placeholder", emits, {
84
87
  defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),
85
- passive: props.placeholder === undefined
88
+ passive: props.placeholder === void 0
86
89
  });
87
90
  const convertedPlaceholder = vue.computed({
88
91
  get() {
@@ -132,13 +135,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
132
135
  }
133
136
  });
134
137
  vue.watch(convertedModelValue, (_modelValue) => {
135
- if (_modelValue !== undefined && (!date.isEqualDay(convertedPlaceholder.value, _modelValue) || convertedPlaceholder.value.compare(_modelValue) !== 0))
138
+ if (!shared_nullish.isNullish(_modelValue) && (!date.isEqualDay(convertedPlaceholder.value, _modelValue) || convertedPlaceholder.value.compare(_modelValue) !== 0))
136
139
  placeholder.value = _modelValue.copy();
137
140
  });
138
141
  vue.watch([convertedModelValue, locale], ([_modelValue]) => {
139
- if (_modelValue !== undefined) {
142
+ if (!shared_nullish.isNullish(_modelValue)) {
140
143
  segmentValues.value = { ...date_parser.syncTimeSegmentValues({ value: _modelValue, formatter }) };
141
- } else if (Object.values(segmentValues.value).every((value) => value === null)) {
144
+ } else if (Object.values(segmentValues.value).every((value) => value === null) || shared_nullish.isNullish(_modelValue)) {
142
145
  segmentValues.value = { ...initialSegments };
143
146
  }
144
147
  });
@@ -198,10 +201,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
198
201
  ref_key: "primitiveElement",
199
202
  ref: primitiveElement,
200
203
  role: "group",
201
- "aria-disabled": vue.unref(disabled) ? true : undefined,
202
- "data-disabled": vue.unref(disabled) ? "" : undefined,
203
- "data-readonly": vue.unref(readonly) ? "" : undefined,
204
- "data-invalid": isInvalid.value ? "" : undefined,
204
+ "aria-disabled": vue.unref(disabled) ? true : void 0,
205
+ "data-disabled": vue.unref(disabled) ? "" : void 0,
206
+ "data-readonly": vue.unref(readonly) ? "" : void 0,
207
+ "data-invalid": isInvalid.value ? "" : void 0,
205
208
  dir: vue.unref(dir),
206
209
  onKeydown: vue.withKeys(handleKeydown, ["left", "right"])
207
210
  }), {