@soybeanjs/headless 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (962) hide show
  1. package/dist/components/_icon/types.d.ts +1 -10
  2. package/dist/components/accordion/accordion-content.js +1 -1
  3. package/dist/components/accordion/accordion-description.js +1 -1
  4. package/dist/components/accordion/accordion-header.js +1 -1
  5. package/dist/components/accordion/accordion-item.js +1 -1
  6. package/dist/components/accordion/accordion-root.js +1 -1
  7. package/dist/components/accordion/accordion-trigger.js +1 -1
  8. package/dist/components/accordion/context.js +1 -1
  9. package/dist/components/accordion/types.d.ts +6 -5
  10. package/dist/components/affix/affix-content.js +1 -1
  11. package/dist/components/affix/affix-placeholder.js +1 -1
  12. package/dist/components/affix/affix-root.js +1 -1
  13. package/dist/components/affix/types.d.ts +5 -4
  14. package/dist/components/alert/alert-close.js +1 -1
  15. package/dist/components/alert/alert-close.vue.d.ts +5 -4
  16. package/dist/components/alert/alert-compact.js +1 -1
  17. package/dist/components/alert/alert-compact.vue.d.ts +2 -0
  18. package/dist/components/alert/alert-content.js +1 -1
  19. package/dist/components/alert/alert-description.js +1 -1
  20. package/dist/components/alert/alert-root.js +1 -1
  21. package/dist/components/alert/alert-title.js +1 -1
  22. package/dist/components/alert/types.d.ts +16 -9
  23. package/dist/components/anchor/anchor-link.js +1 -1
  24. package/dist/components/anchor/anchor-root.js +1 -1
  25. package/dist/components/anchor/anchor-root.vue.d.ts +2 -2
  26. package/dist/components/anchor/context.js +1 -1
  27. package/dist/components/anchor/types.d.ts +5 -4
  28. package/dist/components/arrow/arrow.js +1 -1
  29. package/dist/components/arrow/types.d.ts +2 -1
  30. package/dist/components/aspect-ratio/aspect-ratio.js +1 -1
  31. package/dist/components/aspect-ratio/types.d.ts +2 -3
  32. package/dist/components/autocomplete/autocomplete-compact.js +1 -1
  33. package/dist/components/autocomplete/autocomplete-compact.vue.d.ts +2 -2
  34. package/dist/components/autocomplete/autocomplete-input.js +1 -1
  35. package/dist/components/autocomplete/autocomplete-root.js +1 -1
  36. package/dist/components/autocomplete/autocomplete-root.vue.d.ts +3 -3
  37. package/dist/components/autocomplete/types.d.ts +4 -3
  38. package/dist/components/avatar/avatar-fallback.js +1 -1
  39. package/dist/components/avatar/avatar-image.js +1 -1
  40. package/dist/components/avatar/avatar-root.js +1 -1
  41. package/dist/components/avatar/types.d.ts +5 -4
  42. package/dist/components/backtop/backtop.js +1 -1
  43. package/dist/components/backtop/backtop.vue.d.ts +3 -7
  44. package/dist/components/backtop/types.d.ts +2 -2
  45. package/dist/components/badge/badge-content.js +1 -1
  46. package/dist/components/badge/badge-root.js +1 -1
  47. package/dist/components/badge/types.d.ts +4 -3
  48. package/dist/components/bottom-sheet/bottom-sheet-compact.js +1 -1
  49. package/dist/components/bottom-sheet/bottom-sheet-popup.js +1 -1
  50. package/dist/components/bottom-sheet/bottom-sheet-root-nested.vue.d.ts +2 -2
  51. package/dist/components/bottom-sheet/bottom-sheet-root.js +1 -1
  52. package/dist/components/bottom-sheet/context.js +1 -1
  53. package/dist/components/bottom-sheet/types.d.ts +3 -2
  54. package/dist/components/breadcrumb/breadcrumb-ellipsis.js +1 -1
  55. package/dist/components/breadcrumb/breadcrumb-item.js +1 -1
  56. package/dist/components/breadcrumb/breadcrumb-link.js +1 -1
  57. package/dist/components/breadcrumb/breadcrumb-list.js +1 -1
  58. package/dist/components/breadcrumb/breadcrumb-page.js +1 -1
  59. package/dist/components/breadcrumb/breadcrumb-root.js +1 -1
  60. package/dist/components/breadcrumb/breadcrumb-separator.js +1 -1
  61. package/dist/components/breadcrumb/types.d.ts +8 -8
  62. package/dist/components/button/button.js +1 -1
  63. package/dist/components/button/types.d.ts +3 -2
  64. package/dist/components/calendar/calendar-cell-trigger.js +1 -1
  65. package/dist/components/calendar/calendar-cell-trigger.vue.d.ts +3 -16
  66. package/dist/components/calendar/calendar-cell.js +1 -1
  67. package/dist/components/calendar/calendar-compact.js +1 -1
  68. package/dist/components/calendar/calendar-compact.vue.d.ts +3 -3
  69. package/dist/components/calendar/calendar-grid-body.js +1 -1
  70. package/dist/components/calendar/calendar-grid-head.js +1 -1
  71. package/dist/components/calendar/calendar-grid-row.js +1 -1
  72. package/dist/components/calendar/calendar-grid.js +1 -1
  73. package/dist/components/calendar/calendar-head-cell.js +1 -1
  74. package/dist/components/calendar/calendar-header.js +1 -1
  75. package/dist/components/calendar/calendar-header.vue.d.ts +1 -4
  76. package/dist/components/calendar/calendar-heading.js +1 -1
  77. package/dist/components/calendar/calendar-heading.vue.d.ts +6 -8
  78. package/dist/components/calendar/calendar-next.js +1 -1
  79. package/dist/components/calendar/calendar-next.vue.d.ts +6 -10
  80. package/dist/components/calendar/calendar-prev.js +1 -1
  81. package/dist/components/calendar/calendar-prev.vue.d.ts +6 -10
  82. package/dist/components/calendar/calendar-root.js +1 -1
  83. package/dist/components/calendar/calendar-root.vue.d.ts +2 -4
  84. package/dist/components/calendar/index.d.ts +2 -2
  85. package/dist/components/calendar/shared.js +1 -0
  86. package/dist/components/calendar/types.d.ts +119 -202
  87. package/dist/components/calendar/use-calendar.js +1 -1
  88. package/dist/components/calendar-range/calendar-range-cell-trigger.js +1 -0
  89. package/dist/components/calendar-range/calendar-range-cell-trigger.vue.d.ts +15 -0
  90. package/dist/components/calendar-range/calendar-range-cell.js +1 -0
  91. package/dist/components/{range-calendar/range-calendar-cell.vue.d.ts → calendar-range/calendar-range-cell.vue.d.ts} +3 -3
  92. package/dist/components/calendar-range/calendar-range-compact.js +1 -0
  93. package/dist/components/{range-calendar/range-calendar-compact.vue.d.ts → calendar-range/calendar-range-compact.vue.d.ts} +5 -5
  94. package/dist/components/calendar-range/calendar-range-grid-body.js +1 -0
  95. package/dist/components/{range-calendar/range-calendar-grid-body.vue.d.ts → calendar-range/calendar-range-grid-body.vue.d.ts} +3 -3
  96. package/dist/components/calendar-range/calendar-range-grid-head.js +1 -0
  97. package/dist/components/{range-calendar/range-calendar-grid-head.vue.d.ts → calendar-range/calendar-range-grid-head.vue.d.ts} +3 -3
  98. package/dist/components/calendar-range/calendar-range-grid-row.js +1 -0
  99. package/dist/components/{range-calendar/range-calendar-grid-row.vue.d.ts → calendar-range/calendar-range-grid-row.vue.d.ts} +3 -3
  100. package/dist/components/calendar-range/calendar-range-grid.js +1 -0
  101. package/dist/components/{range-calendar/range-calendar-grid.vue.d.ts → calendar-range/calendar-range-grid.vue.d.ts} +3 -3
  102. package/dist/components/calendar-range/calendar-range-head-cell.js +1 -0
  103. package/dist/components/{range-calendar/range-calendar-head-cell.vue.d.ts → calendar-range/calendar-range-head-cell.vue.d.ts} +3 -3
  104. package/dist/components/calendar-range/calendar-range-header.js +1 -0
  105. package/dist/components/calendar-range/calendar-range-header.vue.d.ts +18 -0
  106. package/dist/components/calendar-range/calendar-range-heading.js +1 -0
  107. package/dist/components/calendar-range/calendar-range-heading.vue.d.ts +20 -0
  108. package/dist/components/calendar-range/calendar-range-next.js +1 -0
  109. package/dist/components/calendar-range/calendar-range-next.vue.d.ts +20 -0
  110. package/dist/components/calendar-range/calendar-range-prev.js +1 -0
  111. package/dist/components/calendar-range/calendar-range-prev.vue.d.ts +20 -0
  112. package/dist/components/calendar-range/calendar-range-root.js +1 -0
  113. package/dist/components/{range-calendar/range-calendar-root.vue.d.ts → calendar-range/calendar-range-root.vue.d.ts} +11 -23
  114. package/dist/components/calendar-range/context.d.ts +9 -0
  115. package/dist/components/calendar-range/context.js +1 -0
  116. package/dist/components/calendar-range/index.d.ts +16 -0
  117. package/dist/components/calendar-range/index.js +1 -0
  118. package/dist/components/calendar-range/types.d.ts +471 -0
  119. package/dist/components/{range-calendar/use-range-calendar.js → calendar-range/use-calendar-range.js} +1 -1
  120. package/dist/components/card/card-collapsible-trigger.js +1 -1
  121. package/dist/components/card/card-content.js +1 -1
  122. package/dist/components/card/card-description.js +1 -1
  123. package/dist/components/card/card-footer.js +1 -1
  124. package/dist/components/card/card-header.js +1 -1
  125. package/dist/components/card/card-root.js +1 -1
  126. package/dist/components/card/card-title-root.js +1 -1
  127. package/dist/components/card/card-title.js +1 -1
  128. package/dist/components/card/types.d.ts +6 -6
  129. package/dist/components/carousel/carousel-container.js +1 -1
  130. package/dist/components/carousel/carousel-content.js +1 -1
  131. package/dist/components/carousel/carousel-control.js +1 -1
  132. package/dist/components/carousel/carousel-item.js +1 -1
  133. package/dist/components/carousel/carousel-navigation.js +1 -1
  134. package/dist/components/carousel/carousel-next.js +1 -1
  135. package/dist/components/carousel/carousel-previous.js +1 -1
  136. package/dist/components/carousel/carousel-root.js +1 -1
  137. package/dist/components/carousel/types.d.ts +8 -7
  138. package/dist/components/checkbox/checkbox-card-compact.js +1 -1
  139. package/dist/components/checkbox/checkbox-card-group-compact.js +1 -1
  140. package/dist/components/checkbox/checkbox-compact.vue.d.ts +2 -2
  141. package/dist/components/checkbox/checkbox-control.js +1 -1
  142. package/dist/components/checkbox/checkbox-group-compact.js +1 -1
  143. package/dist/components/checkbox/checkbox-group-root.js +1 -1
  144. package/dist/components/checkbox/checkbox-indicator.js +1 -1
  145. package/dist/components/checkbox/checkbox-label.js +1 -1
  146. package/dist/components/checkbox/checkbox-root.js +1 -1
  147. package/dist/components/checkbox/checkbox-root.vue.d.ts +1 -1
  148. package/dist/components/checkbox/context.js +1 -1
  149. package/dist/components/checkbox/types.d.ts +8 -6
  150. package/dist/components/clipboard/clipboard.js +1 -1
  151. package/dist/components/clipboard/types.d.ts +1 -1
  152. package/dist/components/collapsible/collapsible-content.js +1 -1
  153. package/dist/components/collapsible/collapsible-root.js +1 -1
  154. package/dist/components/collapsible/collapsible-root.vue.d.ts +2 -2
  155. package/dist/components/collapsible/collapsible-trigger.js +1 -1
  156. package/dist/components/collapsible/collapsible-trigger.vue.d.ts +1 -4
  157. package/dist/components/collapsible/context.js +1 -1
  158. package/dist/components/collapsible/types.d.ts +6 -5
  159. package/dist/components/color-area/color-area-area.js +1 -1
  160. package/dist/components/color-area/color-area-area.vue.d.ts +1 -4
  161. package/dist/components/color-area/color-area-compact.js +1 -0
  162. package/dist/components/color-area/color-area-compact.vue.d.ts +19 -0
  163. package/dist/components/color-area/color-area-root.js +1 -1
  164. package/dist/components/color-area/color-area-root.vue.d.ts +2 -4
  165. package/dist/components/color-area/color-area-thumb.js +1 -1
  166. package/dist/components/color-area/index.d.ts +5 -4
  167. package/dist/components/color-area/index.js +1 -1
  168. package/dist/components/color-area/types.d.ts +24 -7
  169. package/dist/components/color-field/color-field-compact.js +1 -0
  170. package/dist/components/color-field/color-field-compact.vue.d.ts +15 -0
  171. package/dist/components/color-field/color-field-input.js +1 -1
  172. package/dist/components/color-field/color-field-root.js +1 -1
  173. package/dist/components/color-field/color-field-root.vue.d.ts +2 -4
  174. package/dist/components/color-field/index.d.ts +5 -4
  175. package/dist/components/color-field/index.js +1 -1
  176. package/dist/components/color-field/types.d.ts +20 -6
  177. package/dist/components/color-picker/color-picker-compact.js +1 -0
  178. package/dist/components/color-picker/color-picker-compact.vue.d.ts +60 -0
  179. package/dist/components/color-picker/color-picker-root.js +1 -1
  180. package/dist/components/color-picker/color-picker-root.vue.d.ts +16 -5
  181. package/dist/components/color-picker/color-picker-trigger.js +1 -0
  182. package/dist/components/color-picker/color-picker-trigger.vue.d.ts +25 -0
  183. package/dist/components/color-picker/context.d.ts +9 -0
  184. package/dist/components/color-picker/context.js +1 -0
  185. package/dist/components/color-picker/index.d.ts +6 -3
  186. package/dist/components/color-picker/index.js +1 -1
  187. package/dist/components/color-picker/shared.js +1 -0
  188. package/dist/components/color-picker/types.d.ts +132 -5
  189. package/dist/components/color-slider/color-slider-compact.js +1 -0
  190. package/dist/components/color-slider/color-slider-compact.vue.d.ts +19 -0
  191. package/dist/components/color-slider/color-slider-root.js +1 -1
  192. package/dist/components/color-slider/color-slider-root.vue.d.ts +3 -3
  193. package/dist/components/color-slider/color-slider-thumb.js +1 -1
  194. package/dist/components/color-slider/color-slider-track.js +1 -1
  195. package/dist/components/color-slider/index.d.ts +6 -5
  196. package/dist/components/color-slider/index.js +1 -1
  197. package/dist/components/color-slider/types.d.ts +24 -7
  198. package/dist/components/color-swatch/color-swatch-checker.js +1 -0
  199. package/dist/components/color-swatch/color-swatch-checker.vue.d.ts +8 -0
  200. package/dist/components/color-swatch/color-swatch-compact.js +1 -0
  201. package/dist/components/color-swatch/color-swatch-compact.vue.d.ts +15 -0
  202. package/dist/components/color-swatch/color-swatch-fill.js +1 -0
  203. package/dist/components/color-swatch/color-swatch-fill.vue.d.ts +8 -0
  204. package/dist/components/color-swatch/color-swatch-root.js +1 -0
  205. package/dist/components/color-swatch/color-swatch-root.vue.d.ts +15 -0
  206. package/dist/components/color-swatch/context.d.ts +9 -0
  207. package/dist/components/color-swatch/context.js +1 -0
  208. package/dist/components/color-swatch/index.d.ts +7 -3
  209. package/dist/components/color-swatch/index.js +1 -1
  210. package/dist/components/color-swatch/types.d.ts +58 -5
  211. package/dist/components/color-swatch-picker/color-swatch-picker-compact.js +1 -0
  212. package/dist/components/color-swatch-picker/color-swatch-picker-compact.vue.d.ts +28 -0
  213. package/dist/components/color-swatch-picker/color-swatch-picker-item-indicator.js +1 -1
  214. package/dist/components/color-swatch-picker/color-swatch-picker-item-swatch.js +1 -1
  215. package/dist/components/color-swatch-picker/color-swatch-picker-item.js +1 -1
  216. package/dist/components/color-swatch-picker/color-swatch-picker-root.js +1 -1
  217. package/dist/components/color-swatch-picker/color-swatch-picker-root.vue.d.ts +1 -1
  218. package/dist/components/color-swatch-picker/context.js +1 -1
  219. package/dist/components/color-swatch-picker/index.d.ts +7 -6
  220. package/dist/components/color-swatch-picker/index.js +1 -1
  221. package/dist/components/color-swatch-picker/types.d.ts +63 -8
  222. package/dist/components/combobox/combobox-arrow.js +1 -1
  223. package/dist/components/combobox/combobox-cancel.js +1 -1
  224. package/dist/components/combobox/combobox-compact.js +1 -1
  225. package/dist/components/combobox/combobox-compact.vue.d.ts +3 -3
  226. package/dist/components/combobox/combobox-content-impl.js +1 -1
  227. package/dist/components/combobox/combobox-content.js +1 -1
  228. package/dist/components/combobox/combobox-empty.js +1 -1
  229. package/dist/components/combobox/combobox-empty.vue.d.ts +1 -4
  230. package/dist/components/combobox/combobox-group.js +1 -1
  231. package/dist/components/combobox/combobox-input.js +1 -1
  232. package/dist/components/combobox/combobox-item.js +1 -1
  233. package/dist/components/combobox/combobox-root.js +1 -1
  234. package/dist/components/combobox/combobox-root.vue.d.ts +3 -3
  235. package/dist/components/combobox/combobox-separator.js +1 -1
  236. package/dist/components/combobox/combobox-trigger.js +1 -1
  237. package/dist/components/combobox/combobox-viewport.js +1 -1
  238. package/dist/components/combobox/combobox-virtualizer.js +1 -1
  239. package/dist/components/combobox/types.d.ts +9 -8
  240. package/dist/components/command/command-compact.js +1 -1
  241. package/dist/components/command/types.d.ts +4 -4
  242. package/dist/components/config-provider/config-provider.js +1 -1
  243. package/dist/components/config-provider/context.js +1 -1
  244. package/dist/components/config-provider/types.d.ts +9 -1
  245. package/dist/components/context-menu/context-menu-checkbox-compact.vue.d.ts +3 -3
  246. package/dist/components/context-menu/context-menu-compact.vue.d.ts +2 -2
  247. package/dist/components/context-menu/context-menu-content.js +1 -1
  248. package/dist/components/context-menu/context-menu-content.vue.d.ts +2 -2
  249. package/dist/components/context-menu/context-menu-radio-compact.vue.d.ts +3 -3
  250. package/dist/components/context-menu/context-menu-trigger.js +1 -1
  251. package/dist/components/context-menu/context-menu-wrapper-compact.vue.d.ts +2 -2
  252. package/dist/components/context-menu/context.js +1 -1
  253. package/dist/components/date-field/date-field-compact.js +1 -1
  254. package/dist/components/date-field/date-field-compact.vue.d.ts +17 -5
  255. package/dist/components/date-field/date-field-input.js +1 -1
  256. package/dist/components/date-field/date-field-root.js +1 -1
  257. package/dist/components/date-field/date-field-root.vue.d.ts +14 -22
  258. package/dist/components/date-field/index.d.ts +3 -3
  259. package/dist/components/date-field/types.d.ts +44 -144
  260. package/dist/components/date-picker/context.js +1 -1
  261. package/dist/components/date-picker/date-picker-compact.js +1 -1
  262. package/dist/components/date-picker/date-picker-compact.vue.d.ts +290 -10
  263. package/dist/components/date-picker/index.d.ts +2 -7
  264. package/dist/components/date-picker/index.js +1 -1
  265. package/dist/components/date-picker/types.d.ts +11 -274
  266. package/dist/components/date-range-field/date-range-field-compact.js +1 -1
  267. package/dist/components/date-range-field/date-range-field-input.js +1 -1
  268. package/dist/components/date-range-field/date-range-field-input.vue.d.ts +2 -2
  269. package/dist/components/date-range-field/date-range-field-root.js +1 -1
  270. package/dist/components/date-range-field/date-range-field-root.vue.d.ts +15 -30
  271. package/dist/components/date-range-field/index.d.ts +3 -3
  272. package/dist/components/date-range-field/types.d.ts +36 -183
  273. package/dist/components/date-range-picker/context.js +1 -1
  274. package/dist/components/date-range-picker/date-range-picker-compact.js +1 -1
  275. package/dist/components/date-range-picker/date-range-picker-compact.vue.d.ts +293 -12
  276. package/dist/components/date-range-picker/index.d.ts +2 -5
  277. package/dist/components/date-range-picker/index.js +1 -1
  278. package/dist/components/date-range-picker/types.d.ts +14 -269
  279. package/dist/components/dialog/context.js +1 -1
  280. package/dist/components/dialog/dialog-cancel.js +1 -1
  281. package/dist/components/dialog/dialog-close.js +1 -1
  282. package/dist/components/dialog/dialog-compact.js +1 -1
  283. package/dist/components/dialog/dialog-compact.vue.d.ts +7 -7
  284. package/dist/components/dialog/dialog-confirm.js +1 -1
  285. package/dist/components/dialog/dialog-content.js +1 -1
  286. package/dist/components/dialog/dialog-description.js +1 -1
  287. package/dist/components/dialog/dialog-footer.js +1 -1
  288. package/dist/components/dialog/dialog-header.js +1 -1
  289. package/dist/components/dialog/dialog-overlay.js +1 -1
  290. package/dist/components/dialog/dialog-popup-impl.js +1 -1
  291. package/dist/components/dialog/dialog-popup.js +1 -1
  292. package/dist/components/dialog/dialog-root.js +1 -1
  293. package/dist/components/dialog/dialog-title.js +1 -1
  294. package/dist/components/dialog/dialog-trigger.js +1 -1
  295. package/dist/components/dialog/dialog-trigger.vue.d.ts +5 -1
  296. package/dist/components/dialog/types.d.ts +21 -14
  297. package/dist/components/dropdown-menu/context.js +1 -1
  298. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.vue.d.ts +3 -3
  299. package/dist/components/dropdown-menu/dropdown-menu-compact.vue.d.ts +2 -2
  300. package/dist/components/dropdown-menu/dropdown-menu-content.js +1 -1
  301. package/dist/components/dropdown-menu/dropdown-menu-content.vue.d.ts +2 -2
  302. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.vue.d.ts +3 -3
  303. package/dist/components/dropdown-menu/dropdown-menu-root.js +1 -1
  304. package/dist/components/dropdown-menu/dropdown-menu-root.vue.d.ts +1 -1
  305. package/dist/components/dropdown-menu/dropdown-menu-trigger.js +1 -1
  306. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.vue.d.ts +2 -2
  307. package/dist/components/editable/context.js +1 -1
  308. package/dist/components/editable/editable-area.js +1 -1
  309. package/dist/components/editable/editable-area.vue.d.ts +1 -4
  310. package/dist/components/editable/editable-cancel-trigger.js +1 -1
  311. package/dist/components/editable/editable-cancel-trigger.vue.d.ts +1 -4
  312. package/dist/components/editable/editable-compact.js +1 -1
  313. package/dist/components/editable/editable-edit-trigger.js +1 -1
  314. package/dist/components/editable/editable-edit-trigger.vue.d.ts +1 -4
  315. package/dist/components/editable/editable-input.js +1 -1
  316. package/dist/components/editable/editable-input.vue.d.ts +4 -1
  317. package/dist/components/editable/editable-preview.js +1 -1
  318. package/dist/components/editable/editable-root.js +1 -1
  319. package/dist/components/editable/editable-root.vue.d.ts +2 -4
  320. package/dist/components/editable/editable-submit-trigger.js +1 -1
  321. package/dist/components/editable/editable-submit-trigger.vue.d.ts +1 -4
  322. package/dist/components/editable/types.d.ts +10 -9
  323. package/dist/components/empty/empty-content.js +1 -1
  324. package/dist/components/empty/empty-description.js +1 -1
  325. package/dist/components/empty/empty-header.js +1 -1
  326. package/dist/components/empty/empty-media.js +1 -1
  327. package/dist/components/empty/empty-root.js +1 -1
  328. package/dist/components/empty/empty-title.js +1 -1
  329. package/dist/components/empty/types.d.ts +8 -8
  330. package/dist/components/form/form-compact.js +1 -1
  331. package/dist/components/form/form-control.js +1 -1
  332. package/dist/components/form/form-description.js +1 -1
  333. package/dist/components/form/form-error.js +1 -1
  334. package/dist/components/form/form-field-array-compact.js +1 -1
  335. package/dist/components/form/form-field-compact.js +1 -1
  336. package/dist/components/form/form-label.js +1 -1
  337. package/dist/components/form/types.d.ts +7 -6
  338. package/dist/components/hover-card/context.js +1 -1
  339. package/dist/components/hover-card/hover-card-popup.js +1 -1
  340. package/dist/components/hover-card/hover-card-positioner.js +1 -1
  341. package/dist/components/hover-card/hover-card-root.js +1 -1
  342. package/dist/components/hover-card/hover-card-root.vue.d.ts +1 -1
  343. package/dist/components/hover-card/hover-card-trigger.js +1 -1
  344. package/dist/components/hover-card/index.d.ts +1 -1
  345. package/dist/components/input/input-clear.js +1 -1
  346. package/dist/components/input/input-compact.js +1 -1
  347. package/dist/components/input/input-control.js +1 -1
  348. package/dist/components/input/input-root.js +1 -1
  349. package/dist/components/input/input-root.vue.d.ts +1 -1
  350. package/dist/components/input/types.d.ts +10 -9
  351. package/dist/components/input-number/context.js +1 -1
  352. package/dist/components/input-number/index.d.ts +7 -6
  353. package/dist/components/input-number/index.js +1 -1
  354. package/dist/components/input-number/input-number-clear.js +1 -0
  355. package/dist/components/input-number/input-number-compact.js +1 -0
  356. package/dist/components/input-number/input-number-compact.vue.d.ts +21 -0
  357. package/dist/components/input-number/input-number-control.js +1 -1
  358. package/dist/components/input-number/input-number-decrement.js +1 -1
  359. package/dist/components/input-number/input-number-decrement.vue.d.ts +1 -4
  360. package/dist/components/input-number/input-number-increment.js +1 -1
  361. package/dist/components/input-number/input-number-increment.vue.d.ts +1 -4
  362. package/dist/components/input-number/input-number-root.js +1 -1
  363. package/dist/components/input-number/input-number-root.vue.d.ts +4 -4
  364. package/dist/components/input-number/types.d.ts +87 -14
  365. package/dist/components/input-otp/input-otp-compact.js +1 -1
  366. package/dist/components/input-otp/input-otp-compact.vue.d.ts +2 -2
  367. package/dist/components/input-otp/input-otp-input.js +1 -1
  368. package/dist/components/input-otp/input-otp-positioner.js +1 -1
  369. package/dist/components/input-otp/input-otp-root.js +1 -1
  370. package/dist/components/input-otp/input-otp-root.vue.d.ts +2 -2
  371. package/dist/components/input-otp/types.d.ts +5 -4
  372. package/dist/components/kbd/kbd.js +1 -1
  373. package/dist/components/kbd/types.d.ts +2 -3
  374. package/dist/components/label/label.js +1 -1
  375. package/dist/components/label/types.d.ts +2 -3
  376. package/dist/components/layout/layout-classic-placeholder.js +1 -1
  377. package/dist/components/layout/layout-classic-root.js +1 -1
  378. package/dist/components/layout/layout-content.js +1 -1
  379. package/dist/components/layout/layout-footer.js +1 -1
  380. package/dist/components/layout/layout-header.js +1 -1
  381. package/dist/components/layout/layout-main.js +1 -1
  382. package/dist/components/layout/layout-mobile.js +1 -1
  383. package/dist/components/layout/layout-rail.js +1 -1
  384. package/dist/components/layout/layout-root.js +1 -1
  385. package/dist/components/layout/layout-root.vue.d.ts +2 -2
  386. package/dist/components/layout/layout-sidebar.js +1 -1
  387. package/dist/components/layout/layout-tab.js +1 -1
  388. package/dist/components/layout/layout-trigger.js +1 -1
  389. package/dist/components/layout/layout-trigger.vue.d.ts +1 -4
  390. package/dist/components/layout/types.d.ts +13 -12
  391. package/dist/components/link/link.js +1 -1
  392. package/dist/components/link/types.d.ts +2 -3
  393. package/dist/components/list/list-content.js +1 -1
  394. package/dist/components/list/list-description.js +1 -1
  395. package/dist/components/list/list-item.js +1 -1
  396. package/dist/components/list/list-root.js +1 -1
  397. package/dist/components/list/list-title.js +1 -1
  398. package/dist/components/list/types.d.ts +6 -7
  399. package/dist/components/listbox/context.js +1 -1
  400. package/dist/components/listbox/listbox-content.js +1 -1
  401. package/dist/components/listbox/listbox-filter.js +1 -1
  402. package/dist/components/listbox/listbox-group-label.js +1 -1
  403. package/dist/components/listbox/listbox-group.js +1 -1
  404. package/dist/components/listbox/listbox-item-indicator.js +1 -1
  405. package/dist/components/listbox/listbox-item.js +1 -1
  406. package/dist/components/listbox/listbox-item.vue.d.ts +1 -4
  407. package/dist/components/listbox/listbox-root.js +1 -1
  408. package/dist/components/listbox/types.d.ts +9 -8
  409. package/dist/components/menu/context.js +1 -1
  410. package/dist/components/menu/menu-checkbox-group.js +1 -1
  411. package/dist/components/menu/menu-checkbox-group.vue.d.ts +1 -1
  412. package/dist/components/menu/menu-checkbox-item.js +1 -1
  413. package/dist/components/menu/menu-content-impl.js +1 -1
  414. package/dist/components/menu/menu-content.js +1 -1
  415. package/dist/components/menu/menu-content.vue.d.ts +2 -2
  416. package/dist/components/menu/menu-group-label.js +1 -1
  417. package/dist/components/menu/menu-group.js +1 -1
  418. package/dist/components/menu/menu-item-impl.js +1 -1
  419. package/dist/components/menu/menu-item-indicator.js +1 -1
  420. package/dist/components/menu/menu-item.js +1 -1
  421. package/dist/components/menu/menu-option-compact.vue.d.ts +2 -2
  422. package/dist/components/menu/menu-options-compact.vue.d.ts +2 -2
  423. package/dist/components/menu/menu-radio-group.js +1 -1
  424. package/dist/components/menu/menu-radio-group.vue.d.ts +3 -3
  425. package/dist/components/menu/menu-radio-item.js +1 -1
  426. package/dist/components/menu/menu-radio-options-compact.js +1 -1
  427. package/dist/components/menu/menu-radio-options-compact.vue.d.ts +2 -2
  428. package/dist/components/menu/menu-root.js +1 -1
  429. package/dist/components/menu/menu-root.vue.d.ts +1 -1
  430. package/dist/components/menu/menu-sub-content.js +1 -1
  431. package/dist/components/menu/menu-sub-content.vue.d.ts +2 -2
  432. package/dist/components/menu/menu-sub-trigger.js +1 -1
  433. package/dist/components/menu/menu-sub.js +1 -1
  434. package/dist/components/menu/types.d.ts +11 -12
  435. package/dist/components/menubar/context.js +1 -1
  436. package/dist/components/menubar/menubar-compact.vue.d.ts +3 -3
  437. package/dist/components/menubar/menubar-content.js +1 -1
  438. package/dist/components/menubar/menubar-content.vue.d.ts +2 -2
  439. package/dist/components/menubar/menubar-menu.js +1 -1
  440. package/dist/components/menubar/menubar-root.js +1 -1
  441. package/dist/components/menubar/menubar-root.vue.d.ts +1 -1
  442. package/dist/components/menubar/menubar-sub-content.js +1 -1
  443. package/dist/components/menubar/menubar-sub-content.vue.d.ts +2 -2
  444. package/dist/components/menubar/menubar-sub-trigger.js +1 -1
  445. package/dist/components/menubar/menubar-trigger.js +1 -1
  446. package/dist/components/menubar/menubar-trigger.vue.d.ts +1 -4
  447. package/dist/components/menubar/types.d.ts +5 -7
  448. package/dist/components/navigation-menu/context.js +1 -1
  449. package/dist/components/navigation-menu/navigation-menu-content.js +1 -1
  450. package/dist/components/navigation-menu/navigation-menu-indicator.js +1 -1
  451. package/dist/components/navigation-menu/navigation-menu-item.js +1 -1
  452. package/dist/components/navigation-menu/navigation-menu-link.js +1 -1
  453. package/dist/components/navigation-menu/navigation-menu-list.js +1 -1
  454. package/dist/components/navigation-menu/navigation-menu-root.js +1 -1
  455. package/dist/components/navigation-menu/navigation-menu-sub-list.js +1 -1
  456. package/dist/components/navigation-menu/navigation-menu-trigger.js +1 -1
  457. package/dist/components/navigation-menu/navigation-menu-viewport.js +1 -1
  458. package/dist/components/navigation-menu/types.d.ts +12 -11
  459. package/dist/components/page-tabs/hooks.js +1 -1
  460. package/dist/components/page-tabs/index.d.ts +6 -5
  461. package/dist/components/page-tabs/index.js +1 -1
  462. package/dist/components/page-tabs/page-tabs-close.js +1 -1
  463. package/dist/components/page-tabs/page-tabs-compact.js +1 -0
  464. package/dist/components/page-tabs/page-tabs-compact.vue.d.ts +27 -0
  465. package/dist/components/page-tabs/page-tabs-item.js +1 -1
  466. package/dist/components/page-tabs/page-tabs-item.vue.d.ts +2 -2
  467. package/dist/components/page-tabs/page-tabs-pin.js +1 -1
  468. package/dist/components/page-tabs/page-tabs-root.js +1 -1
  469. package/dist/components/page-tabs/page-tabs-root.vue.d.ts +3 -2
  470. package/dist/components/page-tabs/types.d.ts +208 -9
  471. package/dist/components/pagination/pagination-ellipsis.js +1 -1
  472. package/dist/components/pagination/pagination-first.js +1 -1
  473. package/dist/components/pagination/pagination-first.vue.d.ts +2 -2
  474. package/dist/components/pagination/pagination-last.js +1 -1
  475. package/dist/components/pagination/pagination-last.vue.d.ts +2 -2
  476. package/dist/components/pagination/pagination-list-item.js +1 -1
  477. package/dist/components/pagination/pagination-list-item.vue.d.ts +2 -2
  478. package/dist/components/pagination/pagination-list.js +1 -1
  479. package/dist/components/pagination/pagination-next.js +1 -1
  480. package/dist/components/pagination/pagination-next.vue.d.ts +2 -2
  481. package/dist/components/pagination/pagination-prev.js +1 -1
  482. package/dist/components/pagination/pagination-prev.vue.d.ts +2 -2
  483. package/dist/components/pagination/pagination-root.js +1 -1
  484. package/dist/components/pagination/types.d.ts +8 -6
  485. package/dist/components/password/context.d.ts +9 -0
  486. package/dist/components/password/context.js +1 -0
  487. package/dist/components/password/index.d.ts +4 -0
  488. package/dist/components/password/index.js +1 -0
  489. package/dist/components/password/password-compact.js +1 -0
  490. package/dist/components/password/password-compact.vue.d.ts +23 -0
  491. package/dist/components/password/types.d.ts +97 -0
  492. package/dist/components/popconfirm/context.d.ts +9 -0
  493. package/dist/components/popconfirm/context.js +1 -0
  494. package/dist/components/popconfirm/index.d.ts +21 -0
  495. package/dist/components/popconfirm/index.js +1 -0
  496. package/dist/components/popconfirm/popconfirm-cancel.js +1 -0
  497. package/dist/components/popconfirm/popconfirm-cancel.vue.d.ts +22 -0
  498. package/dist/components/popconfirm/popconfirm-compact.js +1 -0
  499. package/dist/components/{date-picker/date-picker-content.vue.d.ts → popconfirm/popconfirm-compact.vue.d.ts} +17 -7
  500. package/dist/components/popconfirm/popconfirm-confirm.js +1 -0
  501. package/dist/components/popconfirm/popconfirm-confirm.vue.d.ts +22 -0
  502. package/dist/components/popconfirm/popconfirm-content.js +1 -0
  503. package/dist/components/popconfirm/popconfirm-content.vue.d.ts +18 -0
  504. package/dist/components/popconfirm/popconfirm-description.js +1 -0
  505. package/dist/components/popconfirm/popconfirm-description.vue.d.ts +18 -0
  506. package/dist/components/popconfirm/popconfirm-footer.js +1 -0
  507. package/dist/components/popconfirm/popconfirm-footer.vue.d.ts +18 -0
  508. package/dist/components/popconfirm/popconfirm-header.js +1 -0
  509. package/dist/components/popconfirm/popconfirm-header.vue.d.ts +18 -0
  510. package/dist/components/popconfirm/popconfirm-title.js +1 -0
  511. package/dist/components/popconfirm/popconfirm-title.vue.d.ts +18 -0
  512. package/dist/components/popconfirm/types.d.ts +221 -0
  513. package/dist/components/popover/context.js +1 -1
  514. package/dist/components/popover/index.d.ts +3 -3
  515. package/dist/components/popover/index.js +1 -1
  516. package/dist/components/popover/popover-anchor.js +1 -1
  517. package/dist/components/popover/popover-close.js +1 -1
  518. package/dist/components/popover/popover-close.vue.d.ts +3 -6
  519. package/dist/components/popover/popover-compact.js +1 -1
  520. package/dist/components/popover/popover-popup.js +1 -1
  521. package/dist/components/popover/popover-positioner-impl.js +1 -1
  522. package/dist/components/popover/popover-positioner.js +1 -1
  523. package/dist/components/popover/popover-positioner.vue.d.ts +1 -0
  524. package/dist/components/popover/popover-root.js +1 -1
  525. package/dist/components/popover/popover-root.vue.d.ts +1 -1
  526. package/dist/components/popover/popover-trigger.js +1 -1
  527. package/dist/components/popover/types.d.ts +13 -15
  528. package/dist/components/popper/index.d.ts +1 -1
  529. package/dist/components/popper/popper-anchor.js +1 -1
  530. package/dist/components/popper/popper-arrow.js +1 -1
  531. package/dist/components/popper/popper-positioner.js +1 -1
  532. package/dist/components/popper/popper-positioner.vue.d.ts +3 -2
  533. package/dist/components/popper/types.d.ts +7 -6
  534. package/dist/components/primitive/index.d.ts +2 -2
  535. package/dist/components/primitive/types.d.ts +3 -1
  536. package/dist/components/progress/index.d.ts +8 -6
  537. package/dist/components/progress/index.js +1 -1
  538. package/dist/components/progress/progress-circle-compact.js +1 -0
  539. package/dist/components/progress/progress-circle-compact.vue.d.ts +21 -0
  540. package/dist/components/progress/progress-circle-svg.js +1 -0
  541. package/dist/components/progress/{progress-circle.vue.d.ts → progress-circle-svg.vue.d.ts} +3 -3
  542. package/dist/components/progress/progress-compact.js +1 -0
  543. package/dist/components/progress/progress-compact.vue.d.ts +21 -0
  544. package/dist/components/progress/progress-indicator.js +1 -1
  545. package/dist/components/progress/progress-indicator.vue.d.ts +1 -4
  546. package/dist/components/progress/progress-provider.js +1 -1
  547. package/dist/components/progress/progress-root.js +1 -1
  548. package/dist/components/progress/progress-root.vue.d.ts +1 -3
  549. package/dist/components/progress/shared.js +1 -1
  550. package/dist/components/progress/types.d.ts +67 -22
  551. package/dist/components/radio-group/context.js +1 -1
  552. package/dist/components/radio-group/radio-group-compact.vue.d.ts +2 -2
  553. package/dist/components/radio-group/radio-group-control.js +1 -1
  554. package/dist/components/radio-group/radio-group-control.vue.d.ts +2 -2
  555. package/dist/components/radio-group/radio-group-indicator.js +1 -1
  556. package/dist/components/radio-group/radio-group-item.js +1 -1
  557. package/dist/components/radio-group/radio-group-label.js +1 -1
  558. package/dist/components/radio-group/radio-group-root.js +1 -1
  559. package/dist/components/radio-group/radio-group-root.vue.d.ts +3 -3
  560. package/dist/components/radio-group/types.d.ts +9 -7
  561. package/dist/components/roving-focus/context.js +1 -1
  562. package/dist/components/roving-focus/roving-focus-group.js +1 -1
  563. package/dist/components/roving-focus/roving-focus-group.vue.d.ts +1 -1
  564. package/dist/components/roving-focus/roving-focus-item.js +1 -1
  565. package/dist/components/roving-focus/types.d.ts +3 -4
  566. package/dist/components/scroll-area/index.d.ts +8 -7
  567. package/dist/components/scroll-area/index.js +1 -1
  568. package/dist/components/scroll-area/scroll-area-compact.js +1 -0
  569. package/dist/components/scroll-area/scroll-area-compact.vue.d.ts +15 -0
  570. package/dist/components/scroll-area/scroll-area-corner.js +1 -1
  571. package/dist/components/scroll-area/scroll-area-corner.vue.d.ts +1 -4
  572. package/dist/components/scroll-area/scroll-area-root.js +1 -1
  573. package/dist/components/scroll-area/scroll-area-root.vue.d.ts +0 -2
  574. package/dist/components/scroll-area/scroll-area-scrollbar.js +1 -1
  575. package/dist/components/scroll-area/scroll-area-scrollbar.vue.d.ts +0 -2
  576. package/dist/components/scroll-area/scroll-area-thumb.js +1 -1
  577. package/dist/components/scroll-area/scroll-area-thumb.vue.d.ts +1 -4
  578. package/dist/components/scroll-area/scroll-area-viewport.js +1 -1
  579. package/dist/components/scroll-area/types.d.ts +46 -8
  580. package/dist/components/segment/index.d.ts +1 -1
  581. package/dist/components/segment/segment-compact.js +1 -1
  582. package/dist/components/segment/segment-compact.vue.d.ts +2 -2
  583. package/dist/components/select/context.js +1 -1
  584. package/dist/components/select/select-arrow.js +1 -1
  585. package/dist/components/select/select-bubble-select.js +1 -1
  586. package/dist/components/select/select-compact.vue.d.ts +2 -2
  587. package/dist/components/select/select-content.js +1 -1
  588. package/dist/components/select/select-group-label.js +1 -1
  589. package/dist/components/select/select-group.js +1 -1
  590. package/dist/components/select/select-item-aligned-popup.js +1 -1
  591. package/dist/components/select/select-item-aligned-positioner.js +1 -1
  592. package/dist/components/select/select-item-indicator.js +1 -1
  593. package/dist/components/select/select-item-text.js +1 -1
  594. package/dist/components/select/select-item.js +1 -1
  595. package/dist/components/select/select-popper-popup.js +1 -1
  596. package/dist/components/select/select-root.vue.d.ts +2 -2
  597. package/dist/components/select/select-scroll-button-impl.js +1 -1
  598. package/dist/components/select/select-scroll-down-button.js +1 -1
  599. package/dist/components/select/select-scroll-up-button.js +1 -1
  600. package/dist/components/select/select-separator.js +1 -1
  601. package/dist/components/select/select-trigger-icon.js +1 -1
  602. package/dist/components/select/select-trigger.js +1 -1
  603. package/dist/components/select/select-value.js +1 -1
  604. package/dist/components/select/select-viewport.js +1 -1
  605. package/dist/components/select/types.d.ts +16 -14
  606. package/dist/components/separator/index.d.ts +5 -4
  607. package/dist/components/separator/index.js +1 -1
  608. package/dist/components/separator/separator-compact.js +1 -0
  609. package/dist/components/separator/separator-compact.vue.d.ts +18 -0
  610. package/dist/components/separator/separator-label.js +1 -1
  611. package/dist/components/separator/separator-root.js +1 -1
  612. package/dist/components/separator/types.d.ts +26 -5
  613. package/dist/components/skeleton/skeleton.js +1 -1
  614. package/dist/components/skeleton/skeleton.vue.d.ts +1 -4
  615. package/dist/components/skeleton/types.d.ts +2 -3
  616. package/dist/components/slider/index.d.ts +7 -6
  617. package/dist/components/slider/index.js +1 -1
  618. package/dist/components/slider/shared.js +1 -1
  619. package/dist/components/slider/slider-compact.js +1 -0
  620. package/dist/components/slider/slider-compact.vue.d.ts +21 -0
  621. package/dist/components/slider/slider-range.js +1 -1
  622. package/dist/components/slider/slider-range.vue.d.ts +1 -4
  623. package/dist/components/slider/slider-root.js +1 -1
  624. package/dist/components/slider/slider-root.vue.d.ts +1 -3
  625. package/dist/components/slider/slider-thumb.js +1 -1
  626. package/dist/components/slider/slider-thumb.vue.d.ts +1 -4
  627. package/dist/components/slider/slider-track.js +1 -1
  628. package/dist/components/slider/slider-track.vue.d.ts +1 -4
  629. package/dist/components/slider/types.d.ts +55 -8
  630. package/dist/components/splitter/context.js +1 -1
  631. package/dist/components/splitter/splitter-group.js +1 -1
  632. package/dist/components/splitter/splitter-group.vue.d.ts +1 -3
  633. package/dist/components/splitter/splitter-panel.js +1 -1
  634. package/dist/components/splitter/splitter-panel.vue.d.ts +4 -6
  635. package/dist/components/splitter/splitter-resize-handle.js +1 -1
  636. package/dist/components/splitter/splitter-resize-handle.vue.d.ts +0 -2
  637. package/dist/components/splitter/types.d.ts +5 -5
  638. package/dist/components/stepper/context.js +1 -1
  639. package/dist/components/stepper/stepper-description.js +1 -1
  640. package/dist/components/stepper/stepper-indicator.js +1 -1
  641. package/dist/components/stepper/stepper-item.js +1 -1
  642. package/dist/components/stepper/stepper-item.vue.d.ts +0 -2
  643. package/dist/components/stepper/stepper-root.js +1 -1
  644. package/dist/components/stepper/stepper-root.vue.d.ts +2 -4
  645. package/dist/components/stepper/stepper-separator.js +1 -1
  646. package/dist/components/stepper/stepper-title.js +1 -1
  647. package/dist/components/stepper/stepper-trigger.js +1 -1
  648. package/dist/components/stepper/types.d.ts +8 -8
  649. package/dist/components/switch/context.js +1 -1
  650. package/dist/components/switch/index.d.ts +6 -5
  651. package/dist/components/switch/index.js +1 -1
  652. package/dist/components/switch/switch-compact.js +1 -0
  653. package/dist/components/switch/switch-compact.vue.d.ts +22 -0
  654. package/dist/components/switch/switch-control.js +1 -1
  655. package/dist/components/switch/switch-control.vue.d.ts +2 -2
  656. package/dist/components/switch/switch-root.js +1 -1
  657. package/dist/components/switch/switch-root.vue.d.ts +1 -1
  658. package/dist/components/switch/switch-thumb.js +1 -1
  659. package/dist/components/switch/types.d.ts +51 -6
  660. package/dist/components/table/hooks.js +1 -1
  661. package/dist/components/table/shared.js +1 -1
  662. package/dist/components/table/table-body.js +1 -1
  663. package/dist/components/table/table-cell.js +1 -1
  664. package/dist/components/table/table-compact.js +1 -1
  665. package/dist/components/table/table-content.js +1 -1
  666. package/dist/components/table/table-footer.js +1 -1
  667. package/dist/components/table/table-head.js +1 -1
  668. package/dist/components/table/table-header.js +1 -1
  669. package/dist/components/table/table-root.js +1 -1
  670. package/dist/components/table/table-row.js +1 -1
  671. package/dist/components/table/table-scroll.js +1 -1
  672. package/dist/components/table/table-virtual-spacer-row.js +1 -1
  673. package/dist/components/table/types.d.ts +15 -11
  674. package/dist/components/tabs/context.js +1 -1
  675. package/dist/components/tabs/tabs-compact.vue.d.ts +2 -2
  676. package/dist/components/tabs/tabs-content.js +1 -1
  677. package/dist/components/tabs/tabs-indicator.js +1 -1
  678. package/dist/components/tabs/tabs-list.js +1 -1
  679. package/dist/components/tabs/tabs-root.js +1 -1
  680. package/dist/components/tabs/tabs-root.vue.d.ts +5 -5
  681. package/dist/components/tabs/tabs-trigger.js +1 -1
  682. package/dist/components/tabs/types.d.ts +8 -7
  683. package/dist/components/tag/tag.js +1 -1
  684. package/dist/components/tag/types.d.ts +2 -3
  685. package/dist/components/tags-input/index.d.ts +8 -7
  686. package/dist/components/tags-input/index.js +1 -1
  687. package/dist/components/tags-input/tags-input-clear.js +1 -1
  688. package/dist/components/tags-input/tags-input-clear.vue.d.ts +1 -4
  689. package/dist/components/tags-input/tags-input-compact.js +1 -0
  690. package/dist/components/tags-input/tags-input-compact.vue.d.ts +25 -0
  691. package/dist/components/tags-input/tags-input-control.js +1 -0
  692. package/dist/components/tags-input/tags-input-control.vue.d.ts +8 -0
  693. package/dist/components/tags-input/tags-input-item-delete.js +1 -1
  694. package/dist/components/tags-input/tags-input-item-delete.vue.d.ts +1 -4
  695. package/dist/components/tags-input/tags-input-item-text.js +1 -1
  696. package/dist/components/tags-input/tags-input-item-text.vue.d.ts +3 -6
  697. package/dist/components/tags-input/tags-input-item.js +1 -1
  698. package/dist/components/tags-input/tags-input-item.vue.d.ts +14 -14
  699. package/dist/components/tags-input/tags-input-root.js +1 -1
  700. package/dist/components/tags-input/tags-input-root.vue.d.ts +29 -21
  701. package/dist/components/tags-input/types.d.ts +75 -63
  702. package/dist/components/textarea/index.d.ts +7 -5
  703. package/dist/components/textarea/index.js +1 -1
  704. package/dist/components/textarea/textarea-clear.js +1 -0
  705. package/dist/components/textarea/textarea-clear.vue.d.ts +22 -0
  706. package/dist/components/textarea/textarea-compact.js +1 -0
  707. package/dist/components/textarea/textarea-compact.vue.d.ts +21 -0
  708. package/dist/components/textarea/textarea-control.js +1 -1
  709. package/dist/components/textarea/textarea-counter.js +1 -1
  710. package/dist/components/textarea/textarea-root.js +1 -1
  711. package/dist/components/textarea/textarea-root.vue.d.ts +3 -1
  712. package/dist/components/textarea/types.d.ts +96 -6
  713. package/dist/components/time-field/index.d.ts +6 -4
  714. package/dist/components/time-field/index.js +1 -1
  715. package/dist/components/time-field/time-field-compact.js +1 -0
  716. package/dist/components/time-field/time-field-compact.vue.d.ts +15 -0
  717. package/dist/components/time-field/time-field-input.js +1 -1
  718. package/dist/components/time-field/time-field-input.vue.d.ts +2 -2
  719. package/dist/components/time-field/time-field-root.js +1 -1
  720. package/dist/components/time-field/time-field-root.vue.d.ts +5 -15
  721. package/dist/components/time-field/types.d.ts +33 -132
  722. package/dist/components/time-range-field/index.d.ts +2 -2
  723. package/dist/components/time-range-field/time-range-field-compact.js +1 -1
  724. package/dist/components/time-range-field/time-range-field-compact.vue.d.ts +1 -2
  725. package/dist/components/time-range-field/time-range-field-input.js +1 -1
  726. package/dist/components/time-range-field/time-range-field-root.js +1 -1
  727. package/dist/components/time-range-field/time-range-field-root.vue.d.ts +6 -20
  728. package/dist/components/time-range-field/types.d.ts +36 -184
  729. package/dist/components/toast/toast-provider.js +1 -1
  730. package/dist/components/toast/toast.js +1 -1
  731. package/dist/components/toast/toaster.js +1 -1
  732. package/dist/components/toast/toaster.vue.d.ts +1 -1
  733. package/dist/components/toast/types.d.ts +3 -2
  734. package/dist/components/toggle/toggle.js +1 -1
  735. package/dist/components/toggle/toggle.vue.d.ts +1 -4
  736. package/dist/components/toggle/types.d.ts +2 -7
  737. package/dist/components/toggle-group/context.js +1 -1
  738. package/dist/components/toggle-group/toggle-group-item.js +1 -1
  739. package/dist/components/toggle-group/toggle-group-root.js +1 -1
  740. package/dist/components/toggle-group/types.d.ts +3 -5
  741. package/dist/components/toolbar/context.js +1 -1
  742. package/dist/components/toolbar/toolbar-button.js +1 -1
  743. package/dist/components/toolbar/toolbar-link.js +1 -1
  744. package/dist/components/toolbar/toolbar-root.js +1 -1
  745. package/dist/components/toolbar/toolbar-separator.js +1 -1
  746. package/dist/components/toolbar/toolbar-toggle-group.js +1 -1
  747. package/dist/components/toolbar/toolbar-toggle-item.js +1 -1
  748. package/dist/components/toolbar/types.d.ts +4 -4
  749. package/dist/components/tooltip/index.d.ts +8 -7
  750. package/dist/components/tooltip/index.js +1 -1
  751. package/dist/components/tooltip/tooltip-compact.js +1 -0
  752. package/dist/components/tooltip/tooltip-compact.vue.d.ts +28 -0
  753. package/dist/components/tooltip/tooltip-popup.js +1 -1
  754. package/dist/components/tooltip/tooltip-positioner-impl.js +1 -1
  755. package/dist/components/tooltip/tooltip-positioner.js +1 -1
  756. package/dist/components/tooltip/tooltip-positioner.vue.d.ts +1 -0
  757. package/dist/components/tooltip/tooltip-root.js +1 -1
  758. package/dist/components/tooltip/tooltip-root.vue.d.ts +1 -1
  759. package/dist/components/tooltip/tooltip-trigger.js +1 -1
  760. package/dist/components/tooltip/types.d.ts +58 -2
  761. package/dist/components/tree/context.js +1 -1
  762. package/dist/components/tree/tree-item.js +1 -1
  763. package/dist/components/tree/tree-root.js +1 -1
  764. package/dist/components/tree/tree-root.vue.d.ts +1 -1
  765. package/dist/components/tree/tree-virtualizer-item.js +1 -1
  766. package/dist/components/tree/tree-virtualizer-root.js +1 -1
  767. package/dist/components/tree/types.d.ts +5 -5
  768. package/dist/components/tree-menu/index.d.ts +12 -8
  769. package/dist/components/tree-menu/index.js +1 -1
  770. package/dist/components/tree-menu/shared.js +1 -0
  771. package/dist/components/tree-menu/tree-menu-button.js +1 -1
  772. package/dist/components/tree-menu/tree-menu-button.vue.d.ts +1 -4
  773. package/dist/components/tree-menu/tree-menu-collapsible.js +1 -1
  774. package/dist/components/tree-menu/tree-menu-compact.js +1 -0
  775. package/dist/components/tree-menu/tree-menu-compact.vue.d.ts +24 -0
  776. package/dist/components/tree-menu/tree-menu-group-label.js +1 -1
  777. package/dist/components/tree-menu/tree-menu-group-root.js +1 -1
  778. package/dist/components/tree-menu/tree-menu-group.js +1 -1
  779. package/dist/components/tree-menu/tree-menu-item.js +1 -1
  780. package/dist/components/tree-menu/tree-menu-option-compact.js +1 -0
  781. package/dist/components/tree-menu/tree-menu-option-compact.vue.d.ts +33 -0
  782. package/dist/components/tree-menu/tree-menu-options-compact.js +1 -0
  783. package/dist/components/tree-menu/tree-menu-options-compact.vue.d.ts +34 -0
  784. package/dist/components/tree-menu/tree-menu-root.js +1 -1
  785. package/dist/components/tree-menu/tree-menu-root.vue.d.ts +4 -1
  786. package/dist/components/tree-menu/tree-menu-slot-compact.js +1 -0
  787. package/dist/components/tree-menu/tree-menu-slot-compact.vue.d.ts +28 -0
  788. package/dist/components/tree-menu/tree-menu-sub.js +1 -1
  789. package/dist/components/tree-menu/types.d.ts +241 -12
  790. package/dist/components/virtualizer/types.d.ts +7 -6
  791. package/dist/components/virtualizer/virtualizer-content.js +1 -1
  792. package/dist/components/virtualizer/virtualizer-item.js +1 -1
  793. package/dist/components/virtualizer/virtualizer-root.js +1 -1
  794. package/dist/components/visually-hidden/types.d.ts +2 -3
  795. package/dist/components/visually-hidden/visually-hidden-input-bubble.js +1 -1
  796. package/dist/components/visually-hidden/visually-hidden-input.js +1 -1
  797. package/dist/components/visually-hidden/visually-hidden.js +1 -1
  798. package/dist/composables/index.d.ts +2 -1
  799. package/dist/composables/index.js +1 -1
  800. package/dist/composables/use-bool-prop.d.ts +12 -0
  801. package/dist/composables/use-bool-prop.js +1 -0
  802. package/dist/composables/use-collection.d.ts +0 -3
  803. package/dist/composables/use-collection.js +1 -1
  804. package/dist/composables/use-controllable-state.d.ts +10 -1
  805. package/dist/composables/use-controllable-state.js +1 -1
  806. package/dist/composables/use-selection.js +1 -1
  807. package/dist/constants/components.d.ts +3 -7
  808. package/dist/constants/components.js +1 -1
  809. package/dist/date/calendar.d.ts +22 -24
  810. package/dist/date/calendar.js +1 -1
  811. package/dist/date/comparators.d.ts +29 -30
  812. package/dist/date/formatter.d.ts +1 -1
  813. package/dist/date/index.d.ts +8 -8
  814. package/dist/date/index.js +1 -1
  815. package/dist/date/parser.d.ts +14 -13
  816. package/dist/date/parser.js +1 -1
  817. package/dist/date/parts.d.ts +6 -6
  818. package/dist/date/placeholders.d.ts +2 -21
  819. package/dist/date/placeholders.js +1 -1
  820. package/dist/date/types.d.ts +12 -11
  821. package/dist/date/use-date-field.d.ts +6 -8
  822. package/dist/date/use-date-field.js +1 -1
  823. package/dist/date/utils.d.ts +3 -7
  824. package/dist/date/utils.js +1 -1
  825. package/dist/index.d.ts +423 -414
  826. package/dist/index.js +1 -1
  827. package/dist/locale/hooks.d.ts +14 -0
  828. package/dist/locale/hooks.js +1 -0
  829. package/dist/locale/index.d.ts +5 -0
  830. package/dist/locale/index.js +1 -0
  831. package/dist/locale/langs/en.d.ts +6 -0
  832. package/dist/locale/langs/en.js +1 -0
  833. package/dist/locale/langs/zh-CN.d.ts +6 -0
  834. package/dist/locale/langs/zh-CN.js +1 -0
  835. package/dist/locale/locales.d.ts +23 -0
  836. package/dist/locale/locales.js +1 -0
  837. package/dist/locale/types.d.ts +234 -0
  838. package/dist/namespaced/index.d.ts +983 -966
  839. package/dist/namespaced/index.js +1 -1
  840. package/dist/shared/color.d.ts +3 -13
  841. package/dist/shared/color.js +1 -1
  842. package/dist/shared/index.d.ts +4 -4
  843. package/dist/shared/index.js +1 -1
  844. package/dist/shared/object.d.ts +2 -1
  845. package/dist/shared/object.js +1 -1
  846. package/dist/shared/string.d.ts +6 -1
  847. package/dist/shared/string.js +1 -1
  848. package/dist/shared/time-picker.d.ts +1 -2
  849. package/dist/shared/vue.js +1 -1
  850. package/dist/types/color.d.ts +16 -0
  851. package/dist/types/index.d.ts +3 -2
  852. package/dist/types/vue.d.ts +4 -2
  853. package/package.json +13 -3
  854. package/dist/components/_icon/icon.vue.d.ts +0 -8
  855. package/dist/components/_icon/index.d.ts +0 -3
  856. package/dist/components/_icon/index.js +0 -1
  857. package/dist/components/calendar/use-calendar.d.ts +0 -45
  858. package/dist/components/color-swatch/color-swatch.js +0 -1
  859. package/dist/components/color-swatch/color-swatch.vue.d.ts +0 -26
  860. package/dist/components/date-picker/date-picker-content.js +0 -1
  861. package/dist/components/date-picker/date-picker-root.js +0 -1
  862. package/dist/components/date-picker/date-picker-root.vue.d.ts +0 -38
  863. package/dist/components/date-range-picker/date-range-picker-popup.js +0 -1
  864. package/dist/components/date-range-picker/date-range-picker-popup.vue.d.ts +0 -21
  865. package/dist/components/date-range-picker/date-range-picker-root.js +0 -1
  866. package/dist/components/date-range-picker/date-range-picker-root.vue.d.ts +0 -50
  867. package/dist/components/date-range-picker/date-range-picker-trigger.js +0 -1
  868. package/dist/components/date-range-picker/date-range-picker-trigger.vue.d.ts +0 -21
  869. package/dist/components/month-picker/context.d.ts +0 -9
  870. package/dist/components/month-picker/context.js +0 -1
  871. package/dist/components/month-picker/index.d.ts +0 -6
  872. package/dist/components/month-picker/index.js +0 -1
  873. package/dist/components/month-picker/month-picker-popup.js +0 -1
  874. package/dist/components/month-picker/month-picker-popup.vue.d.ts +0 -36
  875. package/dist/components/month-picker/month-picker-root.js +0 -1
  876. package/dist/components/month-picker/month-picker-root.vue.d.ts +0 -39
  877. package/dist/components/month-picker/month-picker-trigger.js +0 -1
  878. package/dist/components/month-picker/month-picker-trigger.vue.d.ts +0 -21
  879. package/dist/components/month-picker/types.d.ts +0 -202
  880. package/dist/components/month-range-picker/context.d.ts +0 -9
  881. package/dist/components/month-range-picker/context.js +0 -1
  882. package/dist/components/month-range-picker/index.d.ts +0 -6
  883. package/dist/components/month-range-picker/index.js +0 -1
  884. package/dist/components/month-range-picker/month-range-picker-popup.js +0 -1
  885. package/dist/components/month-range-picker/month-range-picker-popup.vue.d.ts +0 -39
  886. package/dist/components/month-range-picker/month-range-picker-root.js +0 -1
  887. package/dist/components/month-range-picker/month-range-picker-root.vue.d.ts +0 -43
  888. package/dist/components/month-range-picker/month-range-picker-trigger.js +0 -1
  889. package/dist/components/month-range-picker/month-range-picker-trigger.vue.d.ts +0 -21
  890. package/dist/components/month-range-picker/types.d.ts +0 -234
  891. package/dist/components/progress/progress-circle.js +0 -1
  892. package/dist/components/range-calendar/context.d.ts +0 -9
  893. package/dist/components/range-calendar/context.js +0 -1
  894. package/dist/components/range-calendar/index.d.ts +0 -16
  895. package/dist/components/range-calendar/index.js +0 -1
  896. package/dist/components/range-calendar/range-calendar-cell-trigger.js +0 -1
  897. package/dist/components/range-calendar/range-calendar-cell-trigger.vue.d.ts +0 -33
  898. package/dist/components/range-calendar/range-calendar-cell.js +0 -1
  899. package/dist/components/range-calendar/range-calendar-compact.js +0 -1
  900. package/dist/components/range-calendar/range-calendar-grid-body.js +0 -1
  901. package/dist/components/range-calendar/range-calendar-grid-head.js +0 -1
  902. package/dist/components/range-calendar/range-calendar-grid-row.js +0 -1
  903. package/dist/components/range-calendar/range-calendar-grid.js +0 -1
  904. package/dist/components/range-calendar/range-calendar-head-cell.js +0 -1
  905. package/dist/components/range-calendar/range-calendar-header.js +0 -1
  906. package/dist/components/range-calendar/range-calendar-header.vue.d.ts +0 -21
  907. package/dist/components/range-calendar/range-calendar-heading.js +0 -1
  908. package/dist/components/range-calendar/range-calendar-heading.vue.d.ts +0 -22
  909. package/dist/components/range-calendar/range-calendar-next.js +0 -1
  910. package/dist/components/range-calendar/range-calendar-next.vue.d.ts +0 -24
  911. package/dist/components/range-calendar/range-calendar-prev.js +0 -1
  912. package/dist/components/range-calendar/range-calendar-prev.vue.d.ts +0 -24
  913. package/dist/components/range-calendar/range-calendar-root.js +0 -1
  914. package/dist/components/range-calendar/types.d.ts +0 -488
  915. package/dist/components/tags-input/tags-input-input.js +0 -1
  916. package/dist/components/tags-input/tags-input-input.vue.d.ts +0 -21
  917. package/dist/components/time-picker/context.d.ts +0 -9
  918. package/dist/components/time-picker/context.js +0 -1
  919. package/dist/components/time-picker/index.d.ts +0 -6
  920. package/dist/components/time-picker/index.js +0 -1
  921. package/dist/components/time-picker/time-picker-popup.js +0 -1
  922. package/dist/components/time-picker/time-picker-popup.vue.d.ts +0 -27
  923. package/dist/components/time-picker/time-picker-root.js +0 -1
  924. package/dist/components/time-picker/time-picker-root.vue.d.ts +0 -45
  925. package/dist/components/time-picker/time-picker-trigger.js +0 -1
  926. package/dist/components/time-picker/time-picker-trigger.vue.d.ts +0 -21
  927. package/dist/components/time-picker/types.d.ts +0 -224
  928. package/dist/components/time-range-picker/context.d.ts +0 -9
  929. package/dist/components/time-range-picker/context.js +0 -1
  930. package/dist/components/time-range-picker/index.d.ts +0 -7
  931. package/dist/components/time-range-picker/index.js +0 -1
  932. package/dist/components/time-range-picker/time-range-picker-compact.js +0 -1
  933. package/dist/components/time-range-picker/time-range-picker-compact.vue.d.ts +0 -31
  934. package/dist/components/time-range-picker/time-range-picker-popup.js +0 -1
  935. package/dist/components/time-range-picker/time-range-picker-popup.vue.d.ts +0 -30
  936. package/dist/components/time-range-picker/time-range-picker-root.js +0 -1
  937. package/dist/components/time-range-picker/time-range-picker-root.vue.d.ts +0 -50
  938. package/dist/components/time-range-picker/time-range-picker-trigger.js +0 -1
  939. package/dist/components/time-range-picker/time-range-picker-trigger.vue.d.ts +0 -21
  940. package/dist/components/time-range-picker/types.d.ts +0 -304
  941. package/dist/components/year-picker/context.d.ts +0 -9
  942. package/dist/components/year-picker/context.js +0 -1
  943. package/dist/components/year-picker/index.d.ts +0 -6
  944. package/dist/components/year-picker/index.js +0 -1
  945. package/dist/components/year-picker/types.d.ts +0 -207
  946. package/dist/components/year-picker/year-picker-popup.js +0 -1
  947. package/dist/components/year-picker/year-picker-popup.vue.d.ts +0 -36
  948. package/dist/components/year-picker/year-picker-root.js +0 -1
  949. package/dist/components/year-picker/year-picker-root.vue.d.ts +0 -39
  950. package/dist/components/year-picker/year-picker-trigger.js +0 -1
  951. package/dist/components/year-picker/year-picker-trigger.vue.d.ts +0 -21
  952. package/dist/components/year-range-picker/context.d.ts +0 -9
  953. package/dist/components/year-range-picker/context.js +0 -1
  954. package/dist/components/year-range-picker/index.d.ts +0 -6
  955. package/dist/components/year-range-picker/index.js +0 -1
  956. package/dist/components/year-range-picker/types.d.ts +0 -239
  957. package/dist/components/year-range-picker/year-range-picker-popup.js +0 -1
  958. package/dist/components/year-range-picker/year-range-picker-popup.vue.d.ts +0 -39
  959. package/dist/components/year-range-picker/year-range-picker-root.js +0 -1
  960. package/dist/components/year-range-picker/year-range-picker-root.vue.d.ts +0 -43
  961. package/dist/components/year-range-picker/year-range-picker-trigger.js +0 -1
  962. package/dist/components/year-range-picker/year-range-picker-trigger.vue.d.ts +0 -21
