@soybeanjs/headless 0.30.0 → 0.40.0-beta.2

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 (1111) hide show
  1. package/README.md +14 -14
  2. package/README.zh-CN.md +14 -14
  3. package/dist/components/_icon/icon.js +1 -1
  4. package/dist/components/_icon/types.d.ts +2 -3
  5. package/dist/components/accordion/accordion-compact.js +1 -1
  6. package/dist/components/accordion/accordion-content.js +1 -1
  7. package/dist/components/accordion/accordion-item.js +1 -1
  8. package/dist/components/accordion/accordion-root.js +1 -1
  9. package/dist/components/accordion/accordion-trigger.js +1 -1
  10. package/dist/components/accordion/context.d.ts +1 -1
  11. package/dist/components/accordion/context.js +1 -1
  12. package/dist/components/accordion/types.d.ts +15 -16
  13. package/dist/components/affix/affix-compact.js +1 -1
  14. package/dist/components/affix/affix-root.js +1 -1
  15. package/dist/components/affix/affix-root.vue.d.ts +1 -1
  16. package/dist/components/affix/context.d.ts +1 -1
  17. package/dist/components/affix/context.js +1 -1
  18. package/dist/components/affix/types.d.ts +11 -12
  19. package/dist/components/alert/alert-close.js +1 -1
  20. package/dist/components/alert/alert-compact.js +1 -1
  21. package/dist/components/alert/alert-compact.vue.d.ts +2 -2
  22. package/dist/components/alert/alert-root.js +1 -1
  23. package/dist/components/alert/context.d.ts +2 -2
  24. package/dist/components/alert/context.js +1 -1
  25. package/dist/components/alert/types.d.ts +13 -14
  26. package/dist/components/anchor/anchor-compact.js +1 -1
  27. package/dist/components/anchor/anchor-link.js +1 -1
  28. package/dist/components/anchor/anchor-root.js +1 -1
  29. package/dist/components/anchor/anchor-root.vue.d.ts +1 -1
  30. package/dist/components/anchor/context.d.ts +2 -2
  31. package/dist/components/anchor/context.js +1 -1
  32. package/dist/components/anchor/shared.js +1 -1
  33. package/dist/components/anchor/types.d.ts +11 -12
  34. package/dist/components/arrow/arrow.js +1 -1
  35. package/dist/components/arrow/types.d.ts +2 -3
  36. package/dist/components/aspect-ratio/aspect-ratio.js +1 -1
  37. package/dist/components/aspect-ratio/types.d.ts +2 -3
  38. package/dist/components/autocomplete/autocomplete-anchor.js +1 -0
  39. package/dist/components/autocomplete/autocomplete-anchor.vue.d.ts +16 -0
  40. package/dist/components/autocomplete/autocomplete-compact.js +1 -1
  41. package/dist/components/autocomplete/autocomplete-content.js +1 -0
  42. package/dist/components/autocomplete/autocomplete-content.vue.d.ts +34 -0
  43. package/dist/components/autocomplete/autocomplete-group-label.js +1 -0
  44. package/dist/components/autocomplete/autocomplete-group-label.vue.d.ts +16 -0
  45. package/dist/components/autocomplete/autocomplete-group.js +1 -0
  46. package/dist/components/autocomplete/autocomplete-group.vue.d.ts +16 -0
  47. package/dist/components/autocomplete/autocomplete-input.js +1 -1
  48. package/dist/components/autocomplete/autocomplete-item-indicator.js +1 -0
  49. package/dist/components/autocomplete/autocomplete-item-indicator.vue.d.ts +16 -0
  50. package/dist/components/autocomplete/autocomplete-item.js +1 -0
  51. package/dist/components/autocomplete/autocomplete-item.vue.d.ts +22 -0
  52. package/dist/components/autocomplete/autocomplete-root.js +1 -1
  53. package/dist/components/autocomplete/autocomplete-root.vue.d.ts +1 -2
  54. package/dist/components/autocomplete/autocomplete-separator.js +1 -0
  55. package/dist/components/autocomplete/autocomplete-separator.vue.d.ts +16 -0
  56. package/dist/components/autocomplete/autocomplete-trigger.js +1 -0
  57. package/dist/components/autocomplete/autocomplete-trigger.vue.d.ts +20 -0
  58. package/dist/components/autocomplete/autocomplete-viewport.js +1 -0
  59. package/dist/components/autocomplete/autocomplete-viewport.vue.d.ts +16 -0
  60. package/dist/components/autocomplete/context.d.ts +2 -2
  61. package/dist/components/autocomplete/context.js +1 -1
  62. package/dist/components/autocomplete/index.d.ts +14 -17
  63. package/dist/components/autocomplete/index.js +1 -1
  64. package/dist/components/autocomplete/types.d.ts +69 -26
  65. package/dist/components/avatar/avatar-compact.js +1 -1
  66. package/dist/components/avatar/avatar-fallback.js +1 -1
  67. package/dist/components/avatar/avatar-image.js +1 -1
  68. package/dist/components/avatar/context.d.ts +2 -2
  69. package/dist/components/avatar/context.js +1 -1
  70. package/dist/components/avatar/types.d.ts +10 -11
  71. package/dist/components/backtop/backtop.js +1 -1
  72. package/dist/components/backtop/backtop.vue.d.ts +3 -3
  73. package/dist/components/backtop/types.d.ts +5 -6
  74. package/dist/components/badge/badge-compact.js +1 -1
  75. package/dist/components/badge/badge-root.js +1 -1
  76. package/dist/components/badge/context.d.ts +2 -2
  77. package/dist/components/badge/context.js +1 -1
  78. package/dist/components/badge/types.d.ts +9 -10
  79. package/dist/components/bottom-sheet/bottom-sheet-cancel.js +1 -0
  80. package/dist/components/bottom-sheet/bottom-sheet-cancel.vue.d.ts +20 -0
  81. package/dist/components/bottom-sheet/bottom-sheet-close.js +1 -0
  82. package/dist/components/bottom-sheet/bottom-sheet-close.vue.d.ts +20 -0
  83. package/dist/components/bottom-sheet/bottom-sheet-compact.js +1 -1
  84. package/dist/components/bottom-sheet/bottom-sheet-confirm.js +1 -0
  85. package/dist/components/bottom-sheet/bottom-sheet-confirm.vue.d.ts +20 -0
  86. package/dist/components/bottom-sheet/bottom-sheet-content.js +1 -0
  87. package/dist/components/bottom-sheet/bottom-sheet-content.vue.d.ts +16 -0
  88. package/dist/components/bottom-sheet/bottom-sheet-description.js +1 -0
  89. package/dist/components/bottom-sheet/bottom-sheet-description.vue.d.ts +16 -0
  90. package/dist/components/bottom-sheet/bottom-sheet-footer.js +1 -0
  91. package/dist/components/bottom-sheet/bottom-sheet-footer.vue.d.ts +16 -0
  92. package/dist/components/bottom-sheet/bottom-sheet-header.js +1 -0
  93. package/dist/components/bottom-sheet/bottom-sheet-header.vue.d.ts +16 -0
  94. package/dist/components/bottom-sheet/bottom-sheet-overlay.js +1 -1
  95. package/dist/components/bottom-sheet/bottom-sheet-popup.js +1 -1
  96. package/dist/components/bottom-sheet/bottom-sheet-root-nested.js +1 -1
  97. package/dist/components/bottom-sheet/bottom-sheet-root-nested.vue.d.ts +2 -2
  98. package/dist/components/bottom-sheet/bottom-sheet-root.js +1 -1
  99. package/dist/components/bottom-sheet/bottom-sheet-title.js +1 -0
  100. package/dist/components/bottom-sheet/bottom-sheet-title.vue.d.ts +16 -0
  101. package/dist/components/bottom-sheet/bottom-sheet-trigger.js +1 -0
  102. package/dist/components/bottom-sheet/bottom-sheet-trigger.vue.d.ts +20 -0
  103. package/dist/components/bottom-sheet/context.d.ts +2 -2
  104. package/dist/components/bottom-sheet/context.js +1 -1
  105. package/dist/components/bottom-sheet/index.d.ts +12 -12
  106. package/dist/components/bottom-sheet/index.js +1 -1
  107. package/dist/components/bottom-sheet/types.d.ts +66 -15
  108. package/dist/components/bottom-sheet/use-scale-background.js +1 -1
  109. package/dist/components/breadcrumb/breadcrumb-compact.js +1 -1
  110. package/dist/components/breadcrumb/breadcrumb-ellipsis.js +1 -1
  111. package/dist/components/breadcrumb/breadcrumb-root.js +1 -1
  112. package/dist/components/breadcrumb/context.d.ts +2 -2
  113. package/dist/components/breadcrumb/context.js +1 -1
  114. package/dist/components/breadcrumb/types.d.ts +16 -17
  115. package/dist/components/button/button-group.js +1 -1
  116. package/dist/components/button/button.js +1 -1
  117. package/dist/components/button/types.d.ts +5 -6
  118. package/dist/components/calendar/calendar-cell-trigger.js +1 -1
  119. package/dist/components/calendar/calendar-cell.js +1 -1
  120. package/dist/components/calendar/calendar-compact.js +1 -1
  121. package/dist/components/calendar/calendar-grid-body.js +1 -1
  122. package/dist/components/calendar/calendar-grid-head.js +1 -1
  123. package/dist/components/calendar/calendar-grid-row.js +1 -1
  124. package/dist/components/calendar/calendar-grid.js +1 -1
  125. package/dist/components/calendar/calendar-head-cell.js +1 -1
  126. package/dist/components/calendar/calendar-header.js +1 -1
  127. package/dist/components/calendar/calendar-heading.js +1 -1
  128. package/dist/components/calendar/calendar-next.js +1 -1
  129. package/dist/components/calendar/calendar-prev.js +1 -1
  130. package/dist/components/calendar/calendar-root.js +1 -1
  131. package/dist/components/calendar/context.d.ts +2 -2
  132. package/dist/components/calendar/context.js +1 -1
  133. package/dist/components/calendar/types.d.ts +26 -27
  134. package/dist/components/calendar/use-calendar.js +1 -1
  135. package/dist/components/calendar-range/calendar-range-cell-trigger.js +1 -1
  136. package/dist/components/calendar-range/calendar-range-cell.js +1 -1
  137. package/dist/components/calendar-range/calendar-range-compact.js +1 -1
  138. package/dist/components/calendar-range/calendar-range-grid-body.js +1 -1
  139. package/dist/components/calendar-range/calendar-range-grid-head.js +1 -1
  140. package/dist/components/calendar-range/calendar-range-grid-row.js +1 -1
  141. package/dist/components/calendar-range/calendar-range-grid.js +1 -1
  142. package/dist/components/calendar-range/calendar-range-head-cell.js +1 -1
  143. package/dist/components/calendar-range/calendar-range-header.js +1 -1
  144. package/dist/components/calendar-range/calendar-range-heading.js +1 -1
  145. package/dist/components/calendar-range/calendar-range-next.js +1 -1
  146. package/dist/components/calendar-range/calendar-range-prev.js +1 -1
  147. package/dist/components/calendar-range/calendar-range-root.js +1 -1
  148. package/dist/components/calendar-range/calendar-range-root.vue.d.ts +4 -4
  149. package/dist/components/calendar-range/context.d.ts +2 -2
  150. package/dist/components/calendar-range/context.js +1 -1
  151. package/dist/components/calendar-range/types.d.ts +25 -26
  152. package/dist/components/calendar-range/use-calendar-range.js +1 -1
  153. package/dist/components/card/card-collapsible-trigger.js +1 -1
  154. package/dist/components/card/card-compact.js +1 -1
  155. package/dist/components/card/card-root.js +1 -1
  156. package/dist/components/card/context.d.ts +2 -2
  157. package/dist/components/card/context.js +1 -1
  158. package/dist/components/card/types.d.ts +15 -16
  159. package/dist/components/carousel/carousel-compact.js +1 -1
  160. package/dist/components/carousel/carousel-next.js +1 -1
  161. package/dist/components/carousel/carousel-previous.js +1 -1
  162. package/dist/components/carousel/carousel-root.js +1 -1
  163. package/dist/components/carousel/context.d.ts +2 -2
  164. package/dist/components/carousel/context.js +1 -1
  165. package/dist/components/carousel/hooks.js +1 -1
  166. package/dist/components/carousel/types.d.ts +17 -17
  167. package/dist/components/cascader/cascader-clear.js +1 -1
  168. package/dist/components/cascader/cascader-compact.js +1 -1
  169. package/dist/components/cascader/cascader-compact.vue.d.ts +3 -3
  170. package/dist/components/cascader/cascader-content.js +1 -1
  171. package/dist/components/cascader/cascader-content.vue.d.ts +5 -5
  172. package/dist/components/cascader/cascader-menu.js +1 -1
  173. package/dist/components/cascader/cascader-menu.vue.d.ts +1 -1
  174. package/dist/components/cascader/cascader-option.js +1 -1
  175. package/dist/components/cascader/cascader-option.vue.d.ts +1 -1
  176. package/dist/components/cascader/cascader-root.js +1 -1
  177. package/dist/components/cascader/cascader-root.vue.d.ts +2 -2
  178. package/dist/components/cascader/cascader-search-input.js +1 -1
  179. package/dist/components/cascader/cascader-trigger.js +1 -1
  180. package/dist/components/cascader/context.d.ts +6 -5
  181. package/dist/components/cascader/context.js +1 -1
  182. package/dist/components/cascader/hooks.js +1 -1
  183. package/dist/components/cascader/types.d.ts +36 -37
  184. package/dist/components/checkbox/checkbox-card-compact.js +1 -1
  185. package/dist/components/checkbox/checkbox-card-group-compact.js +1 -1
  186. package/dist/components/checkbox/checkbox-compact.js +1 -1
  187. package/dist/components/checkbox/checkbox-control.js +1 -1
  188. package/dist/components/checkbox/checkbox-group-compact.js +1 -1
  189. package/dist/components/checkbox/checkbox-group-root.js +1 -1
  190. package/dist/components/checkbox/checkbox-indicator.js +1 -1
  191. package/dist/components/checkbox/checkbox-label.js +1 -1
  192. package/dist/components/checkbox/checkbox-root.js +1 -1
  193. package/dist/components/checkbox/checkbox-root.vue.d.ts +1 -1
  194. package/dist/components/checkbox/context.d.ts +2 -2
  195. package/dist/components/checkbox/context.js +1 -1
  196. package/dist/components/checkbox/types.d.ts +23 -22
  197. package/dist/components/clipboard/clipboard.js +1 -1
  198. package/dist/components/clipboard/types.d.ts +12 -7
  199. package/dist/components/collapsible/collapsible-content.js +1 -1
  200. package/dist/components/collapsible/collapsible-root.js +1 -1
  201. package/dist/components/collapsible/collapsible-root.vue.d.ts +1 -1
  202. package/dist/components/collapsible/collapsible-trigger.js +1 -1
  203. package/dist/components/collapsible/context.d.ts +1 -1
  204. package/dist/components/collapsible/context.js +1 -1
  205. package/dist/components/collapsible/types.d.ts +7 -8
  206. package/dist/components/color-area/color-area-area.js +1 -1
  207. package/dist/components/color-area/color-area-compact.js +1 -1
  208. package/dist/components/color-area/color-area-compact.vue.d.ts +2 -2
  209. package/dist/components/color-area/color-area-root.js +1 -1
  210. package/dist/components/color-area/color-area-root.vue.d.ts +3 -3
  211. package/dist/components/color-area/color-area-thumb.js +1 -1
  212. package/dist/components/color-area/context.d.ts +2 -2
  213. package/dist/components/color-area/context.js +1 -1
  214. package/dist/components/color-area/types.d.ts +10 -11
  215. package/dist/components/color-field/color-field-compact.js +1 -1
  216. package/dist/components/color-field/color-field-root.js +1 -1
  217. package/dist/components/color-field/color-field-root.vue.d.ts +1 -1
  218. package/dist/components/color-field/context.d.ts +2 -2
  219. package/dist/components/color-field/context.js +1 -1
  220. package/dist/components/color-field/types.d.ts +8 -9
  221. package/dist/components/color-picker/color-picker-compact.js +1 -1
  222. package/dist/components/color-picker/color-picker-compact.vue.d.ts +4 -2
  223. package/dist/components/color-picker/color-picker-root.js +1 -1
  224. package/dist/components/color-picker/color-picker-root.vue.d.ts +6 -6
  225. package/dist/components/color-picker/color-picker-trigger.js +1 -1
  226. package/dist/components/color-picker/context.d.ts +2 -2
  227. package/dist/components/color-picker/context.js +1 -1
  228. package/dist/components/color-picker/types.d.ts +13 -11
  229. package/dist/components/color-slider/color-slider-compact.js +1 -1
  230. package/dist/components/color-slider/color-slider-compact.vue.d.ts +2 -2
  231. package/dist/components/color-slider/color-slider-root.js +1 -1
  232. package/dist/components/color-slider/color-slider-root.vue.d.ts +5 -5
  233. package/dist/components/color-slider/color-slider-thumb.js +1 -1
  234. package/dist/components/color-slider/color-slider-track.js +1 -1
  235. package/dist/components/color-slider/context.d.ts +2 -2
  236. package/dist/components/color-slider/context.js +1 -1
  237. package/dist/components/color-slider/types.d.ts +9 -10
  238. package/dist/components/color-swatch/color-swatch-compact.js +1 -1
  239. package/dist/components/color-swatch/color-swatch-root.js +1 -1
  240. package/dist/components/color-swatch/context.d.ts +2 -2
  241. package/dist/components/color-swatch/context.js +1 -1
  242. package/dist/components/color-swatch/types.d.ts +10 -11
  243. package/dist/components/color-swatch-picker/color-swatch-picker-compact.js +1 -1
  244. package/dist/components/color-swatch-picker/color-swatch-picker-compact.vue.d.ts +2 -2
  245. package/dist/components/color-swatch-picker/color-swatch-picker-item-indicator.js +1 -1
  246. package/dist/components/color-swatch-picker/color-swatch-picker-item.js +1 -1
  247. package/dist/components/color-swatch-picker/color-swatch-picker-root.js +1 -1
  248. package/dist/components/color-swatch-picker/color-swatch-picker-root.vue.d.ts +2 -2
  249. package/dist/components/color-swatch-picker/context.d.ts +2 -2
  250. package/dist/components/color-swatch-picker/context.js +1 -1
  251. package/dist/components/color-swatch-picker/types.d.ts +14 -15
  252. package/dist/components/combobox/combobox-anchor.js +1 -0
  253. package/dist/components/combobox/combobox-anchor.vue.d.ts +16 -0
  254. package/dist/components/combobox/combobox-arrow.js +1 -1
  255. package/dist/components/combobox/combobox-cancel.js +1 -1
  256. package/dist/components/combobox/combobox-clear.js +1 -0
  257. package/dist/components/combobox/combobox-clear.vue.d.ts +19 -0
  258. package/dist/components/combobox/combobox-compact.js +1 -1
  259. package/dist/components/combobox/combobox-compact.vue.d.ts +3 -3
  260. package/dist/components/combobox/combobox-content-impl.js +1 -1
  261. package/dist/components/combobox/combobox-content.js +1 -1
  262. package/dist/components/combobox/combobox-empty.js +1 -1
  263. package/dist/components/combobox/combobox-group-label.js +1 -0
  264. package/dist/components/combobox/combobox-group-label.vue.d.ts +16 -0
  265. package/dist/components/combobox/combobox-input.js +1 -1
  266. package/dist/components/combobox/combobox-item-indicator.js +1 -0
  267. package/dist/components/combobox/combobox-item-indicator.vue.d.ts +16 -0
  268. package/dist/components/combobox/combobox-item.js +1 -1
  269. package/dist/components/combobox/combobox-root.js +1 -1
  270. package/dist/components/combobox/combobox-root.vue.d.ts +1 -1
  271. package/dist/components/combobox/combobox-separator.js +1 -1
  272. package/dist/components/combobox/combobox-trigger.js +1 -1
  273. package/dist/components/combobox/combobox-value.js +1 -0
  274. package/dist/components/combobox/combobox-value.vue.d.ts +29 -0
  275. package/dist/components/combobox/combobox-viewport.js +1 -1
  276. package/dist/components/combobox/combobox-virtualizer.js +1 -1
  277. package/dist/components/combobox/context.d.ts +2 -2
  278. package/dist/components/combobox/context.js +1 -1
  279. package/dist/components/combobox/index.d.ts +21 -19
  280. package/dist/components/combobox/index.js +1 -1
  281. package/dist/components/combobox/types.d.ts +81 -38
  282. package/dist/components/command/command-compact.js +1 -1
  283. package/dist/components/command/command-compact.vue.d.ts +1 -1
  284. package/dist/components/command/context.d.ts +2 -2
  285. package/dist/components/command/context.js +1 -1
  286. package/dist/components/command/index.d.ts +2 -2
  287. package/dist/components/command/types.d.ts +50 -19
  288. package/dist/components/config-provider/config-provider.js +1 -39
  289. package/dist/components/config-provider/context.js +1 -1
  290. package/dist/components/config-provider/types.d.ts +11 -4
  291. package/dist/components/context-menu/context-menu-checkbox-compact.js +1 -1
  292. package/dist/components/context-menu/context-menu-checkbox-compact.vue.d.ts +2 -2
  293. package/dist/components/context-menu/context-menu-compact.js +1 -1
  294. package/dist/components/context-menu/context-menu-compact.vue.d.ts +2 -2
  295. package/dist/components/context-menu/context-menu-content.js +1 -1
  296. package/dist/components/context-menu/context-menu-content.vue.d.ts +2 -2
  297. package/dist/components/context-menu/context-menu-radio-compact.js +1 -1
  298. package/dist/components/context-menu/context-menu-radio-compact.vue.d.ts +2 -2
  299. package/dist/components/context-menu/context-menu-root.js +1 -1
  300. package/dist/components/context-menu/context-menu-trigger.js +1 -1
  301. package/dist/components/context-menu/context-menu-trigger.vue.d.ts +2 -2
  302. package/dist/components/context-menu/context-menu-wrapper-compact.js +1 -1
  303. package/dist/components/context-menu/context-menu-wrapper-compact.vue.d.ts +2 -2
  304. package/dist/components/context-menu/context.js +1 -1
  305. package/dist/components/context-menu/index.d.ts +5 -6
  306. package/dist/components/context-menu/index.js +1 -1
  307. package/dist/components/context-menu/types.d.ts +19 -22
  308. package/dist/components/date-field/context.d.ts +2 -2
  309. package/dist/components/date-field/context.js +1 -1
  310. package/dist/components/date-field/date-field-compact.js +1 -1
  311. package/dist/components/date-field/date-field-input.js +1 -1
  312. package/dist/components/date-field/date-field-root.js +1 -1
  313. package/dist/components/date-field/date-field-root.vue.d.ts +1 -1
  314. package/dist/components/date-field/types.d.ts +11 -12
  315. package/dist/components/date-picker/context.d.ts +2 -2
  316. package/dist/components/date-picker/context.js +1 -1
  317. package/dist/components/date-picker/date-picker-compact.js +1 -1
  318. package/dist/components/date-picker/date-picker-compact.vue.d.ts +2 -0
  319. package/dist/components/date-picker/types.d.ts +7 -8
  320. package/dist/components/date-range-field/context.d.ts +2 -2
  321. package/dist/components/date-range-field/context.js +1 -1
  322. package/dist/components/date-range-field/date-range-field-compact.js +1 -1
  323. package/dist/components/date-range-field/date-range-field-input.js +1 -1
  324. package/dist/components/date-range-field/date-range-field-root.js +1 -1
  325. package/dist/components/date-range-field/date-range-field-root.vue.d.ts +1 -1
  326. package/dist/components/date-range-field/types.d.ts +12 -13
  327. package/dist/components/date-range-picker/context.d.ts +2 -2
  328. package/dist/components/date-range-picker/context.js +1 -1
  329. package/dist/components/date-range-picker/date-range-picker-compact.js +1 -1
  330. package/dist/components/date-range-picker/date-range-picker-compact.vue.d.ts +2 -0
  331. package/dist/components/date-range-picker/types.d.ts +7 -7
  332. package/dist/components/dialog/context.d.ts +2 -2
  333. package/dist/components/dialog/context.js +1 -1
  334. package/dist/components/dialog/dialog-close.js +1 -1
  335. package/dist/components/dialog/dialog-compact.js +1 -1
  336. package/dist/components/dialog/dialog-compact.vue.d.ts +10 -10
  337. package/dist/components/dialog/dialog-fullscreen.js +1 -1
  338. package/dist/components/dialog/dialog-overlay.js +1 -1
  339. package/dist/components/dialog/dialog-popup-impl.js +1 -1
  340. package/dist/components/dialog/dialog-popup.js +1 -1
  341. package/dist/components/dialog/dialog-root.js +1 -1
  342. package/dist/components/dialog/state.d.ts +2 -3
  343. package/dist/components/dialog/state.js +1 -1
  344. package/dist/components/dialog/types.d.ts +34 -34
  345. package/dist/components/dropdown-menu/context.js +1 -1
  346. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.js +1 -1
  347. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.vue.d.ts +2 -2
  348. package/dist/components/dropdown-menu/dropdown-menu-compact.js +1 -1
  349. package/dist/components/dropdown-menu/dropdown-menu-compact.vue.d.ts +2 -2
  350. package/dist/components/dropdown-menu/dropdown-menu-content.js +1 -1
  351. package/dist/components/dropdown-menu/dropdown-menu-content.vue.d.ts +2 -2
  352. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.js +1 -1
  353. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.vue.d.ts +2 -2
  354. package/dist/components/dropdown-menu/dropdown-menu-root.js +1 -1
  355. package/dist/components/dropdown-menu/dropdown-menu-trigger.js +1 -1
  356. package/dist/components/dropdown-menu/dropdown-menu-trigger.vue.d.ts +2 -2
  357. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.js +1 -1
  358. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.vue.d.ts +2 -2
  359. package/dist/components/dropdown-menu/index.d.ts +5 -6
  360. package/dist/components/dropdown-menu/index.js +1 -1
  361. package/dist/components/dropdown-menu/types.d.ts +21 -23
  362. package/dist/components/editable/context.d.ts +2 -2
  363. package/dist/components/editable/context.js +1 -1
  364. package/dist/components/editable/editable-area.js +1 -1
  365. package/dist/components/editable/editable-cancel-trigger.js +1 -1
  366. package/dist/components/editable/editable-compact.js +1 -1
  367. package/dist/components/editable/editable-edit-trigger.js +1 -1
  368. package/dist/components/editable/editable-input.js +1 -1
  369. package/dist/components/editable/editable-preview.js +1 -1
  370. package/dist/components/editable/editable-root.js +1 -1
  371. package/dist/components/editable/editable-root.vue.d.ts +1 -1
  372. package/dist/components/editable/editable-submit-trigger.js +1 -1
  373. package/dist/components/editable/types.d.ts +20 -21
  374. package/dist/components/empty/context.d.ts +2 -2
  375. package/dist/components/empty/context.js +1 -1
  376. package/dist/components/empty/empty-compact.js +1 -1
  377. package/dist/components/empty/types.d.ts +11 -12
  378. package/dist/components/form/context.d.ts +2 -2
  379. package/dist/components/form/context.js +1 -1
  380. package/dist/components/form/core/shared.js +1 -1
  381. package/dist/components/form/core/types.d.ts +22 -23
  382. package/dist/components/form/core/use-field-array.js +1 -1
  383. package/dist/components/form/core/use-form-state.js +1 -1
  384. package/dist/components/form/core/use-form.js +1 -1
  385. package/dist/components/form/form-compact.js +1 -1
  386. package/dist/components/form/form-field-array-compact.js +1 -1
  387. package/dist/components/form/form-field-base-compact.js +1 -1
  388. package/dist/components/form/form-field-compact.js +1 -1
  389. package/dist/components/form/form-label.js +1 -1
  390. package/dist/components/form/types.d.ts +20 -21
  391. package/dist/components/form/use-form.d.ts +2 -3
  392. package/dist/components/hover-card/context.d.ts +10 -0
  393. package/dist/components/hover-card/context.js +1 -1
  394. package/dist/components/hover-card/hover-card-compact.js +1 -1
  395. package/dist/components/hover-card/hover-card-compact.vue.d.ts +3 -2
  396. package/dist/components/hover-card/hover-card-popup.js +1 -1
  397. package/dist/components/hover-card/hover-card-popup.vue.d.ts +2 -2
  398. package/dist/components/hover-card/hover-card-positioner.js +1 -1
  399. package/dist/components/hover-card/hover-card-root.js +1 -1
  400. package/dist/components/hover-card/hover-card-root.vue.d.ts +10 -4
  401. package/dist/components/hover-card/hover-card-trigger.js +1 -1
  402. package/dist/components/hover-card/hover-card-trigger.vue.d.ts +2 -2
  403. package/dist/components/hover-card/index.d.ts +5 -5
  404. package/dist/components/hover-card/index.js +1 -1
  405. package/dist/components/hover-card/types.d.ts +16 -17
  406. package/dist/components/input/context.d.ts +2 -2
  407. package/dist/components/input/context.js +1 -1
  408. package/dist/components/input/input-clear.js +1 -1
  409. package/dist/components/input/input-compact.js +1 -1
  410. package/dist/components/input/input-root.js +1 -1
  411. package/dist/components/input/types.d.ts +13 -14
  412. package/dist/components/input-number/context.d.ts +2 -2
  413. package/dist/components/input-number/context.js +1 -1
  414. package/dist/components/input-number/input-number-clear.js +1 -1
  415. package/dist/components/input-number/input-number-compact.js +1 -1
  416. package/dist/components/input-number/input-number-control.js +1 -1
  417. package/dist/components/input-number/input-number-decrement.js +1 -1
  418. package/dist/components/input-number/input-number-increment.js +1 -1
  419. package/dist/components/input-number/input-number-root.js +1 -1
  420. package/dist/components/input-number/input-number-root.vue.d.ts +1 -1
  421. package/dist/components/input-number/shared.js +1 -1
  422. package/dist/components/input-number/types.d.ts +13 -14
  423. package/dist/components/input-otp/context.d.ts +2 -2
  424. package/dist/components/input-otp/context.js +1 -1
  425. package/dist/components/input-otp/input-otp-compact.js +1 -1
  426. package/dist/components/input-otp/input-otp-compact.vue.d.ts +4 -4
  427. package/dist/components/input-otp/input-otp-input.js +1 -1
  428. package/dist/components/input-otp/input-otp-root.js +1 -1
  429. package/dist/components/input-otp/input-otp-root.vue.d.ts +4 -4
  430. package/dist/components/input-otp/types.d.ts +15 -16
  431. package/dist/components/kbd/kbd.js +1 -1
  432. package/dist/components/kbd/types.d.ts +3 -4
  433. package/dist/components/label/types.d.ts +2 -3
  434. package/dist/components/layout/context.d.ts +2 -2
  435. package/dist/components/layout/context.js +1 -1
  436. package/dist/components/layout/layout-compact.js +1 -1
  437. package/dist/components/layout/layout-mobile.js +1 -1
  438. package/dist/components/layout/layout-rail.js +1 -1
  439. package/dist/components/layout/layout-root.js +1 -1
  440. package/dist/components/layout/layout-root.vue.d.ts +1 -1
  441. package/dist/components/layout/layout-trigger.js +1 -1
  442. package/dist/components/layout/types.d.ts +22 -23
  443. package/dist/components/link/link.js +1 -1
  444. package/dist/components/link/link.vue.d.ts +1 -1
  445. package/dist/components/link/types.d.ts +5 -6
  446. package/dist/components/list/context.d.ts +2 -2
  447. package/dist/components/list/context.js +1 -1
  448. package/dist/components/list/types.d.ts +8 -9
  449. package/dist/components/listbox/context.d.ts +2 -2
  450. package/dist/components/listbox/context.js +1 -1
  451. package/dist/components/listbox/index.js +1 -1
  452. package/dist/components/listbox/listbox-content.js +1 -1
  453. package/dist/components/listbox/listbox-filter.js +1 -1
  454. package/dist/components/listbox/listbox-item-indicator.js +1 -1
  455. package/dist/components/listbox/listbox-item.js +1 -1
  456. package/dist/components/listbox/listbox-root.js +1 -1
  457. package/dist/components/listbox/listbox-root.vue.d.ts +1 -1
  458. package/dist/components/listbox/listbox-virtualizer.js +1 -1
  459. package/dist/components/listbox/types.d.ts +18 -19
  460. package/dist/components/menu/context.d.ts +2 -2
  461. package/dist/components/menu/context.js +1 -1
  462. package/dist/components/menu/hooks.js +1 -1
  463. package/dist/components/menu/index.d.ts +6 -6
  464. package/dist/components/menu/index.js +1 -1
  465. package/dist/components/menu/menu-checkbox-group.js +1 -1
  466. package/dist/components/menu/menu-checkbox-item.js +1 -1
  467. package/dist/components/menu/menu-checkbox-options-compact.js +1 -1
  468. package/dist/components/menu/menu-content-impl.js +1 -1
  469. package/dist/components/menu/menu-content.js +1 -1
  470. package/dist/components/menu/menu-content.vue.d.ts +2 -2
  471. package/dist/components/menu/menu-group.js +1 -1
  472. package/dist/components/menu/menu-item-impl.js +1 -1
  473. package/dist/components/menu/menu-item-indicator.js +1 -1
  474. package/dist/components/menu/menu-item.js +1 -1
  475. package/dist/components/menu/menu-option-compact.js +1 -1
  476. package/dist/components/menu/menu-option-compact.vue.d.ts +2 -2
  477. package/dist/components/menu/menu-options-compact.js +1 -1
  478. package/dist/components/menu/menu-options-compact.vue.d.ts +2 -2
  479. package/dist/components/menu/menu-radio-group.js +1 -1
  480. package/dist/components/menu/menu-radio-item.js +1 -1
  481. package/dist/components/menu/menu-radio-options-compact.js +1 -1
  482. package/dist/components/menu/menu-root.js +1 -1
  483. package/dist/components/menu/menu-root.vue.d.ts +9 -2
  484. package/dist/components/menu/menu-sub-content.js +1 -1
  485. package/dist/components/menu/menu-sub-content.vue.d.ts +2 -2
  486. package/dist/components/menu/menu-sub-trigger.js +1 -1
  487. package/dist/components/menu/menu-sub.js +1 -1
  488. package/dist/components/menu/menu-sub.vue.d.ts +2 -2
  489. package/dist/components/menu/shared.js +1 -1
  490. package/dist/components/menu/types.d.ts +53 -53
  491. package/dist/components/menubar/context.d.ts +2 -2
  492. package/dist/components/menubar/context.js +1 -1
  493. package/dist/components/menubar/index.d.ts +1 -1
  494. package/dist/components/menubar/index.js +1 -1
  495. package/dist/components/menubar/menubar-compact.js +1 -1
  496. package/dist/components/menubar/menubar-compact.vue.d.ts +2 -2
  497. package/dist/components/menubar/menubar-content.js +1 -1
  498. package/dist/components/menubar/menubar-content.vue.d.ts +2 -2
  499. package/dist/components/menubar/menubar-menu.js +1 -1
  500. package/dist/components/menubar/menubar-menus.js +1 -1
  501. package/dist/components/menubar/menubar-root.js +1 -1
  502. package/dist/components/menubar/menubar-root.vue.d.ts +3 -3
  503. package/dist/components/menubar/menubar-sub-content.js +1 -1
  504. package/dist/components/menubar/menubar-sub-content.vue.d.ts +2 -2
  505. package/dist/components/menubar/menubar-sub-trigger.js +1 -1
  506. package/dist/components/menubar/menubar-trigger.js +1 -1
  507. package/dist/components/menubar/menubar-trigger.vue.d.ts +2 -2
  508. package/dist/components/menubar/types.d.ts +18 -20
  509. package/dist/components/nav-menu/context.d.ts +9 -0
  510. package/dist/components/nav-menu/context.js +1 -0
  511. package/dist/components/nav-menu/index.d.ts +13 -0
  512. package/dist/components/nav-menu/index.js +1 -0
  513. package/dist/components/nav-menu/nav-menu-compact.js +1 -0
  514. package/dist/components/nav-menu/nav-menu-compact.vue.d.ts +23 -0
  515. package/dist/components/nav-menu/nav-menu-content.js +1 -0
  516. package/dist/components/nav-menu/nav-menu-content.vue.d.ts +16 -0
  517. package/dist/components/nav-menu/nav-menu-item.js +1 -0
  518. package/dist/components/nav-menu/nav-menu-item.vue.d.ts +16 -0
  519. package/dist/components/nav-menu/nav-menu-link.js +1 -0
  520. package/dist/components/nav-menu/nav-menu-link.vue.d.ts +28 -0
  521. package/dist/components/nav-menu/nav-menu-list.js +1 -0
  522. package/dist/components/nav-menu/nav-menu-list.vue.d.ts +16 -0
  523. package/dist/components/nav-menu/nav-menu-option-compact.js +1 -0
  524. package/dist/components/nav-menu/nav-menu-root.js +1 -0
  525. package/dist/components/nav-menu/nav-menu-root.vue.d.ts +28 -0
  526. package/dist/components/nav-menu/nav-menu-sub-content.js +1 -0
  527. package/dist/components/nav-menu/nav-menu-sub-content.vue.d.ts +18 -0
  528. package/dist/components/nav-menu/nav-menu-sub-option-compact.js +1 -0
  529. package/dist/components/nav-menu/nav-menu-sub-trigger.js +1 -0
  530. package/dist/components/nav-menu/nav-menu-sub-trigger.vue.d.ts +20 -0
  531. package/dist/components/nav-menu/nav-menu-trigger.js +1 -0
  532. package/dist/components/nav-menu/nav-menu-trigger.vue.d.ts +20 -0
  533. package/dist/components/nav-menu/nav-menu-viewport.js +1 -0
  534. package/dist/components/nav-menu/nav-menu-viewport.vue.d.ts +21 -0
  535. package/dist/components/nav-menu/shared.js +1 -0
  536. package/dist/components/nav-menu/types.d.ts +219 -0
  537. package/dist/components/navigation-menu/context.d.ts +2 -2
  538. package/dist/components/navigation-menu/context.js +1 -1
  539. package/dist/components/navigation-menu/navigation-menu-compact.js +1 -1
  540. package/dist/components/navigation-menu/navigation-menu-content-impl.js +1 -1
  541. package/dist/components/navigation-menu/navigation-menu-content.js +1 -1
  542. package/dist/components/navigation-menu/navigation-menu-indicator.js +1 -1
  543. package/dist/components/navigation-menu/navigation-menu-item.js +1 -1
  544. package/dist/components/navigation-menu/navigation-menu-link.js +1 -1
  545. package/dist/components/navigation-menu/navigation-menu-option-compact.js +1 -1
  546. package/dist/components/navigation-menu/navigation-menu-root.js +1 -1
  547. package/dist/components/navigation-menu/navigation-menu-root.vue.d.ts +1 -1
  548. package/dist/components/navigation-menu/navigation-menu-sub-option-compact.js +1 -1
  549. package/dist/components/navigation-menu/navigation-menu-trigger.js +1 -1
  550. package/dist/components/navigation-menu/navigation-menu-viewport.js +1 -1
  551. package/dist/components/navigation-menu/types.d.ts +81 -30
  552. package/dist/components/page-tabs/context.d.ts +2 -2
  553. package/dist/components/page-tabs/context.js +1 -1
  554. package/dist/components/page-tabs/hooks.js +1 -1
  555. package/dist/components/page-tabs/page-tabs-close.js +1 -1
  556. package/dist/components/page-tabs/page-tabs-compact.js +1 -1
  557. package/dist/components/page-tabs/page-tabs-compact.vue.d.ts +3 -3
  558. package/dist/components/page-tabs/page-tabs-item.js +1 -1
  559. package/dist/components/page-tabs/page-tabs-item.vue.d.ts +6 -6
  560. package/dist/components/page-tabs/page-tabs-pin.js +1 -1
  561. package/dist/components/page-tabs/page-tabs-root.js +1 -1
  562. package/dist/components/page-tabs/page-tabs-root.vue.d.ts +2 -2
  563. package/dist/components/page-tabs/types.d.ts +22 -21
  564. package/dist/components/pagination/context.d.ts +2 -2
  565. package/dist/components/pagination/context.js +1 -1
  566. package/dist/components/pagination/pagination-compact.js +1 -1
  567. package/dist/components/pagination/pagination-ellipsis.js +1 -1
  568. package/dist/components/pagination/pagination-first.js +1 -1
  569. package/dist/components/pagination/pagination-last.js +1 -1
  570. package/dist/components/pagination/pagination-list-item.js +1 -1
  571. package/dist/components/pagination/pagination-next.js +1 -1
  572. package/dist/components/pagination/pagination-prev.js +1 -1
  573. package/dist/components/pagination/pagination-root.js +1 -1
  574. package/dist/components/pagination/pagination-root.vue.d.ts +2 -2
  575. package/dist/components/pagination/types.d.ts +15 -16
  576. package/dist/components/password/context.d.ts +2 -2
  577. package/dist/components/password/context.js +1 -1
  578. package/dist/components/password/password-compact.js +1 -1
  579. package/dist/components/password/types.d.ts +7 -8
  580. package/dist/components/popconfirm/context.d.ts +2 -2
  581. package/dist/components/popconfirm/context.js +1 -1
  582. package/dist/components/popconfirm/index.d.ts +20 -20
  583. package/dist/components/popconfirm/index.js +1 -1
  584. package/dist/components/popconfirm/popconfirm-anchor.js +1 -0
  585. package/dist/components/popconfirm/popconfirm-anchor.vue.d.ts +16 -0
  586. package/dist/components/popconfirm/popconfirm-cancel.js +1 -1
  587. package/dist/components/popconfirm/popconfirm-close.js +1 -0
  588. package/dist/components/popconfirm/popconfirm-close.vue.d.ts +20 -0
  589. package/dist/components/popconfirm/popconfirm-compact.js +1 -1
  590. package/dist/components/popconfirm/popconfirm-compact.vue.d.ts +5 -2
  591. package/dist/components/popconfirm/popconfirm-confirm.js +1 -1
  592. package/dist/components/popconfirm/popconfirm-popup.js +1 -0
  593. package/dist/components/popconfirm/popconfirm-popup.vue.d.ts +16 -0
  594. package/dist/components/popconfirm/popconfirm-positioner.js +1 -0
  595. package/dist/components/popconfirm/popconfirm-positioner.vue.d.ts +37 -0
  596. package/dist/components/popconfirm/popconfirm-root.js +1 -0
  597. package/dist/components/popconfirm/popconfirm-root.vue.d.ts +28 -0
  598. package/dist/components/popconfirm/popconfirm-trigger.js +1 -0
  599. package/dist/components/popconfirm/popconfirm-trigger.vue.d.ts +16 -0
  600. package/dist/components/popconfirm/shared.js +1 -0
  601. package/dist/components/popconfirm/types.d.ts +64 -25
  602. package/dist/components/popover/context.d.ts +2 -3
  603. package/dist/components/popover/context.js +1 -1
  604. package/dist/components/popover/index.d.ts +6 -6
  605. package/dist/components/popover/index.js +1 -1
  606. package/dist/components/popover/popover-anchor.js +1 -1
  607. package/dist/components/popover/popover-close.js +1 -1
  608. package/dist/components/popover/popover-compact.js +1 -1
  609. package/dist/components/popover/popover-compact.vue.d.ts +2 -0
  610. package/dist/components/popover/popover-popup.js +1 -1
  611. package/dist/components/popover/popover-positioner.js +1 -1
  612. package/dist/components/popover/popover-positioner.vue.d.ts +5 -6
  613. package/dist/components/popover/popover-root.js +1 -1
  614. package/dist/components/popover/popover-root.vue.d.ts +9 -5
  615. package/dist/components/popover/popover-trigger.js +1 -1
  616. package/dist/components/popover/popover-trigger.vue.d.ts +2 -2
  617. package/dist/components/popover/types.d.ts +17 -29
  618. package/dist/components/popper/context.d.ts +8 -5
  619. package/dist/components/popper/context.js +1 -1
  620. package/dist/components/popper/index.d.ts +17 -6
  621. package/dist/components/popper/index.js +1 -1
  622. package/dist/components/popper/popper-anchor.js +1 -1
  623. package/dist/components/popper/popper-arrow.js +1 -1
  624. package/dist/components/popper/popper-compact.js +1 -0
  625. package/dist/components/popper/popper-compact.vue.d.ts +40 -0
  626. package/dist/components/popper/popper-popup.js +1 -1
  627. package/dist/components/popper/popper-portal.js +1 -0
  628. package/dist/components/popper/popper-portal.vue.d.ts +16 -0
  629. package/dist/components/popper/popper-positioner-impl.js +1 -0
  630. package/dist/components/popper/popper-positioner-impl.vue.d.ts +247 -0
  631. package/dist/components/popper/popper-positioner.js +1 -1
  632. package/dist/components/popper/popper-positioner.vue.d.ts +15 -209
  633. package/dist/components/popper/popper-positioning-popup.js +1 -0
  634. package/dist/components/popper/popper-positioning-popup.vue.d.ts +16 -0
  635. package/dist/components/popper/popper-positioning-positioner.js +1 -0
  636. package/dist/components/popper/popper-positioning-positioner.vue.d.ts +231 -0
  637. package/dist/components/popper/popper-positioning-root.js +1 -0
  638. package/dist/components/popper/popper-positioning-root.vue.d.ts +16 -0
  639. package/dist/components/popper/popper-root.js +1 -1
  640. package/dist/components/popper/popper-root.vue.d.ts +12 -6
  641. package/dist/components/popper/popper-sub-trigger.js +1 -0
  642. package/dist/components/popper/popper-sub-trigger.vue.d.ts +22 -0
  643. package/dist/components/popper/popper-sub.js +1 -0
  644. package/dist/components/popper/popper-sub.vue.d.ts +21 -0
  645. package/dist/components/popper/popper-trigger.js +1 -0
  646. package/dist/components/popper/popper-trigger.vue.d.ts +23 -0
  647. package/dist/components/popper/shared.d.ts +10 -0
  648. package/dist/components/popper/shared.js +1 -1
  649. package/dist/components/popper/types.d.ts +357 -30
  650. package/dist/components/popper/use-popper-dismiss.js +1 -0
  651. package/dist/components/popper/use-popper-nesting.js +1 -0
  652. package/dist/components/popper/use-popper-positioning.js +1 -0
  653. package/dist/components/popper/use-popper-trigger.js +1 -0
  654. package/dist/components/popper/use-virtual-point-reference.d.ts +28 -0
  655. package/dist/components/popper/use-virtual-point-reference.js +1 -0
  656. package/dist/components/portal/types.d.ts +2 -3
  657. package/dist/components/primitive/primitive.d.ts +2 -3
  658. package/dist/components/primitive/primitive.js +1 -1
  659. package/dist/components/primitive/types.d.ts +4 -5
  660. package/dist/components/progress/context.d.ts +2 -2
  661. package/dist/components/progress/context.js +1 -1
  662. package/dist/components/progress/progress-circle-compact.js +1 -1
  663. package/dist/components/progress/progress-compact.js +1 -1
  664. package/dist/components/progress/progress-indicator.js +1 -1
  665. package/dist/components/progress/progress-provider.js +1 -1
  666. package/dist/components/progress/progress-root.js +1 -1
  667. package/dist/components/progress/shared.js +1 -1
  668. package/dist/components/progress/state.d.ts +2 -3
  669. package/dist/components/progress/state.js +1 -1
  670. package/dist/components/progress/types.d.ts +18 -19
  671. package/dist/components/radio-group/context.d.ts +2 -2
  672. package/dist/components/radio-group/context.js +1 -1
  673. package/dist/components/radio-group/radio-group-card-compact.js +1 -1
  674. package/dist/components/radio-group/radio-group-compact.js +1 -1
  675. package/dist/components/radio-group/radio-group-control.js +1 -1
  676. package/dist/components/radio-group/radio-group-control.vue.d.ts +2 -2
  677. package/dist/components/radio-group/radio-group-indicator.js +1 -1
  678. package/dist/components/radio-group/radio-group-item.js +1 -1
  679. package/dist/components/radio-group/radio-group-label.js +1 -1
  680. package/dist/components/radio-group/radio-group-root.js +1 -1
  681. package/dist/components/radio-group/types.d.ts +19 -19
  682. package/dist/components/rating/context.js +1 -1
  683. package/dist/components/rating/rating-item.js +1 -1
  684. package/dist/components/rating/rating-root.js +1 -1
  685. package/dist/components/rating/rating-root.vue.d.ts +3 -3
  686. package/dist/components/rating/shared.js +1 -1
  687. package/dist/components/rating/types.d.ts +8 -9
  688. package/dist/components/scroll-area/context.d.ts +2 -2
  689. package/dist/components/scroll-area/context.js +1 -1
  690. package/dist/components/scroll-area/scroll-area-compact.js +1 -1
  691. package/dist/components/scroll-area/scroll-area-corner.js +1 -1
  692. package/dist/components/scroll-area/scroll-area-root.js +1 -1
  693. package/dist/components/scroll-area/scroll-area-scrollbar.js +1 -1
  694. package/dist/components/scroll-area/scroll-area-thumb.js +1 -1
  695. package/dist/components/scroll-area/scroll-area-viewport.js +1 -1
  696. package/dist/components/scroll-area/types.d.ts +15 -16
  697. package/dist/components/segment/context.d.ts +9 -0
  698. package/dist/components/segment/context.js +1 -0
  699. package/dist/components/segment/index.d.ts +8 -8
  700. package/dist/components/segment/index.js +1 -1
  701. package/dist/components/segment/segment-compact.js +1 -1
  702. package/dist/components/segment/segment-indicator.js +1 -0
  703. package/dist/components/segment/segment-indicator.vue.d.ts +16 -0
  704. package/dist/components/segment/segment-list.js +1 -0
  705. package/dist/components/segment/segment-list.vue.d.ts +16 -0
  706. package/dist/components/segment/segment-root.js +1 -0
  707. package/dist/components/segment/segment-root.vue.d.ts +25 -0
  708. package/dist/components/segment/segment-trigger.js +1 -0
  709. package/dist/components/segment/segment-trigger.vue.d.ts +18 -0
  710. package/dist/components/segment/types.d.ts +30 -10
  711. package/dist/components/select/context.d.ts +2 -2
  712. package/dist/components/select/context.js +1 -1
  713. package/dist/components/select/index.d.ts +20 -19
  714. package/dist/components/select/index.js +1 -1
  715. package/dist/components/select/select-arrow.js +1 -1
  716. package/dist/components/select/select-bubble-select.js +1 -1
  717. package/dist/components/select/select-clear.js +1 -0
  718. package/dist/components/select/select-clear.vue.d.ts +16 -0
  719. package/dist/components/select/select-compact.js +1 -1
  720. package/dist/components/select/select-content-impl.js +1 -1
  721. package/dist/components/select/select-content.js +1 -1
  722. package/dist/components/select/select-item-aligned-popup.js +1 -1
  723. package/dist/components/select/select-item-aligned-positioner.js +1 -1
  724. package/dist/components/select/select-item-indicator.js +1 -1
  725. package/dist/components/select/select-item-text.js +1 -1
  726. package/dist/components/select/select-item.js +1 -1
  727. package/dist/components/select/select-popper-popup.js +1 -1
  728. package/dist/components/select/select-root.js +1 -1
  729. package/dist/components/select/select-scroll-button-impl.js +1 -1
  730. package/dist/components/select/select-scroll-down-button.js +1 -1
  731. package/dist/components/select/select-scroll-up-button.js +1 -1
  732. package/dist/components/select/select-trigger.js +1 -1
  733. package/dist/components/select/select-value.js +1 -1
  734. package/dist/components/select/select-viewport.js +1 -1
  735. package/dist/components/select/shared.js +1 -1
  736. package/dist/components/select/types.d.ts +58 -37
  737. package/dist/components/separator/context.d.ts +2 -2
  738. package/dist/components/separator/context.js +1 -1
  739. package/dist/components/separator/separator-compact.js +1 -1
  740. package/dist/components/separator/types.d.ts +7 -8
  741. package/dist/components/skeleton/skeleton.js +1 -1
  742. package/dist/components/skeleton/types.d.ts +2 -3
  743. package/dist/components/slider/context.d.ts +2 -2
  744. package/dist/components/slider/context.js +1 -1
  745. package/dist/components/slider/shared.js +1 -1
  746. package/dist/components/slider/slider-compact.js +1 -1
  747. package/dist/components/slider/slider-range.js +1 -1
  748. package/dist/components/slider/slider-root.js +1 -1
  749. package/dist/components/slider/slider-root.vue.d.ts +4 -4
  750. package/dist/components/slider/slider-thumb.js +1 -1
  751. package/dist/components/slider/slider-track.js +1 -1
  752. package/dist/components/slider/types.d.ts +16 -17
  753. package/dist/components/slot/slot.d.ts +2 -3
  754. package/dist/components/slot/slot.js +1 -1
  755. package/dist/components/split-nav/context.d.ts +9 -0
  756. package/dist/components/split-nav/context.js +1 -0
  757. package/dist/components/split-nav/dual-vertical-pane.js +1 -0
  758. package/dist/components/split-nav/first-level-item.js +1 -0
  759. package/dist/components/split-nav/first-level-menu.js +1 -0
  760. package/dist/components/split-nav/hooks.js +1 -0
  761. package/dist/components/split-nav/horizontal-dual-vertical-menu.js +1 -0
  762. package/dist/components/split-nav/horizontal-first-level-menu.js +1 -0
  763. package/dist/components/split-nav/horizontal-vertical-menu.js +1 -0
  764. package/dist/components/split-nav/index.d.ts +4 -0
  765. package/dist/components/split-nav/index.js +1 -0
  766. package/dist/components/split-nav/shared.js +1 -0
  767. package/dist/components/split-nav/split-nav-root.js +1 -0
  768. package/dist/components/split-nav/split-nav-root.vue.d.ts +22 -0
  769. package/dist/components/split-nav/types.d.ts +187 -0
  770. package/dist/components/split-nav/vertical-first-level-menu.js +1 -0
  771. package/dist/components/split-nav/vertical-horizontal-menu.js +1 -0
  772. package/dist/components/splitter/context.d.ts +2 -2
  773. package/dist/components/splitter/context.js +1 -1
  774. package/dist/components/splitter/shared.js +1 -1
  775. package/dist/components/splitter/splitter-group.js +1 -1
  776. package/dist/components/splitter/splitter-panel.js +1 -1
  777. package/dist/components/splitter/splitter-resize-handle.js +1 -1
  778. package/dist/components/splitter/splitter-resize-handle.vue.d.ts +1 -1
  779. package/dist/components/splitter/types.d.ts +13 -14
  780. package/dist/components/stepper/context.d.ts +2 -2
  781. package/dist/components/stepper/context.js +1 -1
  782. package/dist/components/stepper/stepper-compact.js +1 -1
  783. package/dist/components/stepper/stepper-description.js +1 -1
  784. package/dist/components/stepper/stepper-indicator.js +1 -1
  785. package/dist/components/stepper/stepper-item.js +1 -1
  786. package/dist/components/stepper/stepper-root.js +1 -1
  787. package/dist/components/stepper/stepper-root.vue.d.ts +1 -1
  788. package/dist/components/stepper/stepper-separator.js +1 -1
  789. package/dist/components/stepper/stepper-title.js +1 -1
  790. package/dist/components/stepper/stepper-trigger.js +1 -1
  791. package/dist/components/stepper/types.d.ts +16 -17
  792. package/dist/components/switch/context.d.ts +2 -2
  793. package/dist/components/switch/context.js +1 -1
  794. package/dist/components/switch/switch-compact.js +1 -1
  795. package/dist/components/switch/switch-control.js +1 -1
  796. package/dist/components/switch/switch-root.js +1 -1
  797. package/dist/components/switch/switch-thumb.js +1 -1
  798. package/dist/components/switch/types.d.ts +12 -13
  799. package/dist/components/table/context.d.ts +2 -2
  800. package/dist/components/table/context.js +1 -1
  801. package/dist/components/table/hooks.js +1 -1
  802. package/dist/components/table/shared.d.ts +28 -29
  803. package/dist/components/table/shared.js +1 -1
  804. package/dist/components/table/table-compact-cell.js +1 -1
  805. package/dist/components/table/table-compact-head.js +1 -1
  806. package/dist/components/table/table-compact-row.js +1 -1
  807. package/dist/components/table/table-compact.js +1 -1
  808. package/dist/components/table/types.d.ts +64 -65
  809. package/dist/components/tabs/context.d.ts +2 -2
  810. package/dist/components/tabs/context.js +1 -1
  811. package/dist/components/tabs/tabs-compact.js +1 -1
  812. package/dist/components/tabs/tabs-content.js +1 -1
  813. package/dist/components/tabs/tabs-content.vue.d.ts +1 -1
  814. package/dist/components/tabs/tabs-indicator.js +1 -1
  815. package/dist/components/tabs/tabs-list.js +1 -1
  816. package/dist/components/tabs/tabs-list.vue.d.ts +2 -2
  817. package/dist/components/tabs/tabs-root.js +1 -1
  818. package/dist/components/tabs/tabs-root.vue.d.ts +2 -2
  819. package/dist/components/tabs/tabs-trigger.js +1 -1
  820. package/dist/components/tabs/tabs-trigger.vue.d.ts +3 -3
  821. package/dist/components/tabs/types.d.ts +18 -18
  822. package/dist/components/tag/tag.js +1 -1
  823. package/dist/components/tag/types.d.ts +3 -4
  824. package/dist/components/tags-input/context.d.ts +2 -2
  825. package/dist/components/tags-input/context.js +1 -1
  826. package/dist/components/tags-input/tags-input-clear.js +1 -1
  827. package/dist/components/tags-input/tags-input-compact.js +1 -1
  828. package/dist/components/tags-input/tags-input-compact.vue.d.ts +2 -2
  829. package/dist/components/tags-input/tags-input-control.js +1 -1
  830. package/dist/components/tags-input/tags-input-item-delete.js +1 -1
  831. package/dist/components/tags-input/tags-input-item-text.js +1 -1
  832. package/dist/components/tags-input/tags-input-item.js +1 -1
  833. package/dist/components/tags-input/tags-input-root.js +1 -1
  834. package/dist/components/tags-input/tags-input-root.vue.d.ts +3 -3
  835. package/dist/components/tags-input/types.d.ts +15 -16
  836. package/dist/components/textarea/context.d.ts +2 -2
  837. package/dist/components/textarea/context.js +1 -1
  838. package/dist/components/textarea/textarea-clear.js +1 -1
  839. package/dist/components/textarea/textarea-compact.js +1 -1
  840. package/dist/components/textarea/textarea-root.js +1 -1
  841. package/dist/components/textarea/types.d.ts +15 -16
  842. package/dist/components/time-field/context.d.ts +2 -2
  843. package/dist/components/time-field/context.js +1 -1
  844. package/dist/components/time-field/time-field-compact.js +1 -1
  845. package/dist/components/time-field/time-field-input.js +1 -1
  846. package/dist/components/time-field/time-field-root.js +1 -1
  847. package/dist/components/time-field/time-field-root.vue.d.ts +1 -1
  848. package/dist/components/time-field/types.d.ts +10 -10
  849. package/dist/components/time-range-field/context.d.ts +2 -2
  850. package/dist/components/time-range-field/context.js +1 -1
  851. package/dist/components/time-range-field/time-range-field-compact.js +1 -1
  852. package/dist/components/time-range-field/time-range-field-input.js +1 -1
  853. package/dist/components/time-range-field/time-range-field-root.js +1 -1
  854. package/dist/components/time-range-field/time-range-field-root.vue.d.ts +1 -1
  855. package/dist/components/time-range-field/types.d.ts +11 -12
  856. package/dist/components/toast/context.d.ts +2 -2
  857. package/dist/components/toast/context.js +1 -1
  858. package/dist/components/toast/shared.js +1 -1
  859. package/dist/components/toast/state.d.ts +2 -3
  860. package/dist/components/toast/state.js +1 -1
  861. package/dist/components/toast/toast.js +1 -1
  862. package/dist/components/toast/toaster.js +1 -1
  863. package/dist/components/toast/toaster.vue.d.ts +1 -1
  864. package/dist/components/toast/types.d.ts +18 -19
  865. package/dist/components/toggle/toggle.js +1 -1
  866. package/dist/components/toggle/types.d.ts +4 -5
  867. package/dist/components/toggle-group/context.d.ts +2 -2
  868. package/dist/components/toggle-group/context.js +1 -1
  869. package/dist/components/toggle-group/toggle-group-item.js +1 -1
  870. package/dist/components/toggle-group/toggle-group-root.js +1 -1
  871. package/dist/components/toggle-group/types.d.ts +6 -7
  872. package/dist/components/toolbar/context.d.ts +2 -2
  873. package/dist/components/toolbar/context.js +1 -1
  874. package/dist/components/toolbar/toolbar-button.js +1 -1
  875. package/dist/components/toolbar/toolbar-button.vue.d.ts +2 -2
  876. package/dist/components/toolbar/toolbar-link.js +1 -1
  877. package/dist/components/toolbar/toolbar-link.vue.d.ts +2 -2
  878. package/dist/components/toolbar/toolbar-root.js +1 -1
  879. package/dist/components/toolbar/toolbar-root.vue.d.ts +2 -2
  880. package/dist/components/toolbar/toolbar-separator.js +1 -1
  881. package/dist/components/toolbar/toolbar-toggle-group.js +1 -1
  882. package/dist/components/toolbar/toolbar-toggle-item.js +1 -1
  883. package/dist/components/toolbar/types.d.ts +13 -14
  884. package/dist/components/tooltip/context.d.ts +10 -0
  885. package/dist/components/tooltip/context.js +1 -1
  886. package/dist/components/tooltip/index.d.ts +9 -8
  887. package/dist/components/tooltip/index.js +1 -1
  888. package/dist/components/tooltip/shared.js +1 -1
  889. package/dist/components/tooltip/tooltip-compact.js +1 -1
  890. package/dist/components/tooltip/tooltip-compact.vue.d.ts +14 -3
  891. package/dist/components/tooltip/tooltip-popup.js +1 -1
  892. package/dist/components/tooltip/tooltip-positioner.js +1 -1
  893. package/dist/components/tooltip/tooltip-positioner.vue.d.ts +12 -1
  894. package/dist/components/tooltip/tooltip-provider.js +1 -0
  895. package/dist/components/tooltip/tooltip-provider.vue.d.ts +16 -0
  896. package/dist/components/tooltip/tooltip-root.js +1 -1
  897. package/dist/components/tooltip/tooltip-root.vue.d.ts +10 -4
  898. package/dist/components/tooltip/tooltip-trigger.js +1 -1
  899. package/dist/components/tooltip/tooltip-trigger.vue.d.ts +2 -2
  900. package/dist/components/tooltip/types.d.ts +25 -19
  901. package/dist/components/tree/context.js +1 -1
  902. package/dist/components/tree/hooks.js +1 -1
  903. package/dist/components/tree/tree-item.js +1 -1
  904. package/dist/components/tree/tree-item.vue.d.ts +2 -2
  905. package/dist/components/tree/tree-root.js +1 -1
  906. package/dist/components/tree/tree-virtualizer-item.js +1 -1
  907. package/dist/components/tree/tree-virtualizer-root.js +1 -1
  908. package/dist/components/tree/tree-virtualizer-root.vue.d.ts +3 -3
  909. package/dist/components/tree/types.d.ts +14 -15
  910. package/dist/components/tree-menu/context.d.ts +12 -5
  911. package/dist/components/tree-menu/context.js +1 -1
  912. package/dist/components/tree-menu/shared.js +1 -1
  913. package/dist/components/tree-menu/tree-menu-button.js +1 -1
  914. package/dist/components/tree-menu/tree-menu-collapsible.js +1 -1
  915. package/dist/components/tree-menu/tree-menu-compact.js +1 -1
  916. package/dist/components/tree-menu/tree-menu-compact.vue.d.ts +2 -2
  917. package/dist/components/tree-menu/tree-menu-group.js +1 -1
  918. package/dist/components/tree-menu/tree-menu-item.js +1 -1
  919. package/dist/components/tree-menu/tree-menu-option-compact.js +1 -1
  920. package/dist/components/tree-menu/tree-menu-options-compact.js +1 -1
  921. package/dist/components/tree-menu/tree-menu-root.js +1 -1
  922. package/dist/components/tree-menu/tree-menu-root.vue.d.ts +5 -5
  923. package/dist/components/tree-menu/tree-menu-slot-compact.js +1 -1
  924. package/dist/components/tree-menu/tree-menu-sub.js +1 -1
  925. package/dist/components/tree-menu/tree-menu-tooltip-compact.js +1 -1
  926. package/dist/components/tree-menu/types.d.ts +46 -36
  927. package/dist/components/tree-nav/context.d.ts +68 -0
  928. package/dist/components/tree-nav/context.js +1 -0
  929. package/dist/components/tree-nav/index.d.ts +8 -0
  930. package/dist/components/tree-nav/index.js +1 -0
  931. package/dist/components/tree-nav/shared.js +1 -0
  932. package/dist/components/tree-nav/tree-nav-compact.js +1 -0
  933. package/dist/components/tree-nav/tree-nav-compact.vue.d.ts +19 -0
  934. package/dist/components/tree-nav/tree-nav-option-compact.js +1 -0
  935. package/dist/components/tree-nav/tree-nav-option-compact.vue.d.ts +15 -0
  936. package/dist/components/tree-nav/tree-nav-options-compact.js +1 -0
  937. package/dist/components/tree-nav/tree-nav-options-compact.vue.d.ts +15 -0
  938. package/dist/components/tree-nav/tree-nav-overflow.js +1 -0
  939. package/dist/components/tree-nav/tree-nav-overflow.vue.d.ts +16 -0
  940. package/dist/components/tree-nav/tree-nav-root.js +1 -0
  941. package/dist/components/tree-nav/tree-nav-root.vue.d.ts +23 -0
  942. package/dist/components/tree-nav/types.d.ts +299 -0
  943. package/dist/components/virtualizer/context.js +1 -1
  944. package/dist/components/virtualizer/types.d.ts +5 -5
  945. package/dist/components/virtualizer/virtualizer-content.js +1 -1
  946. package/dist/components/virtualizer/virtualizer-item.js +1 -1
  947. package/dist/components/virtualizer/virtualizer-root.js +1 -1
  948. package/dist/components/visually-hidden/types.d.ts +4 -5
  949. package/dist/components/visually-hidden/visually-hidden-input-bubble.js +1 -1
  950. package/dist/components/visually-hidden/visually-hidden-input.js +1 -1
  951. package/dist/components/visually-hidden/visually-hidden-input.vue.d.ts +1 -1
  952. package/dist/components/visually-hidden/visually-hidden.js +1 -1
  953. package/dist/components/watermark/context.d.ts +2 -2
  954. package/dist/components/watermark/context.js +1 -1
  955. package/dist/components/watermark/shared.js +1 -1
  956. package/dist/components/watermark/types.d.ts +6 -7
  957. package/dist/components/watermark/watermark-compact.js +1 -1
  958. package/dist/components/watermark/watermark-overlay.js +1 -1
  959. package/dist/components/watermark/watermark-root.js +1 -1
  960. package/dist/composables/index.d.ts +4 -3
  961. package/dist/composables/index.js +1 -1
  962. package/dist/composables/use-arrow-navigation.d.ts +2 -3
  963. package/dist/composables/use-body-scroll-lock.d.ts +2 -3
  964. package/dist/composables/use-body-scroll-lock.js +2 -2
  965. package/dist/composables/use-bool-prop.d.ts +2 -3
  966. package/dist/composables/use-collection.d.ts +5 -5
  967. package/dist/composables/use-collection.js +1 -1
  968. package/dist/composables/use-context.d.ts +25 -2
  969. package/dist/composables/use-context.js +1 -1
  970. package/dist/composables/use-controllable-state.d.ts +2 -3
  971. package/dist/composables/use-controllable-state.js +1 -1
  972. package/dist/composables/use-dismissable-layer.d.ts +6 -7
  973. package/dist/composables/use-dismissable-layer.js +1 -1
  974. package/dist/composables/use-escape-key-down.d.ts +2 -3
  975. package/dist/composables/use-exposed-element.d.ts +2 -3
  976. package/dist/composables/use-floating.d.ts +4 -5
  977. package/dist/composables/use-floating.js +1 -1
  978. package/dist/composables/use-focus-guards.d.ts +3 -3
  979. package/dist/composables/use-focus-guards.js +1 -1
  980. package/dist/composables/use-focus-scope.d.ts +3 -4
  981. package/dist/composables/use-focus-scope.js +1 -1
  982. package/dist/composables/use-forward-element.d.ts +2 -3
  983. package/dist/composables/use-forward-element.js +1 -1
  984. package/dist/composables/use-forward-listeners.d.ts +2 -3
  985. package/dist/composables/use-fuse.d.ts +19 -10
  986. package/dist/composables/use-fuse.js +1 -1
  987. package/dist/composables/use-grace-area.d.ts +3 -4
  988. package/dist/composables/use-grace-area.js +1 -1
  989. package/dist/composables/use-hide-others.d.ts +27 -8
  990. package/dist/composables/use-hide-others.js +1 -1
  991. package/dist/composables/use-image-loading-status.d.ts +2 -3
  992. package/dist/composables/use-image-loading-status.js +1 -1
  993. package/dist/composables/use-is-using-keyboard.d.ts +2 -3
  994. package/dist/composables/use-is-using-keyboard.js +1 -1
  995. package/dist/composables/use-kbd.d.ts +3 -4
  996. package/dist/composables/use-popup-events.d.ts +3 -5
  997. package/dist/composables/use-popup-events.js +1 -1
  998. package/dist/composables/use-presence.d.ts +2 -3
  999. package/dist/composables/use-props.d.ts +3 -4
  1000. package/dist/composables/use-props.js +1 -1
  1001. package/dist/composables/use-roving-focus.d.ts +79 -0
  1002. package/dist/composables/use-roving-focus.js +1 -0
  1003. package/dist/composables/use-selection.d.ts +2 -3
  1004. package/dist/composables/use-selection.js +1 -1
  1005. package/dist/composables/use-state-machine.d.ts +2 -3
  1006. package/dist/composables/use-typeahead.d.ts +3 -4
  1007. package/dist/composables/use-typeahead.js +1 -1
  1008. package/dist/composables/use-ui-context.d.ts +3 -4
  1009. package/dist/constants/attr.d.ts +11 -4
  1010. package/dist/constants/attr.js +1 -1
  1011. package/dist/constants/common.d.ts +6 -7
  1012. package/dist/constants/components.d.ts +5 -4
  1013. package/dist/constants/components.js +1 -1
  1014. package/dist/constants/index.d.ts +2 -2
  1015. package/dist/constants/index.js +1 -1
  1016. package/dist/constants/regexp.d.ts +4 -5
  1017. package/dist/date/calendar.d.ts +18 -19
  1018. package/dist/date/calendar.js +1 -1
  1019. package/dist/date/comparators.d.ts +26 -27
  1020. package/dist/date/formatter.d.ts +4 -5
  1021. package/dist/date/parser.d.ts +5 -6
  1022. package/dist/date/parts.d.ts +11 -12
  1023. package/dist/date/placeholders.d.ts +2 -3
  1024. package/dist/date/segment.d.ts +5 -6
  1025. package/dist/date/types.d.ts +28 -28
  1026. package/dist/date/use-date-field.d.ts +3 -4
  1027. package/dist/date/use-date-field.js +1 -1
  1028. package/dist/date/utils.d.ts +10 -11
  1029. package/dist/date/utils.js +1 -1
  1030. package/dist/index.d.ts +429 -359
  1031. package/dist/index.js +1 -1
  1032. package/dist/locale/hooks.d.ts +2 -3
  1033. package/dist/locale/hooks.js +1 -1
  1034. package/dist/locale/langs/ar.js +1 -1
  1035. package/dist/locale/langs/de.js +1 -1
  1036. package/dist/locale/langs/en.js +1 -1
  1037. package/dist/locale/langs/es.js +1 -1
  1038. package/dist/locale/langs/fr.js +1 -1
  1039. package/dist/locale/langs/id.js +1 -1
  1040. package/dist/locale/langs/ja.js +1 -1
  1041. package/dist/locale/langs/ko.js +1 -1
  1042. package/dist/locale/langs/pt-BR.js +1 -1
  1043. package/dist/locale/langs/ru.js +1 -1
  1044. package/dist/locale/langs/tr.js +1 -1
  1045. package/dist/locale/langs/zh-CN.js +1 -1
  1046. package/dist/locale/langs/zh-TW.js +1 -1
  1047. package/dist/locale/locales.d.ts +5 -5
  1048. package/dist/locale/types.d.ts +45 -37
  1049. package/dist/namespaced/index.d.ts +1205 -1118
  1050. package/dist/namespaced/index.js +1 -1
  1051. package/dist/nuxt/index.d.ts +2 -2
  1052. package/dist/nuxt/index.js +1 -1
  1053. package/dist/resolver/index.d.ts +2 -2
  1054. package/dist/resolver/index.js +1 -1
  1055. package/dist/shared/array.d.ts +4 -0
  1056. package/dist/shared/array.js +1 -0
  1057. package/dist/shared/color.d.ts +23 -24
  1058. package/dist/shared/color.js +1 -1
  1059. package/dist/shared/comparison.d.ts +2 -3
  1060. package/dist/shared/dom.d.ts +7 -8
  1061. package/dist/shared/dom.js +1 -1
  1062. package/dist/shared/env.d.ts +11 -6
  1063. package/dist/shared/env.js +1 -1
  1064. package/dist/shared/event.d.ts +3 -4
  1065. package/dist/shared/focus.d.ts +9 -10
  1066. package/dist/shared/form.d.ts +6 -7
  1067. package/dist/shared/fuzzy.d.ts +20 -0
  1068. package/dist/shared/fuzzy.js +1 -0
  1069. package/dist/shared/geometry.d.ts +8 -9
  1070. package/dist/shared/guard.d.ts +13 -14
  1071. package/dist/shared/index.d.ts +9 -5
  1072. package/dist/shared/index.js +1 -1
  1073. package/dist/shared/mark-others.d.ts +52 -0
  1074. package/dist/shared/mark-others.js +1 -0
  1075. package/dist/shared/object.d.ts +38 -18
  1076. package/dist/shared/object.js +1 -1
  1077. package/dist/shared/string.d.ts +17 -5
  1078. package/dist/shared/string.js +1 -1
  1079. package/dist/shared/time-picker.d.ts +9 -10
  1080. package/dist/shared/time-picker.js +1 -1
  1081. package/dist/shared/tree-navigation.d.ts +59 -0
  1082. package/dist/shared/tree-navigation.js +1 -0
  1083. package/dist/shared/tree.d.ts +2 -3
  1084. package/dist/shared/value.d.ts +11 -12
  1085. package/dist/shared/vue.d.ts +23 -10
  1086. package/dist/shared/vue.js +1 -1
  1087. package/dist/types/color.d.ts +8 -9
  1088. package/dist/types/common.d.ts +31 -32
  1089. package/dist/types/component.d.ts +8 -9
  1090. package/dist/types/dom.d.ts +4 -5
  1091. package/dist/types/event.d.ts +7 -8
  1092. package/dist/types/index.d.ts +2 -2
  1093. package/dist/types/path.d.ts +6 -7
  1094. package/dist/types/vue.d.ts +7 -8
  1095. package/package.json +16 -32
  1096. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/defineProperty.js +0 -1
  1097. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/toPrimitive.js +0 -1
  1098. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/toPropertyKey.js +0 -1
  1099. package/dist/_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/typeof.js +0 -1
  1100. package/dist/components/dropdown-menu/shared.js +0 -1
  1101. package/dist/components/hover-card/hover-card-positioner-impl.js +0 -1
  1102. package/dist/components/popover/popover-positioner-impl.js +0 -1
  1103. package/dist/components/roving-focus/context.js +0 -1
  1104. package/dist/components/roving-focus/index.d.ts +0 -4
  1105. package/dist/components/roving-focus/index.js +0 -1
  1106. package/dist/components/roving-focus/roving-focus-group.js +0 -1
  1107. package/dist/components/roving-focus/roving-focus-group.vue.d.ts +0 -32
  1108. package/dist/components/roving-focus/roving-focus-item.js +0 -1
  1109. package/dist/components/roving-focus/roving-focus-item.vue.d.ts +0 -18
  1110. package/dist/components/roving-focus/types.d.ts +0 -65
  1111. package/dist/components/tooltip/tooltip-positioner-impl.js +0 -1
