reka-ui 2.8.2 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/dist/Autocomplete/AutocompleteInput.cjs +128 -0
  2. package/dist/Autocomplete/AutocompleteInput.cjs.map +1 -0
  3. package/dist/Autocomplete/AutocompleteInput.js +122 -0
  4. package/dist/Autocomplete/AutocompleteInput.js.map +1 -0
  5. package/dist/Autocomplete/AutocompleteRoot.cjs +258 -0
  6. package/dist/Autocomplete/AutocompleteRoot.cjs.map +1 -0
  7. package/dist/Autocomplete/AutocompleteRoot.js +246 -0
  8. package/dist/Autocomplete/AutocompleteRoot.js.map +1 -0
  9. package/dist/Calendar/CalendarCellTrigger.cjs +8 -5
  10. package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
  11. package/dist/Calendar/CalendarCellTrigger.js +9 -6
  12. package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
  13. package/dist/Calendar/CalendarGrid.cjs +3 -3
  14. package/dist/Calendar/CalendarGrid.cjs.map +1 -1
  15. package/dist/Calendar/CalendarGrid.js +4 -4
  16. package/dist/Calendar/CalendarGrid.js.map +1 -1
  17. package/dist/Calendar/CalendarNext.cjs +7 -3
  18. package/dist/Calendar/CalendarNext.cjs.map +1 -1
  19. package/dist/Calendar/CalendarNext.js +7 -3
  20. package/dist/Calendar/CalendarNext.js.map +1 -1
  21. package/dist/Calendar/CalendarPrev.cjs +7 -3
  22. package/dist/Calendar/CalendarPrev.cjs.map +1 -1
  23. package/dist/Calendar/CalendarPrev.js +7 -3
  24. package/dist/Calendar/CalendarPrev.js.map +1 -1
  25. package/dist/Checkbox/CheckboxGroupRoot.cjs +1 -1
  26. package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
  27. package/dist/Checkbox/CheckboxRoot.cjs +21 -10
  28. package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
  29. package/dist/Checkbox/CheckboxRoot.js +21 -10
  30. package/dist/Checkbox/CheckboxRoot.js.map +1 -1
  31. package/dist/ColorArea/ColorAreaArea.cjs +143 -0
  32. package/dist/ColorArea/ColorAreaArea.cjs.map +1 -0
  33. package/dist/ColorArea/ColorAreaArea.js +137 -0
  34. package/dist/ColorArea/ColorAreaArea.js.map +1 -0
  35. package/dist/ColorArea/ColorAreaRoot.cjs +240 -0
  36. package/dist/ColorArea/ColorAreaRoot.cjs.map +1 -0
  37. package/dist/ColorArea/ColorAreaRoot.js +228 -0
  38. package/dist/ColorArea/ColorAreaRoot.js.map +1 -0
  39. package/dist/ColorArea/ColorAreaThumb.cjs +91 -0
  40. package/dist/ColorArea/ColorAreaThumb.cjs.map +1 -0
  41. package/dist/ColorArea/ColorAreaThumb.js +85 -0
  42. package/dist/ColorArea/ColorAreaThumb.js.map +1 -0
  43. package/dist/ColorArea/utils.cjs +32 -0
  44. package/dist/ColorArea/utils.cjs.map +1 -0
  45. package/dist/ColorArea/utils.js +21 -0
  46. package/dist/ColorArea/utils.js.map +1 -0
  47. package/dist/ColorField/ColorFieldInput.cjs +140 -0
  48. package/dist/ColorField/ColorFieldInput.cjs.map +1 -0
  49. package/dist/ColorField/ColorFieldInput.js +134 -0
  50. package/dist/ColorField/ColorFieldInput.js.map +1 -0
  51. package/dist/ColorField/ColorFieldRoot.cjs +281 -0
  52. package/dist/ColorField/ColorFieldRoot.cjs.map +1 -0
  53. package/dist/ColorField/ColorFieldRoot.js +269 -0
  54. package/dist/ColorField/ColorFieldRoot.js.map +1 -0
  55. package/dist/ColorSlider/ColorSliderRoot.cjs +230 -0
  56. package/dist/ColorSlider/ColorSliderRoot.cjs.map +1 -0
  57. package/dist/ColorSlider/ColorSliderRoot.js +218 -0
  58. package/dist/ColorSlider/ColorSliderRoot.js.map +1 -0
  59. package/dist/ColorSlider/ColorSliderThumb.cjs +66 -0
  60. package/dist/ColorSlider/ColorSliderThumb.cjs.map +1 -0
  61. package/dist/ColorSlider/ColorSliderThumb.js +60 -0
  62. package/dist/ColorSlider/ColorSliderThumb.js.map +1 -0
  63. package/dist/ColorSlider/ColorSliderTrack.cjs +55 -0
  64. package/dist/ColorSlider/ColorSliderTrack.cjs.map +1 -0
  65. package/dist/ColorSlider/ColorSliderTrack.js +49 -0
  66. package/dist/ColorSlider/ColorSliderTrack.js.map +1 -0
  67. package/dist/ColorSwatch/ColorSwatch.cjs +106 -0
  68. package/dist/ColorSwatch/ColorSwatch.cjs.map +1 -0
  69. package/dist/ColorSwatch/ColorSwatch.js +100 -0
  70. package/dist/ColorSwatch/ColorSwatch.js.map +1 -0
  71. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.cjs +78 -0
  72. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.cjs.map +1 -0
  73. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js +66 -0
  74. package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js.map +1 -0
  75. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.cjs +40 -0
  76. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.cjs.map +1 -0
  77. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.js +34 -0
  78. package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.js.map +1 -0
  79. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.cjs +43 -0
  80. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.cjs.map +1 -0
  81. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.js +37 -0
  82. package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.js.map +1 -0
  83. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.cjs +110 -0
  84. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.cjs.map +1 -0
  85. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.js +104 -0
  86. package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.js.map +1 -0
  87. package/dist/Combobox/ComboboxContent.cjs +4 -0
  88. package/dist/Combobox/ComboboxContent.cjs.map +1 -1
  89. package/dist/Combobox/ComboboxContent.js +4 -0
  90. package/dist/Combobox/ComboboxContent.js.map +1 -1
  91. package/dist/Combobox/ComboboxContentImpl.cjs +9 -2
  92. package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
  93. package/dist/Combobox/ComboboxContentImpl.js +9 -2
  94. package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
  95. package/dist/Combobox/ComboboxInput.cjs +10 -1
  96. package/dist/Combobox/ComboboxInput.cjs.map +1 -1
  97. package/dist/Combobox/ComboboxInput.js +10 -1
  98. package/dist/Combobox/ComboboxInput.js.map +1 -1
  99. package/dist/Combobox/ComboboxRoot.cjs +7 -1
  100. package/dist/Combobox/ComboboxRoot.js +2 -2
  101. package/dist/DateField/DateFieldRoot.cjs +1 -1
  102. package/dist/DateField/DateFieldRoot.js +1 -1
  103. package/dist/DateRangeField/DateRangeFieldRoot.cjs +1 -1
  104. package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
  105. package/dist/DateRangeField/DateRangeFieldRoot.js +1 -1
  106. package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
  107. package/dist/DismissableLayer/utils.cjs +1 -0
  108. package/dist/DismissableLayer/utils.cjs.map +1 -1
  109. package/dist/DismissableLayer/utils.js +1 -0
  110. package/dist/DismissableLayer/utils.js.map +1 -1
  111. package/dist/DropdownMenu/DropdownMenuFilter.cjs +134 -0
  112. package/dist/DropdownMenu/DropdownMenuFilter.cjs.map +1 -0
  113. package/dist/DropdownMenu/DropdownMenuFilter.js +128 -0
  114. package/dist/DropdownMenu/DropdownMenuFilter.js.map +1 -0
  115. package/dist/Listbox/ListboxRoot.cjs +1 -1
  116. package/dist/Listbox/ListboxRoot.js +1 -1
  117. package/dist/Listbox/ListboxVirtualizer.cjs +1 -1
  118. package/dist/Listbox/ListboxVirtualizer.js +1 -1
  119. package/dist/Menu/MenuContentImpl.cjs +44 -4
  120. package/dist/Menu/MenuContentImpl.cjs.map +1 -1
  121. package/dist/Menu/MenuContentImpl.js +44 -4
  122. package/dist/Menu/MenuContentImpl.js.map +1 -1
  123. package/dist/Menu/MenuGroup.cjs +13 -2
  124. package/dist/Menu/MenuGroup.cjs.map +1 -1
  125. package/dist/Menu/MenuGroup.js +8 -3
  126. package/dist/Menu/MenuGroup.js.map +1 -1
  127. package/dist/Menu/MenuItemImpl.cjs +11 -5
  128. package/dist/Menu/MenuItemImpl.cjs.map +1 -1
  129. package/dist/Menu/MenuItemImpl.js +12 -6
  130. package/dist/Menu/MenuItemImpl.js.map +1 -1
  131. package/dist/Menu/MenuLabel.cjs +4 -2
  132. package/dist/Menu/MenuLabel.cjs.map +1 -1
  133. package/dist/Menu/MenuLabel.js +5 -3
  134. package/dist/Menu/MenuLabel.js.map +1 -1
  135. package/dist/Menu/MenuSubContent.cjs +8 -2
  136. package/dist/Menu/MenuSubContent.cjs.map +1 -1
  137. package/dist/Menu/MenuSubContent.js +9 -3
  138. package/dist/Menu/MenuSubContent.js.map +1 -1
  139. package/dist/Menu/MenuSubTrigger.cjs +7 -0
  140. package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
  141. package/dist/Menu/MenuSubTrigger.js +8 -1
  142. package/dist/Menu/MenuSubTrigger.js.map +1 -1
  143. package/dist/MonthPicker/MonthPickerCell.cjs +59 -0
  144. package/dist/MonthPicker/MonthPickerCell.cjs.map +1 -0
  145. package/dist/MonthPicker/MonthPickerCell.js +53 -0
  146. package/dist/MonthPicker/MonthPickerCell.js.map +1 -0
  147. package/dist/MonthPicker/MonthPickerCellTrigger.cjs +197 -0
  148. package/dist/MonthPicker/MonthPickerCellTrigger.cjs.map +1 -0
  149. package/dist/MonthPicker/MonthPickerCellTrigger.js +191 -0
  150. package/dist/MonthPicker/MonthPickerCellTrigger.js.map +1 -0
  151. package/dist/MonthPicker/MonthPickerGrid.cjs +59 -0
  152. package/dist/MonthPicker/MonthPickerGrid.cjs.map +1 -0
  153. package/dist/MonthPicker/MonthPickerGrid.js +53 -0
  154. package/dist/MonthPicker/MonthPickerGrid.js.map +1 -0
  155. package/dist/MonthPicker/MonthPickerGridBody.cjs +41 -0
  156. package/dist/MonthPicker/MonthPickerGridBody.cjs.map +1 -0
  157. package/dist/MonthPicker/MonthPickerGridBody.js +35 -0
  158. package/dist/MonthPicker/MonthPickerGridBody.js.map +1 -0
  159. package/dist/MonthPicker/MonthPickerGridRow.cjs +41 -0
  160. package/dist/MonthPicker/MonthPickerGridRow.cjs.map +1 -0
  161. package/dist/MonthPicker/MonthPickerGridRow.js +35 -0
  162. package/dist/MonthPicker/MonthPickerGridRow.js.map +1 -0
  163. package/dist/MonthPicker/MonthPickerHeader.cjs +41 -0
  164. package/dist/MonthPicker/MonthPickerHeader.cjs.map +1 -0
  165. package/dist/MonthPicker/MonthPickerHeader.js +35 -0
  166. package/dist/MonthPicker/MonthPickerHeader.js.map +1 -0
  167. package/dist/MonthPicker/MonthPickerHeading.cjs +48 -0
  168. package/dist/MonthPicker/MonthPickerHeading.cjs.map +1 -0
  169. package/dist/MonthPicker/MonthPickerHeading.js +42 -0
  170. package/dist/MonthPicker/MonthPickerHeading.js.map +1 -0
  171. package/dist/MonthPicker/MonthPickerNext.cjs +68 -0
  172. package/dist/MonthPicker/MonthPickerNext.cjs.map +1 -0
  173. package/dist/MonthPicker/MonthPickerNext.js +62 -0
  174. package/dist/MonthPicker/MonthPickerNext.js.map +1 -0
  175. package/dist/MonthPicker/MonthPickerPrev.cjs +68 -0
  176. package/dist/MonthPicker/MonthPickerPrev.cjs.map +1 -0
  177. package/dist/MonthPicker/MonthPickerPrev.js +62 -0
  178. package/dist/MonthPicker/MonthPickerPrev.js.map +1 -0
  179. package/dist/MonthPicker/MonthPickerRoot.cjs +281 -0
  180. package/dist/MonthPicker/MonthPickerRoot.cjs.map +1 -0
  181. package/dist/MonthPicker/MonthPickerRoot.js +269 -0
  182. package/dist/MonthPicker/MonthPickerRoot.js.map +1 -0
  183. package/dist/MonthPicker/useMonthPicker.cjs +148 -0
  184. package/dist/MonthPicker/useMonthPicker.cjs.map +1 -0
  185. package/dist/MonthPicker/useMonthPicker.js +136 -0
  186. package/dist/MonthPicker/useMonthPicker.js.map +1 -0
  187. package/dist/MonthRangePicker/MonthRangePickerCell.cjs +59 -0
  188. package/dist/MonthRangePicker/MonthRangePickerCell.cjs.map +1 -0
  189. package/dist/MonthRangePicker/MonthRangePickerCell.js +53 -0
  190. package/dist/MonthRangePicker/MonthRangePickerCell.js.map +1 -0
  191. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.cjs +258 -0
  192. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.cjs.map +1 -0
  193. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.js +252 -0
  194. package/dist/MonthRangePicker/MonthRangePickerCellTrigger.js.map +1 -0
  195. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs +59 -0
  196. package/dist/MonthRangePicker/MonthRangePickerGrid.cjs.map +1 -0
  197. package/dist/MonthRangePicker/MonthRangePickerGrid.js +53 -0
  198. package/dist/MonthRangePicker/MonthRangePickerGrid.js.map +1 -0
  199. package/dist/MonthRangePicker/MonthRangePickerGridBody.cjs +41 -0
  200. package/dist/MonthRangePicker/MonthRangePickerGridBody.cjs.map +1 -0
  201. package/dist/MonthRangePicker/MonthRangePickerGridBody.js +35 -0
  202. package/dist/MonthRangePicker/MonthRangePickerGridBody.js.map +1 -0
  203. package/dist/MonthRangePicker/MonthRangePickerGridRow.cjs +41 -0
  204. package/dist/MonthRangePicker/MonthRangePickerGridRow.cjs.map +1 -0
  205. package/dist/MonthRangePicker/MonthRangePickerGridRow.js +35 -0
  206. package/dist/MonthRangePicker/MonthRangePickerGridRow.js.map +1 -0
  207. package/dist/MonthRangePicker/MonthRangePickerHeader.cjs +41 -0
  208. package/dist/MonthRangePicker/MonthRangePickerHeader.cjs.map +1 -0
  209. package/dist/MonthRangePicker/MonthRangePickerHeader.js +35 -0
  210. package/dist/MonthRangePicker/MonthRangePickerHeader.js.map +1 -0
  211. package/dist/MonthRangePicker/MonthRangePickerHeading.cjs +48 -0
  212. package/dist/MonthRangePicker/MonthRangePickerHeading.cjs.map +1 -0
  213. package/dist/MonthRangePicker/MonthRangePickerHeading.js +42 -0
  214. package/dist/MonthRangePicker/MonthRangePickerHeading.js.map +1 -0
  215. package/dist/MonthRangePicker/MonthRangePickerNext.cjs +68 -0
  216. package/dist/MonthRangePicker/MonthRangePickerNext.cjs.map +1 -0
  217. package/dist/MonthRangePicker/MonthRangePickerNext.js +62 -0
  218. package/dist/MonthRangePicker/MonthRangePickerNext.js.map +1 -0
  219. package/dist/MonthRangePicker/MonthRangePickerPrev.cjs +68 -0
  220. package/dist/MonthRangePicker/MonthRangePickerPrev.cjs.map +1 -0
  221. package/dist/MonthRangePicker/MonthRangePickerPrev.js +62 -0
  222. package/dist/MonthRangePicker/MonthRangePickerPrev.js.map +1 -0
  223. package/dist/MonthRangePicker/MonthRangePickerRoot.cjs +347 -0
  224. package/dist/MonthRangePicker/MonthRangePickerRoot.cjs.map +1 -0
  225. package/dist/MonthRangePicker/MonthRangePickerRoot.js +335 -0
  226. package/dist/MonthRangePicker/MonthRangePickerRoot.js.map +1 -0
  227. package/dist/MonthRangePicker/useRangeMonthPicker.cjs +128 -0
  228. package/dist/MonthRangePicker/useRangeMonthPicker.cjs.map +1 -0
  229. package/dist/MonthRangePicker/useRangeMonthPicker.js +122 -0
  230. package/dist/MonthRangePicker/useRangeMonthPicker.js.map +1 -0
  231. package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
  232. package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
  233. package/dist/NumberField/NumberFieldRoot.cjs +3 -2
  234. package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
  235. package/dist/NumberField/NumberFieldRoot.js +3 -2
  236. package/dist/NumberField/NumberFieldRoot.js.map +1 -1
  237. package/dist/Progress/ProgressRoot.cjs.map +1 -1
  238. package/dist/Progress/ProgressRoot.js.map +1 -1
  239. package/dist/RadioGroup/RadioGroupRoot.cjs +1 -1
  240. package/dist/RadioGroup/RadioGroupRoot.js +1 -1
  241. package/dist/RangeCalendar/RangeCalendarGrid.cjs +3 -3
  242. package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
  243. package/dist/RangeCalendar/RangeCalendarGrid.js +4 -4
  244. package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
  245. package/dist/RangeCalendar/RangeCalendarNext.cjs +9 -5
  246. package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
  247. package/dist/RangeCalendar/RangeCalendarNext.js +9 -5
  248. package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
  249. package/dist/RangeCalendar/RangeCalendarPrev.cjs +9 -5
  250. package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
  251. package/dist/RangeCalendar/RangeCalendarPrev.js +9 -5
  252. package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
  253. package/dist/RangeCalendar/RangeCalendarRoot.cjs +1 -1
  254. package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
  255. package/dist/RangeCalendar/RangeCalendarRoot.js +1 -1
  256. package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
  257. package/dist/RangeCalendar/useRangeCalendar.cjs +9 -13
  258. package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
  259. package/dist/RangeCalendar/useRangeCalendar.js +9 -13
  260. package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
  261. package/dist/Splitter/SplitterGroup.cjs +156 -36
  262. package/dist/Splitter/SplitterGroup.cjs.map +1 -1
  263. package/dist/Splitter/SplitterGroup.js +156 -36
  264. package/dist/Splitter/SplitterGroup.js.map +1 -1
  265. package/dist/Splitter/SplitterPanel.cjs +7 -2
  266. package/dist/Splitter/SplitterPanel.cjs.map +1 -1
  267. package/dist/Splitter/SplitterPanel.js +7 -2
  268. package/dist/Splitter/SplitterPanel.js.map +1 -1
  269. package/dist/Switch/SwitchRoot.cjs +23 -9
  270. package/dist/Switch/SwitchRoot.cjs.map +1 -1
  271. package/dist/Switch/SwitchRoot.js +23 -9
  272. package/dist/Switch/SwitchRoot.js.map +1 -1
  273. package/dist/Switch/SwitchThumb.cjs +1 -1
  274. package/dist/Switch/SwitchThumb.cjs.map +1 -1
  275. package/dist/Switch/SwitchThumb.js +1 -1
  276. package/dist/Switch/SwitchThumb.js.map +1 -1
  277. package/dist/TimeField/TimeFieldRoot.cjs +1 -1
  278. package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
  279. package/dist/TimeField/TimeFieldRoot.js +1 -1
  280. package/dist/TimeField/TimeFieldRoot.js.map +1 -1
  281. package/dist/TimeRangeField/TimeRangeFieldInput.cjs +102 -0
  282. package/dist/TimeRangeField/TimeRangeFieldInput.cjs.map +1 -0
  283. package/dist/TimeRangeField/TimeRangeFieldInput.js +96 -0
  284. package/dist/TimeRangeField/TimeRangeFieldInput.js.map +1 -0
  285. package/dist/TimeRangeField/TimeRangeFieldRoot.cjs +402 -0
  286. package/dist/TimeRangeField/TimeRangeFieldRoot.cjs.map +1 -0
  287. package/dist/TimeRangeField/TimeRangeFieldRoot.js +390 -0
  288. package/dist/TimeRangeField/TimeRangeFieldRoot.js.map +1 -0
  289. package/dist/Toast/FocusProxy.cjs +0 -1
  290. package/dist/Toast/FocusProxy.cjs.map +1 -1
  291. package/dist/Toast/FocusProxy.js +0 -1
  292. package/dist/Toast/FocusProxy.js.map +1 -1
  293. package/dist/Toast/ToastAnnounce.cjs +4 -1
  294. package/dist/Toast/ToastAnnounce.cjs.map +1 -1
  295. package/dist/Toast/ToastAnnounce.js +4 -1
  296. package/dist/Toast/ToastAnnounce.js.map +1 -1
  297. package/dist/Toast/ToastRootImpl.cjs +1 -5
  298. package/dist/Toast/ToastRootImpl.cjs.map +1 -1
  299. package/dist/Toast/ToastRootImpl.js +1 -5
  300. package/dist/Toast/ToastRootImpl.js.map +1 -1
  301. package/dist/ToggleGroup/ToggleGroupRoot.cjs +1 -1
  302. package/dist/ToggleGroup/ToggleGroupRoot.js +1 -1
  303. package/dist/Tooltip/TooltipContent.cjs +1 -2
  304. package/dist/Tooltip/TooltipContent.cjs.map +1 -1
  305. package/dist/Tooltip/TooltipContent.js +1 -2
  306. package/dist/Tooltip/TooltipContent.js.map +1 -1
  307. package/dist/Tooltip/TooltipContentImpl.cjs +25 -18
  308. package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
  309. package/dist/Tooltip/TooltipContentImpl.js +25 -18
  310. package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
  311. package/dist/Tooltip/TooltipProvider.cjs +7 -2
  312. package/dist/Tooltip/TooltipProvider.cjs.map +1 -1
  313. package/dist/Tooltip/TooltipProvider.js +7 -2
  314. package/dist/Tooltip/TooltipProvider.js.map +1 -1
  315. package/dist/YearPicker/YearPickerCell.cjs +59 -0
  316. package/dist/YearPicker/YearPickerCell.cjs.map +1 -0
  317. package/dist/YearPicker/YearPickerCell.js +53 -0
  318. package/dist/YearPicker/YearPickerCell.js.map +1 -0
  319. package/dist/YearPicker/YearPickerCellTrigger.cjs +197 -0
  320. package/dist/YearPicker/YearPickerCellTrigger.cjs.map +1 -0
  321. package/dist/YearPicker/YearPickerCellTrigger.js +191 -0
  322. package/dist/YearPicker/YearPickerCellTrigger.js.map +1 -0
  323. package/dist/YearPicker/YearPickerGrid.cjs +59 -0
  324. package/dist/YearPicker/YearPickerGrid.cjs.map +1 -0
  325. package/dist/YearPicker/YearPickerGrid.js +53 -0
  326. package/dist/YearPicker/YearPickerGrid.js.map +1 -0
  327. package/dist/YearPicker/YearPickerGridBody.cjs +41 -0
  328. package/dist/YearPicker/YearPickerGridBody.cjs.map +1 -0
  329. package/dist/YearPicker/YearPickerGridBody.js +35 -0
  330. package/dist/YearPicker/YearPickerGridBody.js.map +1 -0
  331. package/dist/YearPicker/YearPickerGridRow.cjs +41 -0
  332. package/dist/YearPicker/YearPickerGridRow.cjs.map +1 -0
  333. package/dist/YearPicker/YearPickerGridRow.js +35 -0
  334. package/dist/YearPicker/YearPickerGridRow.js.map +1 -0
  335. package/dist/YearPicker/YearPickerHeader.cjs +41 -0
  336. package/dist/YearPicker/YearPickerHeader.cjs.map +1 -0
  337. package/dist/YearPicker/YearPickerHeader.js +35 -0
  338. package/dist/YearPicker/YearPickerHeader.js.map +1 -0
  339. package/dist/YearPicker/YearPickerHeading.cjs +48 -0
  340. package/dist/YearPicker/YearPickerHeading.cjs.map +1 -0
  341. package/dist/YearPicker/YearPickerHeading.js +42 -0
  342. package/dist/YearPicker/YearPickerHeading.js.map +1 -0
  343. package/dist/YearPicker/YearPickerNext.cjs +68 -0
  344. package/dist/YearPicker/YearPickerNext.cjs.map +1 -0
  345. package/dist/YearPicker/YearPickerNext.js +62 -0
  346. package/dist/YearPicker/YearPickerNext.js.map +1 -0
  347. package/dist/YearPicker/YearPickerPrev.cjs +68 -0
  348. package/dist/YearPicker/YearPickerPrev.cjs.map +1 -0
  349. package/dist/YearPicker/YearPickerPrev.js +62 -0
  350. package/dist/YearPicker/YearPickerPrev.js.map +1 -0
  351. package/dist/YearPicker/YearPickerRoot.cjs +287 -0
  352. package/dist/YearPicker/YearPickerRoot.cjs.map +1 -0
  353. package/dist/YearPicker/YearPickerRoot.js +275 -0
  354. package/dist/YearPicker/YearPickerRoot.js.map +1 -0
  355. package/dist/YearPicker/useYearPicker.cjs +180 -0
  356. package/dist/YearPicker/useYearPicker.cjs.map +1 -0
  357. package/dist/YearPicker/useYearPicker.js +168 -0
  358. package/dist/YearPicker/useYearPicker.js.map +1 -0
  359. package/dist/YearRangePicker/YearRangePickerCell.cjs +59 -0
  360. package/dist/YearRangePicker/YearRangePickerCell.cjs.map +1 -0
  361. package/dist/YearRangePicker/YearRangePickerCell.js +53 -0
  362. package/dist/YearRangePicker/YearRangePickerCell.js.map +1 -0
  363. package/dist/YearRangePicker/YearRangePickerCellTrigger.cjs +256 -0
  364. package/dist/YearRangePicker/YearRangePickerCellTrigger.cjs.map +1 -0
  365. package/dist/YearRangePicker/YearRangePickerCellTrigger.js +250 -0
  366. package/dist/YearRangePicker/YearRangePickerCellTrigger.js.map +1 -0
  367. package/dist/YearRangePicker/YearRangePickerGrid.cjs +59 -0
  368. package/dist/YearRangePicker/YearRangePickerGrid.cjs.map +1 -0
  369. package/dist/YearRangePicker/YearRangePickerGrid.js +53 -0
  370. package/dist/YearRangePicker/YearRangePickerGrid.js.map +1 -0
  371. package/dist/YearRangePicker/YearRangePickerGridBody.cjs +41 -0
  372. package/dist/YearRangePicker/YearRangePickerGridBody.cjs.map +1 -0
  373. package/dist/YearRangePicker/YearRangePickerGridBody.js +35 -0
  374. package/dist/YearRangePicker/YearRangePickerGridBody.js.map +1 -0
  375. package/dist/YearRangePicker/YearRangePickerGridRow.cjs +41 -0
  376. package/dist/YearRangePicker/YearRangePickerGridRow.cjs.map +1 -0
  377. package/dist/YearRangePicker/YearRangePickerGridRow.js +35 -0
  378. package/dist/YearRangePicker/YearRangePickerGridRow.js.map +1 -0
  379. package/dist/YearRangePicker/YearRangePickerHeader.cjs +41 -0
  380. package/dist/YearRangePicker/YearRangePickerHeader.cjs.map +1 -0
  381. package/dist/YearRangePicker/YearRangePickerHeader.js +35 -0
  382. package/dist/YearRangePicker/YearRangePickerHeader.js.map +1 -0
  383. package/dist/YearRangePicker/YearRangePickerHeading.cjs +48 -0
  384. package/dist/YearRangePicker/YearRangePickerHeading.cjs.map +1 -0
  385. package/dist/YearRangePicker/YearRangePickerHeading.js +42 -0
  386. package/dist/YearRangePicker/YearRangePickerHeading.js.map +1 -0
  387. package/dist/YearRangePicker/YearRangePickerNext.cjs +68 -0
  388. package/dist/YearRangePicker/YearRangePickerNext.cjs.map +1 -0
  389. package/dist/YearRangePicker/YearRangePickerNext.js +62 -0
  390. package/dist/YearRangePicker/YearRangePickerNext.js.map +1 -0
  391. package/dist/YearRangePicker/YearRangePickerPrev.cjs +68 -0
  392. package/dist/YearRangePicker/YearRangePickerPrev.cjs.map +1 -0
  393. package/dist/YearRangePicker/YearRangePickerPrev.js +62 -0
  394. package/dist/YearRangePicker/YearRangePickerPrev.js.map +1 -0
  395. package/dist/YearRangePicker/YearRangePickerRoot.cjs +350 -0
  396. package/dist/YearRangePicker/YearRangePickerRoot.cjs.map +1 -0
  397. package/dist/YearRangePicker/YearRangePickerRoot.js +338 -0
  398. package/dist/YearRangePicker/YearRangePickerRoot.js.map +1 -0
  399. package/dist/YearRangePicker/useRangeYearPicker.cjs +128 -0
  400. package/dist/YearRangePicker/useRangeYearPicker.cjs.map +1 -0
  401. package/dist/YearRangePicker/useRangeYearPicker.js +122 -0
  402. package/dist/YearRangePicker/useRangeYearPicker.js.map +1 -0
  403. package/dist/color/channel.cjs +378 -0
  404. package/dist/color/channel.cjs.map +1 -0
  405. package/dist/color/channel.js +349 -0
  406. package/dist/color/channel.js.map +1 -0
  407. package/dist/color/convert.cjs +285 -0
  408. package/dist/color/convert.cjs.map +1 -0
  409. package/dist/color/convert.js +237 -0
  410. package/dist/color/convert.js.map +1 -0
  411. package/dist/color/gradient.cjs +377 -0
  412. package/dist/color/gradient.cjs.map +1 -0
  413. package/dist/color/gradient.js +354 -0
  414. package/dist/color/gradient.js.map +1 -0
  415. package/dist/color/parse.cjs +113 -0
  416. package/dist/color/parse.cjs.map +1 -0
  417. package/dist/color/parse.js +95 -0
  418. package/dist/color/parse.js.map +1 -0
  419. package/dist/color/utils.cjs +112 -0
  420. package/dist/color/utils.cjs.map +1 -0
  421. package/dist/color/utils.js +100 -0
  422. package/dist/color/utils.js.map +1 -0
  423. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +11 -7
  424. package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
  425. package/dist/composables/useWindowSplitterPanelGroupBehavior.js +11 -7
  426. package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
  427. package/dist/constant/components.cjs +87 -1
  428. package/dist/constant/components.cjs.map +1 -1
  429. package/dist/constant/components.js +87 -1
  430. package/dist/constant/components.js.map +1 -1
  431. package/dist/constant.d.cts +12 -1
  432. package/dist/constant.d.cts.map +1 -1
  433. package/dist/constant.d.ts +12 -1
  434. package/dist/constant.d.ts.map +1 -1
  435. package/dist/date/calendar.cjs +41 -0
  436. package/dist/date/calendar.cjs.map +1 -1
  437. package/dist/date/calendar.js +30 -1
  438. package/dist/date/calendar.js.map +1 -1
  439. package/dist/date/comparators.cjs +129 -0
  440. package/dist/date/comparators.cjs.map +1 -1
  441. package/dist/date/comparators.js +76 -1
  442. package/dist/date/comparators.js.map +1 -1
  443. package/dist/date/useDateField.cjs +1 -1
  444. package/dist/date/useDateField.cjs.map +1 -1
  445. package/dist/date/useDateField.js +1 -1
  446. package/dist/date/useDateField.js.map +1 -1
  447. package/dist/date.cjs +11 -0
  448. package/dist/date.d.cts +2 -2
  449. package/dist/date.d.ts +2 -2
  450. package/dist/date.js +3 -3
  451. package/dist/index.cjs +217 -47
  452. package/dist/index.d.cts +3 -8834
  453. package/dist/index.d.ts +3 -8834
  454. package/dist/index.js +117 -48
  455. package/dist/index2.d.cts +58 -2
  456. package/dist/index2.d.cts.map +1 -1
  457. package/dist/index2.d.ts +58 -2
  458. package/dist/index2.d.ts.map +1 -1
  459. package/dist/index3.d.cts +11062 -0
  460. package/dist/index3.d.cts.map +1 -0
  461. package/dist/index3.d.ts +11062 -0
  462. package/dist/index3.d.ts.map +1 -0
  463. package/dist/internal.cjs +81 -0
  464. package/dist/internal.d.cts +20 -0
  465. package/dist/internal.d.cts.map +1 -0
  466. package/dist/internal.d.ts +20 -0
  467. package/dist/internal.d.ts.map +1 -0
  468. package/dist/internal.js +64 -0
  469. package/dist/internal2.cjs +0 -0
  470. package/dist/internal2.js +0 -0
  471. package/dist/namespaced/index.cjs +33 -1
  472. package/dist/namespaced/index.d.cts +32 -4
  473. package/dist/namespaced/index.d.mts +32 -4
  474. package/dist/namespaced/index.mjs +32 -4
  475. package/dist/shared/useArrowNavigation.cjs +4 -2
  476. package/dist/shared/useArrowNavigation.cjs.map +1 -1
  477. package/dist/shared/useArrowNavigation.js +4 -2
  478. package/dist/shared/useArrowNavigation.js.map +1 -1
  479. package/dist/shared/useBodyScrollLock.cjs +1 -0
  480. package/dist/shared/useBodyScrollLock.cjs.map +1 -1
  481. package/dist/shared/useBodyScrollLock.js +1 -0
  482. package/dist/shared/useBodyScrollLock.js.map +1 -1
  483. package/dist/shared/useForwardExpose.cjs +6 -2
  484. package/dist/shared/useForwardExpose.cjs.map +1 -1
  485. package/dist/shared/useForwardExpose.js +7 -3
  486. package/dist/shared/useForwardExpose.js.map +1 -1
  487. package/dist/shared/useHideOthers.cjs +1 -1
  488. package/dist/shared/useHideOthers.cjs.map +1 -1
  489. package/dist/shared/useHideOthers.js +1 -1
  490. package/dist/shared/useHideOthers.js.map +1 -1
  491. package/dist/shared/useId.cjs +7 -4
  492. package/dist/shared/useId.cjs.map +1 -1
  493. package/dist/shared/useId.js +7 -4
  494. package/dist/shared/useId.js.map +1 -1
  495. package/dist/utils/callPanelCallbacks.cjs +10 -7
  496. package/dist/utils/callPanelCallbacks.cjs.map +1 -1
  497. package/dist/utils/callPanelCallbacks.js +10 -7
  498. package/dist/utils/callPanelCallbacks.js.map +1 -1
  499. package/dist/utils/storage.cjs +7 -1
  500. package/dist/utils/storage.cjs.map +1 -1
  501. package/dist/utils/storage.js +7 -1
  502. package/dist/utils/storage.js.map +1 -1
  503. package/dist/utils/units.cjs +101 -0
  504. package/dist/utils/units.cjs.map +1 -0
  505. package/dist/utils/units.js +83 -0
  506. package/dist/utils/units.js.map +1 -0
  507. package/package.json +7 -3
  508. package/src/Autocomplete/AutocompleteInput.vue +112 -0
  509. package/src/Autocomplete/AutocompleteRoot.vue +272 -0
  510. package/src/Autocomplete/index.ts +72 -0
  511. package/src/Calendar/CalendarCellTrigger.vue +2 -1
  512. package/src/Calendar/CalendarGrid.vue +6 -1
  513. package/src/Calendar/CalendarNext.vue +8 -2
  514. package/src/Calendar/CalendarPrev.vue +8 -2
  515. package/src/Calendar/CalendarRoot.vue +1 -1
  516. package/src/Checkbox/CheckboxRoot.vue +32 -13
  517. package/src/ColorArea/ColorAreaArea.vue +145 -0
  518. package/src/ColorArea/ColorAreaRoot.vue +255 -0
  519. package/src/ColorArea/ColorAreaThumb.vue +75 -0
  520. package/src/ColorArea/index.ts +14 -0
  521. package/src/ColorArea/utils.ts +24 -0
  522. package/src/ColorField/ColorFieldInput.vue +133 -0
  523. package/src/ColorField/ColorFieldRoot.vue +326 -0
  524. package/src/ColorField/index.ts +10 -0
  525. package/src/ColorSlider/ColorSliderRoot.vue +224 -0
  526. package/src/ColorSlider/ColorSliderThumb.vue +54 -0
  527. package/src/ColorSlider/ColorSliderTrack.vue +36 -0
  528. package/src/ColorSlider/index.ts +14 -0
  529. package/src/ColorSlider/utils.ts +39 -0
  530. package/src/ColorSwatch/ColorSwatch.vue +97 -0
  531. package/src/ColorSwatch/index.ts +4 -0
  532. package/src/ColorSwatchPicker/ColorSwatchPickerItem.vue +60 -0
  533. package/src/ColorSwatchPicker/ColorSwatchPickerItemIndicator.vue +17 -0
  534. package/src/ColorSwatchPicker/ColorSwatchPickerItemSwatch.vue +21 -0
  535. package/src/ColorSwatchPicker/ColorSwatchPickerRoot.vue +50 -0
  536. package/src/ColorSwatchPicker/index.ts +17 -0
  537. package/src/Combobox/ComboboxContentImpl.vue +13 -1
  538. package/src/Combobox/ComboboxInput.vue +19 -0
  539. package/src/DateField/DateFieldRoot.vue +1 -1
  540. package/src/DateRangeField/DateRangeFieldRoot.vue +11 -4
  541. package/src/DismissableLayer/utils.ts +5 -3
  542. package/src/DropdownMenu/DropdownMenuFilter.vue +119 -0
  543. package/src/DropdownMenu/index.ts +5 -0
  544. package/src/Menu/MenuContentImpl.vue +68 -2
  545. package/src/Menu/MenuGroup.vue +12 -0
  546. package/src/Menu/MenuItemImpl.vue +15 -10
  547. package/src/Menu/MenuLabel.vue +7 -1
  548. package/src/Menu/MenuSubContent.vue +14 -3
  549. package/src/Menu/MenuSubTrigger.vue +13 -1
  550. package/src/MonthPicker/MonthPickerCell.vue +30 -0
  551. package/src/MonthPicker/MonthPickerCellTrigger.vue +214 -0
  552. package/src/MonthPicker/MonthPickerGrid.vue +37 -0
  553. package/src/MonthPicker/MonthPickerGridBody.vue +17 -0
  554. package/src/MonthPicker/MonthPickerGridRow.vue +20 -0
  555. package/src/MonthPicker/MonthPickerHeader.vue +17 -0
  556. package/src/MonthPicker/MonthPickerHeading.vue +35 -0
  557. package/src/MonthPicker/MonthPickerNext.vue +52 -0
  558. package/src/MonthPicker/MonthPickerPrev.vue +52 -0
  559. package/src/MonthPicker/MonthPickerRoot.vue +311 -0
  560. package/src/MonthPicker/index.ts +42 -0
  561. package/src/MonthPicker/useMonthPicker.ts +193 -0
  562. package/src/MonthRangePicker/MonthRangePickerCell.vue +30 -0
  563. package/src/MonthRangePicker/MonthRangePickerCellTrigger.vue +309 -0
  564. package/src/MonthRangePicker/MonthRangePickerGrid.vue +37 -0
  565. package/src/MonthRangePicker/MonthRangePickerGridBody.vue +17 -0
  566. package/src/MonthRangePicker/MonthRangePickerGridRow.vue +20 -0
  567. package/src/MonthRangePicker/MonthRangePickerHeader.vue +17 -0
  568. package/src/MonthRangePicker/MonthRangePickerHeading.vue +35 -0
  569. package/src/MonthRangePicker/MonthRangePickerNext.vue +52 -0
  570. package/src/MonthRangePicker/MonthRangePickerPrev.vue +52 -0
  571. package/src/MonthRangePicker/MonthRangePickerRoot.vue +391 -0
  572. package/src/MonthRangePicker/index.ts +42 -0
  573. package/src/MonthRangePicker/useRangeMonthPicker.ts +165 -0
  574. package/src/NumberField/NumberFieldRoot.vue +2 -1
  575. package/src/Progress/ProgressRoot.vue +3 -1
  576. package/src/RangeCalendar/RangeCalendarGrid.vue +6 -1
  577. package/src/RangeCalendar/RangeCalendarNext.vue +10 -4
  578. package/src/RangeCalendar/RangeCalendarPrev.vue +10 -4
  579. package/src/RangeCalendar/RangeCalendarRoot.vue +2 -2
  580. package/src/RangeCalendar/useRangeCalendar.ts +5 -8
  581. package/src/Splitter/SplitterGroup.vue +243 -54
  582. package/src/Splitter/SplitterPanel.vue +11 -6
  583. package/src/Splitter/utils/callPanelCallbacks.ts +16 -8
  584. package/src/Splitter/utils/composables/useWindowSplitterPanelGroupBehavior.ts +16 -6
  585. package/src/Splitter/utils/storage.ts +14 -0
  586. package/src/Splitter/utils/units.ts +161 -0
  587. package/src/Splitter/utils/validation.ts +3 -2
  588. package/src/Switch/SwitchRoot.vue +36 -19
  589. package/src/Switch/SwitchThumb.vue +1 -1
  590. package/src/TimeField/TimeFieldRoot.vue +0 -3
  591. package/src/TimeRangeField/TimeRangeFieldInput.vue +74 -0
  592. package/src/TimeRangeField/TimeRangeFieldRoot.vue +473 -0
  593. package/src/TimeRangeField/index.ts +2 -0
  594. package/src/Toast/FocusProxy.vue +0 -1
  595. package/src/Toast/ToastAnnounce.vue +4 -1
  596. package/src/Toast/ToastRootImpl.vue +0 -4
  597. package/src/Tooltip/TooltipContent.vue +1 -3
  598. package/src/Tooltip/TooltipContentImpl.vue +18 -10
  599. package/src/Tooltip/TooltipProvider.vue +8 -1
  600. package/src/YearPicker/YearPickerCell.vue +30 -0
  601. package/src/YearPicker/YearPickerCellTrigger.vue +218 -0
  602. package/src/YearPicker/YearPickerGrid.vue +37 -0
  603. package/src/YearPicker/YearPickerGridBody.vue +17 -0
  604. package/src/YearPicker/YearPickerGridRow.vue +20 -0
  605. package/src/YearPicker/YearPickerHeader.vue +17 -0
  606. package/src/YearPicker/YearPickerHeading.vue +35 -0
  607. package/src/YearPicker/YearPickerNext.vue +52 -0
  608. package/src/YearPicker/YearPickerPrev.vue +52 -0
  609. package/src/YearPicker/YearPickerRoot.vue +314 -0
  610. package/src/YearPicker/index.ts +42 -0
  611. package/src/YearPicker/useYearPicker.ts +202 -0
  612. package/src/YearRangePicker/YearRangePickerCell.vue +30 -0
  613. package/src/YearRangePicker/YearRangePickerCellTrigger.vue +311 -0
  614. package/src/YearRangePicker/YearRangePickerGrid.vue +37 -0
  615. package/src/YearRangePicker/YearRangePickerGridBody.vue +17 -0
  616. package/src/YearRangePicker/YearRangePickerGridRow.vue +20 -0
  617. package/src/YearRangePicker/YearRangePickerHeader.vue +17 -0
  618. package/src/YearRangePicker/YearRangePickerHeading.vue +35 -0
  619. package/src/YearRangePicker/YearRangePickerNext.vue +52 -0
  620. package/src/YearRangePicker/YearRangePickerPrev.vue +52 -0
  621. package/src/YearRangePicker/YearRangePickerRoot.vue +391 -0
  622. package/src/YearRangePicker/index.ts +42 -0
  623. package/src/YearRangePicker/useRangeYearPicker.ts +165 -0
  624. package/src/date/calendar.ts +29 -0
  625. package/src/date/comparators.ts +97 -0
  626. package/src/index.ts +41 -0
  627. package/src/internal.ts +7 -0
  628. package/src/shared/color/channel.ts +424 -0
  629. package/src/shared/color/convert.ts +293 -0
  630. package/src/shared/color/gradient.ts +347 -0
  631. package/src/shared/color/index.ts +35 -0
  632. package/src/shared/color/parse.ts +140 -0
  633. package/src/shared/color/types.ts +40 -0
  634. package/src/shared/color/utils.ts +143 -0
  635. package/src/shared/date/types.ts +6 -0
  636. package/src/shared/date/useDateField.ts +39 -40
  637. package/src/shared/macro.ts +11 -0
  638. package/src/shared/useArrowNavigation.ts +8 -2
  639. package/src/shared/useBodyScrollLock.ts +2 -0
  640. package/src/shared/useForwardExpose.ts +20 -5
  641. package/src/shared/useHideOthers.ts +2 -1
  642. package/src/shared/useId.ts +6 -7
  643. package/dist/index.d.cts.map +0 -1
  644. package/dist/index.d.ts.map +0 -1