@@ -1,17 +1,18 @@
1
1
  import { DataOrientation, Direction, SelectionEmits, SelectionProps, UiClass } from "../../types/common.js";
2
2
  import { SelectEvent } from "../../types/event.js";
3
3
  import { FormFieldCommonProps } from "../../types/component.js";
4
- import { PrimitiveProps } from "../primitive/types.js";
4
+ import { BaseProps } from "../../types/vue.js";
5
+ import { PrimitiveWithBaseProps } from "../primitive/types.js";
5
6
  import { CollectionItemData } from "../../composables/use-collection.js";
6
7
  import { InputControlProps, InputRootEmits, InputRootProps } from "../input/types.js";
7
- import { ComputedRef, HTMLAttributes, ShallowRef } from "vue";
8
+ import { ComputedRef, ShallowRef } from "vue";
8
9
  import { VirtualItem, Virtualizer } from "@tanstack/vue-virtual";
9
10
 
10
11
  //#region src/components/listbox/types.d.ts
11
12
  /**
12
13
  * Properties for the ListboxRoot component.
13
14
  */
14
- interface ListboxRootProps<M extends boolean = false> extends SelectionProps<M>, FormFieldCommonProps, /** @vue-ignore */HTMLAttributes {
15
+ interface ListboxRootProps<M extends boolean = false> extends SelectionProps<M>, FormFieldCommonProps, BaseProps {
15
16
  /** The orientation of the listbox. <br>Mainly so arrow navigation is done accordingly (left & right vs. up & down) */
16
17
  orientation?: DataOrientation;
17
18
  /**
@@ -47,7 +48,7 @@ type ListboxRootEmits<M extends boolean = false> = SelectionEmits<M> & {
47
48
  /**
48
49
  * Properties for the ListboxItem component.
49
50
  */
50
- interface ListboxItemProps extends PrimitiveProps, /** @vue-ignore */Omit<HTMLAttributes, 'onSelect'> {
51
+ interface ListboxItemProps extends Omit<PrimitiveWithBaseProps, 'onSelect'> {
51
52
  /** The value given as data when submitted with a `name`. */
52
53
  value: string;
53
54
  /** When `true`, prevents the user from interacting with the item. */
@@ -62,15 +63,15 @@ type ListboxItemEmits = {
62
63
  /**
63
64
  * Properties for the ListboxItemIndicator component.
64
65
  */
65
- interface ListboxItemIndicatorProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
66
+ interface ListboxItemIndicatorProps extends PrimitiveWithBaseProps {}
66
67
  /**
67
68
  * Properties for the ListboxGroup component.
68
69
  */
69
- interface ListboxGroupProps extends /** @vue-ignore */HTMLAttributes {}
70
+ interface ListboxGroupProps extends BaseProps {}
70
71
  /**
71
72
  * Properties for the ListboxGroupLabel component.
72
73
  */
73
- interface ListboxGroupLabelProps extends /** @vue-ignore */HTMLAttributes {}
74
+ interface ListboxGroupLabelProps extends BaseProps {}
74
75
  /**
75
76
  * Properties for the ListboxFilter component.
76
77
  */
@@ -93,7 +94,7 @@ type ListboxFilterEmits = InputRootEmits;
93
94
  /**
94
95
  * Properties for the ListboxContent component.
95
96
  */
96
- interface ListboxContentProps extends /** @vue-ignore */HTMLAttributes {}
97
+ interface ListboxContentProps extends BaseProps {}
97
98
  /**
98
99
  * Properties for the ListboxVirtualizer component.
99
100
  */
@@ -1 +1 @@
1
- import{getDisclosureState as e}from"../../shared/value.js";import{isPointerInGraceArea as t}from"../../shared/geometry.js";import"../../shared/index.js";import{useContext as n}from"../../composables/use-context.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=()=>{h.value||(h.value=`${m}-popup-${l()}`)},_=c(``);return{isRoot:n,open:r,onOpenChange:i,dataState:a,dataPopupAttr:s,popupElement:u,onPopupElementChange:d,triggerElement:f,onTriggerElementChange:p,popupId:h,initPopupId:g,triggerId:_,initTriggerId:()=>{_.value||(_.value=`${m}-trigger-${l()}`)}}}),[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=>{t.value||(t.value=[]),t.value.includes(e)?t.value=t.value.filter(t=>t!==e):t.value.push(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(o(()=>({arrow:e.value?.arrow}))),a(o(()=>({root:e.value?.separator}))),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"../../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=()=>{h.value||(h.value=`${m}-popup-${l()}`)},_=c(``);return{isRoot:n,open:r,onOpenChange:i,dataState:a,dataPopupAttr:s,popupElement:u,onPopupElementChange:d,triggerElement:f,onTriggerElementChange:p,popupId:h,initPopupId:g,triggerId:_,initTriggerId:()=>{_.value||(_.value=`${m}-trigger-${l()}`)}}}),[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=>{t.value||(t.value=[]),t.value.includes(e)?t.value=t.value.filter(t=>t!==e):t.value.push(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(o(()=>({arrow:e.value?.arrow}))),a(o(()=>({root:e.value?.separator}))),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{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,class:s(u(h)),role:`menu-checkbox-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"../../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:`menu-checkbox-group`},{default:d(()=>[l(e.$slots,`default`,{modelValue:u(g)})]),_:3},8,[`as`,`as-child`,`class`]))}});export{f as default};
@@ -13,7 +13,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
13
13
  attrs: any;
14
14
  slots: {
15
15
  default?: (props: {
16
- modelValue: T[] | undefined;
16
+ modelValue: T[];
17
17
  }) => any;
18
18
  };
19
19
  emit: (evt: "update:modelValue", value: T[]) => void;
@@ -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)},!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),class:S(M),role:`menu-checkbox-item`,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"../../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:`menu-checkbox-item`,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{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 te}from"../../composables/use-typeahead.js";import"../../composables/index.js";import{popperCssVars as d}from"../popper/shared.js";import ne from"../popper/popper-positioner.js";import re from"../popper/popper-popup.js";import"../popper/index.js";import f 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 ie}from"./shared.js";import{computed as x,createBlock as ae,createVNode as S,defineComponent as C,isRef as w,mergeProps as T,onWatcherCleanup as E,openBlock as D,renderSlot as O,unref as k,useTemplateRef as A,watchEffect as j,withCtx as M}from"vue";const N=C({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(C,{emit:N}){let P=C,F=N,{modal:I,dir:L,isUsingKeyboard:R}=h(`MenuContentImpl`),{isRoot:z,dataState:B,popupId:V,triggerId:oe,dataPopupAttr:H,initPopupId:U,onOpenChange:W,onPopupElementChange:G}=m(`MenuContentImpl`),[K,q]=s(),[J,se]=s(e=>{G(e)}),{currentItemId:Y,searchRef:ce,pointerSide:le}=p({popupElement:J}),X=g(),Z=x(()=>z?X.value?.positioner:X.value?.subPositioner),ue=x(()=>z?X.value?.popup:X.value?.subPopup),{handleTypeaheadSearch:de}=te(),Q=A(`rovingFocusGroupRef`),{pointerEvents:fe}=o(J,{disableOutsidePointerEvents:()=>P.disableOutsidePointerEvents,onEscapeKeyDown:e=>{F(`escapeKeyDown`,e)},onPointerDownOutside:e=>{F(`pointerDownOutside`,e)},onFocusOutside:e=>{F(`focusOutside`,e)},onInteractOutside:e=>{F(`interactOutside`,e)},onDismiss:()=>{z&&W(!1)}}),{onKeydown:pe}=l(J,{trapped:()=>P.trapFocus,onOpenAutoFocus:e=>{F(`openAutoFocus`,e),!e.defaultPrevented&&(e.preventDefault(),J.value?.focus({preventScroll:!0}))},onCloseAutoFocus:e=>{F(`closeAutoFocus`,e)}}),me=ee(P,[`disableOutsidePointerEvents`,`trapFocus`,`loop`,`popupProps`]),he=x(()=>({...P.popupProps,[H]:``})),ge=x(()=>{let e=z?b:ie;return{[e.popupTransformOrigin]:`var(${d.transformOrigin})`,[e.popupAvailableWidth]:`var(${d.availableWidth})`,[e.popupAvailableHeight]:`var(${d.availableHeight})`,[e.triggerWidth]:`var(${d.anchorWidth})`,[e.triggerHeight]:`var(${d.anchorHeight})`,pointerEvents:fe.value}}),_e=e=>{F(`entryFocus`,e),R.value||e.preventDefault()},ve=i=>{if(pe(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(),J.value,{loop:P.loop,arrowKeyOptions:`vertical`,dir:L.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`&&i.preventDefault(),!o&&s&&de(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 ye(e){if(!e)return;let{currentTarget:t,target:n}=e;t?.contains(n)||(ce.value=``)}let $=0;function be(e){if(!i(e))return;let t=e.target,n=$!==e.clientX;(e?.currentTarget)?.contains(t)&&n&&(le.value=e.clientX>$?`right`:`left`,$=e.clientX)}return U(),c(),u(K,()=>I.value&&z),j(()=>{P.disableOutsidePointerEvents&&E(a())}),(e,t)=>(D(),ae(k(ne),T(k(me),{ref:k(q),class:Z.value}),{default:M(()=>[S(k(f),{ref_key:`rovingFocusGroupRef`,ref:Q,"current-tab-stop-id":k(Y),"onUpdate:currentTabStopId":t[0]||(t[0]=e=>w(Y)?Y.value=e:null),"as-child":``,orientation:`vertical`,dir:k(L),loop:C.loop,onEntryFocus:_e},{default:M(()=>[S(k(re),T(he.value,{id:k(V),ref:k(se),class:ue.value,"aria-labelledby":k(oe),"aria-orientation":`vertical`,"data-dismissable-layer":``,"data-state":k(B),dir:k(L),role:`menu`,tabindex:`-1`,style:ge.value,onKeydown:ve,onBlur:ye,onPointermove:be}),{default:M(()=>[O(e.$slots,`default`)]),_:3},16,[`id`,`class`,`aria-labelledby`,`data-state`,`dir`,`style`])]),_:3},8,[`current-tab-stop-id`,`dir`,`loop`])]),_:3},16,[`class`]))}});export{N 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"../../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 te}from"../../composables/use-typeahead.js";import"../../composables/index.js";import{popperCssVars as d}from"../popper/shared.js";import ne from"../popper/popper-positioner.js";import re from"../popper/popper-popup.js";import"../popper/index.js";import f 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 ie}from"./shared.js";import{computed as x,createBlock as ae,createVNode as S,defineComponent as C,isRef as w,mergeProps as T,onWatcherCleanup as E,openBlock as D,renderSlot as O,unref as k,useTemplateRef as A,watchEffect as j,withCtx as M}from"vue";const N=C({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(C,{emit:N}){let P=C,F=N,{modal:I,dir:L,isUsingKeyboard:R}=h(`MenuContentImpl`),{isRoot:z,dataState:B,popupId:V,triggerId:oe,dataPopupAttr:H,initPopupId:U,onOpenChange:W,onPopupElementChange:G}=m(`MenuContentImpl`),[K,q]=s(),[J,se]=s(e=>{G(e)}),{currentItemId:Y,searchRef:ce,pointerSide:le}=p({popupElement:J}),X=g(),Z=x(()=>z?X.value?.positioner:X.value?.subPositioner),ue=x(()=>z?X.value?.popup:X.value?.subPopup),{handleTypeaheadSearch:de}=te(),Q=A(`rovingFocusGroupRef`),{pointerEvents:fe}=o(J,{disableOutsidePointerEvents:()=>P.disableOutsidePointerEvents,onEscapeKeyDown:e=>{F(`escapeKeyDown`,e)},onPointerDownOutside:e=>{F(`pointerDownOutside`,e)},onFocusOutside:e=>{F(`focusOutside`,e)},onInteractOutside:e=>{F(`interactOutside`,e)},onDismiss:()=>{z&&W(!1)}}),{onKeydown:pe}=l(J,{trapped:()=>P.trapFocus,onOpenAutoFocus:e=>{F(`openAutoFocus`,e),!e.defaultPrevented&&(e.preventDefault(),J.value?.focus({preventScroll:!0}))},onCloseAutoFocus:e=>{F(`closeAutoFocus`,e)}}),me=ee(P,[`disableOutsidePointerEvents`,`trapFocus`,`loop`,`popupProps`]),he=x(()=>({...P.popupProps,[H]:``})),ge=x(()=>{let e=z?b:ie;return{[e.popupTransformOrigin]:`var(${d.transformOrigin})`,[e.popupAvailableWidth]:`var(${d.availableWidth})`,[e.popupAvailableHeight]:`var(${d.availableHeight})`,[e.triggerWidth]:`var(${d.anchorWidth})`,[e.triggerHeight]:`var(${d.anchorHeight})`,pointerEvents:fe.value}}),_e=e=>{F(`entryFocus`,e),R.value||e.preventDefault()},ve=i=>{if(pe(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(),J.value,{loop:P.loop,arrowKeyOptions:`vertical`,dir:L.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`&&i.preventDefault(),!o&&s&&de(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 ye(e){if(!e)return;let{currentTarget:t,target:n}=e;t?.contains(n)||(ce.value=``)}let $=0;function be(e){if(!i(e))return;let t=e.target,n=$!==e.clientX;(e?.currentTarget)?.contains(t)&&n&&(le.value=e.clientX>$?`right`:`left`,$=e.clientX)}return U(),c(),u(K,()=>I.value&&z),j(()=>{P.disableOutsidePointerEvents&&E(a())}),(e,t)=>(D(),ae(k(ne),T(k(me),{ref:k(q),"data-soybean-menu-content-impl":``,class:Z.value}),{default:M(()=>[S(k(f),{ref_key:`rovingFocusGroupRef`,ref:Q,"current-tab-stop-id":k(Y),"onUpdate:currentTabStopId":t[0]||(t[0]=e=>w(Y)?Y.value=e:null),"as-child":``,orientation:`vertical`,dir:k(L),loop:C.loop,onEntryFocus:_e},{default:M(()=>[S(k(re),T(he.value,{id:k(V),ref:k(se),class:ue.value,"aria-labelledby":k(oe),"aria-orientation":`vertical`,"data-dismissable-layer":``,"data-state":k(B),dir:k(L),role:`menu`,tabindex:`-1`,style:ge.value,onKeydown:ve,onBlur:ye,onPointermove:be}),{default:M(()=>[O(e.$slots,`default`)]),_:3},16,[`id`,`class`,`aria-labelledby`,`data-state`,`dir`,`style`])]),_:3},8,[`current-tab-stop-id`,`dir`,`loop`])]),_:3},16,[`class`]))}});export{N 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),{"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"../../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};
@@ -8,21 +8,21 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_10) => any;
9
9
  };
10
10
  declare const __VLS_base: _$vue.DefineComponent<MenuContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$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, _$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, _$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{useMenuUi as e}from"./context.js";import{createElementBlock as t,defineComponent as n,normalizeClass as r,openBlock as i,renderSlot as a,unref as o}from"vue";const s=n({name:`MenuGroupLabel`,__name:`menu-group-label`,setup(n){let s=e(`groupLabel`);return(e,n)=>(i(),t(`div`,{class:r(o(s))},[a(e.$slots,`default`)],2))}});export{s as default};
1
+ import{useMenuUi as e}from"./context.js";import{createElementBlock as t,defineComponent as n,normalizeClass as r,openBlock as i,renderSlot as a,unref as o}from"vue";const s=n({name:`MenuGroupLabel`,__name:`menu-group-label`,setup(n){let s=e(`groupLabel`);return(e,n)=>(i(),t(`div`,{"data-soybean-menu-group-label":``,class:r(o(s))},[a(e.$slots,`default`)],2))}});export{s as default};
@@ -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,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"../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 +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{createBlock as o,defineComponent as s,mergeProps as c,nextTick as l,openBlock as u,renderSlot as d,shallowRef as f,unref as p,withCtx as m}from"vue";const h=s({name:`MenuItemImpl`,__name:`menu-item-impl`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},setup(s){let h=s,{open:g}=a(`MenuItemImpl`),{onItemEnter:_,onItemLeave:v}=i(`MenuItemImpl`),{setItemElement:y,itemProps:b}=r(()=>({textValue:h.textValue})),x=t(h,[`disabled`,`textValue`],b),S=f(!1),C=t=>{if(!(t.defaultPrevented||!e(t)||!g.value)){if(h.disabled){v(t);return}_(t)||t.currentTarget?.focus({preventScroll:!0})}},w=async t=>{await l(),!(t.defaultPrevented||!e(t))&&v(t)},T=async e=>{await l(),!(e.defaultPrevented||h.disabled)&&(S.value=!0)},E=async e=>{await l(),!e.defaultPrevented&&(S.value=!1)};return(e,t)=>(u(),o(p(n),c(p(x),{ref:p(y),role:`menuitem`,tabindex:`-1`,"aria-disabled":s.disabled||void 0,"data-disabled":s.disabled?``:void 0,"data-highlighted":S.value?``:void 0,onPointermove:C,onPointerleave:w,onFocus:T,onBlur:E}),{default:m(()=>[d(e.$slots,`default`)]),_:3},16,[`aria-disabled`,`data-disabled`,`data-highlighted`]))}});export{h as default};
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{createBlock as o,defineComponent as s,mergeProps as c,nextTick as l,openBlock as u,renderSlot as d,shallowRef as f,unref as p,withCtx as m}from"vue";const h=s({name:`MenuItemImpl`,__name:`menu-item-impl`,props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},setup(s){let h=s,{open:g}=a(`MenuItemImpl`),{onItemEnter:_,onItemLeave:v}=i(`MenuItemImpl`),{setItemElement:y}=r(()=>({textValue:h.textValue})),b=t(h,[`disabled`,`textValue`]),x=f(!1),S=t=>{if(!(t.defaultPrevented||!e(t)||!g.value)){if(h.disabled){v(t);return}_(t)||t.currentTarget?.focus({preventScroll:!0})}},C=async t=>{await l(),!(t.defaultPrevented||!e(t))&&v(t)},w=async e=>{await l(),!(e.defaultPrevented||h.disabled)&&(x.value=!0)},T=async e=>{await l(),!e.defaultPrevented&&(x.value=!1)};return(e,t)=>(u(),o(p(n),c(p(b),{ref:p(y),"data-soybean-menu-item-impl":``,"data-soybean-collection-item":``,role:`menuitem`,tabindex:`-1`,"aria-disabled":s.disabled||void 0,"data-disabled":s.disabled?``:void 0,"data-highlighted":x.value?``:void 0,onPointermove:S,onPointerleave:C,onFocus:w,onBlur:T}),{default:m(()=>[d(e.$slots,`default`)]),_:3},16,[`aria-disabled`,`data-disabled`,`data-highlighted`]))}});export{h 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:{asChild:{type:Boolean},as:{default:`span`},forceMount:{type:Boolean}},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,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"../../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 +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),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"../../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};
@@ -8,20 +8,20 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
8
8
  props: _$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
  }>) => _$vue.VNode & {
26
26
  __ctx?: Awaited<typeof __VLS_setup>;
27
27
  };
@@ -8,20 +8,20 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
8
8
  props: _$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
  }>) => _$vue.VNode & {
26
26
  __ctx?: Awaited<typeof __VLS_setup>;
27
27
  };