@@ -5,15 +5,15 @@ import { BaseProps } from "../../types/vue.js";
5
5
  import "../../types/index.js";
6
6
  import { PrimitiveWithBaseProps } from "../primitive/types.js";
7
7
  import { CollectionItemData } from "../../composables/use-collection.js";
8
- import "../../composables/index.js";
9
8
  import { InputControlProps, InputRootEmits, InputRootProps } from "../input/types.js";
9
+ import "../../composables/index.js";
10
10
  import { ComputedRef, ShallowRef } from "vue";
11
11
  import { VirtualItem, Virtualizer } from "@tanstack/vue-virtual";
12
12
  //#region src/components/listbox/types.d.ts
13
13
  /**
14
14
  * Properties for the ListboxRoot component.
15
15
  */
16
- interface ListboxRootProps<M extends boolean = false> extends SelectionProps<M>, FormFieldCommonProps, BaseProps {
16
+ export interface ListboxRootProps<M extends boolean = false> extends SelectionProps<M>, FormFieldCommonProps, BaseProps {
17
17
  /** The orientation of the listbox. <br>Mainly so arrow navigation is done accordingly (left & right vs. up & down) */
18
18
  orientation?: DataOrientation;
19
19
  /**
@@ -35,13 +35,13 @@ interface ListboxRootProps<M extends boolean = false> extends SelectionProps<M>,
35
35
  /**
36
36
  * Value associated with the current item.
37
37
  */
38
- type ListboxCollectionItemData = {
38
+ export type ListboxCollectionItemData = {
39
39
  value: string;
40
40
  };
41
41
  /**
42
42
  * Events for the ListboxRoot component.
43
43
  */
44
- type ListboxRootEmits<M extends boolean = false> = SelectionEmits<M> & {
44
+ export type ListboxRootEmits<M extends boolean = false> = SelectionEmits<M> & {
45
45
  /** Event handler when highlighted element changes. */
46
46
  highlight: [payload?: CollectionItemData<ListboxCollectionItemData>];
47
47
  /** Event handler called when container is being focused. Can be prevented. */
@@ -52,7 +52,7 @@ type ListboxRootEmits<M extends boolean = false> = SelectionEmits<M> & {
52
52
  /**
53
53
  * Properties for the ListboxItem component.
54
54
  */
55
- interface ListboxItemProps extends Omit<PrimitiveWithBaseProps, 'onSelect'> {
55
+ export interface ListboxItemProps extends Omit<PrimitiveWithBaseProps, 'onSelect'> {
56
56
  /** The value given as data when submitted with a `name`. */
57
57
  value: string;
58
58
  /** When `true`, prevents the user from interacting with the item. */
@@ -61,26 +61,26 @@ interface ListboxItemProps extends Omit<PrimitiveWithBaseProps, 'onSelect'> {
61
61
  /**
62
62
  * Events for the ListboxItem component.
63
63
  */
64
- type ListboxItemEmits = {
64
+ export type ListboxItemEmits = {
65
65
  /** Event handler called when the selecting item. <br> It can be prevented by calling `event.preventDefault`. */
66
66
  select: [event: SelectEvent<string>];
67
67
  };
68
68
  /**
69
69
  * Properties for the ListboxItemIndicator component.
70
70
  */
71
- interface ListboxItemIndicatorProps extends PrimitiveWithBaseProps {}
71
+ export interface ListboxItemIndicatorProps extends PrimitiveWithBaseProps {}
72
72
  /**
73
73
  * Properties for the ListboxGroup component.
74
74
  */
75
- interface ListboxGroupProps extends BaseProps {}
75
+ export interface ListboxGroupProps extends BaseProps {}
76
76
  /**
77
77
  * Properties for the ListboxGroupLabel component.
78
78
  */
79
- interface ListboxGroupLabelProps extends BaseProps {}
79
+ export interface ListboxGroupLabelProps extends BaseProps {}
80
80
  /**
81
81
  * Properties for the ListboxFilter component.
82
82
  */
83
- interface ListboxFilterProps extends InputRootProps {
83
+ export interface ListboxFilterProps extends InputRootProps {
84
84
  /**
85
85
  * The function to set the input element.
86
86
  *
@@ -95,15 +95,15 @@ interface ListboxFilterProps extends InputRootProps {
95
95
  /**
96
96
  * Events for the ListboxFilter component.
97
97
  */
98
- type ListboxFilterEmits = InputRootEmits;
98
+ export type ListboxFilterEmits = InputRootEmits;
99
99
  /**
100
100
  * Properties for the ListboxContent component.
101
101
  */
102
- interface ListboxContentProps extends BaseProps {}
102
+ export interface ListboxContentProps extends BaseProps {}
103
103
  /**
104
104
  * Properties for the ListboxVirtualizer component.
105
105
  */
106
- interface ListboxVirtualizerProps {
106
+ export interface ListboxVirtualizerProps {
107
107
  /** List of items */
108
108
  options: string[];
109
109
  /** Number of items rendered outside the visible area */
@@ -116,7 +116,7 @@ interface ListboxVirtualizerProps {
116
116
  /**
117
117
  * Properties for the ListboxVirtualizerSlots component.
118
118
  */
119
- type ListboxVirtualizerSlotsProps = {
119
+ export type ListboxVirtualizerSlotsProps = {
120
120
  /**
121
121
  * Option.
122
122
  */
@@ -133,7 +133,7 @@ type ListboxVirtualizerSlotsProps = {
133
133
  /**
134
134
  * Slots for the ListboxVirtualizer component.
135
135
  */
136
- type ListboxVirtualizerSlots = {
136
+ export type ListboxVirtualizerSlots = {
137
137
  /**
138
138
  * Custom content for the default slot.
139
139
  */
@@ -142,10 +142,9 @@ type ListboxVirtualizerSlots = {
142
142
  /**
143
143
  * Available UI slots for the Listbox component.
144
144
  */
145
- type ListboxUiSlot = 'root' | 'content' | 'filterRoot' | 'filterControl' | 'item' | 'itemIndicator' | 'group' | 'groupLabel' | 'virtualizer';
145
+ export type ListboxUiSlot = 'root' | 'content' | 'filterRoot' | 'filterControl' | 'item' | 'itemIndicator' | 'group' | 'groupLabel' | 'virtualizer';
146
146
  /**
147
147
  * UI class overrides for the Listbox component.
148
148
  */
149
- type ListboxUi = UiClass<ListboxUiSlot>;
150
- //#endregion
151
- export { ListboxCollectionItemData, ListboxContentProps, ListboxFilterEmits, ListboxFilterProps, ListboxGroupLabelProps, ListboxGroupProps, ListboxItemEmits, ListboxItemIndicatorProps, ListboxItemProps, ListboxRootEmits, ListboxRootProps, ListboxUi, ListboxUiSlot, ListboxVirtualizerProps, ListboxVirtualizerSlots, ListboxVirtualizerSlotsProps };
149
+ export type ListboxUi = UiClass<ListboxUiSlot>;
150
+ //#endregion
@@ -1,9 +1,9 @@
1
1
  import { UiClass } from "../../types/common.js";
2
2
  import "../../types/index.js";
3
- import { UseUiConsumer } from "../../composables/use-ui-context.js";
4
- import "../../composables/index.js";
5
3
  import { MenuUiSlot } from "./types.js";
6
4
  import "../../index.js";
5
+ import { UseUiConsumer } from "../../composables/use-ui-context.js";
6
+ import "../../composables/index.js";
7
7
  //#region src/components/menu/context.d.ts
8
8
  declare const provideMenuUi: (ui: import("vue").ComputedRef<Partial<UiClass<MenuUiSlot>>>) => import("vue").ComputedRef<Partial<UiClass<MenuUiSlot>>>, useMenuUi: UseUiConsumer<MenuUiSlot>;
9
9
  //#endregion
@@ -1 +1 @@
1
- import{getDisclosureState as e}from"../../shared/value.js";import{isPointerInGraceArea as t}from"../../shared/geometry.js";import{useContext as n}from"../../composables/use-context.js";import"../../shared/index.js";import{useUiContext as r}from"../../composables/use-ui-context.js";import"../../composables/index.js";import{providePopperUi as i}from"../popper/context.js";import{provideSeparatorUi as a}from"../separator/context.js";import{computed as o,ref as s,shallowRef as c,useId as l}from"vue";const[u,d]=n(`Menu`,t=>{let{isRoot:n,open:r}=t,i=e=>{r.value=e},a=o(()=>e(r.value)),s=n?`data-soybean-menu-popup`:`data-soybean-menu-sub-popup`,u=c(),d=e=>{u.value=e},f=c(),p=e=>{f.value=e},m=n?`soybean-menu`:`soybean-menu-sub`,h=c(``),g=`${m}-popup-${l()}`,_=()=>{h.value||(h.value=g)},v=c(``),y=`${m}-trigger-${l()}`,b=()=>{v.value||(v.value=y)};return{...t,onOpenChange:i,dataState:a,dataPopupAttr:s,popupElement:u,onPopupElementChange:d,triggerElement:f,onTriggerElementChange:p,popupId:h,initPopupId:_,triggerId:v,initTriggerId:b}}),[f,p]=n(`MenuRoot`),[m,h]=n(`MenuContent`,e=>{let{popupElement:n}=e,r=c(``),i=s(null),a=c(0),o=c(`right`),l=s(null),u=e=>{l.value=e},d=()=>{l.value=null},f=e=>{let n=o.value===l.value?.side,r=t(e,l.value?.area);return n&&r};return{searchRef:r,currentItemId:i,popupElement:n,pointerSide:o,pointerGraceTimer:a,pointerGraceIntent:l,onPointerGraceIntentChange:u,resetPointerGraceIntent:d,onItemEnter:f,onItemLeave:e=>{f(e)||(n.value?.focus(),i.value=null)},onTriggerLeave:f}}),[g,_]=n(`MenuCheckboxGroup`,e=>{let{modelValue:t}=e,n=e=>{let n=t.value??[];n.includes(e)?t.value=n.filter(t=>t!==e):t.value=[...n,e]};return{...e,onModelValueChange:n}}),[v,y]=n(`MenuRadioGroup`,e=>{let{modelValue:t}=e,n=e=>{t.value=e};return{...e,onModelValueChange:n}}),[b,x]=n(`MenuItemIndicator`),[S,C]=n(`MenuOptionsCompact`),[w,T]=r(`MenuUi`,e=>{let t=o(()=>({arrow:e.value?.arrow}));i(t);let n=o(()=>({root:e.value?.separator}));return a(n),e}),[E,D]=n(`MenuSubAttribute`);export{g as provideMenuCheckboxGroupContext,m as provideMenuContentContext,u as provideMenuContext,b as provideMenuItemIndicatorContext,S as provideMenuOptionsCompactContext,v as provideMenuRadioGroupContext,f as provideMenuRootContext,E as provideMenuSubAttributeContext,w as provideMenuUi,_ as useMenuCheckboxGroupContext,h as useMenuContentContext,d as useMenuContext,x as useMenuItemIndicatorContext,C as useMenuOptionsCompactContext,y as useMenuRadioGroupContext,p as useMenuRootContext,D as useMenuSubAttributeContext,T as useMenuUi};
1
+ import{getDisclosureState as e}from"../../shared/value.js";import{isPointerInGraceArea as t}from"../../shared/geometry.js";import{useContext as n}from"../../composables/use-context.js";import{useUiContext as r}from"../../composables/use-ui-context.js";import{providePopperUi as i}from"../popper/context.js";import{provideSeparatorUi as a}from"../separator/context.js";import{computed as o,ref as s,shallowRef as c,useId as l}from"vue";const[u,d]=n(`Menu`,t=>{let{isRoot:n,open:r}=t,i=e=>{r.value=e},a=o(()=>e(r.value)),s=n?`data-soybean-menu-popup`:`data-soybean-menu-sub-popup`,u=c(),d=e=>{u.value=e},f=c(),p=e=>{f.value=e},m=n?`soybean-menu`:`soybean-menu-sub`,h=c(``),g=`${m}-popup-${l()}`,_=()=>{h.value||=g},v=c(``),y=`${m}-trigger-${l()}`,b=()=>{v.value||=y};return{...t,onOpenChange:i,dataState:a,dataPopupAttr:s,popupElement:u,onPopupElementChange:d,triggerElement:f,onTriggerElementChange:p,popupId:h,initPopupId:_,triggerId:v,initTriggerId:b}}),[f,p]=n(`MenuRoot`),[m,h]=n(`MenuContent`,e=>{let{popupElement:n}=e,r=c(``),i=s(null),a=c(0),o=c(`right`),l=s(null),u=e=>{l.value=e},d=()=>{l.value=null},f=e=>{let n=o.value===l.value?.side,r=t(e,l.value?.area);return n&&r};return{searchRef:r,currentItemId:i,popupElement:n,pointerSide:o,pointerGraceTimer:a,pointerGraceIntent:l,onPointerGraceIntentChange:u,resetPointerGraceIntent:d,onItemEnter:f,onItemLeave:e=>{f(e)||(n.value?.focus(),i.value=null)},onTriggerLeave:f}}),[g,_]=n(`MenuCheckboxGroup`,e=>{let{modelValue:t}=e,n=e=>{let n=t.value??[];n.includes(e)?t.value=n.filter(t=>t!==e):t.value=[...n,e]};return{...e,onModelValueChange:n}}),[v,y]=n(`MenuRadioGroup`,e=>{let{modelValue:t}=e,n=e=>{t.value=e};return{...e,onModelValueChange:n}}),[b,x]=n(`MenuItemIndicator`),[S,C]=n(`MenuOptionsCompact`),[w,T]=r(`MenuUi`,e=>{i(e);let t=o(()=>({root:e.value?.separator}));return a(t),e}),[E,D]=n(`MenuSubAttribute`);export{g as provideMenuCheckboxGroupContext,m as provideMenuContentContext,u as provideMenuContext,b as provideMenuItemIndicatorContext,S as provideMenuOptionsCompactContext,v as provideMenuRadioGroupContext,f as provideMenuRootContext,E as provideMenuSubAttributeContext,w as provideMenuUi,_ as useMenuCheckboxGroupContext,h as useMenuContentContext,d as useMenuContext,x as useMenuItemIndicatorContext,C as useMenuOptionsCompactContext,y as useMenuRadioGroupContext,p as useMenuRootContext,D as useMenuSubAttributeContext,T as useMenuUi};
@@ -1 +1 @@
1
- import{COMMON_SLOTS as e}from"./shared.js";import{computed as t}from"vue";import{keysOf as n}from"@soybeanjs/utils";const r=r=>t(()=>n(r).filter(t=>e.includes(t)));export{r as useCommonSlotNames};
1
+ import{keysOf as e}from"../../shared/guard.js";import{COMMON_SLOTS as t}from"./shared.js";import{computed as n}from"vue";const r=r=>n(()=>e(r).filter(e=>t.includes(e)));export{r as useCommonSlotNames};
@@ -1,12 +1,12 @@
1
- import { PopperAnchorProps, PopperArrowProps } from "../popper/types.js";
2
- import { PortalProps } from "../portal/types.js";
3
- import _default from "../popper/popper-anchor.vue.js";
4
- import _default$12 from "../portal/portal.vue.js";
1
+ import { PopperAnchorProps, PopperArrowProps, PopperPortalProps } from "../popper/types.js";
5
2
  import { SeparatorRootProps } from "../separator/types.js";
3
+ import _default from "../popper/popper-anchor.vue.js";
4
+ import _default$12 from "../popper/popper-portal.vue.js";
5
+ import _default$1 from "../popper/popper-arrow.vue.js";
6
+ import "../popper/index.js";
6
7
  import { MenuCheckboxGroupEmits, MenuCheckboxGroupProps, MenuCheckboxItemEmits, MenuCheckboxItemProps, MenuCheckboxOptionData, MenuCheckboxOptionsCompactEmits, MenuCheckboxOptionsCompactProps, MenuCheckboxOptionsCompactSelectEmits, MenuCheckboxOptionsCompactSlots, MenuContentEmits, MenuContentProps, MenuGroupLabelProps, MenuGroupProps, MenuItemEmits, MenuItemIndicatorProps, MenuItemProps, MenuOptionCompactEmits, MenuOptionCompactProps, MenuOptionCompactSelectEmits, MenuOptionCompactSlots, MenuOptionData, MenuOptionsCompactEmits, MenuOptionsCompactProps, MenuOptionsCompactSlots, MenuPopupProps, MenuRadioGroupEmits, MenuRadioGroupProps, MenuRadioItemEmits, MenuRadioItemProps, MenuRadioOptionData, MenuRadioOptionsCompactEmits, MenuRadioOptionsCompactProps, MenuRadioOptionsCompactSelectEmits, MenuRadioOptionsCompactSlots, MenuRootEmits, MenuRootProps, MenuShortcutProps, MenuSubContentEmits, MenuSubContentProps, MenuSubEmits, MenuSubProps, MenuSubTriggerProps, MenuTriggerProps, MenuUi, MenuUiSlot } from "./types.js";
7
8
  import _default$16 from "./menu-root.vue.js";
8
9
  import _default$5 from "./menu-content.vue.js";
9
- import _default$1 from "../popper/popper-arrow.vue.js";
10
10
  import _default$6 from "./menu-group.vue.js";
11
11
  import _default$7 from "./menu-group-label.vue.js";
12
12
  import _default$8 from "./menu-item.vue.js";
@@ -24,4 +24,4 @@ import _default$11 from "./menu-options-compact.vue.js";
24
24
  import _default$4 from "./menu-checkbox-options-compact.vue.js";
25
25
  import _default$15 from "./menu-radio-options-compact.vue.js";
26
26
  import { provideMenuUi } from "./context.js";
27
- export { _default as MenuAnchor, type PopperAnchorProps as MenuAnchorProps, _default$1 as MenuArrow, type PopperArrowProps as MenuArrowProps, _default$2 as MenuCheckboxGroup, type MenuCheckboxGroupEmits, type MenuCheckboxGroupProps, _default$3 as MenuCheckboxItem, type MenuCheckboxItemEmits, type MenuCheckboxItemProps, type MenuCheckboxOptionData, _default$4 as MenuCheckboxOptionsCompact, type MenuCheckboxOptionsCompactEmits, type MenuCheckboxOptionsCompactProps, type MenuCheckboxOptionsCompactSelectEmits, type MenuCheckboxOptionsCompactSlots, _default$5 as MenuContent, type MenuContentEmits, type MenuContentProps, _default$6 as MenuGroup, _default$7 as MenuGroupLabel, type MenuGroupLabelProps, type MenuGroupProps, _default$8 as MenuItem, type MenuItemEmits, _default$9 as MenuItemIndicator, type MenuItemIndicatorProps, type MenuItemProps, _default$10 as MenuOptionCompact, type MenuOptionCompactEmits, type MenuOptionCompactProps, type MenuOptionCompactSelectEmits, type MenuOptionCompactSlots, type MenuOptionData, _default$11 as MenuOptionsCompact, type MenuOptionsCompactEmits, type MenuOptionsCompactProps, type MenuOptionsCompactSlots, type MenuPopupProps, _default$12 as MenuPortal, type PortalProps as MenuPortalProps, _default$13 as MenuRadioGroup, type MenuRadioGroupEmits, type MenuRadioGroupProps, _default$14 as MenuRadioItem, type MenuRadioItemEmits, type MenuRadioItemProps, type MenuRadioOptionData, _default$15 as MenuRadioOptionsCompact, type MenuRadioOptionsCompactEmits, type MenuRadioOptionsCompactProps, type MenuRadioOptionsCompactSelectEmits, type MenuRadioOptionsCompactSlots, _default$16 as MenuRoot, type MenuRootEmits, type MenuRootProps, _default$17 as MenuSeparator, type SeparatorRootProps as MenuSeparatorProps, type MenuShortcutProps, _default$18 as MenuSub, _default$19 as MenuSubContent, type MenuSubContentEmits, type MenuSubContentProps, type MenuSubEmits, type MenuSubProps, _default$20 as MenuSubTrigger, type MenuSubTriggerProps, type MenuTriggerProps, type MenuUi, type MenuUiSlot, provideMenuUi };
27
+ export { _default as MenuAnchor, type PopperAnchorProps as MenuAnchorProps, _default$1 as MenuArrow, type PopperArrowProps as MenuArrowProps, _default$2 as MenuCheckboxGroup, type MenuCheckboxGroupEmits, type MenuCheckboxGroupProps, _default$3 as MenuCheckboxItem, type MenuCheckboxItemEmits, type MenuCheckboxItemProps, type MenuCheckboxOptionData, _default$4 as MenuCheckboxOptionsCompact, type MenuCheckboxOptionsCompactEmits, type MenuCheckboxOptionsCompactProps, type MenuCheckboxOptionsCompactSelectEmits, type MenuCheckboxOptionsCompactSlots, _default$5 as MenuContent, type MenuContentEmits, type MenuContentProps, _default$6 as MenuGroup, _default$7 as MenuGroupLabel, type MenuGroupLabelProps, type MenuGroupProps, _default$8 as MenuItem, type MenuItemEmits, _default$9 as MenuItemIndicator, type MenuItemIndicatorProps, type MenuItemProps, _default$10 as MenuOptionCompact, type MenuOptionCompactEmits, type MenuOptionCompactProps, type MenuOptionCompactSelectEmits, type MenuOptionCompactSlots, type MenuOptionData, _default$11 as MenuOptionsCompact, type MenuOptionsCompactEmits, type MenuOptionsCompactProps, type MenuOptionsCompactSlots, type MenuPopupProps, _default$12 as MenuPortal, type PopperPortalProps as MenuPortalProps, _default$13 as MenuRadioGroup, type MenuRadioGroupEmits, type MenuRadioGroupProps, _default$14 as MenuRadioItem, type MenuRadioItemEmits, type MenuRadioItemProps, type MenuRadioOptionData, _default$15 as MenuRadioOptionsCompact, type MenuRadioOptionsCompactEmits, type MenuRadioOptionsCompactProps, type MenuRadioOptionsCompactSelectEmits, type MenuRadioOptionsCompactSlots, _default$16 as MenuRoot, type MenuRootEmits, type MenuRootProps, _default$17 as MenuSeparator, type SeparatorRootProps as MenuSeparatorProps, type MenuShortcutProps, _default$18 as MenuSub, _default$19 as MenuSubContent, type MenuSubContentEmits, type MenuSubContentProps, type MenuSubEmits, type MenuSubProps, _default$20 as MenuSubTrigger, type MenuSubTriggerProps, type MenuTriggerProps, type MenuUi, type MenuUiSlot, provideMenuUi };
@@ -1 +1 @@
1
- import e from"../popper/popper-anchor.js";import t from"../portal/portal.js";import n from"../popper/popper-arrow.js";import r from"../separator/separator-root.js";import{provideMenuUi as i}from"./context.js";import a from"./menu-root.js";import o from"./menu-content.js";import s from"./menu-group.js";import c from"./menu-group-label.js";import l from"./menu-item.js";import u from"./menu-item-indicator.js";import d from"./menu-checkbox-item.js";import f from"./menu-radio-item.js";import p from"./menu-sub.js";import m from"./menu-sub-trigger.js";import h from"./menu-sub-content.js";import g from"./menu-checkbox-group.js";import _ from"./menu-radio-group.js";import v from"./menu-option-compact.js";import y from"./menu-options-compact.js";import b from"./menu-checkbox-options-compact.js";import x from"./menu-radio-options-compact.js";export{e as MenuAnchor,n as MenuArrow,g as MenuCheckboxGroup,d as MenuCheckboxItem,b as MenuCheckboxOptionsCompact,o as MenuContent,s as MenuGroup,c as MenuGroupLabel,l as MenuItem,u as MenuItemIndicator,v as MenuOptionCompact,y as MenuOptionsCompact,t as MenuPortal,_ as MenuRadioGroup,f as MenuRadioItem,x as MenuRadioOptionsCompact,a as MenuRoot,r as MenuSeparator,p as MenuSub,h as MenuSubContent,m as MenuSubTrigger,i as provideMenuUi};
1
+ import e from"../popper/popper-anchor.js";import t from"../popper/popper-portal.js";import n from"../popper/popper-arrow.js";import r from"../separator/separator-root.js";import{provideMenuUi as i}from"./context.js";import a from"./menu-root.js";import o from"./menu-content.js";import s from"./menu-group.js";import c from"./menu-group-label.js";import l from"./menu-item.js";import u from"./menu-item-indicator.js";import d from"./menu-checkbox-item.js";import f from"./menu-radio-item.js";import p from"./menu-sub.js";import m from"./menu-sub-trigger.js";import h from"./menu-sub-content.js";import g from"./menu-checkbox-group.js";import _ from"./menu-radio-group.js";import v from"./menu-option-compact.js";import y from"./menu-options-compact.js";import b from"./menu-checkbox-options-compact.js";import x from"./menu-radio-options-compact.js";export{e as MenuAnchor,n as MenuArrow,g as MenuCheckboxGroup,d as MenuCheckboxItem,b as MenuCheckboxOptionsCompact,o as MenuContent,s as MenuGroup,c as MenuGroupLabel,l as MenuItem,u as MenuItemIndicator,v as MenuOptionCompact,y as MenuOptionsCompact,t as MenuPortal,_ as MenuRadioGroup,f as MenuRadioItem,x as MenuRadioOptionsCompact,a as MenuRoot,r as MenuSeparator,p as MenuSub,h as MenuSubContent,m as MenuSubTrigger,i as provideMenuUi};
@@ -1 +1 @@
1
- import{useControllableState as e}from"../../composables/use-controllable-state.js";import"../../composables/index.js";import{Primitive as t}from"../primitive/primitive.js";import"../primitive/index.js";import{provideMenuCheckboxGroupContext as n,useMenuUi as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,normalizeClass as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=o({name:`MenuCheckboxGroup`,__name:`menu-checkbox-group`,props:{modelValue:{},defaultValue:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`],setup(o,{emit:f}){let p=o,m=f,h=r(`checkboxGroup`),g=e(()=>p.modelValue,e=>{m(`update:modelValue`,e)},p.defaultValue??[]);return n({modelValue:g,disabled:i(()=>p.disabled)}),(e,n)=>(c(),a(u(t),{as:o.as,"as-child":o.asChild,"data-soybean-menu-checkbox-group":``,class:s(u(h)),role:`group`},{default:d(()=>[l(e.$slots,`default`,{modelValue:u(g)})]),_:3},8,[`as`,`as-child`,`class`]))}});export{f as default};
1
+ import{useControllableState as e}from"../../composables/use-controllable-state.js";import{Primitive as t}from"../primitive/primitive.js";import{provideMenuCheckboxGroupContext as n,useMenuUi as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,normalizeClass as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=o({name:`MenuCheckboxGroup`,__name:`menu-checkbox-group`,props:{modelValue:{},defaultValue:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`],setup(o,{emit:f}){let p=o,m=f,h=r(`checkboxGroup`),g=e(()=>p.modelValue,e=>{m(`update:modelValue`,e)},p.defaultValue??[]);return n({modelValue:g,disabled:i(()=>p.disabled)}),(e,n)=>(c(),a(u(t),{as:o.as,"as-child":o.asChild,"data-soybean-menu-checkbox-group":``,class:s(u(h)),role:`group`},{default:d(()=>[l(e.$slots,`default`,{modelValue:u(g)})]),_:3},8,[`as`,`as-child`,`class`]))}});export{f as default};
@@ -1 +1 @@
1
- import{SELECTION_KEYS as e}from"../../constants/common.js";import{isNullish as t}from"../../shared/guard.js";import{isValueEqualOrExist as n}from"../../shared/comparison.js";import{getCheckedState as r,isIndeterminate as i}from"../../shared/value.js";import"../../shared/index.js";import{useControllableState as a}from"../../composables/use-controllable-state.js";import{useForwardElement as o}from"../../composables/use-forward-element.js";import{useOmitProps as s}from"../../composables/use-props.js";import"../../composables/index.js";import{provideMenuItemIndicatorContext as c,useMenuCheckboxGroupContext as l,useMenuContentContext as u,useMenuRootContext as d,useMenuUi as f}from"./context.js";import{ITEM_SELECT as p}from"./shared.js";import m from"./menu-item-impl.js";import{computed as h,createBlock as g,defineComponent as _,mergeProps as v,nextTick as y,openBlock as b,renderSlot as x,unref as S,withCtx as C}from"vue";const w=_({name:`MenuCheckboxItem`,__name:`menu-checkbox-item`,props:{modelValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},emits:[`select`,`update:modelValue`],setup(_,{emit:w}){let T=_,E=w,D=s(T,[`modelValue`,`value`,`disabled`]),[O,k]=o(),{onClose:A}=d(`MenuItem`),{searchRef:j}=u(`MenuItem`),M=f(`checkboxItem`),N=a(()=>T.modelValue,e=>{E(`update:modelValue`,e)},!1),P=l(),F=h(()=>P?.disabled.value||T.disabled),I=h(()=>t(P?.modelValue?.value)?t(N.value)?!1:N.value===`indeterminate`?`indeterminate`:N.value:n(P?.modelValue.value,T.value)),L=h(()=>r(I.value)),R=h(()=>i(I.value)?`mixed`:I.value),z=e=>{if(E(`select`,e),i(N.value)){N.value=!0;return}N.value=!N.value,T.value&&P?.onModelValueChange(T.value)},B=!1,V=async()=>{if(T.disabled||!O.value)return;let e=new CustomEvent(p,{bubbles:!0,cancelable:!0});z(e),await y(),e.defaultPrevented?B=!1:A()},H=()=>{B=!0},U=async e=>{await y(),!e.defaultPrevented&&(B||e.currentTarget?.click())},W=async t=>{T.disabled||(j.value===``||t.key!==` `)&&e.includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())};return c({modelValue:I}),(e,t)=>(b(),g(m,v(S(D),{ref:S(k),"data-soybean-menu-checkbox-item":``,class:S(M),role:`menuitemcheckbox`,disabled:F.value,"data-state":L.value,"aria-checked":R.value,onClick:V,onPointerdown:H,onPointerup:U,onKeydown:W}),{default:C(()=>[x(e.$slots,`default`,{modelValue:I.value})]),_:3},16,[`class`,`disabled`,`data-state`,`aria-checked`]))}});export{w as default};
1
+ import{SELECTION_KEYS as e}from"../../constants/common.js";import{isNullish as t}from"../../shared/guard.js";import{isValueEqualOrExist as n}from"../../shared/comparison.js";import{getCheckedState as r,isIndeterminate as i}from"../../shared/value.js";import{useControllableState as a}from"../../composables/use-controllable-state.js";import{useForwardElement as o}from"../../composables/use-forward-element.js";import{useOmitProps as s}from"../../composables/use-props.js";import{provideMenuItemIndicatorContext as c,useMenuCheckboxGroupContext as l,useMenuContentContext as u,useMenuRootContext as d,useMenuUi as f}from"./context.js";import{ITEM_SELECT as p}from"./shared.js";import m from"./menu-item-impl.js";import{computed as h,createBlock as g,defineComponent as _,mergeProps as v,nextTick as y,openBlock as b,renderSlot as x,unref as S,withCtx as C}from"vue";const w=_({name:`MenuCheckboxItem`,__name:`menu-checkbox-item`,props:{modelValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},emits:[`select`,`update:modelValue`],setup(_,{emit:w}){let T=_,E=w,D=s(T,[`modelValue`,`value`,`disabled`]),[O,k]=o(),{onClose:A}=d(`MenuItem`),{searchRef:j}=u(`MenuItem`),M=f(`checkboxItem`),N=a(()=>T.modelValue,e=>{E(`update:modelValue`,e)},!1),P=l(),F=h(()=>P?.disabled.value||T.disabled),I=h(()=>t(P?.modelValue?.value)?t(N.value)?!1:N.value===`indeterminate`?`indeterminate`:N.value:n(P?.modelValue.value,T.value)),L=h(()=>r(I.value)),R=h(()=>i(I.value)?`mixed`:I.value),z=e=>{if(E(`select`,e),i(N.value)){N.value=!0;return}N.value=!N.value,T.value&&P?.onModelValueChange(T.value)},B=!1,V=async()=>{if(T.disabled||!O.value)return;let e=new CustomEvent(p,{bubbles:!0,cancelable:!0});z(e),await y(),e.defaultPrevented?B=!1:A()},H=()=>{B=!0},U=async e=>{await y(),!e.defaultPrevented&&(B||e.currentTarget?.click())},W=async t=>{T.disabled||(j.value===``||t.key!==` `)&&e.includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())};return c({modelValue:I}),(e,t)=>(b(),g(m,v(S(D),{ref:S(k),"data-soybean-menu-checkbox-item":``,class:S(M),role:`menuitemcheckbox`,disabled:F.value,"data-state":L.value,"aria-checked":R.value,onClick:V,onPointerdown:H,onPointerup:U,onKeydown:W}),{default:C(()=>[x(e.$slots,`default`,{modelValue:I.value})]),_:3},16,[`class`,`disabled`,`data-state`,`aria-checked`]))}});export{w as default};
@@ -1 +1 @@
1
- import{useOmitProps as e}from"../../composables/use-props.js";import"../../composables/index.js";import t from"../_icon/icon.js";import n from"../kbd/kbd.js";import r from"../separator/separator-root.js";import{useMenuUi as i}from"./context.js";import a from"./menu-group-label.js";import o from"./menu-item-indicator.js";import s from"./menu-checkbox-item.js";import c from"./menu-checkbox-group.js";import{useCommonSlotNames as l}from"./hooks.js";import u from"./menu-item-slot-compact.js";import{Fragment as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createSlots as h,createVNode as g,defineComponent as _,mergeProps as v,openBlock as y,renderList as b,renderSlot as x,unref as S,useSlots as C,withCtx as w}from"vue";const T=_({name:`MenuCheckboxOptionsCompact`,__name:`menu-checkbox-options-compact`,props:{items:{},groupLabelProps:{},checkboxItemProps:{},indicatorProps:{},shortcutProps:{},separatorProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`select`],setup(_,{emit:T}){let E=_,D=T,O=C(),k=e(E,[`items`,`groupLabelProps`,`checkboxItemProps`,`indicatorProps`,`shortcutProps`,`separatorProps`]),A=l(O),j=i();return(e,i)=>(y(),f(c,v(S(k),{"onUpdate:modelValue":i[0]||(i[0]=e=>D(`update:modelValue`,e))}),{default:w(()=>[(y(!0),m(d,null,b(_.items,i=>(y(),m(d,{key:i.value},[i.isGroupLabel?(y(),f(a,v({key:0,ref_for:!0},_.groupLabelProps),{default:w(()=>[g(u,{icon:i.icon,label:i.label},{default:w(()=>[(y(!0),m(d,null,b(S(A),t=>x(e.$slots,t,v({ref_for:!0},i))),256))]),_:2},1032,[`icon`,`label`])]),_:2},1040)):(y(),f(s,v({key:1,ref_for:!0},_.checkboxItemProps,{value:i.value,disabled:i.disabled??_.checkboxItemProps?.disabled,"text-value":i.textValue,onSelect:e=>D(`select`,i,e)}),{default:w(()=>[g(u,{icon:i.icon,label:i.label},h({indicator:w(()=>[g(o,v({ref_for:!0},_.indicatorProps),{default:w(()=>[x(e.$slots,`item-indicator-icon`,v({ref_for:!0},i),()=>[g(t,{icon:`lucide:check`})])]),_:2},1040)]),default:w(()=>[(y(!0),m(d,null,b(S(A),t=>x(e.$slots,t,v({ref_for:!0},i))),256))]),_:2},[i.shortcut?{name:`shortcut`,fn:w(()=>[g(n,v({ref_for:!0},_.shortcutProps,{value:i.shortcut,class:S(j).shortcut}),null,16,[`value`,`class`])]),key:`0`}:void 0]),1032,[`icon`,`label`])]),_:2},1040,[`value`,`disabled`,`text-value`,`onSelect`])),i.separator?(y(),f(r,v({key:2,ref_for:!0},_.separatorProps),null,16)):p(`v-if`,!0)],64))),128))]),_:3},16))}});export{T as default};
1
+ import{useOmitProps as e}from"../../composables/use-props.js";import t from"../_icon/icon.js";import n from"../kbd/kbd.js";import r from"../separator/separator-root.js";import{useMenuUi as i}from"./context.js";import a from"./menu-group-label.js";import o from"./menu-item-indicator.js";import s from"./menu-checkbox-item.js";import c from"./menu-checkbox-group.js";import{useCommonSlotNames as l}from"./hooks.js";import u from"./menu-item-slot-compact.js";import{Fragment as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createSlots as h,createVNode as g,defineComponent as _,mergeProps as v,openBlock as y,renderList as b,renderSlot as x,unref as S,useSlots as C,withCtx as w}from"vue";const T=_({name:`MenuCheckboxOptionsCompact`,__name:`menu-checkbox-options-compact`,props:{items:{},groupLabelProps:{},checkboxItemProps:{},indicatorProps:{},shortcutProps:{},separatorProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`select`],setup(_,{emit:T}){let E=_,D=T,O=C(),k=e(E,[`items`,`groupLabelProps`,`checkboxItemProps`,`indicatorProps`,`shortcutProps`,`separatorProps`]),A=l(O),j=i();return(e,i)=>(y(),f(c,v(S(k),{"onUpdate:modelValue":i[0]||=e=>D(`update:modelValue`,e)}),{default:w(()=>[(y(!0),m(d,null,b(_.items,i=>(y(),m(d,{key:i.value},[i.isGroupLabel?(y(),f(a,v({key:0,ref_for:!0},_.groupLabelProps),{default:w(()=>[g(u,{icon:i.icon,label:i.label},{default:w(()=>[(y(!0),m(d,null,b(S(A),t=>x(e.$slots,t,v({ref_for:!0},i))),256))]),_:2},1032,[`icon`,`label`])]),_:2},1040)):(y(),f(s,v({key:1,ref_for:!0},_.checkboxItemProps,{value:i.value,disabled:i.disabled??_.checkboxItemProps?.disabled,"text-value":i.textValue,onSelect:e=>D(`select`,i,e)}),{default:w(()=>[g(u,{icon:i.icon,label:i.label},h({indicator:w(()=>[g(o,v({ref_for:!0},_.indicatorProps),{default:w(()=>[x(e.$slots,`item-indicator-icon`,v({ref_for:!0},i),()=>[g(t,{icon:`lucide:check`})])]),_:2},1040)]),default:w(()=>[(y(!0),m(d,null,b(S(A),t=>x(e.$slots,t,v({ref_for:!0},i))),256))]),_:2},[i.shortcut?{name:`shortcut`,fn:w(()=>[g(n,v({ref_for:!0},_.shortcutProps,{value:i.shortcut,class:S(j).shortcut}),null,16,[`value`,`class`])]),key:`0`}:void 0]),1032,[`icon`,`label`])]),_:2},1040,[`value`,`disabled`,`text-value`,`onSelect`])),i.separator?(y(),f(r,v({key:2,ref_for:!0},_.separatorProps),null,16)):p(`v-if`,!0)],64))),128))]),_:3},16))}});export{T as default};
@@ -1 +1 @@
1
- import{COLLECTION_ITEM_ATTRIBUTE as e}from"../../constants/attr.js";import{useArrowNavigation as t}from"../../composables/use-arrow-navigation.js";import{getActiveElement as n}from"../../shared/dom.js";import{tryFocusFirst as r}from"../../shared/focus.js";import{isMouseEvent as i}from"../../shared/event.js";import"../../shared/index.js";import{useBodyScrollLock as a}from"../../composables/use-body-scroll-lock.js";import{useDismissableLayer as o}from"../../composables/use-dismissable-layer.js";import{useForwardElement as s}from"../../composables/use-forward-element.js";import{useFocusGuards as c}from"../../composables/use-focus-guards.js";import{useFocusScope as l}from"../../composables/use-focus-scope.js";import{useHideOthers as u}from"../../composables/use-hide-others.js";import{useOmitProps as ee}from"../../composables/use-props.js";import{useTypeahead as d}from"../../composables/use-typeahead.js";import"../../composables/index.js";import{popperCssVars as f}from"../popper/shared.js";import te from"../popper/popper-positioner.js";import ne from"../popper/popper-popup.js";import"../popper/index.js";import re from"../roving-focus/roving-focus-group.js";import"../roving-focus/index.js";import{provideMenuContentContext as p,useMenuContext as m,useMenuRootContext as h,useMenuUi as g}from"./context.js";import{FIRST_LAST_KEYS as _,LAST_KEYS as v,MENU_POPUP_DATA_ATTRIBUTE as y,menuCssVars as b,subMenuCssVars as x}from"./shared.js";import{computed as S,createBlock as ie,createVNode as C,defineComponent as w,isRef as T,mergeProps as E,onWatcherCleanup as D,openBlock as O,renderSlot as k,unref as A,useTemplateRef as j,watchEffect as M,withCtx as N}from"vue";const P=w({name:`MenuContentImpl`,__name:`menu-content-impl`,props:{popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},loop:{type:Boolean}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(w,{emit:P}){let F=w,I=P,{modal:L,dir:R,isUsingKeyboard:z}=h(`MenuContentImpl`),{isRoot:B,dataState:V,popupId:H,triggerId:U,dataPopupAttr:W,initPopupId:G,onOpenChange:K,onPopupElementChange:q}=m(`MenuContentImpl`),[ae,J]=s(),[Y,oe]=s(e=>{q(e)}),{currentItemId:X,searchRef:se,pointerSide:ce}=p({popupElement:Y}),Z=g(),le=S(()=>B?Z.value?.positioner:Z.value?.subPositioner),ue=S(()=>B?Z.value?.popup:Z.value?.subPopup),{handleTypeaheadSearch:de}=d(),Q=j(`rovingFocusGroupRef`),{pointerEvents:fe,onFocusCapture:pe,onBlurCapture:me}=o(Y,{disableOutsidePointerEvents:()=>F.disableOutsidePointerEvents,onEscapeKeyDown:e=>{I(`escapeKeyDown`,e)},onPointerDownOutside:e=>{I(`pointerDownOutside`,e)},onFocusOutside:e=>{I(`focusOutside`,e)},onInteractOutside:e=>{I(`interactOutside`,e)},onDismiss:()=>{B&&K(!1)}}),{onKeydown:he}=l(Y,{trapped:()=>F.trapFocus,onOpenAutoFocus:e=>{I(`openAutoFocus`,e),!e.defaultPrevented&&(e.preventDefault(),Y.value?.focus({preventScroll:!0}))},onCloseAutoFocus:e=>{I(`closeAutoFocus`,e)}}),ge=ee(F,[`disableOutsidePointerEvents`,`trapFocus`,`loop`,`popupProps`]),_e=S(()=>({...F.popupProps,[W]:``})),ve=S(()=>{let e=B?b:x;return{[e.popupTransformOrigin]:`var(${f.transformOrigin})`,[e.popupAvailableWidth]:`var(${f.availableWidth})`,[e.popupAvailableHeight]:`var(${f.availableHeight})`,[e.triggerWidth]:`var(${f.anchorWidth})`,[e.triggerHeight]:`var(${f.anchorHeight})`,pointerEvents:fe.value}}),ye=e=>{I(`entryFocus`,e),z.value||e.preventDefault()},be=i=>{if(he(i),i.defaultPrevented)return;let a=i.target.closest(`[${y}]`)===i.currentTarget,o=i.ctrlKey||i.altKey||i.metaKey,s=i.key.length===1,c=t(i,n(),Y.value,{loop:F.loop,arrowKeyOptions:`vertical`,dir:R.value,focus:!0,attributeName:`[${e}]:not([data-disabled])`});if(c){c.focus();return}if(i.code===`Space`)return;let l=Q.value?.getItems()??[];if(a&&(i.key===`Tab`&&L.value&&i.preventDefault(),!o&&s&&de(i.key,l)),i.target!==Y.value||!_.includes(i.key))return;i.preventDefault();let u=l.map(e=>e.element);v.includes(i.key)&&u.reverse(),r(u)};function xe(e){if(!e)return;let{currentTarget:t,target:n}=e;t?.contains(n)||(se.value=``)}let $=0;function Se(e){if(!i(e))return;let t=e.target,n=$!==e.clientX;if((e?.currentTarget)?.contains(t)&&n){let t=e.clientX>$?`right`:`left`;ce.value=t,$=e.clientX}}return G(),c(),u(ae,()=>L.value&&B),M(()=>{if(!F.disableOutsidePointerEvents)return;let e=a();D(e)}),(e,t)=>(O(),ie(A(te),E(A(ge),{ref:A(J),"data-soybean-menu-content-impl":``,class:le.value}),{default:N(()=>[C(A(re),{ref_key:`rovingFocusGroupRef`,ref:Q,"current-tab-stop-id":A(X),"onUpdate:currentTabStopId":t[0]||(t[0]=e=>T(X)?X.value=e:null),"as-child":``,orientation:`vertical`,dir:A(R),loop:w.loop,onEntryFocus:ye},{default:N(()=>[C(A(ne),E(_e.value,{id:A(H),ref:A(oe),class:ue.value,"aria-labelledby":A(U),"aria-orientation":`vertical`,"data-dismissable-layer":``,"data-state":A(V),dir:A(R),role:`menu`,tabindex:`-1`,style:ve.value,onFocusCapture:A(pe),onBlurCapture:A(me),onKeydown:be,onBlur:xe,onPointermove:Se}),{default:N(()=>[k(e.$slots,`default`)]),_:3},16,[`id`,`class`,`aria-labelledby`,`data-state`,`dir`,`style`,`onFocusCapture`,`onBlurCapture`])]),_:3},8,[`current-tab-stop-id`,`dir`,`loop`])]),_:3},16,[`class`]))}});export{P as default};
1
+ import{COLLECTION_ITEM_ATTRIBUTE as e}from"../../constants/attr.js";import{useArrowNavigation as t}from"../../composables/use-arrow-navigation.js";import{getActiveElement as n}from"../../shared/dom.js";import{tryFocusFirst as r}from"../../shared/focus.js";import{isMouseEvent as i}from"../../shared/event.js";import{useForwardElement as a}from"../../composables/use-forward-element.js";import{useForwardListeners as o}from"../../composables/use-forward-listeners.js";import{useHideOthers as s}from"../../composables/use-hide-others.js";import{useOmitProps as c}from"../../composables/use-props.js";import{useRovingFocusGroup as l}from"../../composables/use-roving-focus.js";import{useTypeahead as u}from"../../composables/use-typeahead.js";import{usePopperRootContext as d}from"../popper/context.js";import{popperCssVars as f}from"../popper/shared.js";import p from"../popper/popper-positioner.js";import m from"../popper/popper-popup.js";import{provideMenuContentContext as h,useMenuContext as g,useMenuRootContext as ee,useMenuUi as te}from"./context.js";import{FIRST_LAST_KEYS as _,LAST_KEYS as v,MENU_POPUP_DATA_ATTRIBUTE as y,consumeMenuArrowSwitch as ne,menuCssVars as b,subMenuCssVars as x}from"./shared.js";import{computed as S,createBlock as C,createVNode as w,defineComponent as T,mergeProps as E,nextTick as D,openBlock as O,renderSlot as k,toHandlers as A,unref as j,watch as M,withCtx as N}from"vue";const P=T({name:`MenuContentImpl`,__name:`menu-content-impl`,props:{popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},trapFocus:{type:Boolean},disableHoverableContent:{type:Boolean},onGracePointerExit:{type:Function},forceMount:{type:Boolean},loop:{type:Boolean}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(T,{emit:P}){let F=T,I=P,{modal:L,dir:R,isUsingKeyboard:z}=ee(`MenuContentImpl`),{isRoot:B,open:V,dataState:H,popupId:U,triggerId:W,dataPopupAttr:G,initPopupId:re,onPopupElementChange:K}=g(`MenuContentImpl`),q=d(`MenuContentImpl`).positionerElement,[J,Y]=a(e=>{K(e)}),{currentItemId:X,searchRef:ie,pointerSide:ae}=h({popupElement:J}),Z=te(),oe=S(()=>B?Z.value?.positioner:Z.value?.subPositioner),se=S(()=>B?Z.value?.popup:Z.value?.subPopup),{handleTypeaheadSearch:ce}=u(),{setContainerElement:le,groupProps:ue,getOrderedItems:de}=l({orientation:S(()=>`vertical`),dir:R,loop:S(()=>F.loop??!1),currentTabStopId:S(()=>X.value),defaultCurrentTabStopId:S(()=>``),preventScrollOnEntryFocus:S(()=>!1),onUpdateCurrentTabStopId:e=>{X.value=e??null},onEntryFocus:ve});function fe(e){le(e),Y(e)}let Q=o(I);function pe(e){I(`openAutoFocus`,e),e.preventDefault()}Q.openAutoFocus=pe;let me=c(F,[`trapFocus`,`loop`,`popupProps`]),he=S(()=>({...F.popupProps,[G]:``})),ge=S(()=>({...ue.value,...he.value})),_e=S(()=>{let e=B?b:x;return{[e.popupTransformOrigin]:`var(${f.transformOrigin})`,[e.popupAvailableWidth]:`var(${f.availableWidth})`,[e.popupAvailableHeight]:`var(${f.availableHeight})`,[e.triggerWidth]:`var(${f.anchorWidth})`,[e.triggerHeight]:`var(${f.anchorHeight})`}});function ve(e){I(`entryFocus`,e),z.value||e.preventDefault()}let ye=i=>{if(i.defaultPrevented)return;let a=i.target.closest(`[${y}]`)===i.currentTarget,o=i.ctrlKey||i.altKey||i.metaKey,s=i.key.length===1,c=t(i,n(),J.value,{loop:F.loop,arrowKeyOptions:`vertical`,dir:R.value,focus:!0,attributeName:`[${e}]:not([data-disabled])`});if(c){c.focus();return}if(i.code===`Space`)return;let l=de();if(a&&(i.key===`Tab`&&L.value&&i.preventDefault(),!o&&s&&ce(i.key,l)),i.target!==J.value||!_.includes(i.key))return;i.preventDefault();let u=l.map(e=>e.element);v.includes(i.key)&&u.reverse(),r(u)};function be(e){if(!e)return;let{currentTarget:t,target:n}=e;t?.contains(n)||(ie.value=``)}let $=0;function xe(e){if(!i(e))return;let t=e.target,n=$!==e.clientX;if((e?.currentTarget)?.contains(t)&&n){let t=e.clientX>$?`right`:`left`;ae.value=t,$=e.clientX}}return re(),s(q,()=>L.value&&B),M(V,e=>{e&&(B||z.value)&&D(()=>{ne()||J.value?.focus({preventScroll:!0})})},{immediate:!0}),(e,t)=>(O(),C(j(p),E(j(me),{"trap-focus":T.trapFocus,"data-soybean-menu-content-impl":``,class:oe.value},A(j(Q))),{default:N(()=>[w(j(m),E(ge.value,{id:j(U),ref:fe,class:se.value,"aria-labelledby":j(W),"aria-orientation":`vertical`,"data-state":j(H),dir:j(R),role:`menu`,tabindex:`-1`,style:_e.value,onKeydown:ye,onBlur:be,onPointermove:xe}),{default:N(()=>[k(e.$slots,`default`)]),_:3},16,[`id`,`class`,`aria-labelledby`,`data-state`,`dir`,`style`])]),_:3},16,[`trap-focus`,`class`]))}});export{P as default};
@@ -1 +1 @@
1
- import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{usePresence as t}from"../../composables/use-presence.js";import{useOmitProps as n}from"../../composables/use-props.js";import"../../composables/index.js";import{useMenuContext as r,useMenuRootContext as i}from"./context.js";import a from"./menu-content-impl.js";import{computed as o,createBlock as s,createCommentVNode as c,defineComponent as l,mergeProps as u,openBlock as d,renderSlot as f,shallowRef as p,toHandlers as m,unref as h,withCtx as g}from"vue";const _=l({name:`MenuContent`,__name:`menu-content`,props:{popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},forceMount:{type:Boolean},loop:{type:Boolean}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(l,{emit:_}){let v=l,y=_,b=n(v,[`forceMount`]),x=e(y),{open:S,popupElement:C}=r(`MenuContent`),{modal:w}=i(`MenuContent`),T=v.forceMount?p(!0):t(C,S),E=o(()=>w.value&&S.value),D=e=>{w.value&&e.preventDefault()};return(e,t)=>h(T)?(d(),s(a,u({key:0},h(b),{"data-soybean-menu-content":``,"trap-focus":E.value,"disable-outside-pointer-events":E.value},m(h(x)),{onFocusOutside:D}),{default:g(()=>[f(e.$slots,`default`)]),_:3},16,[`trap-focus`,`disable-outside-pointer-events`])):c(`v-if`,!0)}});export{_ as default};
1
+ import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{usePresence as t}from"../../composables/use-presence.js";import{useOmitProps as n}from"../../composables/use-props.js";import{useMenuContext as r,useMenuRootContext as i}from"./context.js";import a from"./menu-content-impl.js";import{computed as o,createBlock as s,createCommentVNode as c,defineComponent as l,mergeProps as u,openBlock as d,renderSlot as f,shallowRef as p,toHandlers as m,unref as h,withCtx as g}from"vue";const _=l({name:`MenuContent`,__name:`menu-content`,props:{popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},trapFocus:{type:Boolean},disableHoverableContent:{type:Boolean},onGracePointerExit:{type:Function},forceMount:{type:Boolean},loop:{type:Boolean}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(l,{emit:_}){let v=l,y=_,b=n(v,[`forceMount`]),x=e(y),{open:S,popupElement:C}=r(`MenuContent`),{modal:w}=i(`MenuContent`),T=v.forceMount?p(!0):t(C,S),E=o(()=>w.value&&S.value),D=e=>{w.value&&e.preventDefault()};return(e,t)=>h(T)?(d(),s(a,u({key:0},h(b),{"data-soybean-menu-content":``,"trap-focus":E.value},m(h(x)),{onFocusOutside:D}),{default:g(()=>[f(e.$slots,`default`)]),_:3},16,[`trap-focus`])):c(`v-if`,!0)}});export{_ as default};
@@ -8,21 +8,21 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_10) => any;
9
9
  };
10
10
  declare const __VLS_base: import("vue").DefineComponent<MenuContentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ entryFocus: (event: Event) => any;
11
12
  escapeKeyDown: (event: KeyboardEvent) => any;
12
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
13
14
  focusOutside: (event: FocusOutsideEvent) => any;
14
15
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
15
16
  openAutoFocus: (event: Event) => any;
16
17
  closeAutoFocus: (event: Event) => any;
17
- entryFocus: (event: Event) => any;
18
18
  }, string, import("vue").PublicProps, Readonly<MenuContentProps> & Readonly<{
19
+ onEntryFocus?: ((event: Event) => any) | undefined;
19
20
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
21
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
21
22
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
22
23
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
23
24
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
24
25
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
25
- onEntryFocus?: ((event: Event) => any) | undefined;
26
26
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
28
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{Primitive as e}from"../primitive/primitive.js";import"../primitive/index.js";import{useMenuUi as t}from"./context.js";import{createBlock as n,defineComponent as r,normalizeClass as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";const l=r({name:`MenuGroup`,__name:`menu-group`,props:{asChild:{type:Boolean},as:{}},setup(r){let l=t(`group`);return(t,u)=>(a(),n(s(e),{as:r.as,"as-child":r.asChild,"data-soybean-menu-group":``,class:i(s(l)),role:`group`},{default:c(()=>[o(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}});export{l as default};
1
+ import{Primitive as e}from"../primitive/primitive.js";import{useMenuUi as t}from"./context.js";import{createBlock as n,defineComponent as r,normalizeClass as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";const l=r({name:`MenuGroup`,__name:`menu-group`,props:{asChild:{type:Boolean},as:{}},setup(r){let l=t(`group`);return(t,u)=>(a(),n(s(e),{as:r.as,"as-child":r.asChild,"data-soybean-menu-group":``,class:i(s(l)),role:`group`},{default:c(()=>[o(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}});export{l as default};
@@ -1 +1 @@
1
- import{isMouseEvent as e}from"../../shared/event.js";import"../../shared/index.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import{useCollectionItem as r}from"../roving-focus/context.js";import{useMenuContentContext as i,useMenuContext as a}from"./context.js";import{computed as o,createBlock as s,defineComponent as c,mergeProps as l,nextTick as u,openBlock as d,renderSlot as f,shallowRef as p,unref as m,useAttrs as h,withCtx as g}from"vue";const _=c({name:`MenuItemImpl`,__name:`menu-item-impl`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},setup(c){let _=c,v=h(),{open:y}=a(`MenuItemImpl`),{onItemEnter:b,onItemLeave:x}=i(`MenuItemImpl`),{setItemElement:S}=r(()=>({textValue:_.textValue})),C=t(_,[`disabled`,`textValue`]),w=o(()=>v.role??`menuitem`),T=p(!1),E=t=>{if(!(t.defaultPrevented||!e(t)||!y.value)){if(_.disabled){x(t);return}b(t)||t.currentTarget?.focus({preventScroll:!0})}},D=async t=>{await u(),!(t.defaultPrevented||!e(t))&&x(t)},O=async e=>{await u(),!(e.defaultPrevented||_.disabled)&&(T.value=!0)},k=async e=>{await u(),!e.defaultPrevented&&(T.value=!1)};return(e,t)=>(d(),s(m(n),l(m(C),{ref:m(S),"data-soybean-menu-item-impl":``,"data-soybean-collection-item":``,role:w.value,tabindex:`-1`,"aria-disabled":c.disabled||void 0,"data-disabled":c.disabled?``:void 0,"data-highlighted":T.value?``:void 0,onPointermove:E,onPointerleave:D,onFocus:O,onBlur:k}),{default:g(()=>[f(e.$slots,`default`)]),_:3},16,[`role`,`aria-disabled`,`data-disabled`,`data-highlighted`]))}});export{_ as default};
1
+ import{isMouseEvent as e}from"../../shared/event.js";import{useOmitProps as t}from"../../composables/use-props.js";import{useRovingFocusGroupItem as n}from"../../composables/use-roving-focus.js";import{Primitive as r}from"../primitive/primitive.js";import{useMenuContentContext as i,useMenuContext as a}from"./context.js";import{computed as o,createBlock as s,defineComponent as c,mergeProps as l,nextTick as u,openBlock as d,renderSlot as f,shallowRef as p,unref as m,useAttrs as h,withCtx as g}from"vue";const _=c({name:`MenuItemImpl`,__name:`menu-item-impl`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},setup(c){let _=c,v=h(),{open:y}=a(`MenuItemImpl`),{onItemEnter:b,onItemLeave:x}=i(`MenuItemImpl`),{setItemElement:S,itemProps:C}=n({itemData:o(()=>({textValue:_.textValue})),focusable:o(()=>!_.disabled)}),w=t(_,[`disabled`,`textValue`]),T=o(()=>({...w.value,...C.value})),E=o(()=>v.role??`menuitem`),D=p(!1),O=t=>{if(!t.defaultPrevented&&e(t)&&y.value){if(_.disabled){x(t);return}b(t)||t.currentTarget?.focus({preventScroll:!0})}},k=async t=>{await u(),!t.defaultPrevented&&e(t)&&x(t)},A=async e=>{await u(),!(e.defaultPrevented||_.disabled)&&(D.value=!0)},j=async e=>{await u(),!e.defaultPrevented&&(D.value=!1)};return(e,t)=>(d(),s(m(r),l(T.value,{ref:m(S),"data-soybean-menu-item-impl":``,role:E.value,"aria-disabled":c.disabled||void 0,"data-highlighted":D.value?``:void 0,onPointermove:O,onPointerleave:k,onFocus:A,onBlur:j}),{default:g(()=>[f(e.$slots,`default`)]),_:3},16,[`role`,`aria-disabled`,`data-highlighted`]))}});export{_ as default};
@@ -1 +1 @@
1
- import{isIndeterminate as e}from"../../shared/value.js";import"../../shared/index.js";import{useForwardElement as t}from"../../composables/use-forward-element.js";import{usePresence as n}from"../../composables/use-presence.js";import"../../composables/index.js";import{Primitive as r}from"../primitive/primitive.js";import"../primitive/index.js";import{useMenuItemIndicatorContext as i,useMenuUi as a}from"./context.js";import{computed as o,createBlock as s,createCommentVNode as c,defineComponent as l,normalizeClass as u,openBlock as d,renderSlot as f,shallowRef as p,unref as m,withCtx as h}from"vue";const g=l({name:`MenuItemIndicator`,__name:`menu-item-indicator`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{default:`span`}},setup(l){let g=l,_=a(`itemIndicator`),[v,y]=t(),{modelValue:b}=i(`MenuItemIndicator`),x=o(()=>e(b.value)||b.value===!0),S=g.forceMount?p(!0):n(v,x);return(e,t)=>m(S)?(d(),s(m(r),{key:0,ref:m(y),as:l.as,"as-child":l.asChild,"data-soybean-menu-item-indicator":``,class:u(m(_))},{default:h(()=>[f(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`])):c(`v-if`,!0)}});export{g as default};
1
+ import{isIndeterminate as e}from"../../shared/value.js";import{useForwardElement as t}from"../../composables/use-forward-element.js";import{usePresence as n}from"../../composables/use-presence.js";import{Primitive as r}from"../primitive/primitive.js";import{useMenuItemIndicatorContext as i,useMenuUi as a}from"./context.js";import{computed as o,createBlock as s,createCommentVNode as c,defineComponent as l,normalizeClass as u,openBlock as d,renderSlot as f,shallowRef as p,unref as m,withCtx as h}from"vue";const g=l({name:`MenuItemIndicator`,__name:`menu-item-indicator`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{default:`span`}},setup(l){let g=l,_=a(`itemIndicator`),[v,y]=t(),{modelValue:b}=i(`MenuItemIndicator`),x=o(()=>e(b.value)||b.value===!0),S=g.forceMount?p(!0):n(v,x);return(e,t)=>m(S)?(d(),s(m(r),{key:0,ref:m(y),as:l.as,"as-child":l.asChild,"data-soybean-menu-item-indicator":``,class:u(m(_))},{default:h(()=>[f(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`])):c(`v-if`,!0)}});export{g as default};
@@ -1 +1 @@
1
- import{SELECTION_KEYS as e}from"../../constants/common.js";import{useForwardElement as t}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{useMenuContentContext as n,useMenuRootContext as r,useMenuUi as i}from"./context.js";import{ITEM_SELECT as a}from"./shared.js";import o from"./menu-item-impl.js";import{createBlock as s,defineComponent as c,mergeProps as l,nextTick as u,openBlock as d,renderSlot as f,unref as p,withCtx as m}from"vue";const h=c({name:`MenuItem`,__name:`menu-item`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},emits:[`select`],setup(c,{emit:h}){let g=c,_=h,[v,y]=t(),{onClose:b}=r(`MenuItem`),{searchRef:x}=n(`MenuItem`),S=i(`item`),C=!1,w=async()=>{if(g.disabled||!v.value)return;let e=new CustomEvent(a,{bubbles:!0,cancelable:!0});_(`select`,e),await u(),e.defaultPrevented?C=!1:b()},T=()=>{C=!0},E=async e=>{await u(),!e.defaultPrevented&&(C||e.currentTarget?.click())},D=async t=>{g.disabled||(x.value===``||t.key!==` `)&&e.includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())};return(e,t)=>(d(),s(o,l(g,{ref:p(y),"data-soybean-menu-item":``,class:p(S),onClick:w,onPointerdown:T,onPointerup:E,onKeydown:D}),{default:m(()=>[f(e.$slots,`default`)]),_:3},16,[`class`]))}});export{h as default};
1
+ import{SELECTION_KEYS as e}from"../../constants/common.js";import{useForwardElement as t}from"../../composables/use-forward-element.js";import{useMenuContentContext as n,useMenuRootContext as r,useMenuUi as i}from"./context.js";import{ITEM_SELECT as a}from"./shared.js";import o from"./menu-item-impl.js";import{createBlock as s,defineComponent as c,mergeProps as l,nextTick as u,openBlock as d,renderSlot as f,unref as p,withCtx as m}from"vue";const h=c({name:`MenuItem`,__name:`menu-item`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},emits:[`select`],setup(c,{emit:h}){let g=c,_=h,[v,y]=t(),{onClose:b}=r(`MenuItem`),{searchRef:x}=n(`MenuItem`),S=i(`item`),C=!1,w=async()=>{if(g.disabled||!v.value)return;let e=new CustomEvent(a,{bubbles:!0,cancelable:!0});_(`select`,e),await u(),e.defaultPrevented?C=!1:b()},T=()=>{C=!0},E=async e=>{await u(),!e.defaultPrevented&&(C||e.currentTarget?.click())},D=async t=>{g.disabled||(x.value===``||t.key!==` `)&&e.includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())};return(e,t)=>(d(),s(o,l(g,{ref:p(y),"data-soybean-menu-item":``,class:p(S),onClick:w,onPointerdown:T,onPointerup:E,onKeydown:D}),{default:m(()=>[f(e.$slots,`default`)]),_:3},16,[`class`]))}});export{h as default};
@@ -1 +1 @@
1
- import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import n from"../_icon/icon.js";import r from"../portal/portal.js";import i from"../link/link.js";import a from"../kbd/kbd.js";import o from"../separator/separator-root.js";import{useMenuOptionsCompactContext as s,useMenuUi as c}from"./context.js";import l from"./menu-group.js";import u from"./menu-group-label.js";import d from"./menu-item.js";import f from"./menu-sub.js";import p from"./menu-sub-trigger.js";import m from"./menu-sub-content.js";import{useCommonSlotNames as h}from"./hooks.js";import g from"./menu-item-slot-compact.js";import{Fragment as _,computed as v,createBlock as y,createCommentVNode as b,createElementBlock as x,createSlots as S,createVNode as C,defineComponent as w,guardReactiveProps as T,mergeProps as E,normalizeClass as D,normalizeProps as O,openBlock as k,renderList as A,renderSlot as j,resolveComponent as M,toHandlers as N,unref as P,useSlots as F,withCtx as I}from"vue";import{keysOf as L}from"@soybeanjs/utils";const R=w({name:`MenuOptionCompact`,inheritAttrs:!1,__name:`menu-option-compact`,props:{item:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},portalProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(w,{emit:R}){let z=w,B=R,V=e(B),H=F(),U=t(z,[`item`]),W=v(()=>L(H)),G=h(H),K=c(),{activeValue:q,activePaths:J}=s(`MenuOptionCompact`),Y=v(()=>q.value===z.item.value),X=v(()=>J.value.includes(z.item.value)),Z=v(()=>z.item.to||z.item.href?{...z.linkProps,disabled:z.item.disabled??z.linkProps?.disabled,to:z.item.to,href:z.item.href,target:z.item.target,external:z.item.external}:{});return(e,t)=>{let s=M(`MenuOptionCompact`,!0);return k(),x(_,null,[w.item.isGroupLabel?(k(),y(u,O(E({key:0},w.groupLabelProps)),{default:I(()=>[C(g,{icon:w.item.icon,label:w.item.label},{default:I(()=>[(k(!0),x(_,null,A(P(G),t=>j(e.$slots,t,{item:w.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16)):w.item.to||w.item.href?(k(),y(d,E({key:1},w.itemProps,{"as-child":``,disabled:w.item.disabled??w.itemProps?.disabled??Z.value?.disabled,"text-value":w.item.textValue,"data-active":Y.value,onSelect:t[0]||(t[0]=e=>B(`select`,w.item,e))}),{default:I(()=>[C(i,O(T(Z.value)),{default:I(({isHref:t})=>[C(g,{icon:w.item.icon,label:w.item.label},S({default:I(()=>[(k(!0),x(_,null,A(P(G),t=>j(e.$slots,t,{item:w.item})),256))]),_:2},[t?{name:`link-icon`,fn:I(()=>[j(e.$slots,`item-link-icon`,{item:w.item},()=>[C(n,{icon:`lucide:arrow-up-right`,class:D(P(K).itemLinkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`,`label`])]),_:3},16)]),_:3},16,[`disabled`,`text-value`,`data-active`])):w.item.children?.length?(k(),y(f,E({key:3},w.subProps,{"onUpdate:open":t[2]||(t[2]=e=>B(`update:open`,e))}),{default:I(()=>[C(p,E(w.subTriggerProps,{disabled:w.item.disabled??w.subTriggerProps?.disabled,"text-value":w.item.textValue,"data-child-active":X.value?``:void 0}),{default:I(()=>[C(g,{icon:w.item.icon,label:w.item.label},{"trigger-icon":I(()=>[j(e.$slots,`item-trigger-icon`,{item:w.item},()=>[C(n,{icon:`lucide:chevron-right`,class:D(P(K).subTriggerIcon)},null,8,[`class`])])]),default:I(()=>[(k(!0),x(_,null,A(P(G),t=>j(e.$slots,t,{item:w.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16,[`disabled`,`text-value`,`data-child-active`]),w.item.separator?(k(),y(o,O(E({key:0},w.separatorProps)),null,16)):b(`v-if`,!0),C(r,O(T(w.portalProps)),{default:I(()=>[C(m,E(w.subContentProps,N(P(V))),{default:I(()=>[C(l,O(T(w.groupProps)),{default:I(()=>[(k(!0),x(_,null,A(w.item.children,t=>(k(),y(s,E({key:t.value},{ref_for:!0},P(U),{item:t},N(P(V))),S({_:2},[A(W.value,t=>({name:t,fn:I(n=>[j(e.$slots,t,E({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16)):(k(),y(d,E({key:2},w.itemProps,{disabled:w.item.disabled??w.itemProps?.disabled,"text-value":w.item.textValue,"data-active":Y.value,onSelect:t[1]||(t[1]=e=>B(`select`,w.item,e))}),{default:I(()=>[C(g,{icon:w.item.icon,label:w.item.label},{shortcut:I(()=>[w.item.shortcut?(k(),y(a,E({key:0},w.shortcutProps,{value:w.item.shortcut,class:P(K).shortcut}),null,16,[`value`,`class`])):b(`v-if`,!0)]),default:I(()=>[(k(!0),x(_,null,A(P(G),t=>j(e.$slots,t,{item:w.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16,[`disabled`,`text-value`,`data-active`])),w.item.separator&&!w.item.children?.length?(k(),y(o,O(E({key:4},w.separatorProps)),null,16)):b(`v-if`,!0)],64)}}});export{R as default};
1
+ import{keysOf as e}from"../../shared/guard.js";import{useForwardListeners as t}from"../../composables/use-forward-listeners.js";import{useOmitProps as n}from"../../composables/use-props.js";import r from"../_icon/icon.js";import i from"../portal/portal.js";import a from"../link/link.js";import o from"../kbd/kbd.js";import s from"../separator/separator-root.js";import{useMenuOptionsCompactContext as c,useMenuUi as l}from"./context.js";import u from"./menu-group.js";import d from"./menu-group-label.js";import f from"./menu-item.js";import p from"./menu-sub.js";import m from"./menu-sub-trigger.js";import h from"./menu-sub-content.js";import{useCommonSlotNames as g}from"./hooks.js";import _ from"./menu-item-slot-compact.js";import{Fragment as v,computed as y,createBlock as b,createCommentVNode as x,createElementBlock as S,createSlots as C,createVNode as w,defineComponent as T,guardReactiveProps as E,mergeProps as D,normalizeClass as O,normalizeProps as k,openBlock as A,renderList as j,renderSlot as M,resolveComponent as N,toHandlers as P,unref as F,useSlots as I,withCtx as L}from"vue";const R=T({name:`MenuOptionCompact`,inheritAttrs:!1,__name:`menu-option-compact`,props:{item:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},portalProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(T,{emit:R}){let z=T,B=R,V=t(B),H=I(),U=n(z,[`item`]),W=y(()=>e(H)),G=g(H),K=l(),{selectedValue:q,selectedPaths:J}=c(`MenuOptionCompact`),Y=y(()=>q.value===z.item.value),X=y(()=>J.value.includes(z.item.value)),Z=y(()=>z.item.to||z.item.href?{...z.linkProps,disabled:z.item.disabled??z.linkProps?.disabled,to:z.item.to,href:z.item.href,target:z.item.target,external:z.item.external}:{});return(e,t)=>{let n=N(`MenuOptionCompact`,!0);return A(),S(v,null,[T.item.isGroupLabel?(A(),b(d,k(D({key:0},T.groupLabelProps)),{default:L(()=>[w(_,{icon:T.item.icon,label:T.item.label},{default:L(()=>[(A(!0),S(v,null,j(F(G),t=>M(e.$slots,t,{item:T.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16)):T.item.to||T.item.href?(A(),b(f,D({key:1},T.itemProps,{"as-child":``,disabled:T.item.disabled??T.itemProps?.disabled??Z.value?.disabled,"text-value":T.item.textValue,"data-selected":Y.value,onSelect:t[0]||=e=>B(`select`,T.item,e)}),{default:L(()=>[w(a,k(E(Z.value)),{default:L(({isHref:t})=>[w(_,{icon:T.item.icon,label:T.item.label},C({default:L(()=>[(A(!0),S(v,null,j(F(G),t=>M(e.$slots,t,{item:T.item})),256))]),_:2},[t?{name:`link-icon`,fn:L(()=>[M(e.$slots,`item-link-icon`,{item:T.item},()=>[w(r,{icon:`lucide:arrow-up-right`,class:O(F(K).itemLinkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`,`label`])]),_:3},16)]),_:3},16,[`disabled`,`text-value`,`data-selected`])):T.item.children?.length?(A(),b(p,k(D({key:3},T.subProps)),{default:L(()=>[w(m,D(T.subTriggerProps,{disabled:T.item.disabled??T.subTriggerProps?.disabled,"text-value":T.item.textValue,"data-child-selected":X.value?``:void 0}),{default:L(()=>[w(_,{icon:T.item.icon,label:T.item.label},{"trigger-icon":L(()=>[M(e.$slots,`item-trigger-icon`,{item:T.item},()=>[w(r,{icon:`lucide:chevron-right`,class:O(F(K).subTriggerIcon)},null,8,[`class`])])]),default:L(()=>[(A(!0),S(v,null,j(F(G),t=>M(e.$slots,t,{item:T.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16,[`disabled`,`text-value`,`data-child-selected`]),T.item.separator?(A(),b(s,k(D({key:0},T.separatorProps)),null,16)):x(`v-if`,!0),w(i,k(E(T.portalProps)),{default:L(()=>[w(h,D(T.subContentProps,P(F(V))),{default:L(()=>[w(u,k(E(T.groupProps)),{default:L(()=>[(A(!0),S(v,null,j(T.item.children,t=>(A(),b(n,D({key:t.value},{ref_for:!0},F(U),{item:t},P(F(V))),C({_:2},[j(W.value,t=>({name:t,fn:L(n=>[M(e.$slots,t,D({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16)):(A(),b(f,D({key:2},T.itemProps,{disabled:T.item.disabled??T.itemProps?.disabled,"text-value":T.item.textValue,"data-selected":Y.value,onSelect:t[1]||=e=>B(`select`,T.item,e)}),{default:L(()=>[w(_,{icon:T.item.icon,label:T.item.label},{shortcut:L(()=>[T.item.shortcut?(A(),b(o,D({key:0},T.shortcutProps,{value:T.item.shortcut,class:F(K).shortcut}),null,16,[`value`,`class`])):x(`v-if`,!0)]),default:L(()=>[(A(!0),S(v,null,j(F(G),t=>M(e.$slots,t,{item:T.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16,[`disabled`,`text-value`,`data-selected`])),T.item.separator&&!T.item.children?.length?(A(),b(s,k(D({key:4},T.separatorProps)),null,16)):x(`v-if`,!0)],64)}}});export{R as default};
@@ -8,20 +8,20 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
8
8
  props: import("vue").PublicProps & __VLS_PrettifyLocal<MenuOptionCompactProps<T> & {
9
9
  onSelect?: ((item: MenuOptionData<T>, event: Event) => any) | undefined;
10
10
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
+ onEntryFocus?: ((event: Event) => any) | undefined;
11
12
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
12
13
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
13
14
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
14
15
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
15
16
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
16
17
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
17
- onEntryFocus?: ((event: Event) => any) | undefined;
18
18
  }> & (typeof globalThis extends {
19
19
  __VLS_PROPS_FALLBACK: infer P;
20
20
  } ? P : {});
21
21
  expose: (exposed: {}) => void;
22
22
  attrs: any;
23
23
  slots: MenuOptionCompactSlots<T>;
24
- emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
24
+ emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void);
25
25
  }>) => import("vue").VNode & {
26
26
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
27
27
  };
@@ -1 +1 @@
1
- import{transformPropsToContext as e}from"../../shared/vue.js";import{getTreePaths as t}from"../../shared/tree.js";import"../../shared/index.js";import{useForwardListeners as n}from"../../composables/use-forward-listeners.js";import{useOmitProps as r}from"../../composables/use-props.js";import"../../composables/index.js";import{provideMenuOptionsCompactContext as i}from"./context.js";import a from"./menu-group.js";import o from"./menu-option-compact.js";import{Fragment as s,computed as c,createBlock as l,createElementBlock as u,createSlots as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{keysOf as C}from"@soybeanjs/utils";const w=f({name:`MenuOptionsCompact`,inheritAttrs:!1,__name:`menu-options-compact`,props:{items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},portalProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(f,{emit:w}){let T=f,E=w,D=x(),O=r(T,[`items`]),k=n(E),A=c(()=>C(D)),j=c(()=>T.activeValue===void 0?[]:t(T.activeValue,T.items));return i({...e(T,[`activeValue`]),activePaths:j}),(e,t)=>(g(),l(a,h(p(f.groupProps)),{default:S(()=>[(g(!0),u(s,null,_(f.items,t=>(g(),l(o,m({key:t.value},{ref_for:!0},b(O),{item:t},y(b(k))),d({_:2},[_(A.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,m({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16))}});export{w as default};
1
+ import{keysOf as e}from"../../shared/guard.js";import{toContext as t}from"../../shared/vue.js";import{getTreePaths as n}from"../../shared/tree.js";import{useForwardListeners as r}from"../../composables/use-forward-listeners.js";import{useOmitProps as i}from"../../composables/use-props.js";import{provideMenuOptionsCompactContext as a}from"./context.js";import o from"./menu-group.js";import s from"./menu-option-compact.js";import{Fragment as c,computed as l,createBlock as u,createElementBlock as d,createSlots as f,defineComponent as p,guardReactiveProps as m,mergeProps as h,normalizeProps as g,openBlock as _,renderList as v,renderSlot as y,toHandlers as b,unref as x,useSlots as S,withCtx as C}from"vue";const w=p({name:`MenuOptionsCompact`,inheritAttrs:!1,__name:`menu-options-compact`,props:{items:{},selectedValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},portalProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(p,{emit:w}){let T=p,E=w,D=S(),O=i(T,[`items`]),k=r(E),A=l(()=>e(D)),j=l(()=>T.selectedValue===void 0?[]:n(T.selectedValue,T.items));return a({...t(T,[`selectedValue`]),selectedPaths:j}),(e,t)=>(_(),u(o,g(m(p.groupProps)),{default:C(()=>[(_(!0),d(c,null,v(p.items,t=>(_(),u(s,h({key:t.value},{ref_for:!0},x(O),{item:t},b(x(k))),f({_:2},[v(A.value,t=>({name:t,fn:C(n=>[y(e.$slots,t,h({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16))}});export{w as default};
@@ -8,20 +8,20 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
8
8
  props: import("vue").PublicProps & __VLS_PrettifyLocal<MenuOptionsCompactProps<T> & {
9
9
  onSelect?: ((item: MenuOptionData<T>, event: Event) => any) | undefined;
10
10
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
+ onEntryFocus?: ((event: Event) => any) | undefined;
11
12
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
12
13
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
13
14
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
14
15
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
15
16
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
16
17
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
17
- onEntryFocus?: ((event: Event) => any) | undefined;
18
18
  }> & (typeof globalThis extends {
19
19
  __VLS_PROPS_FALLBACK: infer P;
20
20
  } ? P : {});
21
21
  expose: (exposed: {}) => void;
22
22
  attrs: any;
23
23
  slots: MenuOptionsCompactSlots<T>;
24
- emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
24
+ emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void);
25
25
  }>) => import("vue").VNode & {
26
26
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
27
27
  };
@@ -1 +1 @@
1
- import{useControllableState as e}from"../../composables/use-controllable-state.js";import"../../composables/index.js";import{Primitive as t}from"../primitive/primitive.js";import"../primitive/index.js";import{provideMenuRadioGroupContext as n,useMenuUi as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,normalizeClass as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=o({name:`MenuRadioGroup`,__name:`menu-radio-group`,props:{modelValue:{},defaultValue:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`],setup(o,{emit:f}){let p=o,m=f,h=r(`radioGroup`),g=e(()=>p.modelValue??null,e=>{m(`update:modelValue`,e)},p.defaultValue??null);return n({modelValue:g,disabled:i(()=>p.disabled)}),(e,n)=>(c(),a(u(t),{as:o.as,"as-child":o.asChild,"data-soybean-menu-radio-group":``,class:s(u(h)),role:`group`},{default:d(()=>[l(e.$slots,`default`,{modelValue:u(g)})]),_:3},8,[`as`,`as-child`,`class`]))}});export{f as default};
1
+ import{useControllableState as e}from"../../composables/use-controllable-state.js";import{Primitive as t}from"../primitive/primitive.js";import{provideMenuRadioGroupContext as n,useMenuUi as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,normalizeClass as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=o({name:`MenuRadioGroup`,__name:`menu-radio-group`,props:{modelValue:{},defaultValue:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`],setup(o,{emit:f}){let p=o,m=f,h=r(`radioGroup`),g=e(()=>p.modelValue??null,e=>{m(`update:modelValue`,e)},p.defaultValue??null);return n({modelValue:g,disabled:i(()=>p.disabled)}),(e,n)=>(c(),a(u(t),{as:o.as,"as-child":o.asChild,"data-soybean-menu-radio-group":``,class:s(u(h)),role:`group`},{default:d(()=>[l(e.$slots,`default`,{modelValue:u(g)})]),_:3},8,[`as`,`as-child`,`class`]))}});export{f as default};
@@ -1 +1 @@
1
- import{SELECTION_KEYS as e}from"../../constants/common.js";import{getCheckedState as t,isIndeterminate as n}from"../../shared/value.js";import"../../shared/index.js";import{useForwardElement as r}from"../../composables/use-forward-element.js";import{useOmitProps as i}from"../../composables/use-props.js";import"../../composables/index.js";import{provideMenuItemIndicatorContext as a,useMenuContentContext as o,useMenuRadioGroupContext as s,useMenuRootContext as c,useMenuUi as l}from"./context.js";import{ITEM_SELECT as u}from"./shared.js";import d from"./menu-item-impl.js";import{computed as f,createBlock as p,defineComponent as m,mergeProps as h,nextTick as g,openBlock as _,renderSlot as v,unref as y,withCtx as b}from"vue";const x=m({name:`MenuRadioItem`,__name:`menu-radio-item`,props:{value:{type:[String,Number,Boolean]},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},emits:[`select`],setup(m,{emit:x}){let S=m,C=x,w=i(S,[`value`,`disabled`]),[T,E]=r(),{onClose:D}=c(`MenuItem`),{searchRef:O}=o(`MenuItem`),k=l(`radioItem`),{modelValue:A,onModelValueChange:j,disabled:M}=s(`MenuRadioItem`),N=f(()=>A.value===S.value),P=f(()=>M.value||S.disabled),F=f(()=>n(N.value)?`mixed`:N.value),I=f(()=>t(N.value)),L=!1,R=async()=>{if(S.disabled||!T.value)return;let e=new CustomEvent(u,{bubbles:!0,cancelable:!0});C(`select`,e),j(S.value),await g(),e.defaultPrevented?L=!1:D()},z=()=>{L=!0},B=async e=>{await g(),!e.defaultPrevented&&(L||e.currentTarget?.click())},V=async t=>{S.disabled||(O.value===``||t.key!==` `)&&e.includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())};return a({modelValue:N}),(e,t)=>(_(),p(d,h(y(w),{ref:y(E),"data-soybean-menu-radio-item":``,class:y(k),role:`menuitemradio`,disabled:P.value,"aria-checked":F.value,"data-state":I.value,onClick:R,onPointerdown:z,onPointerup:B,onKeydown:V}),{default:b(()=>[v(e.$slots,`default`,{modelValue:N.value})]),_:3},16,[`class`,`disabled`,`aria-checked`,`data-state`]))}});export{x as default};
1
+ import{SELECTION_KEYS as e}from"../../constants/common.js";import{getCheckedState as t,isIndeterminate as n}from"../../shared/value.js";import{useForwardElement as r}from"../../composables/use-forward-element.js";import{useOmitProps as i}from"../../composables/use-props.js";import{provideMenuItemIndicatorContext as a,useMenuContentContext as o,useMenuRadioGroupContext as s,useMenuRootContext as c,useMenuUi as l}from"./context.js";import{ITEM_SELECT as u}from"./shared.js";import d from"./menu-item-impl.js";import{computed as f,createBlock as p,defineComponent as m,mergeProps as h,nextTick as g,openBlock as _,renderSlot as v,unref as y,withCtx as b}from"vue";const x=m({name:`MenuRadioItem`,__name:`menu-radio-item`,props:{value:{type:[String,Number,Boolean]},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},emits:[`select`],setup(m,{emit:x}){let S=m,C=x,w=i(S,[`value`,`disabled`]),[T,E]=r(),{onClose:D}=c(`MenuItem`),{searchRef:O}=o(`MenuItem`),k=l(`radioItem`),{modelValue:A,onModelValueChange:j,disabled:M}=s(`MenuRadioItem`),N=f(()=>A.value===S.value),P=f(()=>M.value||S.disabled),F=f(()=>n(N.value)?`mixed`:N.value),I=f(()=>t(N.value)),L=!1,R=async()=>{if(S.disabled||!T.value)return;let e=new CustomEvent(u,{bubbles:!0,cancelable:!0});C(`select`,e),j(S.value),await g(),e.defaultPrevented?L=!1:D()},z=()=>{L=!0},B=async e=>{await g(),!e.defaultPrevented&&(L||e.currentTarget?.click())},V=async t=>{S.disabled||(O.value===``||t.key!==` `)&&e.includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())};return a({modelValue:N}),(e,t)=>(_(),p(d,h(y(w),{ref:y(E),"data-soybean-menu-radio-item":``,class:y(k),role:`menuitemradio`,disabled:P.value,"aria-checked":F.value,"data-state":I.value,onClick:R,onPointerdown:z,onPointerup:B,onKeydown:V}),{default:b(()=>[v(e.$slots,`default`,{modelValue:N.value})]),_:3},16,[`class`,`disabled`,`aria-checked`,`data-state`]))}});export{x as default};
@@ -1 +1 @@
1
- import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import n from"../_icon/icon.js";import r from"../kbd/kbd.js";import i from"../separator/separator-root.js";import{useMenuUi as a}from"./context.js";import o from"./menu-group-label.js";import s from"./menu-item-indicator.js";import c from"./menu-radio-item.js";import l from"./menu-radio-group.js";import{useCommonSlotNames as u}from"./hooks.js";import d from"./menu-item-slot-compact.js";import{Fragment as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createSlots as g,createVNode as _,defineComponent as v,mergeProps as y,openBlock as b,renderList as x,renderSlot as S,toHandlers as C,unref as w,useSlots as T,withCtx as E}from"vue";const D=v({name:`MenuRadioOptionsCompact`,__name:`menu-radio-options-compact`,props:{items:{},groupLabelProps:{},radioItemProps:{},indicatorProps:{},shortcutProps:{},separatorProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`select`],setup(v,{emit:D}){let O=v,k=D,A=T(),j=t(O,[`items`,`groupLabelProps`,`radioItemProps`,`indicatorProps`,`shortcutProps`,`separatorProps`]),M=e(k),N=u(A),P=a();return(e,t)=>(b(),p(l,y(w(j),C(w(M))),{default:E(()=>[(b(!0),h(f,null,x(v.items,t=>(b(),h(f,{key:t.value},[t.isGroupLabel?(b(),p(o,y({key:0,ref_for:!0},v.groupLabelProps),{default:E(()=>[_(d,{icon:t.icon,label:t.label},{default:E(()=>[(b(!0),h(f,null,x(w(N),n=>S(e.$slots,n,y({ref_for:!0},t))),256))]),_:2},1032,[`icon`,`label`])]),_:2},1040)):(b(),p(c,y({key:1,ref_for:!0},v.radioItemProps,{value:t.value,disabled:t.disabled??v.radioItemProps?.disabled,"text-value":t.textValue,onSelect:e=>k(`select`,t,e)}),{default:E(()=>[_(d,{icon:t.icon,label:t.label},g({indicator:E(()=>[_(s,y({ref_for:!0},v.indicatorProps),{default:E(()=>[S(e.$slots,`item-indicator-icon`,y({ref_for:!0},t),()=>[_(n,{icon:`icon-park-outline:dot`})])]),_:2},1040)]),default:E(()=>[(b(!0),h(f,null,x(w(N),n=>S(e.$slots,n,y({ref_for:!0},t))),256))]),_:2},[t.shortcut?{name:`shortcut`,fn:E(()=>[_(r,y({ref_for:!0},v.shortcutProps,{value:t.shortcut,class:w(P).shortcut}),null,16,[`value`,`class`])]),key:`0`}:void 0]),1032,[`icon`,`label`])]),_:2},1040,[`value`,`disabled`,`text-value`,`onSelect`])),t.separator?(b(),p(i,y({key:2,ref_for:!0},v.separatorProps),null,16)):m(`v-if`,!0)],64))),128))]),_:3},16))}});export{D as default};
1
+ import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{useOmitProps as t}from"../../composables/use-props.js";import n from"../_icon/icon.js";import r from"../kbd/kbd.js";import i from"../separator/separator-root.js";import{useMenuUi as a}from"./context.js";import o from"./menu-group-label.js";import s from"./menu-item-indicator.js";import c from"./menu-radio-item.js";import l from"./menu-radio-group.js";import{useCommonSlotNames as u}from"./hooks.js";import d from"./menu-item-slot-compact.js";import{Fragment as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createSlots as g,createVNode as _,defineComponent as v,mergeProps as y,openBlock as b,renderList as x,renderSlot as S,toHandlers as C,unref as w,useSlots as T,withCtx as E}from"vue";const D=v({name:`MenuRadioOptionsCompact`,__name:`menu-radio-options-compact`,props:{items:{},groupLabelProps:{},radioItemProps:{},indicatorProps:{},shortcutProps:{},separatorProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`select`],setup(v,{emit:D}){let O=v,k=D,A=T(),j=t(O,[`items`,`groupLabelProps`,`radioItemProps`,`indicatorProps`,`shortcutProps`,`separatorProps`]),M=e(k),N=u(A),P=a();return(e,t)=>(b(),p(l,y(w(j),C(w(M))),{default:E(()=>[(b(!0),h(f,null,x(v.items,t=>(b(),h(f,{key:String(t.value)},[t.isGroupLabel?(b(),p(o,y({key:0,ref_for:!0},v.groupLabelProps),{default:E(()=>[_(d,{icon:t.icon,label:t.label},{default:E(()=>[(b(!0),h(f,null,x(w(N),n=>S(e.$slots,n,y({ref_for:!0},t))),256))]),_:2},1032,[`icon`,`label`])]),_:2},1040)):(b(),p(c,y({key:1,ref_for:!0},v.radioItemProps,{value:t.value,disabled:t.disabled??v.radioItemProps?.disabled,"text-value":t.textValue,onSelect:e=>k(`select`,t,e)}),{default:E(()=>[_(d,{icon:t.icon,label:t.label},g({indicator:E(()=>[_(s,y({ref_for:!0},v.indicatorProps),{default:E(()=>[S(e.$slots,`item-indicator-icon`,y({ref_for:!0},t),()=>[_(n,{icon:`icon-park-outline:dot`})])]),_:2},1040)]),default:E(()=>[(b(!0),h(f,null,x(w(N),n=>S(e.$slots,n,y({ref_for:!0},t))),256))]),_:2},[t.shortcut?{name:`shortcut`,fn:E(()=>[_(r,y({ref_for:!0},v.shortcutProps,{value:t.shortcut,class:w(P).shortcut}),null,16,[`value`,`class`])]),key:`0`}:void 0]),1032,[`icon`,`label`])]),_:2},1040,[`value`,`disabled`,`text-value`,`onSelect`])),t.separator?(b(),p(i,y({key:2,ref_for:!0},v.separatorProps),null,16)):m(`v-if`,!0)],64))),128))]),_:3},16))}});export{D as default};
@@ -1 +1 @@
1
- import{transformPropsToContext as e}from"../../shared/vue.js";import{useDirection as t}from"../config-provider/context.js";import"../../shared/index.js";import{useControllableState as n}from"../../composables/use-controllable-state.js";import{useIsUsingKeyboard as r}from"../../composables/use-is-using-keyboard.js";import"../../composables/index.js";import i from"../popper/popper-root.js";import"../popper/index.js";import{provideMenuContext as a,provideMenuRootContext as o}from"./context.js";import{createBlock as s,defineComponent as c,openBlock as l,renderSlot as u,unref as d,withCtx as f}from"vue";const p=c({name:`MenuRoot`,inheritAttrs:!1,__name:`menu-root`,props:{dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0}},emits:[`update:open`],setup(c,{emit:p}){let m=c,h=p,g=n(()=>m.open,e=>{h(`update:open`,e)},m.defaultOpen),_=t(()=>m.dir),v=r(),y=()=>{g.value=!1};return a({dir:_,open:g,isRoot:!0}),o({...e(m,[`modal`]),dir:_,onClose:y,isUsingKeyboard:v}),(e,t)=>(l(),s(d(i),{dir:d(_)},{default:f(()=>[u(e.$slots,`default`,{open:d(g)})]),_:3},8,[`dir`]))}});export{p as default};
1
+ import{toContext as e}from"../../shared/vue.js";import{useDirection as t}from"../config-provider/context.js";import{useControllableState as n}from"../../composables/use-controllable-state.js";import{useIsUsingKeyboard as r}from"../../composables/use-is-using-keyboard.js";import i from"../popper/popper-root.js";import{provideMenuContext as a,provideMenuRootContext as o}from"./context.js";import{createBlock as s,defineComponent as c,guardReactiveProps as l,normalizeProps as u,openBlock as d,renderSlot as f,unref as p,withCtx as m}from"vue";const h=c({name:`MenuRoot`,inheritAttrs:!1,__name:`menu-root`,props:{dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0}},emits:[`update:open`],setup(c,{emit:h}){let g=c,_=h,v=n(()=>g.open,e=>{_(`update:open`,e)},g.defaultOpen),y=t(()=>g.dir),b=r(),x=()=>{v.value=!1};a({dir:y,open:v,isRoot:!0});function S(e){v.value=e,_(`update:open`,e)}return o({...e(g,[`modal`]),dir:y,onClose:x,isUsingKeyboard:b}),(e,t)=>(d(),s(p(i),{dir:p(y),modal:c.modal,open:p(v),"default-open":c.defaultOpen,"onUpdate:open":S},{default:m(t=>[f(e.$slots,`default`,u(l(t)))]),_:3},8,[`dir`,`modal`,`open`,`default-open`]))}});export{h as default};
@@ -1,10 +1,17 @@
1
+ import { Direction } from "../../types/common.js";
2
+ import { PopperOpenChangeReason } from "../popper/types.js";
3
+ import "../popper/index.js";
1
4
  import { MenuRootProps } from "./types.js";
5
+ import "../../index.js";
2
6
  //#region src/components/menu/menu-root.vue.d.ts
3
- declare var __VLS_8: {
7
+ declare var __VLS_11: {
4
8
  open: boolean;
9
+ reason: PopperOpenChangeReason;
10
+ close: () => void;
11
+ dir: Direction;
5
12
  };
6
13
  type __VLS_Slots = {} & {
7
- default?: (props: typeof __VLS_8) => any;
14
+ default?: (props: typeof __VLS_11) => any;
8
15
  };
9
16
  declare const __VLS_base: import("vue").DefineComponent<MenuRootProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
17
  "update:open": (value: boolean) => any;
@@ -1 +1 @@
1
- import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{usePresence as t}from"../../composables/use-presence.js";import"../../composables/index.js";import{useMenuContext as n,useMenuRootContext as r,useMenuSubAttributeContext as i}from"./context.js";import{SUB_CLOSE_KEYS as a}from"./shared.js";import o from"./menu-content-impl.js";import{computed as s,createBlock as c,createCommentVNode as l,defineComponent as u,mergeProps as d,openBlock as f,renderSlot as p,shallowRef as m,toHandlers as h,unref as g,withCtx as _,withModifiers as v}from"vue";const y=u({name:`MenuSubContent`,__name:`menu-sub-content`,props:{popupProps:{},placement:{},sideOffset:{},sideFlip:{type:Boolean},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean,default:!0},reference:{},forceMount:{type:Boolean},loop:{type:Boolean}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(u,{emit:y}){let b=u,x=e(y),{open:S,popupElement:C,triggerId:w,triggerElement:T,onOpenChange:E}=n(`MenuSubContent`),{dir:D,isUsingKeyboard:O,onClose:k}=r(`MenuSubContent`),A=i(),j=s(()=>d(b,{...A?.subContent?.value})),M=b.forceMount?m(!0):t(C,S),N=s(()=>D.value===`rtl`?`left`:`right`),P=()=>{O.value&&C.value?.focus()},F=e=>{e.defaultPrevented||e.target!==T.value&&E(!1)},I=e=>{k(),e.preventDefault()},L=e=>{let t=e.currentTarget?.contains(e.target),n=a[D.value].includes(e.key);t&&n&&(E(!1),T.value?.focus(),e.preventDefault())};return(e,t)=>g(M)?(f(),c(o,d({key:0,"data-soybean-menu-sub-content":``},j.value,{"trap-focus":!1,"disable-outside-pointer-events":!1,"aria-labelledby":g(w),align:`start`,side:N.value},h(g(x)),{onOpenAutoFocus:v(P,[`prevent`]),onCloseAutoFocus:t[0]||(t[0]=v(()=>{},[`prevent`])),onEscapeKeyDown:I,onFocusOutside:F,onKeydown:L}),{default:_(()=>[p(e.$slots,`default`)]),_:3},16,[`aria-labelledby`,`side`])):l(`v-if`,!0)}});export{y as default};
1
+ import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{usePresence as t}from"../../composables/use-presence.js";import{useMenuContext as n,useMenuRootContext as r,useMenuSubAttributeContext as i}from"./context.js";import{SUB_CLOSE_KEYS as a}from"./shared.js";import o from"./menu-content-impl.js";import{computed as s,createBlock as c,createCommentVNode as l,defineComponent as u,mergeProps as d,openBlock as f,renderSlot as p,shallowRef as m,toHandlers as h,unref as g,withCtx as _,withModifiers as v}from"vue";const y=u({name:`MenuSubContent`,__name:`menu-sub-content`,props:{popupProps:{},placement:{},sideOffset:{},sideFlip:{type:Boolean},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean,default:!0},reference:{},trapFocus:{type:Boolean},disableHoverableContent:{type:Boolean},onGracePointerExit:{},forceMount:{type:Boolean},loop:{type:Boolean}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(u,{emit:y}){let b=u,x=e(y),{open:S,popupElement:C,triggerId:w,triggerElement:T,onOpenChange:E}=n(`MenuSubContent`),{dir:D,isUsingKeyboard:O,onClose:k}=r(`MenuSubContent`),A=i(),j=s(()=>d(b,{...A?.subContent?.value})),M=b.forceMount?m(!0):t(C,S),N=s(()=>D.value===`rtl`?`left`:`right`),P=()=>{O.value&&C.value?.focus()},F=e=>{e.defaultPrevented||e.target!==T.value&&E(!1)},I=e=>{k(),e.preventDefault()},L=e=>{let t=e.currentTarget?.contains(e.target),n=a[D.value].includes(e.key);t&&n&&(E(!1),T.value?.focus(),e.preventDefault())};return(e,t)=>g(M)?(f(),c(o,d({key:0,"data-soybean-menu-sub-content":``},j.value,{"trap-focus":!1,"aria-labelledby":g(w),align:`start`,side:N.value},h(g(x)),{onOpenAutoFocus:v(P,[`prevent`]),onCloseAutoFocus:t[0]||=v(()=>{},[`prevent`]),onEscapeKeyDown:I,onFocusOutside:F,onKeydown:L}),{default:_(()=>[p(e.$slots,`default`)]),_:3},16,[`aria-labelledby`,`side`])):l(`v-if`,!0)}});export{y as default};
@@ -8,21 +8,21 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_14) => any;
9
9
  };
10
10
  declare const __VLS_base: import("vue").DefineComponent<MenuSubContentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ entryFocus: (event: Event) => any;
11
12
  escapeKeyDown: (event: KeyboardEvent) => any;
12
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
13
14
  focusOutside: (event: FocusOutsideEvent) => any;
14
15
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
15
16
  openAutoFocus: (event: Event) => any;
16
17
  closeAutoFocus: (event: Event) => any;
17
- entryFocus: (event: Event) => any;
18
18
  }, string, import("vue").PublicProps, Readonly<MenuSubContentProps> & Readonly<{
19
+ onEntryFocus?: ((event: Event) => any) | undefined;
19
20
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
21
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
21
22
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
22
23
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
23
24
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
24
25
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
25
- onEntryFocus?: ((event: Event) => any) | undefined;
26
26
  }>, {
27
27
  prioritizePosition: boolean;
28
28
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1 +1 @@
1
- import{isMouseEvent as e}from"../../shared/event.js";import"../../shared/index.js";import{useForwardElement as t}from"../../composables/use-forward-element.js";import"../../composables/index.js";import n from"../popper/popper-anchor.js";import"../popper/index.js";import{useMenuContentContext as r,useMenuContext as i,useMenuRootContext as a,useMenuSubAttributeContext as o,useMenuUi as s}from"./context.js";import{SUB_OPEN_KEYS as c}from"./shared.js";import l from"./menu-item-impl.js";import{computed as u,createBlock as d,createVNode as f,defineComponent as p,mergeProps as m,nextTick as h,openBlock as g,renderSlot as _,unref as v,withCtx as y}from"vue";const b=p({__name:`menu-sub-trigger`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},setup(p){let b=p,{open:x,dataState:S,popupElement:C,popupId:w,triggerId:T,onTriggerElementChange:E,initTriggerId:D,onOpenChange:O}=i(`MenuSubTrigger`),{dir:k}=a(`MenuSubTrigger`),A=o(),{pointerGraceTimer:j,searchRef:M,onPointerGraceIntentChange:N,resetPointerGraceIntent:P,onItemEnter:F,onTriggerLeave:I}=r(`MenuSubTrigger`),[L,R]=t(E),z=u(()=>m(b,{...A?.subTrigger?.value})),B=s(`subTrigger`),V=null,H=()=>{V&&window.clearTimeout(V),V=null},U=e=>{b.disabled||e.defaultPrevented||(e.currentTarget.focus(),x.value||O(!0))},W=t=>{e(t)&&(F(t)||b.disabled||x.value||V||(P(),V=window.setTimeout(()=>{O(!0),H()},100)))},G=t=>{if(!e(t))return;H();let n=C.value?.getBoundingClientRect();if(n?.width){let e=C.value?.dataset.side,r=e===`right`,i=r?-5:5,a=n[r?`left`:`right`],o=n[r?`right`:`left`];N({area:[{x:t.clientX+i,y:t.clientY},{x:a,y:n.top},{x:o,y:n.top},{x:o,y:n.bottom},{x:a,y:n.bottom}],side:e}),window.clearTimeout(j.value),j.value=window.setTimeout(()=>N(null),300)}else{if(I(t))return;P()}},K=async e=>{b.disabled||(M.value===``||e.key!==` `)&&c[k.value].includes(e.key)&&(O(!0),await h(),C.value?.focus(),e.preventDefault())};return D(),(e,t)=>(g(),d(v(n),{"as-child":``},{default:y(()=>[f(l,m(z.value,{id:v(T),ref:v(R),"data-soybean-menu-sub-trigger":``,class:v(B),"aria-haspopup":`menu`,"aria-expanded":v(x),"aria-controls":v(w),"data-state":v(S),onClick:U,onPointermove:W,onPointerleave:G,onKeydown:K}),{default:y(()=>[_(e.$slots,`default`)]),_:3},16,[`id`,`class`,`aria-expanded`,`aria-controls`,`data-state`])]),_:3}))}});export{b as default};
1
+ import{isMouseEvent as e}from"../../shared/event.js";import{useForwardElement as t}from"../../composables/use-forward-element.js";import{usePopperRootContext as n}from"../popper/context.js";import r from"../popper/popper-anchor.js";import{useMenuContentContext as i,useMenuContext as a,useMenuRootContext as o,useMenuSubAttributeContext as s,useMenuUi as c}from"./context.js";import{SUB_OPEN_KEYS as l}from"./shared.js";import u from"./menu-item-impl.js";import{computed as d,createBlock as f,createVNode as p,defineComponent as m,mergeProps as h,nextTick as g,openBlock as _,renderSlot as v,unref as y,withCtx as b}from"vue";const x=m({__name:`menu-sub-trigger`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},setup(m){let x=m,{open:S,dataState:C,popupElement:w,popupId:T,triggerId:E,onTriggerElementChange:D,initTriggerId:O,onOpenChange:k}=a(`MenuSubTrigger`),{dir:A}=o(`MenuSubTrigger`),j=s(),{pointerGraceTimer:M,searchRef:N,onPointerGraceIntentChange:P,resetPointerGraceIntent:F,onItemEnter:I,onTriggerLeave:L}=i(`MenuSubTrigger`),R=n(`MenuSubTrigger`),[z,B]=t(e=>{D(e),R.onTriggerElementChange(e)}),V=d(()=>h(x,{...j?.subTrigger?.value})),H=c(`subTrigger`),U=null,W=()=>{U&&window.clearTimeout(U),U=null},G=e=>{x.disabled||e.defaultPrevented||(e.currentTarget.focus(),S.value||k(!0))},K=t=>{e(t)&&(I(t)||x.disabled||S.value||U||(F(),U=window.setTimeout(()=>{k(!0),W()},100)))},q=t=>{if(!e(t))return;W();let n=w.value?.getBoundingClientRect();if(n?.width){let e=w.value?.dataset.side,r=e===`right`,i=r?-5:5,a=n[r?`left`:`right`],o=n[r?`right`:`left`];P({area:[{x:t.clientX+i,y:t.clientY},{x:a,y:n.top},{x:o,y:n.top},{x:o,y:n.bottom},{x:a,y:n.bottom}],side:e}),window.clearTimeout(M.value),M.value=window.setTimeout(()=>P(null),300)}else{if(L(t))return;F()}},J=async e=>{x.disabled||(N.value===``||e.key!==` `)&&l[A.value].includes(e.key)&&(k(!0),await g(),w.value?.focus(),e.preventDefault())};return O(),(e,t)=>(_(),f(y(r),{"as-child":``},{default:b(()=>[p(u,h(V.value,{id:y(E),ref:y(B),"data-soybean-menu-sub-trigger":``,class:y(H),"aria-haspopup":`menu`,"aria-expanded":y(S),"aria-controls":y(T),"data-state":y(C),onClick:G,onPointermove:K,onPointerleave:q,onKeydown:J}),{default:b(()=>[v(e.$slots,`default`)]),_:3},16,[`id`,`class`,`aria-expanded`,`aria-controls`,`data-state`])]),_:3}))}});export{x as default};