@@ -7,9 +7,9 @@ import { useTypeahead } from "../shared/useTypeahead.js";
7
7
  import { Primitive } from "../Primitive/Primitive.js";
8
8
  import { usePrimitiveElement } from "../Primitive/usePrimitiveElement.js";
9
9
  import { useCollection } from "../Collection/Collection.js";
10
- import { getFocusIntent } from "../RovingFocus/utils.js";
11
10
  import { VisuallyHiddenInput_default } from "../VisuallyHidden/VisuallyHiddenInput.js";
12
11
  import { compare } from "./utils.js";
12
+ import { getFocusIntent } from "../RovingFocus/utils.js";
13
13
  import { createBlock, createCommentVNode, defineComponent, nextTick, openBlock, ref, renderSlot, toRefs, unref, watch, withCtx } from "vue";
14
14
  import { createEventHook, useVModel } from "@vueuse/core";
15
15
 
@@ -3,8 +3,8 @@ const require_shared_arrays = require('../shared/arrays.cjs');
3
3
  const require_shared_getActiveElement = require('../shared/getActiveElement.cjs');
4
4
  const require_shared_useTypeahead = require('../shared/useTypeahead.cjs');
5
5
  const require_Collection_Collection = require('../Collection/Collection.cjs');
6
- const require_RovingFocus_utils = require('../RovingFocus/utils.cjs');
7
6
  const require_Listbox_utils = require('./utils.cjs');