@@ -1 +1 @@
1
- import{isNullish as e}from"../../shared/guard.js";import"../../shared/index.js";import{useControllableState as t}from"../../composables/use-controllable-state.js";import"../../composables/index.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import{provideMenuRadioGroupContext as r,useMenuUi as i}from"./context.js";import{computed as a,createBlock as o,defineComponent as s,normalizeClass as c,openBlock as l,renderSlot as u,unref as d,withCtx as f}from"vue";const p=s({name:`MenuRadioGroup`,__name:`menu-radio-group`,props:{modelValue:{},defaultValue:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`],setup(s,{emit:p}){let m=s,h=p,g=i(`radioGroup`),_=t(()=>m.modelValue,t=>{e(t)||h(`update:modelValue`,t)},m.defaultValue);return r({modelValue:_,disabled:a(()=>m.disabled)}),(e,t)=>(l(),o(d(n),{as:s.as,"as-child":s.asChild,class:c(d(g)),role:`menu-radio-group`},{default:f(()=>[u(e.$slots,`default`,{modelValue:d(_)})]),_:3},8,[`as`,`as-child`,`class`]))}});export{p as default};
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,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:`menu-radio-group`},{default:d(()=>[l(e.$slots,`default`,{modelValue:u(g)})]),_:3},8,[`as`,`as-child`,`class`]))}});export{f as default};
@@ -5,7 +5,7 @@ import * as _$vue from "vue";
5
5
  //#region src/components/menu/menu-radio-group.vue.d.ts
6
6
  declare const __VLS_export: <T extends AcceptableBooleanValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
7
  props: _$vue.PublicProps & __VLS_PrettifyLocal<MenuRadioGroupProps<T> & {
8
- "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
8
+ "onUpdate:modelValue"?: ((payload: Exclude<T, undefined>) => any) | undefined;
9
9
  }> & (typeof globalThis extends {
10
10
  __VLS_PROPS_FALLBACK: infer P;
11
11
  } ? P : {});
@@ -13,10 +13,10 @@ declare const __VLS_export: <T extends AcceptableBooleanValue>(__VLS_props: NonN
13
13
  attrs: any;
14
14
  slots: {
15
15
  default?: (props: {
16
- modelValue: T | undefined;
16
+ modelValue: (T | undefined) & Exclude<T, undefined>;
17
17
  }) => any;
18
18
  };
19
- emit: (evt: "update:modelValue", payload: NonNullable<T>) => void;
19
+ emit: (evt: "update:modelValue", payload: Exclude<T, undefined>) => void;
20
20
  }>) => _$vue.VNode & {
21
21
  __ctx?: Awaited<typeof __VLS_setup>;
22
22
  };
@@ -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),class:y(k),role:`menu-radio-item`,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"../../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:`menu-radio-item`,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{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-radio-item.js";import c from"./menu-radio-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:`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(_,{emit:T}){let E=_,D=T,O=C(),k=e(E,[`items`,`groupLabelProps`,`radioItemProps`,`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},_.radioItemProps,{value:i.value,disabled:i.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:`icon-park-outline:dot`})])]),_: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{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,"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};
@@ -6,14 +6,14 @@ import * as _$vue from "vue";
6
6
  declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBooleanValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