7
+ const require_RovingFocus_utils = require('../RovingFocus/utils.cjs');
8
8
  const require_Listbox_ListboxRoot = require('./ListboxRoot.cjs');
9
9
  const vue = require_rolldown_runtime.__toESM(require("vue"));
10
10
  const __vueuse_core = require_rolldown_runtime.__toESM(require("@vueuse/core"));
@@ -2,8 +2,8 @@ import { findValuesBetween } from "../shared/arrays.js";
2
2
  import { getActiveElement } from "../shared/getActiveElement.js";
3
3
  import { getNextMatch } from "../shared/useTypeahead.js";
4
4
  import { useCollection } from "../Collection/Collection.js";
5
- import { MAP_KEY_TO_FOCUS_INTENT } from "../RovingFocus/utils.js";
6
5
  import { compare, queryCheckedElement } from "./utils.js";
6
+ import { MAP_KEY_TO_FOCUS_INTENT } from "../RovingFocus/utils.js";
7
7
  import { injectListboxRootContext } from "./ListboxRoot.js";
8
8
  import { Fragment, cloneVNode, computed, createBlock, createElementBlock, defineComponent, normalizeStyle, openBlock, renderList, resolveDynamicComponent, unref, useSlots } from "vue";
9
9
  import { useParentElement } from "@vueuse/core";