7
  props: _$vue.PublicProps & __VLS_PrettifyLocal<MenuRadioOptionsCompactProps<T> & {
8
8
  onSelect?: ((item: MenuRadioOptionData<T>, event: Event) => any) | undefined;
9
- "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
9
+ "onUpdate:modelValue"?: ((payload: Exclude<T, undefined>) => any) | undefined;
10
10
  }> & (typeof globalThis extends {
11
11
  __VLS_PROPS_FALLBACK: infer P;
12
12
  } ? P : {});
13
13
  expose: (exposed: {}) => void;
14
14
  attrs: any;
15
15
  slots: MenuRadioOptionsCompactSlots<T>;
16
- emit: ((evt: "select", item: MenuRadioOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void);
16
+ emit: ((evt: "select", item: MenuRadioOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", payload: Exclude<T, undefined>) => void);
17
17
  }>) => _$vue.VNode & {
18
18
  __ctx?: Awaited<typeof __VLS_setup>;
19
19
  };
@@ -1 +1 @@
1
- import{transformPropsToContext as e}from"../../shared/vue.js";import"../../shared/index.js";import{useControllableState as t}from"../../composables/use-controllable-state.js";import{useIsUsingKeyboard as n}from"../../composables/use-is-using-keyboard.js";import"../../composables/index.js";import{useDirection as r}from"../config-provider/context.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=t(()=>m.open,e=>{h(`update:open`,e??!1)},m.defaultOpen),_=r(()=>m.dir),v=n(),y=()=>{g.value=!1};return a({open:g,isRoot:!0}),o({...e(m,[`modal`]),dir:_,onClose:y,isUsingKeyboard:v}),(e,t)=>(l(),s(d(i),null,{default:f(()=>[u(e.$slots,`default`,{open:d(g)})]),_:3}))}});export{p as default};
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({open:g,isRoot:!0}),o({...e(m,[`modal`]),dir:_,onClose:y,isUsingKeyboard:v}),(e,t)=>(l(),s(d(i),null,{default:f(()=>[u(e.$slots,`default`,{open:d(g)})]),_:3}))}});export{p as default};
@@ -3,7 +3,7 @@ import * as _$vue from "vue";
3
3
 