@@ -9,8 +9,8 @@ const require_shared_useTypeahead = require('../shared/useTypeahead.cjs');
9
9
  const require_DismissableLayer_DismissableLayer = require('../DismissableLayer/DismissableLayer.cjs');
10
10
  const require_FocusScope_FocusScope = require('../FocusScope/FocusScope.cjs');
11
11
  const require_Menu_utils = require('./utils.cjs');
12
- const require_RovingFocus_RovingFocusGroup = require('../RovingFocus/RovingFocusGroup.cjs');
13
12
  const require_Popper_PopperContent = require('../Popper/PopperContent.cjs');
13
+ const require_RovingFocus_RovingFocusGroup = require('../RovingFocus/RovingFocusGroup.cjs');
14
14
  const require_Menu_MenuRoot = require('./MenuRoot.cjs');
15
15
  const vue = require_rolldown_runtime.__toESM(require("vue"));
16
16
 
@@ -144,6 +144,31 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
144
144
  const rovingFocusGroupRef = (0, vue.ref)();
145
145
  const { forwardRef, currentElement: contentElement } = require_shared_useForwardExpose.useForwardExpose();
146
146
  const { handleTypeaheadSearch } = require_shared_useTypeahead.useTypeahead();
147
+ const highlightedElement = (0, vue.ref)();
148
+ function onKeydownNavigation(event) {
149
+ const el = require_shared_useArrowNavigation.useArrowNavigation(event, highlightedElement.value || require_shared_getActiveElement.getActiveElement(), contentElement.value, {
150
+ loop: loop.value,
151
+ arrowKeyOptions: "vertical",
152
+ dir: rootContext?.dir.value,
153
+ focus: false,
154
+ attributeName: "[data-reka-collection-item]:not([data-disabled])"
155
+ });
156
+ if (el) {
157
+ highlightedElement.value = el;
158
+ el.scrollIntoView({ block: "nearest" });
159
+ }
160
+ }
161
+ function onKeydownEnter() {
162
+ if (highlightedElement.value) highlightedElement.value.click();
163
+ }
164
+ const filterElement = (0, vue.ref)();
165
+ const activeSubmenuContext = (0, vue.ref)();
166
+ (0, vue.watch)(highlightedElement, (el) => {
167
+ if (activeSubmenuContext.value && (el === void 0 || el !== activeSubmenuContext.value.trigger.value)) {
168
+ activeSubmenuContext.value.onOpenChange(false);
169
+ activeSubmenuContext.value = void 0;
170
+ }
171
+ });
147
172
  (0, vue.watch)(contentElement, (el) => {
148
173
  menuContext.onContentChange(el);
149
174
  });
@@ -164,6 +189,7 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
164
189
  if (event.defaultPrevented) return;
165
190
  const target = event.target;
166
191
  const isKeyDownInside = target.closest("[data-reka-menu-content]") === event.currentTarget;
192
+ const isKeyDownInTextField = ["input", "textarea"].includes(target.tagName.toLowerCase());
167
193
  const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
168
194
  const isCharacterKey = event.key.length === 1;
169
195
  const el = require_shared_useArrowNavigation.useArrowNavigation(event, require_shared_getActiveElement.getActiveElement(), contentElement.value, {
@@ -178,7 +204,7 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
178
204
  const collectionItems = rovingFocusGroupRef.value?.getItems() ?? [];
179
205
  if (isKeyDownInside) {
180
206
  if (event.key === "Tab") event.preventDefault();
181
- if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key, collectionItems);
207
+ if (!isModifierKey && isCharacterKey && !isKeyDownInTextField) handleTypeaheadSearch(event.key, collectionItems);
182
208
  }
183
209
  if (event.target !== contentElement.value) return;
184
210
  if (!require_Menu_utils.FIRST_LAST_KEYS.includes(event.key)) return;
@@ -203,6 +229,10 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
203
229
  lastPointerXRef.value = event.clientX;
204
230
  }
205
231
  }
232
+ function handlePointerEnter(event) {
233
+ if (!require_Menu_utils.isMouseEvent(event)) return;
234
+ if (filterElement.value) filterElement.value.focus();
235
+ }
206
236
  provideMenuContentContext({
207
237
  onItemEnter: (event) => {
208
238
  if (isPointerMovingToSubmenu(event)) return true;
@@ -210,7 +240,8 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
210
240
  },
211
241
  onItemLeave: (event) => {
212
242
  if (isPointerMovingToSubmenu(event)) return;
213
- contentElement.value?.focus();
243
+ const isInputFocused = ["INPUT", "TEXTAREA"].includes(require_shared_getActiveElement.getActiveElement()?.tagName || "");
244
+ if (!isInputFocused) contentElement.value?.focus();
214
245
  currentItemId.value = null;
215
246
  },
216
247
  onTriggerLeave: (event) => {
@@ -218,6 +249,14 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
218
249
  else return false;
219
250
  },
220
251
  searchRef,
252
+ highlightedElement,
253
+ onKeydownNavigation,
254
+ onKeydownEnter,
255
+ filterElement,
256
+ onFilterElementChange: (el) => {
257
+ filterElement.value = el;
258
+ },
259
+ activeSubmenuContext,
221
260
  pointerGraceTimerRef,
222
261
  onPointerGraceIntentChange: (intent) => {
223
262
  pointerGraceIntentRef.value = intent;
@@ -278,7 +317,8 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
278
317
  reference: _ctx.reference,
279
318
  onKeydown: handleKeyDown,
280
319
  onBlur: handleBlur,
281
- onPointermove: handlePointerMove
320
+ onPointermove: handlePointerMove,
321
+ onPointerenter: handlePointerEnter
282
322
  }, {
283
323
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
284
324
  _: 3
@@ -1 +1 @@
1
- {"version":3,"file":"MenuContentImpl.cjs","names":["as","asChild","side","sideOffset","align","alignOffset","avoidCollisions","collisionBoundary","collisionPadding","arrowPadding","prioritizePosition","positionStrategy","updatePositionStrategy","sticky","hideWhenDetached","reference"],"sources":["../../src/Menu/MenuContentImpl.vue","../../src/Menu/MenuContentImpl.vue"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"MenuContentImpl.cjs","names":["as","asChild","side","sideOffset","align","alignOffset","avoidCollisions","collisionBoundary","collisionPadding","arrowPadding","prioritizePosition","positionStrategy","updatePositionStrategy","sticky","hideWhenDetached","reference"],"sources":["../../src/Menu/MenuContentImpl.vue","../../src/Menu/MenuContentImpl.vue"],"sourcesContent":[],"mappings":"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"}
@@ -8,8 +8,8 @@ import { useTypeahead } from "../shared/useTypeahead.js";
8
8
  import { DismissableLayer_default } from "../DismissableLayer/DismissableLayer.js";
9
9
  import { FocusScope_default } from "../FocusScope/FocusScope.js";
10
10
  import { FIRST_LAST_KEYS, LAST_KEYS, focusFirst, getOpenState, isMouseEvent, isPointerInGraceArea } from "./utils.js";
11
- import { RovingFocusGroup_default } from "../RovingFocus/RovingFocusGroup.js";
12
11
  import { PopperContentPropsDefaultValue, PopperContent_default } from "../Popper/PopperContent.js";
12
+ import { RovingFocusGroup_default } from "../RovingFocus/RovingFocusGroup.js";
13
13
  import { injectMenuContext, injectMenuRootContext } from "./MenuRoot.js";
14
14
  import { createBlock, createVNode, defineComponent, mergeDefaults, onUnmounted, openBlock, ref, renderSlot, toRefs, unref, watch, withCtx } from "vue";
15
15
 
@@ -143,6 +143,31 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
143
143
  const rovingFocusGroupRef = ref();
144
144
  const { forwardRef, currentElement: contentElement } = useForwardExpose();
145
145
  const { handleTypeaheadSearch } = useTypeahead();
146
+ const highlightedElement = ref();
147
+ function onKeydownNavigation(event) {
148
+ const el = useArrowNavigation(event, highlightedElement.value || getActiveElement(), contentElement.value, {
149
+ loop: loop.value,
150
+ arrowKeyOptions: "vertical",
151
+ dir: rootContext?.dir.value,
152
+ focus: false,
153
+ attributeName: "[data-reka-collection-item]:not([data-disabled])"
154
+ });
155
+ if (el) {
156
+ highlightedElement.value = el;
157
+ el.scrollIntoView({ block: "nearest" });
158
+ }
159
+ }
160
+ function onKeydownEnter() {
161
+ if (highlightedElement.value) highlightedElement.value.click();
162
+ }
163
+ const filterElement = ref();
164
+ const activeSubmenuContext = ref();
165
+ watch(highlightedElement, (el) => {
166
+ if (activeSubmenuContext.value && (el === void 0 || el !== activeSubmenuContext.value.trigger.value)) {
167
+ activeSubmenuContext.value.onOpenChange(false);
168
+ activeSubmenuContext.value = void 0;
169
+ }
170
+ });
146
171
  watch(contentElement, (el) => {
147
172
  menuContext.onContentChange(el);
148
173
  });
@@ -163,6 +188,7 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
163
188
  if (event.defaultPrevented) return;
164
189
  const target = event.target;
165
190
  const isKeyDownInside = target.closest("[data-reka-menu-content]") === event.currentTarget;
191
+ const isKeyDownInTextField = ["input", "textarea"].includes(target.tagName.toLowerCase());
166
192
  const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
167
193
  const isCharacterKey = event.key.length === 1;
168
194
  const el = useArrowNavigation(event, getActiveElement(), contentElement.value, {
@@ -177,7 +203,7 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
177
203
  const collectionItems = rovingFocusGroupRef.value?.getItems() ?? [];
178
204
  if (isKeyDownInside) {
179
205
  if (event.key === "Tab") event.preventDefault();
180
- if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key, collectionItems);
206
+ if (!isModifierKey && isCharacterKey && !isKeyDownInTextField) handleTypeaheadSearch(event.key, collectionItems);
181
207
  }
182
208
  if (event.target !== contentElement.value) return;
183
209
  if (!FIRST_LAST_KEYS.includes(event.key)) return;
@@ -202,6 +228,10 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
202
228
  lastPointerXRef.value = event.clientX;
203
229
  }
204
230
  }
231
+ function handlePointerEnter(event) {
232
+ if (!isMouseEvent(event)) return;
233
+ if (filterElement.value) filterElement.value.focus();
234
+ }
205
235
  provideMenuContentContext({
206
236
  onItemEnter: (event) => {
207
237
  if (isPointerMovingToSubmenu(event)) return true;
@@ -209,7 +239,8 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
209
239
  },
210
240
  onItemLeave: (event) => {
211
241
  if (isPointerMovingToSubmenu(event)) return;
212
- contentElement.value?.focus();
242
+ const isInputFocused = ["INPUT", "TEXTAREA"].includes(getActiveElement()?.tagName || "");
243
+ if (!isInputFocused) contentElement.value?.focus();
213
244
  currentItemId.value = null;
214
245
  },
215
246
  onTriggerLeave: (event) => {
@@ -217,6 +248,14 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
217
248
  else return false;
218
249
  },
219
250
  searchRef,
251
+ highlightedElement,
252
+ onKeydownNavigation,
253
+ onKeydownEnter,
254
+ filterElement,
255
+ onFilterElementChange: (el) => {
256
+ filterElement.value = el;
257
+ },
258
+ activeSubmenuContext,
220
259
  pointerGraceTimerRef,
221
260
  onPointerGraceIntentChange: (intent) => {
222
261
  pointerGraceIntentRef.value = intent;
@@ -277,7 +316,8 @@ var MenuContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
277
316
  reference: _ctx.reference,
278
317
  onKeydown: handleKeyDown,
279
318
  onBlur: handleBlur,
280
- onPointermove: handlePointerMove
319
+ onPointermove: handlePointerMove,
320
+ onPointerenter: handlePointerEnter
281
321
  }, {
282
322
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
283
323
  _: 3
@@ -1 +1 @@
1
- {"version":3,"file":"MenuContentImpl.js","names":["as","asChild","side","sideOffset","align","alignOffset","avoidCollisions","collisionBoundary","collisionPadding","arrowPadding","prioritizePosition","positionStrategy","updatePositionStrategy","sticky","hideWhenDetached","reference"],"sources":["../../src/Menu/MenuContentImpl.vue","../../src/Menu/MenuContentImpl.vue"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"MenuContentImpl.js","names":["as","asChild","side","sideOffset","align","alignOffset","avoidCollisions","collisionBoundary","collisionPadding","arrowPadding","prioritizePosition","positionStrategy","updatePositionStrategy","sticky","hideWhenDetached","reference"],"sources":["../../src/Menu/MenuContentImpl.vue","../../src/Menu/MenuContentImpl.vue"],"sourcesContent":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  const require_rolldown_runtime = require('../rolldown-runtime.cjs');
2
+ const require_shared_createContext = require('../shared/createContext.cjs');
3
+ const require_shared_useId = require('../shared/useId.cjs');
2
4
  const require_Primitive_Primitive = require('../Primitive/Primitive.cjs');
3
5
  const vue = require_rolldown_runtime.__toESM(require("vue"));
4
6
 
5
7
  //#region src/Menu/MenuGroup.vue?vue&type=script&setup=true&lang.ts
8
+ const [injectMenuGroupContext, provideMenuGroupContext] = require_shared_createContext.createContext("MenuGroup");
6
9
  var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
7
10
  __name: "MenuGroup",
8
11
  props: {
@@ -17,11 +20,13 @@ var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0,
17
20
  },
18
21
  setup(__props) {
19
22
  const props = __props;
23
+ const id = require_shared_useId.useId(void 0, "reka-menu-group");
24
+ provideMenuGroupContext({ id });
20
25
  return (_ctx, _cache) => {
21
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)({ role: "group" }, props), {
26
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)({ role: "group" }, props, { "aria-labelledby": (0, vue.unref)(id) }), {
22
27
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
23
28
  _: 3
24
- }, 16);
29
+ }, 16, ["aria-labelledby"]);
25
30
  };
26
31
  }
27
32
  });
@@ -37,4 +42,10 @@ Object.defineProperty(exports, 'MenuGroup_default', {
37
42
  return MenuGroup_default;
38
43
  }
39
44
  });
45
+ Object.defineProperty(exports, 'injectMenuGroupContext', {
46
+ enumerable: true,
47
+ get: function () {
48
+ return injectMenuGroupContext;
49
+ }
50
+ });
40
51
  //# sourceMappingURL=MenuGroup.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuGroup.cjs","names":[],"sources":["../../src/Menu/MenuGroup.vue","../../src/Menu/MenuGroup.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;EASA,MAAM,QAAQ;;gCAIZ,qBAKY,eAAA,sCAAA,EALZ,oBAKY,EAJV,MAAK,QAAO,GACJ,MAAK,EAAA;8BAEb,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuGroup.cjs","names":[],"sources":["../../src/Menu/MenuGroup.vue","../../src/Menu/MenuGroup.vue"],"sourcesContent":[],"mappings":";;;;;;;AAUA,MAAa,CAAC,wBAAwB,wBAAuB,GACzD,2CAAgC,YAAW;;;;;;;;;;;;;;EAM/C,MAAM,QAAQ;EAEd,MAAM,KAAK,mCAAiB,kBAAiB;AAC7C,0BAAwB,EAAE,GAAI,EAAA;;gCAI5B,qBAMY,eAAA,sCAAA,EANZ,oBAMY,EALV,MAAK,QAAO,GACJ,OAAK,EACZ,mBAAiB,eAAA,GAAE,CAAA,EAAA,EAAA;8BAEpB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -1,7 +1,10 @@
1
+ import { createContext } from "../shared/createContext.js";
2
+ import { useId } from "../shared/useId.js";
1
3
  import { Primitive } from "../Primitive/Primitive.js";
2
4
  import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
5
 
4
6
  //#region src/Menu/MenuGroup.vue?vue&type=script&setup=true&lang.ts
7
+ const [injectMenuGroupContext, provideMenuGroupContext] = createContext("MenuGroup");
5
8
  var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
6
9
  __name: "MenuGroup",
7
10
  props: {
@@ -16,11 +19,13 @@ var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
16
19
  },
17
20
  setup(__props) {
18
21
  const props = __props;
22
+ const id = useId(void 0, "reka-menu-group");
23
+ provideMenuGroupContext({ id });
19
24
  return (_ctx, _cache) => {
20
- return openBlock(), createBlock(unref(Primitive), mergeProps({ role: "group" }, props), {
25
+ return openBlock(), createBlock(unref(Primitive), mergeProps({ role: "group" }, props, { "aria-labelledby": unref(id) }), {
21
26
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
22
27
  _: 3
23
- }, 16);
28
+ }, 16, ["aria-labelledby"]);
24
29
  };
25
30
  }
26
31
  });