4
4
  //#region src/components/menu/menu-root.vue.d.ts
5
5
  declare var __VLS_8: {
6
- open: boolean | undefined;
6
+ open: boolean;
7
7
  };
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_8) => 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},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"../../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};
@@ -8,21 +8,21 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_14) => any;
9
9
  };
10
10
  declare const __VLS_base: _$vue.DefineComponent<MenuSubContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$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, _$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, _$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),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"../../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 +1 @@
1
- import{useControllableState as e}from"../../composables/use-controllable-state.js";import"../../composables/index.js";import t from"../popper/popper-root.js";import"../popper/index.js";import{provideMenuContext as n,useMenuContext as r}from"./context.js";import{createBlock as i,defineComponent as a,onWatcherCleanup as o,openBlock as s,renderSlot as c,unref as l,watchEffect as u,withCtx as d}from"vue";const f=a({name:`MenuSub`,inheritAttrs:!1,__name:`menu-sub`,props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(a,{emit:f}){let p=a,m=f,h=e(()=>p.open,e=>{m(`update:open`,e??!1)},p.defaultOpen),g=r(`MenuSub`);return u(()=>{g.open.value===!1&&(h.value=!1),o(()=>{h.value=!1})}),n({open:h}),(e,n)=>(s(),i(l(t),null,{default:d(()=>[c(e.$slots,`default`)]),_:3}))}});export{f as default};
1
+ import{useControllableState as e}from"../../composables/use-controllable-state.js";import"../../composables/index.js";import t from"../popper/popper-root.js";import"../popper/index.js";import{provideMenuContext as n,useMenuContext as r}from"./context.js";import{createBlock as i,defineComponent as a,onWatcherCleanup as o,openBlock as s,renderSlot as c,unref as l,watchEffect as u,withCtx as d}from"vue";const f=a({name:`MenuSub`,inheritAttrs:!1,__name:`menu-sub`,props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(a,{emit:f}){let p=a,m=f,h=e(()=>p.open,e=>{m(`update:open`,e)},p.defaultOpen),g=r(`MenuSub`);return u(()=>{g.open.value===!1&&(h.value=!1),o(()=>{h.value=!1})}),n({open:h}),(e,n)=>(s(),i(l(t),null,{default:d(()=>[c(e.$slots,`default`)]),_:3}))}});export{f as default};
@@ -1,7 +1,9 @@
1
- import { IconValue } from "../_icon/types.js";
2
1
  import { AcceptableBooleanValue, CheckedState, DefinedValue, Direction, UiClass } from "../../types/common.js";