@@ -30,5 +35,5 @@ var MenuGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
30
35
  var MenuGroup_default = MenuGroup_vue_vue_type_script_setup_true_lang_default;
31
36
 
32
37
  //#endregion
33
- export { MenuGroup_default };
38
+ export { MenuGroup_default, injectMenuGroupContext };
34
39
  //# sourceMappingURL=MenuGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuGroup.js","names":[],"sources":["../../src/Menu/MenuGroup.vue","../../src/Menu/MenuGroup.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;EASA,MAAM,QAAQ;;uBAIZ,YAKY,MAAA,UAAA,EALZ,WAKY,EAJV,MAAK,QAAO,GACJ,MAAK,EAAA;qBAEb,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuGroup.js","names":[],"sources":["../../src/Menu/MenuGroup.vue","../../src/Menu/MenuGroup.vue"],"sourcesContent":[],"mappings":";;;;;;AAUA,MAAa,CAAC,wBAAwB,wBAAuB,GACzD,cAAgC,YAAW;;;;;;;;;;;;;;EAM/C,MAAM,QAAQ;EAEd,MAAM,KAAK,cAAiB,kBAAiB;AAC7C,0BAAwB,EAAE,GAAI,EAAA;;uBAI5B,YAMY,MAAA,UAAA,EANZ,WAMY,EALV,MAAK,QAAO,GACJ,OAAK,EACZ,mBAAiB,MAAA,GAAE,CAAA,EAAA,EAAA;qBAEpB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -1,8 +1,10 @@
1
1
  const require_rolldown_runtime = require('../rolldown-runtime.cjs');
2
+ const require_shared_getActiveElement = require('../shared/getActiveElement.cjs');
2
3
  const require_shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
3
4
  const require_Primitive_Primitive = require('../Primitive/Primitive.cjs');
4
5
  const require_Menu_utils = require('./utils.cjs');
5
6
  const require_Collection_Collection = require('../Collection/Collection.cjs');
7
+ const require_Menu_MenuRoot = require('./MenuRoot.cjs');
6
8
  const require_Menu_MenuContentImpl = require('./MenuContentImpl.cjs');
7
9
  const vue = require_rolldown_runtime.__toESM(require("vue"));
8
10
 
@@ -30,19 +32,22 @@ var MenuItemImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (
30
32
  },
31
33
  setup(__props) {
32
34
  const props = __props;
35
+ const menuContext = require_Menu_MenuRoot.injectMenuContext();
33
36
  const contentContext = require_Menu_MenuContentImpl.injectMenuContentContext();
34
- const { forwardRef } = require_shared_useForwardExpose.useForwardExpose();
37
+ const { forwardRef, currentElement } = require_shared_useForwardExpose.useForwardExpose();
35
38
  const { CollectionItem } = require_Collection_Collection.useCollection();
36
39
  const isFocused = (0, vue.ref)(false);
40
+ const isHighlighted = (0, vue.computed)(() => isFocused.value || contentContext.highlightedElement.value === currentElement.value);
37
41
  async function handlePointerMove(event) {
38
- if (event.defaultPrevented) return;
39
- if (!require_Menu_utils.isMouseEvent(event)) return;
42
+ if (event.defaultPrevented || !require_Menu_utils.isMouseEvent(event) || !menuContext.open.value) return;
40
43
  if (props.disabled) contentContext.onItemLeave(event);
41
44
  else {
42
45
  const defaultPrevented = contentContext.onItemEnter(event);
43
46
  if (!defaultPrevented) {
44
47
  const item = event.currentTarget;
45
- item?.focus({ preventScroll: true });
48
+ contentContext.highlightedElement.value = item;
49
+ const isInputFocused = ["INPUT", "TEXTAREA"].includes(require_shared_getActiveElement.getActiveElement()?.tagName || "");
50
+ if (!isInputFocused) item.focus({ preventScroll: true });
46
51
  }
47
52
  }
48
53
  }
@@ -63,13 +68,14 @@ var MenuItemImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (
63
68
  "as-child": _ctx.asChild,
64
69
  "aria-disabled": _ctx.disabled || void 0,
65
70
  "data-disabled": _ctx.disabled ? "" : void 0,
66
- "data-highlighted": isFocused.value ? "" : void 0,
71
+ "data-highlighted": isHighlighted.value ? "" : void 0,
67
72
  onPointermove: handlePointerMove,
68
73
  onPointerleave: handlePointerLeave,
69
74
  onFocus: _cache[0] || (_cache[0] = async (event) => {
70
75
  await (0, vue.nextTick)();
71
76
  if (event.defaultPrevented || _ctx.disabled) return;
72
77
  isFocused.value = true;
78
+ (0, vue.unref)(contentContext).highlightedElement.value = event.currentTarget;
73
79
  }),
74
80
  onBlur: _cache[1] || (_cache[1] = async (event) => {
75
81
  await (0, vue.nextTick)();
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemImpl.cjs","names":["textValue","$attrs","as","asChild","disabled"],"sources":["../../src/Menu/MenuItemImpl.vue","../../src/Menu/MenuItemImpl.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BA,MAAM,QAAQ;EAEd,MAAM,iBAAiB,uDAAyB;EAChD,MAAM,EAAE,YAAY,GAAG,kDAAiB;EACxC,MAAM,EAAE,gBAAgB,GAAG,6CAAc;EAEzC,MAAM,YAAY,aAAI,MAAK;EAE3B,eAAe,kBAAkB,OAAqB;AACpD,OAAI,MAAM,iBACR;AACF,QAAK,gCAAa,MAAM,CACtB;AAEF,OAAI,MAAM,SACR,gBAAe,YAAY,MAAK;QAE7B;IACH,MAAM,mBAAmB,eAAe,YAAY,MAAK;AACzD,SAAK,kBAAkB;KACrB,MAAM,OAAO,MAAM;AACnB,KAAC,MAAsB,MAAM,EAAE,eAAe,KAAM,EAAA;IACtD;GACF;EACF;EAEA,eAAe,mBAAmB,OAAqB;AACrD,SAAM,mBAAS;AACf,OAAI,MAAM,iBACR;AACF,QAAK,gCAAa,MAAM,CACtB;AAEF,kBAAe,YAAY,MAAK;EAClC;;gCAIE,qBA8BiB,eAAA,eAAA,EAAA,EA9BA,OAAK,EAAA,WAAIA,KAAAA,UAAS;8BACjC,MA4BY,CA5BZ,qBA4BY,eAAA,sCAAA,EA5BZ,oBA4BY;KA3BT,KAAK,eAAA,WAAU;KAChB,MAAK;KACL,UAAS;OACDC,KAAAA,QAAM;KACb,IAAIC,KAAAA;KACJ,YAAUC,KAAAA;KACV,iBAAeC,KAAAA;KACf,iBAAeA,KAAAA,WAAQ;KACvB,oBAAkB,UAAA,QAAS;KAC3B,eAAa;KACb,gBAAc;KACd,SAAK,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,mBAAQ;UAAkB,MAAM,oBAAoBA,KAAAA,SAAQ;AAAoB,gBAAA,QAAS;;KAO5I,QAAI,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,mBAAQ;UAAkB,MAAM,iBAAgB;AAAoB,gBAAA,QAAS;;;+BAQhI,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuItemImpl.cjs","names":["textValue","$attrs","as","asChild","disabled"],"sources":["../../src/Menu/MenuItemImpl.vue","../../src/Menu/MenuItemImpl.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAEd,MAAM,cAAc,yCAAkB;EACtC,MAAM,iBAAiB,uDAAyB;EAChD,MAAM,EAAE,YAAY,gBAAgB,GAAG,kDAAiB;EACxD,MAAM,EAAE,gBAAgB,GAAG,6CAAc;EAEzC,MAAM,YAAY,aAAI,MAAK;EAC3B,MAAM,gBAAgB,kBAAS,MAAM,UAAU,SAAU,eAAe,mBAAmB,UAAU,eAAe,MAAM;EAE1H,eAAe,kBAAkB,OAAqB;AACpD,OAAI,MAAM,qBAAqB,gCAAa,MAAM,KAAK,YAAY,KAAK,MACtE;AAEF,OAAI,MAAM,SACR,gBAAe,YAAY,MAAK;QAE7B;IACH,MAAM,mBAAmB,eAAe,YAAY,MAAK;AACzD,SAAK,kBAAkB;KACrB,MAAM,OAAO,MAAM;AACnB,oBAAe,mBAAmB,QAAQ;KAC1C,MAAM,iBAAiB,CAAC,SAAS,UAAW,EAAC,SAAS,kDAAkB,EAAE,WAAW,GAAE;AACvF,UAAK,eACH,MAAK,MAAM,EAAE,eAAe,KAAM,EAAA;IACtC;GACF;EACF;EAEA,eAAe,mBAAmB,OAAqB;AACrD,SAAM,mBAAS;AACf,OAAI,MAAM,iBACR;AACF,QAAK,gCAAa,MAAM,CACtB;AAEF,kBAAe,YAAY,MAAK;EAClC;;gCAIE,qBA+BiB,eAAA,eAAA,EAAA,EA/BA,OAAK,EAAA,WAAIA,KAAAA,UAAS;8BACjC,MA6BY,CA7BZ,qBA6BY,eAAA,sCAAA,EA7BZ,oBA6BY;KA5BT,KAAK,eAAA,WAAU;KAChB,MAAK;KACL,UAAS;OACDC,KAAAA,QAAM;KACb,IAAIC,KAAAA;KACJ,YAAUC,KAAAA;KACV,iBAAeC,KAAAA;KACf,iBAAeA,KAAAA,WAAQ;KACvB,oBAAkB,cAAA,QAAa;KAC/B,eAAa;KACb,gBAAc;KACd,SAAK,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,mBAAQ;UAAkB,MAAM,oBAAoBA,KAAAA,SAAQ;AAAoB,gBAAA,QAAS;AAAmB,qBAAA,eAAc,CAAC,mBAAmB,QAAQ,MAAM;;KAQ/M,QAAI,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,mBAAQ;UAAkB,MAAM,iBAAgB;AAAoB,gBAAA,QAAS;;;+BAQhI,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -1,9 +1,11 @@
1
+ import { getActiveElement } from "../shared/getActiveElement.js";
1
2
  import { useForwardExpose } from "../shared/useForwardExpose.js";
2
3
  import { Primitive } from "../Primitive/Primitive.js";
3
4
  import { isMouseEvent } from "./utils.js";
4
5
  import { useCollection } from "../Collection/Collection.js";
6
+ import { injectMenuContext } from "./MenuRoot.js";
5
7
  import { injectMenuContentContext } from "./MenuContentImpl.js";
6
- import { createBlock, createVNode, defineComponent, mergeProps, nextTick, openBlock, ref, renderSlot, unref, withCtx } from "vue";
8
+ import { computed, createBlock, createVNode, defineComponent, mergeProps, nextTick, openBlock, ref, renderSlot, unref, withCtx } from "vue";
7
9
 
8
10
  //#region src/Menu/MenuItemImpl.vue?vue&type=script&setup=true&lang.ts
9
11
  var MenuItemImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -29,19 +31,22 @@ var MenuItemImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
29
31
  },
30
32
  setup(__props) {
31
33
  const props = __props;
34
+ const menuContext = injectMenuContext();
32
35
  const contentContext = injectMenuContentContext();
33
- const { forwardRef } = useForwardExpose();
36
+ const { forwardRef, currentElement } = useForwardExpose();
34
37
  const { CollectionItem } = useCollection();
35
38
  const isFocused = ref(false);
39
+ const isHighlighted = computed(() => isFocused.value || contentContext.highlightedElement.value === currentElement.value);
36
40
  async function handlePointerMove(event) {
37
- if (event.defaultPrevented) return;
38
- if (!isMouseEvent(event)) return;
41
+ if (event.defaultPrevented || !isMouseEvent(event) || !menuContext.open.value) return;
39
42
  if (props.disabled) contentContext.onItemLeave(event);
40
43
  else {
41
44
  const defaultPrevented = contentContext.onItemEnter(event);
42
45
  if (!defaultPrevented) {
43
46
  const item = event.currentTarget;
44
- item?.focus({ preventScroll: true });
47
+ contentContext.highlightedElement.value = item;
48
+ const isInputFocused = ["INPUT", "TEXTAREA"].includes(getActiveElement()?.tagName || "");
49
+ if (!isInputFocused) item.focus({ preventScroll: true });
45
50
  }
46
51
  }
47
52
  }
@@ -62,13 +67,14 @@ var MenuItemImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
62
67
  "as-child": _ctx.asChild,
63
68
  "aria-disabled": _ctx.disabled || void 0,
64
69
  "data-disabled": _ctx.disabled ? "" : void 0,
65
- "data-highlighted": isFocused.value ? "" : void 0,
70
+ "data-highlighted": isHighlighted.value ? "" : void 0,
66
71
  onPointermove: handlePointerMove,
67
72
  onPointerleave: handlePointerLeave,
68
73
  onFocus: _cache[0] || (_cache[0] = async (event) => {
69
74
  await nextTick();
70
75
  if (event.defaultPrevented || _ctx.disabled) return;
71
76
  isFocused.value = true;
77
+ unref(contentContext).highlightedElement.value = event.currentTarget;
72
78
  }),
73
79
  onBlur: _cache[1] || (_cache[1] = async (event) => {
74
80
  await nextTick();
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemImpl.js","names":["textValue","$attrs","as","asChild","disabled"],"sources":["../../src/Menu/MenuItemImpl.vue","../../src/Menu/MenuItemImpl.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BA,MAAM,QAAQ;EAEd,MAAM,iBAAiB,0BAAyB;EAChD,MAAM,EAAE,YAAY,GAAG,kBAAiB;EACxC,MAAM,EAAE,gBAAgB,GAAG,eAAc;EAEzC,MAAM,YAAY,IAAI,MAAK;EAE3B,eAAe,kBAAkB,OAAqB;AACpD,OAAI,MAAM,iBACR;AACF,QAAK,aAAa,MAAM,CACtB;AAEF,OAAI,MAAM,SACR,gBAAe,YAAY,MAAK;QAE7B;IACH,MAAM,mBAAmB,eAAe,YAAY,MAAK;AACzD,SAAK,kBAAkB;KACrB,MAAM,OAAO,MAAM;AACnB,KAAC,MAAsB,MAAM,EAAE,eAAe,KAAM,EAAA;IACtD;GACF;EACF;EAEA,eAAe,mBAAmB,OAAqB;AACrD,SAAM,UAAS;AACf,OAAI,MAAM,iBACR;AACF,QAAK,aAAa,MAAM,CACtB;AAEF,kBAAe,YAAY,MAAK;EAClC;;uBAIE,YA8BiB,MAAA,eAAA,EAAA,EA9BA,OAAK,EAAA,WAAIA,KAAAA,UAAS;qBACjC,MA4BY,CA5BZ,YA4BY,MAAA,UAAA,EA5BZ,WA4BY;KA3BT,KAAK,MAAA,WAAU;KAChB,MAAK;KACL,UAAS;OACDC,KAAAA,QAAM;KACb,IAAIC,KAAAA;KACJ,YAAUC,KAAAA;KACV,iBAAeC,KAAAA;KACf,iBAAeA,KAAAA,WAAQ;KACvB,oBAAkB,UAAA,QAAS;KAC3B,eAAa;KACb,gBAAc;KACd,SAAK,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,UAAQ;UAAkB,MAAM,oBAAoBA,KAAAA,SAAQ;AAAoB,gBAAA,QAAS;;KAO5I,QAAI,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,UAAQ;UAAkB,MAAM,iBAAgB;AAAoB,gBAAA,QAAS;;;sBAQhI,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuItemImpl.js","names":["textValue","$attrs","as","asChild","disabled"],"sources":["../../src/Menu/MenuItemImpl.vue","../../src/Menu/MenuItemImpl.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAEd,MAAM,cAAc,mBAAkB;EACtC,MAAM,iBAAiB,0BAAyB;EAChD,MAAM,EAAE,YAAY,gBAAgB,GAAG,kBAAiB;EACxD,MAAM,EAAE,gBAAgB,GAAG,eAAc;EAEzC,MAAM,YAAY,IAAI,MAAK;EAC3B,MAAM,gBAAgB,SAAS,MAAM,UAAU,SAAU,eAAe,mBAAmB,UAAU,eAAe,MAAM;EAE1H,eAAe,kBAAkB,OAAqB;AACpD,OAAI,MAAM,qBAAqB,aAAa,MAAM,KAAK,YAAY,KAAK,MACtE;AAEF,OAAI,MAAM,SACR,gBAAe,YAAY,MAAK;QAE7B;IACH,MAAM,mBAAmB,eAAe,YAAY,MAAK;AACzD,SAAK,kBAAkB;KACrB,MAAM,OAAO,MAAM;AACnB,oBAAe,mBAAmB,QAAQ;KAC1C,MAAM,iBAAiB,CAAC,SAAS,UAAW,EAAC,SAAS,kBAAkB,EAAE,WAAW,GAAE;AACvF,UAAK,eACH,MAAK,MAAM,EAAE,eAAe,KAAM,EAAA;IACtC;GACF;EACF;EAEA,eAAe,mBAAmB,OAAqB;AACrD,SAAM,UAAS;AACf,OAAI,MAAM,iBACR;AACF,QAAK,aAAa,MAAM,CACtB;AAEF,kBAAe,YAAY,MAAK;EAClC;;uBAIE,YA+BiB,MAAA,eAAA,EAAA,EA/BA,OAAK,EAAA,WAAIA,KAAAA,UAAS;qBACjC,MA6BY,CA7BZ,YA6BY,MAAA,UAAA,EA7BZ,WA6BY;KA5BT,KAAK,MAAA,WAAU;KAChB,MAAK;KACL,UAAS;OACDC,KAAAA,QAAM;KACb,IAAIC,KAAAA;KACJ,YAAUC,KAAAA;KACV,iBAAeC,KAAAA;KACf,iBAAeA,KAAAA,WAAQ;KACvB,oBAAkB,cAAA,QAAa;KAC/B,eAAa;KACb,gBAAc;KACd,SAAK,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,UAAQ;UAAkB,MAAM,oBAAoBA,KAAAA,SAAQ;AAAoB,gBAAA,QAAS;AAAmB,YAAA,eAAc,CAAC,mBAAmB,QAAQ,MAAM;;KAQ/M,QAAI,OAAA,OAAA,OAAA,YAAkB,UAAK;YAAuB,UAAQ;UAAkB,MAAM,iBAAgB;AAAoB,gBAAA,QAAS;;;sBAQhI,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -1,5 +1,6 @@
1
1
  const require_rolldown_runtime = require('../rolldown-runtime.cjs');
2
2
  const require_Primitive_Primitive = require('../Primitive/Primitive.cjs');
3
+ const require_Menu_MenuGroup = require('./MenuGroup.cjs');
3
4
  const vue = require_rolldown_runtime.__toESM(require("vue"));
4
5
 
5
6
  //#region src/Menu/MenuLabel.vue?vue&type=script&setup=true&lang.ts
@@ -18,11 +19,12 @@ var MenuLabel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0,
18
19
  },
19
20
  setup(__props) {
20
21
  const props = __props;
22
+ const groupContext = require_Menu_MenuGroup.injectMenuGroupContext({ id: "" });
21
23
  return (_ctx, _cache) => {
22
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.normalizeProps)((0, vue.guardReactiveProps)(props)), {
24
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_Primitive_Primitive.Primitive), (0, vue.mergeProps)(props, { id: (0, vue.unref)(groupContext).id || void 0 }), {
23
25
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
24
26
  _: 3
25
- }, 16);
27
+ }, 16, ["id"]);
26
28
  };
27
29
  }
28
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MenuLabel.cjs","names":[],"sources":["../../src/Menu/MenuLabel.vue","../../src/Menu/MenuLabel.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EASA,MAAM,QAAQ;;gCAMZ,qBAEY,eAAA,sCAAA,EAAA,wBAAA,4BAFO,MAAK,CAAA,EAAA;8BACtB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuLabel.cjs","names":[],"sources":["../../src/Menu/MenuLabel.vue","../../src/Menu/MenuLabel.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;EAUA,MAAM,QAAQ;EAId,MAAM,eAAe,8CAAuB,EAAE,IAAI,GAAI,EAAA;;gCAIpD,qBAKY,eAAA,sCAAA,EALZ,oBACU,OAAK,EACZ,IAAI,eAAA,aAAY,CAAC;8BAElB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
@@ -1,5 +1,6 @@
1
1
  import { Primitive } from "../Primitive/Primitive.js";
2
- import { createBlock, defineComponent, guardReactiveProps, normalizeProps, openBlock, renderSlot, unref, withCtx } from "vue";
2
+ import { injectMenuGroupContext } from "./MenuGroup.js";
3
+ import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
3
4
 
4
5
  //#region src/Menu/MenuLabel.vue?vue&type=script&setup=true&lang.ts
5
6
  var MenuLabel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -17,11 +18,12 @@ var MenuLabel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
17
18
  },