3
2
  import { DismissableLayerEmits, FocusScopeEmits, ForceMountProps } from "../../types/component.js";
4
- import { PrimitiveProps } from "../primitive/types.js";
3
+ import { BaseProps } from "../../types/vue.js";
4
+ import { PrimitiveWithBaseProps } from "../primitive/types.js";
5
+ import { ButtonProps } from "../button/types.js";
6
+ import { IconValue } from "../_icon/types.js";
5
7
  import { LinkBaseProps, LinkProps } from "../link/types.js";
6
8
  import { PopperPopupProps, PopperPositionerProps } from "../popper/types.js";
7
9
  import { PortalProps } from "../portal/types.js";
@@ -9,7 +11,7 @@ import { DialogBaseProps, DialogRootEmits } from "../dialog/types.js";
9
11
  import { RovingFocusGroupEmits, RovingFocusGroupProps } from "../roving-focus/types.js";
10
12
  import { KbdProps, KbdValue } from "../kbd/types.js";
11
13
  import { SeparatorRootProps } from "../separator/types.js";
12
- import { ButtonHTMLAttributes, ComputedRef, HTMLAttributes, ShallowRef } from "vue";
14
+ import { ComputedRef, ShallowRef } from "vue";
13
15
 
14
16
  //#region src/components/menu/types.d.ts
15
17
  /**
@@ -51,10 +53,7 @@ type MenuContentEmits = MenuContentImplEmits;
51
53
  /**
52
54
  * Properties for the MenuTrigger component.
53
55
  */
54
- interface MenuTriggerProps extends PrimitiveProps, /** @vue-ignore */ButtonHTMLAttributes {
55
- /** When `true`, the menu would not open when triggered. */
56
- disabled?: boolean;
57
- }
56
+ interface MenuTriggerProps extends ButtonProps {}
58
57
  /**
59
58
  * Properties for the MenuSub component.
60
59
  */
@@ -74,15 +73,15 @@ type MenuSubContentEmits = MenuContentEmits;
74
73
  /**
75
74
  * Properties for the MenuGroup component.
76
75
  */
77
- interface MenuGroupProps extends PrimitiveProps, /** @vue-ignore */Omit<HTMLAttributes, 'dir' | 'onSelect'> {}
76
+ interface MenuGroupProps extends Omit<PrimitiveWithBaseProps, 'dir' | 'onSelect'> {}
78
77
  /**
79
78
  * Properties for the MenuGroupLabel component.
80
79
  */
81
- interface MenuGroupLabelProps extends /** @vue-ignore */HTMLAttributes {}
80
+ interface MenuGroupLabelProps extends BaseProps {}
82
81
  /**
83
82
  * Properties for the MenuItemImpl component.
84
83
  */
85
- interface MenuItemImplProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
84
+ interface MenuItemImplProps extends PrimitiveWithBaseProps {
86
85
  /** When `true`, prevents the user from interacting with the item. */
87
86
  disabled?: boolean;
88
87
  /**
@@ -174,7 +173,7 @@ interface MenuRadioGroupProps<T = AcceptableBooleanValue> extends MenuGroupProps
174
173
  * Events for the MenuRadioGroup component.
175
174
  */
176
175
  type MenuRadioGroupEmits<T = AcceptableBooleanValue> = {
177
- /** Event handler called when the radio group value changes */'update:modelValue': [payload: NonNullable<T>];
176
+ /** Event handler called when the radio group value changes */'update:modelValue': [payload: Exclude<T, undefined>];
178
177
  };
179
178
  /**
180
179
  * Properties for the MenuSubTrigger component.
@@ -183,7 +182,7 @@ interface MenuSubTriggerProps extends MenuItemImplProps {}
183
182
  /**
184
183
  * Properties for the MenuItemIndicator component.
185
184
  */
186
- interface MenuItemIndicatorProps extends PrimitiveProps, ForceMountProps, /** @vue-ignore */HTMLAttributes {}
185
+ interface MenuItemIndicatorProps extends ForceMountProps, PrimitiveWithBaseProps {}
187
186
  /**
188
187
  * Option data for the Menu component.
189
188
  */
@@ -1 +1 @@
1
- import{useContext as e}from"../../composables/use-context.js";import{useCollection as t}from"../../composables/use-collection.js";import{useUiContext as n}from"../../composables/use-ui-context.js";import"../../composables/index.js";import{useDirection as r}from"../config-provider/context.js";import{provideMenuUi as i}from"../menu/context.js";import{shallowRef as a}from"vue";const{provideCollectionContext:o,useCollectionContext:s,useCollectionItem:c}=t(`Menubar`),[l,u]=e(`MenubarRoot`,e=>{let{modelValue:t,currentTabStopId:n}=e,i=r(e.dir),o=a(!1),s=e=>{o.value=!1,t.value=e,n.value=String(e)},c=()=>{o.value=!1,t.value=``},l=e=>{o.value=!1,t.value=t.value?``:e,n.value=String(e)},u=()=>{o.value=!0,t.value=``};return{...e,dir:i,isLinkTriggerHovered:o,onMenuOpen:s,onMenuClose:c,onMenuToggle:l,setTriggerLink:u}}),[d,f]=e(`MenubarMenu`,e=>e),[p,m]=n(`MenubarUi`,e=>(i(e),e));export{o as provideMenubarCollectionContext,d as provideMenubarMenuContext,l as provideMenubarRootContext,p as provideMenubarUi,s as useMenubarCollectionContext,c as useMenubarCollectionItem,f as useMenubarMenuContext,u as useMenubarRootContext,m as useMenubarUi};
1
+ import{useContext as e}from"../../composables/use-context.js";import{useDirection as t}from"../config-provider/context.js";import{useCollection as n}from"../../composables/use-collection.js";import{useUiContext as r}from"../../composables/use-ui-context.js";import"../../composables/index.js";import{provideMenuUi as i}from"../menu/context.js";import{shallowRef as a}from"vue";const{provideCollectionContext:o,useCollectionContext:s,useCollectionItem:c}=n(`Menubar`),[l,u]=e(`MenubarRoot`,e=>{let{modelValue:n,currentTabStopId:r}=e,i=t(e.dir),o=a(!1),s=e=>{o.value=!1,n.value=e,r.value=String(e)},c=()=>{o.value=!1,n.value=``},l=e=>{o.value=!1,n.value=n.value?``:e,r.value=String(e)},u=()=>{o.value=!0,n.value=``};return{...e,dir:i,isLinkTriggerHovered:o,onMenuOpen:s,onMenuClose:c,onMenuToggle:l,setTriggerLink:u}}),[d,f]=e(`MenubarMenu`,e=>e),[p,m]=r(`MenubarUi`,e=>(i(e),e));export{o as provideMenubarCollectionContext,d as provideMenubarMenuContext,l as provideMenubarRootContext,p as provideMenubarUi,s as useMenubarCollectionContext,c as useMenubarCollectionItem,f as useMenubarMenuContext,u as useMenubarRootContext,m as useMenubarUi};
@@ -8,22 +8,22 @@ import * as _$vue from "vue";
8
8
  declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
9
9
  props: _$vue.PublicProps & __VLS_PrettifyLocal<MenubarCompactProps<T> & {
10
10
  onSelect?: ((item: MenuOptionData<T>, event: Event) => any) | undefined;
11
- "onUpdate:modelValue"?: ((value: T) => any) | undefined;
12
11
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
13
+ onEntryFocus?: ((event: Event) => any) | undefined;
13
14
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
14
15
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
15
16
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
16
17
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
17
18
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
18
19
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
- onEntryFocus?: ((event: Event) => any) | undefined;
20
20
  }> & (typeof globalThis extends {
21
21
  __VLS_PROPS_FALLBACK: infer P;
22
22
  } ? P : {});
23
23
  expose: (exposed: {}) => void;
24
24
  attrs: any;
25
25
  slots: MenubarCompactSlots<T>;
26
- emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", value: T) => 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);
26
+ emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => 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);
27
27
  }>) => _$vue.VNode & {
28
28
  __ctx?: Awaited<typeof __VLS_setup>;
29
29
  };
@@ -1 +1 @@
1
- import{wrapArray as e}from"../../shared/object.js";import"../../shared/index.js";import{useForwardListeners as t}from"../../composables/use-forward-listeners.js";import"../../composables/index.js";import n from"../menu/menu-content.js";import"../menu/index.js";import{useMenubarCollectionContext as r,useMenubarMenuContext as i,useMenubarRootContext as a}from"./context.js";import{isTriggerLink as o}from"./shared.js";import{createBlock as s,defineComponent as c,mergeProps as l,openBlock as u,renderSlot as d,shallowRef as f,toHandlers as p,unref as m,withCtx as h,withKeys as g}from"vue";const _=c({name:`MenubarContent`,__name:`menubar-content`,props:{popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{default:`start`},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(c,{emit:_}){let v=c,y=t(_),{dir:b,loop:x,modelValue:S,onMenuOpen:C,setTriggerLink:w}=a(`MenubarContent`),{value:T,triggerId:E,contentId:D,triggerElement:O,wasKeyboardTriggerOpen:k}=i(`MenubarContent`),{getOrderedItems:A}=r(`MenubarContent`),j=f(!1),M=e=>{!S.value&&!j.value&&O.value?.focus(),j.value=!1,e.preventDefault()},N=e=>{let t=e.target;A().some(e=>e.element.contains(t))&&e.preventDefault()},P=()=>{j.value=!0},F=e=>{k.value||e.preventDefault()},I=t=>{let n=t.target.hasAttribute(`data-soybean-menubar-subtrigger`),r=b.value===`rtl`?`ArrowRight`:`ArrowLeft`,i=t.key===r;if(!i&&n)return;let a=A(),s=a.map(e=>e.data.value);i&&s.reverse();let c=s.findIndex(e=>e===T.value),l=(x.value?e(s,c+1):s.slice(c+1))[0],u=a.find(e=>e.data.value===l);!l||!u||(o(u.element)?(w(),u.element.focus()):C(l))};return(e,t)=>(u(),s(m(n),l(v,{id:m(D),"aria-labelledby":m(E),"data-slot":`content`},p(m(y)),{onCloseAutoFocus:M,onFocusOutside:N,onInteractOutside:P,onEntryFocus:F,onKeydown:g(I,[`arrow-right`,`arrow-left`])}),{default:h(()=>[d(e.$slots,`default`)]),_:3},16,[`id`,`aria-labelledby`]))}});export{_ as default};
1
+ import{wrapArray as e}from"../../shared/object.js";import"../../shared/index.js";import{useForwardListeners as t}from"../../composables/use-forward-listeners.js";import"../../composables/index.js";import n from"../menu/menu-content.js";import"../menu/index.js";import{useMenubarCollectionContext as r,useMenubarMenuContext as i,useMenubarRootContext as a}from"./context.js";import{isTriggerLink as o}from"./shared.js";import{createBlock as s,defineComponent as c,mergeProps as l,openBlock as u,renderSlot as d,shallowRef as f,toHandlers as p,unref as m,withCtx as h,withKeys as g}from"vue";const _=c({name:`MenubarContent`,__name:`menubar-content`,props:{popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{default:`start`},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(c,{emit:_}){let v=c,y=t(_),{dir:b,loop:x,modelValue:S,onMenuOpen:C,setTriggerLink:w}=a(`MenubarContent`),{value:T,triggerId:E,contentId:D,triggerElement:O,wasKeyboardTriggerOpen:k}=i(`MenubarContent`),{getOrderedItems:A}=r(`MenubarContent`),j=f(!1),M=e=>{!S.value&&!j.value&&O.value?.focus(),j.value=!1,e.preventDefault()},N=e=>{let t=e.target;A().some(e=>e.element.contains(t))&&e.preventDefault()},P=()=>{j.value=!0},F=e=>{k.value||e.preventDefault()},I=t=>{let n=t.target.hasAttribute(`data-soybean-menubar-sub-trigger`),r=b.value===`rtl`?`ArrowRight`:`ArrowLeft`,i=t.key===r;if(!i&&n)return;let a=A(),s=a.map(e=>e.data.value);i&&s.reverse();let c=s.findIndex(e=>e===T.value),l=(x.value?e(s,c+1):s.slice(c+1))[0],u=a.find(e=>e.data.value===l);!l||!u||(o(u.element)?(w(),u.element.focus()):C(l))};return(e,t)=>(u(),s(m(n),l(v,{id:m(D),"data-soybean-menubar-content":``,"aria-labelledby":m(E)},p(m(y)),{onCloseAutoFocus:M,onFocusOutside:N,onInteractOutside:P,onEntryFocus:F,onKeydown:g(I,[`arrow-right`,`arrow-left`])}),{default:h(()=>[d(e.$slots,`default`)]),_:3},16,[`id`,`aria-labelledby`]))}});export{_ as default};
@@ -9,21 +9,21 @@ type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_14) => any;
10
10
  };
11
11
  declare const __VLS_base: _$vue.DefineComponent<MenubarContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
12
+ entryFocus: (event: Event) => any;
12
13
  escapeKeyDown: (event: KeyboardEvent) => any;
13
14
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
14
15
  focusOutside: (event: FocusOutsideEvent) => any;
15
16
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
16
17
  openAutoFocus: (event: Event) => any;
17
18
  closeAutoFocus: (event: Event) => any;
18
- entryFocus: (event: Event) => any;
19
19
  }, string, _$vue.PublicProps, Readonly<MenubarContentProps> & Readonly<{
20
+ onEntryFocus?: ((event: Event) => any) | undefined;
20
21
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
21
22
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
22
23
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
23
24
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
24
25
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
25
26
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
26
- onEntryFocus?: ((event: Event) => any) | undefined;
27
27
  }>, {
28
28
  align: Align;
29
29
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;