18
19
  setup(__props) {
19
20
  const props = __props;
21
+ const groupContext = injectMenuGroupContext({ id: "" });
20
22
  return (_ctx, _cache) => {
21
- return openBlock(), createBlock(unref(Primitive), normalizeProps(guardReactiveProps(props)), {
23
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, { id: unref(groupContext).id || void 0 }), {
22
24
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
23
25
  _: 3
24
- }, 16);
26
+ }, 16, ["id"]);
25
27
  };
26
28
  }
27
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MenuLabel.js","names":[],"sources":["../../src/Menu/MenuLabel.vue","../../src/Menu/MenuLabel.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;EASA,MAAM,QAAQ;;uBAMZ,YAEY,MAAA,UAAA,EAAA,eAAA,mBAFO,MAAK,CAAA,EAAA;qBACtB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuLabel.js","names":[],"sources":["../../src/Menu/MenuLabel.vue","../../src/Menu/MenuLabel.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;EAUA,MAAM,QAAQ;EAId,MAAM,eAAe,uBAAuB,EAAE,IAAI,GAAI,EAAA;;uBAIpD,YAKY,MAAA,UAAA,EALZ,WACU,OAAK,EACZ,IAAI,MAAA,aAAY,CAAC;qBAElB,MAAQ,CAAR,WAAQ,KAAA,QAAA,UAAA"}
@@ -111,6 +111,7 @@ var MenuSubContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
111
111
  const menuContext = require_Menu_MenuRoot.injectMenuContext();
112
112
  const rootContext = require_Menu_MenuRoot.injectMenuRootContext();
113
113
  const menuSubContext = require_Menu_MenuSub.injectMenuSubContext();
114
+ const parentContentContext = require_Menu_MenuContentImpl.injectMenuContentContext();
114
115
  const { forwardRef, currentElement: subContentElement } = require_shared_useForwardExpose.useForwardExpose();
115
116
  menuSubContext.contentId ||= require_shared_useId.useId(void 0, "reka-menu-sub-content");
116
117
  return (_ctx, _cache) => {
@@ -130,7 +131,8 @@ var MenuSubContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
130
131
  onCloseAutoFocus: _cache[1] || (_cache[1] = (0, vue.withModifiers)(() => {}, ["prevent"])),
131
132
  onFocusOutside: _cache[2] || (_cache[2] = (event) => {
132
133
  if (event.defaultPrevented) return;
133
- if (event.target !== (0, vue.unref)(menuSubContext).trigger.value) (0, vue.unref)(menuContext).onOpenChange(false);
134
+ const isMovingToParentContent = (0, vue.unref)(parentContentContext).filterElement.value?.contains(event.target);
135
+ if (event.target !== (0, vue.unref)(menuSubContext).trigger.value && !isMovingToParentContent) (0, vue.unref)(menuContext).onOpenChange(false);
134
136
  }),
135
137
  onEscapeKeyDown: _cache[3] || (_cache[3] = (event) => {
136
138
  (0, vue.unref)(rootContext).onClose();
@@ -141,7 +143,11 @@ var MenuSubContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
141
143
  const isCloseKey = (0, vue.unref)(require_Menu_utils.SUB_CLOSE_KEYS)[(0, vue.unref)(rootContext).dir.value].includes(event.key);
142
144
  if (isKeyDownInside && isCloseKey) {
143
145
  (0, vue.unref)(menuContext).onOpenChange(false);
144
- (0, vue.unref)(menuSubContext).trigger.value?.focus();
146
+ if ((0, vue.unref)(parentContentContext).filterElement.value) {
147
+ (0, vue.unref)(parentContentContext).filterElement.value.focus();
148
+ (0, vue.unref)(parentContentContext).highlightedElement.value = (0, vue.unref)(menuSubContext).trigger.value;
149
+ (0, vue.unref)(menuSubContext).trigger.value?.scrollIntoView({ block: "nearest" });
150
+ } else (0, vue.unref)(menuSubContext).trigger.value?.focus();
145
151
  event.preventDefault();
146
152
  }
147
153
  })
@@ -1 +1 @@
1
- {"version":3,"file":"MenuSubContent.cjs","names":["forceMount"],"sources":["../../src/Menu/MenuSubContent.vue","../../src/Menu/MenuSubContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BA,MAAM,QAAQ;EAGd,MAAM,QAAQ;EAEd,MAAM,YAAY,yDAAqB,OAAO,MAAK;EAEnD,MAAM,cAAc,yCAAkB;EACtC,MAAM,cAAc,6CAAsB;EAC1C,MAAM,iBAAiB,2CAAqB;EAE5C,MAAM,EAAE,YAAY,gBAAgB,mBAAmB,GAAG,kDAAiB;AAE3E,iBAAe,cAAc,mCAAiB,wBAAuB;;gCAInE,qBA+CW,eAAA,2CAAA,EAAA,EA/CA,SAASA,KAAAA,cAAc,eAAA,YAAW,CAAC,KAAK;8BACjD,MA6CkB,CA7ClB,qBA6CkB,sDA7ClB,oBACU,eA4CQ,UA5CC,EAAA;KAChB,IAAI,eAAA,eAAc,CAAC;KACnB,KAAK,eAAA,WAAU;KACf,mBAAiB,eAAA,eAAc,CAAC;KACjC,OAAM;KACL,MAAM,eAAA,YAAW,CAAC,IAAI,UAAK,QAAA,SAAA;KAC3B,kCAAgC;KAChC,0BAAwB;KACxB,cAAY;KACZ,iBAAe,OAAA,OAAA,OAAA,KAAA,uBAAA,CAAW,UAAK;UAA4F,eAAA,YAAW,CAAC,mBAAmB,MAAO,gBAAA,kBAAiB,EAAE,OAAK;;KAIzL,kBAAgB,OAAA,OAAA,OAAA,KAAA,uBAAjB,MAAA,CAAyB,GAAA,CAAA,SAAA,EAAA;KACxB,gBAAa,OAAA,OAAA,OAAA,MAAY,UAAK;UAAqB,MAAM,iBAAgB;UAAiK,MAAM,WAAW,eAAA,eAAc,CAAC,QAAQ,MAAmB,gBAAA,YAAW,CAAC,aAAY,MAAA;;KAS7T,iBAAe,OAAA,OAAA,OAAA,MAAY,UAAK;AAAiB,qBAAA,YAAW,CAAC,SAAO;AAA6F,YAAM,gBAAc;;KAOrL,WAAO,OAAA,OAAA,OAAA,KAAA,CAAG,UAAoB;YAAiH,kBAAe,AAAI,MAAM,eAA+B,SAAS,MAAM,OAAM;YAAgC,aAAa,eAAA,kCAAc,CAAC,eAAA,YAAW,CAAC,IAAI,OAAO,SAAS,MAAM,IAAG;UAAe,mBAAmB,YAAU;AAAc,sBAAA,YAAW,CAAC,aAAY,MAAA;AAAgG,sBAAA,eAAc,CAAC,QAAQ,OAAO,OAAK;AAAyD,aAAM,gBAAc;;;;+BAapmB,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}
1
+ {"version":3,"file":"MenuSubContent.cjs","names":["forceMount"],"sources":["../../src/Menu/MenuSubContent.vue","../../src/Menu/MenuSubContent.vue"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BA,MAAM,QAAQ;EAGd,MAAM,QAAQ;EAEd,MAAM,YAAY,yDAAqB,OAAO,MAAK;EAEnD,MAAM,cAAc,yCAAkB;EACtC,MAAM,cAAc,6CAAsB;EAC1C,MAAM,iBAAiB,2CAAqB;EAC5C,MAAM,uBAAuB,uDAAyB;EAEtD,MAAM,EAAE,YAAY,gBAAgB,mBAAmB,GAAG,kDAAiB;AAE3E,iBAAe,cAAc,mCAAiB,wBAAuB;;gCAInE,qBAyDW,eAAA,2CAAA,EAAA,EAzDA,SAASA,KAAAA,cAAc,eAAA,YAAW,CAAC,KAAK;8BACjD,MAuDkB,CAvDlB,qBAuDkB,sDAvDlB,oBACU,eAsDQ,UAtDC,EAAA;KAChB,IAAI,eAAA,eAAc,CAAC;KACnB,KAAK,eAAA,WAAU;KACf,mBAAiB,eAAA,eAAc,CAAC;KACjC,OAAM;KACL,MAAM,eAAA,YAAW,CAAC,IAAI,UAAK,QAAA,SAAA;KAC3B,kCAAgC;KAChC,0BAAwB;KACxB,cAAY;KACZ,iBAAe,OAAA,OAAA,OAAA,KAAA,uBAAA,CAAW,UAAK;UAA4F,eAAA,YAAW,CAAC,mBAAmB,MAAO,gBAAA,kBAAiB,EAAE,OAAK;;KAIzL,kBAAgB,OAAA,OAAA,OAAA,KAAA,uBAAjB,MAAA,CAAyB,GAAA,CAAA,SAAA,EAAA;KACxB,gBAAa,OAAA,OAAA,OAAA,MAAY,UAAK;UAAqB,MAAM,iBAAgB;YAAyT,0BAA0B,eAAA,qBAAoB,CAAC,cAAc,OAAO,SAAS,MAAM,OAAM;UAAyB,MAAM,WAAW,eAAA,eAAc,CAAC,QAAQ,UAAU,wBAAqC,gBAAA,YAAW,CAAC,aAAY,MAAA;;KAYnmB,iBAAe,OAAA,OAAA,OAAA,MAAY,UAAK;AAAiB,qBAAA,YAAW,CAAC,SAAO;AAA6F,YAAM,gBAAc;;KAOrL,WAAO,OAAA,OAAA,OAAA,KAAA,CAAG,UAAoB;YAAiH,kBAAe,AAAI,MAAM,eAA+B,SAAS,MAAM,OAAM;YAAgC,aAAa,eAAA,kCAAc,CAAC,eAAA,YAAW,CAAC,IAAI,OAAO,SAAS,MAAM,IAAG;UAAe,mBAAmB,YAAU;AAAc,sBAAA,YAAW,CAAC,aAAY,MAAA;WAAoG,eAAA,qBAAoB,CAAC,cAAc,OAAK;AAAgB,uBAAA,qBAAoB,CAAC,cAAc,MAAM,OAAK;AAAgB,uBAAA,qBAAoB,CAAC,mBAAmB,QAAQ,eAAA,eAAc,CAAC,QAAQ;AAAmB,uBAAA,eAAc,CAAC,QAAQ,OAAO,eAAc,EAAA,OAAA,UAAA,EAAA;aAAiE,gBAAA,eAAc,CAAC,QAAQ,OAAO,OAAK;AAAqE,aAAM,gBAAc;;;;+BAoBj7B,MAAQ,CAAR,oBAAQ,KAAA,QAAA,UAAA"}