@soybeanjs/headless 0.15.0-beta.2 → 0.15.0-beta.3

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 (380) hide show
  1. package/dist/components/_common/dynamic-render.js +1 -0
  2. package/dist/components/_icon/icon.js +1 -0
  3. package/dist/components/_icon/icon.vue.d.ts +8 -0
  4. package/dist/components/_icon/index.d.ts +3 -0
  5. package/dist/components/_icon/index.js +1 -0
  6. package/dist/components/{icon → _icon}/types.d.ts +3 -3
  7. package/dist/components/accordion/accordion-compact.js +1 -1
  8. package/dist/components/accordion/accordion-description.js +1 -0
  9. package/dist/components/accordion/accordion-description.vue.d.ts +18 -0
  10. package/dist/components/accordion/accordion-root.js +1 -1
  11. package/dist/components/accordion/context.d.ts +3 -2
  12. package/dist/components/accordion/index.d.ts +7 -6
  13. package/dist/components/accordion/index.js +1 -1
  14. package/dist/components/accordion/types.d.ts +12 -12
  15. package/dist/components/affix/affix-compact.js +1 -0
  16. package/dist/components/affix/affix-compact.vue.d.ts +24 -0
  17. package/dist/components/affix/affix-root.js +1 -1
  18. package/dist/components/affix/context.d.ts +3 -2
  19. package/dist/components/affix/index.d.ts +6 -5
  20. package/dist/components/affix/index.js +1 -1
  21. package/dist/components/affix/types.d.ts +9 -10
  22. package/dist/components/alert/alert-close.js +1 -1
  23. package/dist/components/alert/alert-close.vue.d.ts +4 -1
  24. package/dist/components/alert/alert-compact.js +1 -0
  25. package/dist/components/alert/alert-compact.vue.d.ts +21 -0
  26. package/dist/components/alert/context.d.ts +3 -2
  27. package/dist/components/alert/index.d.ts +7 -6
  28. package/dist/components/alert/index.js +1 -1
  29. package/dist/components/alert/types.d.ts +23 -3
  30. package/dist/components/anchor/anchor-compact-item.js +1 -0
  31. package/dist/components/anchor/anchor-compact.js +1 -0
  32. package/dist/components/anchor/anchor-compact.vue.d.ts +20 -0
  33. package/dist/components/anchor/context.d.ts +3 -2
  34. package/dist/components/anchor/index.d.ts +5 -4
  35. package/dist/components/anchor/index.js +1 -1
  36. package/dist/components/anchor/types.d.ts +22 -2
  37. package/dist/components/autocomplete/autocomplete-compact.js +1 -0
  38. package/dist/components/autocomplete/autocomplete-compact.vue.d.ts +24 -0
  39. package/dist/components/autocomplete/autocomplete-root.vue.d.ts +3 -3
  40. package/dist/components/autocomplete/context.d.ts +3 -2
  41. package/dist/components/autocomplete/index.d.ts +14 -13
  42. package/dist/components/autocomplete/index.js +1 -1
  43. package/dist/components/autocomplete/shared.js +1 -0
  44. package/dist/components/autocomplete/types.d.ts +77 -3
  45. package/dist/components/avatar/context.d.ts +3 -2
  46. package/dist/components/backtop/backtop.js +1 -0
  47. package/dist/components/backtop/backtop.vue.d.ts +33 -0
  48. package/dist/components/backtop/index.d.ts +3 -0
  49. package/dist/components/backtop/index.js +1 -0
  50. package/dist/components/backtop/shared.js +1 -0
  51. package/dist/components/backtop/types.d.ts +43 -0
  52. package/dist/components/badge/context.d.ts +3 -2
  53. package/dist/components/breadcrumb/breadcrumb-compact.js +1 -0
  54. package/dist/components/breadcrumb/breadcrumb-compact.vue.d.ts +21 -0
  55. package/dist/components/breadcrumb/context.d.ts +3 -2
  56. package/dist/components/breadcrumb/index.d.ts +10 -9
  57. package/dist/components/breadcrumb/index.js +1 -1
  58. package/dist/components/breadcrumb/shared.js +1 -0
  59. package/dist/components/breadcrumb/types.d.ts +48 -2
  60. package/dist/components/button/button.js +1 -1
  61. package/dist/components/button/button.vue.d.ts +1 -2
  62. package/dist/components/card/context.d.ts +3 -2
  63. package/dist/components/carousel/context.d.ts +3 -2
  64. package/dist/components/checkbox/checkbox-card-compact.js +1 -0
  65. package/dist/components/checkbox/checkbox-card-compact.vue.d.ts +31 -0
  66. package/dist/components/checkbox/checkbox-card-group-compact.js +1 -0
  67. package/dist/components/checkbox/checkbox-card-group-compact.vue.d.ts +21 -0
  68. package/dist/components/checkbox/checkbox-compact.js +1 -0
  69. package/dist/components/checkbox/checkbox-compact.vue.d.ts +34 -0
  70. package/dist/components/checkbox/checkbox-control.js +1 -1
  71. package/dist/components/checkbox/checkbox-group-compact.js +1 -0
  72. package/dist/components/checkbox/checkbox-group-compact.vue.d.ts +21 -0
  73. package/dist/components/checkbox/checkbox-group-root.js +1 -1
  74. package/dist/components/checkbox/checkbox-root.js +1 -1
  75. package/dist/components/checkbox/context.d.ts +6 -4
  76. package/dist/components/checkbox/context.js +1 -1
  77. package/dist/components/checkbox/index.d.ts +12 -8
  78. package/dist/components/checkbox/index.js +1 -1
  79. package/dist/components/checkbox/types.d.ts +38 -3
  80. package/dist/components/clipboard/clipboard.js +1 -0
  81. package/dist/components/clipboard/clipboard.vue.d.ts +66 -0
  82. package/dist/components/clipboard/index.d.ts +3 -0
  83. package/dist/components/clipboard/index.js +1 -0
  84. package/dist/components/clipboard/types.d.ts +63 -0
  85. package/dist/components/collapsible/collapsible-root.vue.d.ts +1 -1
  86. package/dist/components/collapsible/context.d.ts +3 -2
  87. package/dist/components/color-area/color-area-root.vue.d.ts +1 -1
  88. package/dist/components/color-area/context.d.ts +3 -2
  89. package/dist/components/color-field/color-field-root.vue.d.ts +2 -2
  90. package/dist/components/color-field/context.d.ts +3 -2
  91. package/dist/components/color-picker/color-picker-root.vue.d.ts +1 -1
  92. package/dist/components/color-slider/color-slider-root.vue.d.ts +2 -2
  93. package/dist/components/color-slider/context.d.ts +3 -2
  94. package/dist/components/color-swatch-picker/color-swatch-picker-root.js +1 -1
  95. package/dist/components/color-swatch-picker/color-swatch-picker-root.vue.d.ts +2 -2
  96. package/dist/components/color-swatch-picker/context.d.ts +3 -2
  97. package/dist/components/combobox/combobox-anchor.js +1 -0
  98. package/dist/components/combobox/combobox-anchor.vue.d.ts +18 -0
  99. package/dist/components/combobox/combobox-arrow.js +1 -0
  100. package/dist/components/combobox/combobox-arrow.vue.d.ts +18 -0
  101. package/dist/components/combobox/combobox-cancel.js +1 -0
  102. package/dist/components/combobox/combobox-cancel.vue.d.ts +21 -0
  103. package/dist/components/combobox/combobox-compact.js +1 -0
  104. package/dist/components/combobox/combobox-compact.vue.d.ts +34 -0
  105. package/dist/components/combobox/combobox-content-impl.js +1 -0
  106. package/dist/components/combobox/combobox-content.js +1 -1
  107. package/dist/components/combobox/combobox-content.vue.d.ts +7 -4
  108. package/dist/components/combobox/combobox-empty.js +1 -1
  109. package/dist/components/combobox/combobox-empty.vue.d.ts +4 -1
  110. package/dist/components/combobox/combobox-group-label.js +1 -1
  111. package/dist/components/combobox/combobox-group.js +1 -1
  112. package/dist/components/combobox/combobox-input.js +1 -1
  113. package/dist/components/combobox/combobox-input.vue.d.ts +4 -4
  114. package/dist/components/combobox/combobox-item-indicator.js +1 -1
  115. package/dist/components/combobox/combobox-item.js +1 -1
  116. package/dist/components/combobox/combobox-root.js +1 -1
  117. package/dist/components/combobox/combobox-root.vue.d.ts +15 -7
  118. package/dist/components/combobox/combobox-separator.js +1 -1
  119. package/dist/components/combobox/combobox-trigger.js +1 -1
  120. package/dist/components/combobox/combobox-trigger.vue.d.ts +2 -2
  121. package/dist/components/combobox/combobox-viewport.js +1 -1
  122. package/dist/components/combobox/combobox-virtualizer.js +1 -0
  123. package/dist/components/combobox/combobox-virtualizer.vue.d.ts +23 -0
  124. package/dist/components/combobox/context.d.ts +4 -3
  125. package/dist/components/combobox/context.js +1 -1
  126. package/dist/components/combobox/index.d.ts +19 -14
  127. package/dist/components/combobox/index.js +1 -1
  128. package/dist/components/combobox/shared.js +1 -0
  129. package/dist/components/combobox/types.d.ts +117 -17
  130. package/dist/components/command/command-compact.js +1 -0
  131. package/dist/components/command/command-compact.vue.d.ts +29 -0
  132. package/dist/components/command/context.d.ts +9 -0
  133. package/dist/components/command/context.js +1 -0
  134. package/dist/components/command/index.d.ts +5 -0
  135. package/dist/components/command/index.js +1 -0
  136. package/dist/components/command/shared.js +1 -0
  137. package/dist/components/command/types.d.ts +68 -0
  138. package/dist/components/config-provider/types.d.ts +1 -1
  139. package/dist/components/context-menu/context-menu-checkbox-compact.js +1 -1
  140. package/dist/components/context-menu/context-menu-checkbox-compact.vue.d.ts +3 -3
  141. package/dist/components/context-menu/context-menu-compact.js +1 -1
  142. package/dist/components/context-menu/context-menu-compact.vue.d.ts +3 -3
  143. package/dist/components/context-menu/context-menu-content.vue.d.ts +4 -4
  144. package/dist/components/context-menu/context-menu-radio-compact.js +1 -1
  145. package/dist/components/context-menu/context-menu-radio-compact.vue.d.ts +3 -3
  146. package/dist/components/context-menu/context-menu-root.js +1 -1
  147. package/dist/components/context-menu/context-menu-wrapper-compact.js +1 -1
  148. package/dist/components/context-menu/context-menu-wrapper-compact.vue.d.ts +4 -4
  149. package/dist/components/context-menu/index.d.ts +2 -2
  150. package/dist/components/context-menu/index.js +1 -1
  151. package/dist/components/context-menu/types.d.ts +1 -1
  152. package/dist/components/dialog/context.d.ts +3 -2
  153. package/dist/components/dialog/context.js +1 -1
  154. package/dist/components/dialog/dialog-cancel.js +1 -0
  155. package/dist/components/dialog/dialog-cancel.vue.d.ts +25 -0
  156. package/dist/components/dialog/dialog-close.js +1 -1
  157. package/dist/components/dialog/dialog-close.vue.d.ts +6 -3
  158. package/dist/components/dialog/dialog-compact.js +1 -0
  159. package/dist/components/dialog/dialog-compact.vue.d.ts +47 -0
  160. package/dist/components/dialog/dialog-confirm.js +1 -0
  161. package/dist/components/dialog/dialog-confirm.vue.d.ts +25 -0
  162. package/dist/components/dialog/dialog-content.js +1 -1
  163. package/dist/components/dialog/dialog-content.vue.d.ts +3 -18
  164. package/dist/components/dialog/dialog-popup-impl.js +1 -0
  165. package/dist/components/dialog/dialog-popup.js +1 -0
  166. package/dist/components/{alert-dialog/alert-dialog-content.vue.d.ts → dialog/dialog-popup.vue.d.ts} +8 -8
  167. package/dist/components/dialog/dialog-provider.js +1 -0
  168. package/dist/components/dialog/dialog-provider.vue.d.ts +17 -0
  169. package/dist/components/dialog/dialog-root.js +1 -1
  170. package/dist/components/dialog/dialog-root.vue.d.ts +1 -2
  171. package/dist/components/dialog/dialog-trigger.js +1 -1
  172. package/dist/components/dialog/index.d.ts +18 -12
  173. package/dist/components/dialog/index.js +1 -1
  174. package/dist/components/dialog/state.d.ts +14 -0
  175. package/dist/components/dialog/state.js +1 -0
  176. package/dist/components/dialog/types.d.ts +133 -16
  177. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.js +1 -1
  178. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.vue.d.ts +3 -3
  179. package/dist/components/dropdown-menu/dropdown-menu-compact.js +1 -1
  180. package/dist/components/dropdown-menu/dropdown-menu-compact.vue.d.ts +3 -3
  181. package/dist/components/dropdown-menu/dropdown-menu-content.vue.d.ts +4 -4
  182. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.js +1 -1
  183. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.vue.d.ts +3 -3
  184. package/dist/components/dropdown-menu/dropdown-menu-root.js +1 -1
  185. package/dist/components/dropdown-menu/dropdown-menu-root.vue.d.ts +1 -1
  186. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.js +1 -1
  187. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.vue.d.ts +4 -4
  188. package/dist/components/dropdown-menu/index.d.ts +2 -2
  189. package/dist/components/dropdown-menu/index.js +1 -1
  190. package/dist/components/dropdown-menu/types.d.ts +1 -1
  191. package/dist/components/editable/context.d.ts +3 -2
  192. package/dist/components/editable/editable-root.js +1 -1
  193. package/dist/components/editable/editable-root.vue.d.ts +1 -1
  194. package/dist/components/empty/context.d.ts +3 -2
  195. package/dist/components/form/context.d.ts +3 -2
  196. package/dist/components/form/core/use-form-state.js +1 -1
  197. package/dist/components/hover-card/index.d.ts +1 -1
  198. package/dist/components/hover-card/index.js +1 -1
  199. package/dist/components/hover-card/types.d.ts +1 -1
  200. package/dist/components/input/context.d.ts +3 -2
  201. package/dist/components/input-number/context.d.ts +3 -2
  202. package/dist/components/input-otp/context.d.ts +9 -0
  203. package/dist/components/input-otp/context.js +1 -0
  204. package/dist/components/input-otp/index.d.ts +8 -0
  205. package/dist/components/input-otp/index.js +1 -0
  206. package/dist/components/input-otp/input-otp-compact.js +1 -0
  207. package/dist/components/input-otp/input-otp-compact.vue.d.ts +37 -0
  208. package/dist/components/input-otp/input-otp-input.js +1 -0
  209. package/dist/components/input-otp/input-otp-input.vue.d.ts +8 -0
  210. package/dist/components/input-otp/input-otp-positioner.js +1 -0
  211. package/dist/components/input-otp/input-otp-positioner.vue.d.ts +18 -0
  212. package/dist/components/input-otp/input-otp-root.js +1 -0
  213. package/dist/components/input-otp/input-otp-root.vue.d.ts +55 -0
  214. package/dist/components/input-otp/regexp.d.ts +6 -0
  215. package/dist/components/input-otp/regexp.js +1 -0
  216. package/dist/components/input-otp/shared.js +1 -0
  217. package/dist/components/input-otp/types.d.ts +113 -0
  218. package/dist/components/input-otp/use-password-manager-badge.js +1 -0
  219. package/dist/components/layout/context.d.ts +3 -2
  220. package/dist/components/layout/layout-mobile.js +1 -1
  221. package/dist/components/layout/layout-root.vue.d.ts +1 -1
  222. package/dist/components/link/link.js +1 -1
  223. package/dist/components/link/link.vue.d.ts +1 -1
  224. package/dist/components/list/context.d.ts +3 -2
  225. package/dist/components/listbox/context.d.ts +3 -2
  226. package/dist/components/listbox/context.js +1 -1
  227. package/dist/components/listbox/listbox-root.js +1 -1
  228. package/dist/components/listbox/listbox-root.vue.d.ts +2 -2
  229. package/dist/components/listbox/types.d.ts +0 -6
  230. package/dist/components/menu/context.d.ts +3 -2
  231. package/dist/components/menu/index.d.ts +2 -2
  232. package/dist/components/menu/index.js +1 -1
  233. package/dist/components/menu/menu-checkbox-options-compact.js +1 -1
  234. package/dist/components/menu/menu-content.vue.d.ts +4 -4
  235. package/dist/components/menu/menu-item-slot-compact.js +1 -1
  236. package/dist/components/menu/menu-option-compact.js +1 -1
  237. package/dist/components/menu/menu-option-compact.vue.d.ts +3 -3
  238. package/dist/components/menu/menu-options-compact.vue.d.ts +3 -3
  239. package/dist/components/menu/menu-radio-options-compact.js +1 -1
  240. package/dist/components/menu/menu-root.js +1 -1
  241. package/dist/components/menu/menu-sub-content.vue.d.ts +4 -4
  242. package/dist/components/menu/types.d.ts +3 -3
  243. package/dist/components/menubar/context.d.ts +3 -2
  244. package/dist/components/menubar/index.js +1 -1
  245. package/dist/components/menubar/menubar-compact.js +1 -1
  246. package/dist/components/menubar/menubar-compact.vue.d.ts +3 -3
  247. package/dist/components/menubar/menubar-content.vue.d.ts +4 -4
  248. package/dist/components/menubar/menubar-sub-content.vue.d.ts +4 -4
  249. package/dist/components/menubar/types.d.ts +1 -1
  250. package/dist/components/navigation-menu/context.d.ts +3 -2
  251. package/dist/components/navigation-menu/navigation-menu-root.vue.d.ts +1 -1
  252. package/dist/components/page-tabs/context.d.ts +3 -2
  253. package/dist/components/pagination/context.d.ts +3 -2
  254. package/dist/components/pagination/pagination-root.vue.d.ts +2 -2
  255. package/dist/components/popover/index.d.ts +2 -2
  256. package/dist/components/popover/index.js +1 -1
  257. package/dist/components/popover/popover-positioner.vue.d.ts +2 -2
  258. package/dist/components/popover/popover-root.js +1 -1
  259. package/dist/components/popover/types.d.ts +1 -1
  260. package/dist/components/popper/context.d.ts +3 -2
  261. package/dist/components/popper/popper-positioner.vue.d.ts +3 -3
  262. package/dist/components/popper/types.d.ts +5 -1
  263. package/dist/components/progress/context.d.ts +6 -4
  264. package/dist/components/progress/context.js +1 -1
  265. package/dist/components/progress/index.d.ts +6 -4
  266. package/dist/components/progress/index.js +1 -1
  267. package/dist/components/progress/progress-circle.js +1 -1
  268. package/dist/components/progress/progress-indicator.js +1 -1
  269. package/dist/components/progress/progress-provider.js +1 -0
  270. package/dist/components/progress/progress-provider.vue.d.ts +8 -0
  271. package/dist/components/progress/progress-root.js +1 -1
  272. package/dist/components/progress/shared.js +1 -1
  273. package/dist/components/progress/state.d.ts +52 -0
  274. package/dist/components/progress/state.js +1 -0
  275. package/dist/components/progress/types.d.ts +15 -2
  276. package/dist/components/radio-group/context.d.ts +3 -2
  277. package/dist/components/radio-group/index.d.ts +8 -7
  278. package/dist/components/radio-group/index.js +1 -1
  279. package/dist/components/radio-group/radio-group-compact.js +1 -0
  280. package/dist/components/radio-group/radio-group-compact.vue.d.ts +22 -0
  281. package/dist/components/radio-group/radio-group-root.js +1 -1
  282. package/dist/components/radio-group/types.d.ts +14 -1
  283. package/dist/components/scroll-area/context.d.ts +3 -2
  284. package/dist/components/scroll-area/scroll-area-root.js +1 -1
  285. package/dist/components/scroll-area/scroll-area-viewport.js +1 -1
  286. package/dist/components/segment/index.d.ts +8 -0
  287. package/dist/components/segment/index.js +1 -0
  288. package/dist/components/segment/segment-compact.js +1 -0
  289. package/dist/components/segment/segment-compact.vue.d.ts +22 -0
  290. package/dist/components/segment/types.d.ts +22 -0
  291. package/dist/components/select/context.d.ts +3 -2
  292. package/dist/components/select/index.d.ts +19 -18
  293. package/dist/components/select/index.js +1 -1
  294. package/dist/components/select/select-compact.js +1 -0
  295. package/dist/components/select/select-compact.vue.d.ts +28 -0
  296. package/dist/components/select/select-content.vue.d.ts +4 -4
  297. package/dist/components/select/select-root.js +1 -1
  298. package/dist/components/select/select-viewport.js +1 -1
  299. package/dist/components/select/shared.js +1 -1
  300. package/dist/components/select/types.d.ts +61 -1
  301. package/dist/components/separator/context.d.ts +3 -2
  302. package/dist/components/slider/context.d.ts +3 -2
  303. package/dist/components/slider/slider-root.js +1 -1
  304. package/dist/components/slider/slider-root.vue.d.ts +2 -2
  305. package/dist/components/splitter/context.d.ts +3 -2
  306. package/dist/components/splitter/splitter-group.vue.d.ts +1 -1
  307. package/dist/components/splitter/splitter-panel.vue.d.ts +4 -4
  308. package/dist/components/stepper/context.d.ts +3 -2
  309. package/dist/components/switch/context.d.ts +3 -2
  310. package/dist/components/table/context.d.ts +3 -2
  311. package/dist/components/tabs/context.d.ts +3 -2
  312. package/dist/components/tabs/index.d.ts +8 -7
  313. package/dist/components/tabs/index.js +1 -1
  314. package/dist/components/tabs/tabs-compact.js +1 -0
  315. package/dist/components/tabs/tabs-compact.vue.d.ts +21 -0
  316. package/dist/components/tabs/tabs-root.vue.d.ts +1 -1
  317. package/dist/components/tabs/types.d.ts +25 -2
  318. package/dist/components/tags-input/context.d.ts +3 -2
  319. package/dist/components/textarea/context.d.ts +3 -2
  320. package/dist/components/toast/context.d.ts +3 -2
  321. package/dist/components/toast/shared.js +1 -1
  322. package/dist/components/toast/state.js +1 -1
  323. package/dist/components/toast/toast.js +1 -1
  324. package/dist/components/toast/toaster.js +1 -1
  325. package/dist/components/toast/toaster.vue.d.ts +3 -3
  326. package/dist/components/toast/types.d.ts +3 -19
  327. package/dist/components/toggle-group/context.d.ts +3 -2
  328. package/dist/components/toggle-group/toggle-group-root.js +1 -1
  329. package/dist/components/toolbar/context.d.ts +3 -2
  330. package/dist/components/toolbar/toolbar-toggle-group.js +1 -1
  331. package/dist/components/toolbar/types.d.ts +1 -1
  332. package/dist/components/tooltip/index.d.ts +1 -1
  333. package/dist/components/tooltip/index.js +1 -1
  334. package/dist/components/tree-menu/context.d.ts +3 -2
  335. package/dist/components/tree-menu/tree-menu-root.vue.d.ts +1 -1
  336. package/dist/components/visually-hidden/visually-hidden-input.vue.d.ts +1 -1
  337. package/dist/composables/index.d.ts +2 -2
  338. package/dist/composables/use-selection.js +1 -1
  339. package/dist/composables/use-ui-context.d.ts +1 -1
  340. package/dist/constants/components.d.ts +8 -4
  341. package/dist/constants/components.js +1 -1
  342. package/dist/date/calendar.d.ts +52 -0
  343. package/dist/date/calendar.js +1 -0
  344. package/dist/date/comparators.d.ts +30 -0
  345. package/dist/date/comparators.js +1 -0
  346. package/dist/date/index.d.ts +5 -0
  347. package/dist/date/index.js +1 -0
  348. package/dist/date/types.d.ts +36 -0
  349. package/dist/date/utils.d.ts +4 -0
  350. package/dist/date/utils.js +1 -0
  351. package/dist/index.d.ts +397 -355
  352. package/dist/index.js +1 -1
  353. package/dist/namespaced/index.d.ts +759 -689
  354. package/dist/namespaced/index.js +1 -1
  355. package/dist/shared/index.d.ts +2 -2
  356. package/dist/shared/index.js +1 -1
  357. package/dist/shared/value.d.ts +1 -1
  358. package/dist/shared/vue.d.ts +2 -1
  359. package/dist/shared/vue.js +1 -1
  360. package/dist/types/common.d.ts +9 -2
  361. package/dist/types/index.d.ts +1 -1
  362. package/package.json +10 -5
  363. package/dist/components/alert-dialog/alert-dialog-close.js +0 -1
  364. package/dist/components/alert-dialog/alert-dialog-close.vue.d.ts +0 -22
  365. package/dist/components/alert-dialog/alert-dialog-content.js +0 -1
  366. package/dist/components/alert-dialog/alert-dialog-root.js +0 -1
  367. package/dist/components/alert-dialog/alert-dialog-root.vue.d.ts +0 -28
  368. package/dist/components/alert-dialog/context.js +0 -1
  369. package/dist/components/alert-dialog/index.d.ts +0 -15
  370. package/dist/components/alert-dialog/index.js +0 -1
  371. package/dist/components/alert-dialog/types.d.ts +0 -9
  372. package/dist/components/dialog/dialog-content-impl.js +0 -1
  373. package/dist/components/icon/icon-render.js +0 -1
  374. package/dist/components/icon/icon-render.vue.d.ts +0 -8
  375. package/dist/components/icon/index.d.ts +0 -3
  376. package/dist/components/icon/index.js +0 -1
  377. /package/dist/_virtual/{_@oxc-project_runtime@0.126.0 → _@oxc-project_runtime@0.127.0}/helpers/defineProperty.js +0 -0
  378. /package/dist/_virtual/{_@oxc-project_runtime@0.126.0 → _@oxc-project_runtime@0.127.0}/helpers/toPrimitive.js +0 -0
  379. /package/dist/_virtual/{_@oxc-project_runtime@0.126.0 → _@oxc-project_runtime@0.127.0}/helpers/toPropertyKey.js +0 -0
  380. /package/dist/_virtual/{_@oxc-project_runtime@0.126.0 → _@oxc-project_runtime@0.127.0}/helpers/typeof.js +0 -0
@@ -0,0 +1,34 @@
1
+ import { FocusOutsideEvent, PointerDownOutsideEvent, SelectEvent } from "../../types/event.js";
2
+ import { CollectionItemData } from "../../composables/use-collection.js";
3
+ import { ListboxCollectionItemData } from "../listbox/types.js";
4
+ import { ComboboxCompactProps, ComboboxCompactSlots } from "./types.js";
5
+ import * as _$vue from "vue";
6
+
7
+ //#region src/components/combobox/combobox-compact.vue.d.ts
8
+ declare const __VLS_export: <M extends boolean = false>(__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
+ props: _$vue.PublicProps & __VLS_PrettifyLocal<ComboboxCompactProps<M> & {
10
+ onSelect?: ((event: SelectEvent<string>) => any) | undefined;
11
+ "onUpdate:modelValue"?: ((value: M extends true ? string[] : string) => any) | undefined;
12
+ onHighlight?: ((payload?: CollectionItemData<ListboxCollectionItemData> | undefined) => any) | undefined;
13
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
14
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
+ onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
16
+ onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
17
+ onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
18
+ onOpenAutoFocus?: ((event: Event) => any) | undefined;
19
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
20
+ onPlaced?: (() => any) | undefined;
21
+ }> & (typeof globalThis extends {
22
+ __VLS_PROPS_FALLBACK: infer P;
23
+ } ? P : {});
24
+ expose: (exposed: {}) => void;
25
+ attrs: any;
26
+ slots: ComboboxCompactSlots<M>;
27
+ emit: ((evt: "select", event: SelectEvent<string>) => void) & ((evt: "update:modelValue", value: M extends true ? string[] : string) => void) & ((evt: "highlight", payload?: CollectionItemData<ListboxCollectionItemData> | undefined) => 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: "placed") => void);
28
+ }>) => _$vue.VNode & {
29
+ __ctx?: Awaited<typeof __VLS_setup>;
30
+ };
31
+ declare const _default: typeof __VLS_export;
32
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
33
+ //#endregion
34
+ export { _default };
@@ -0,0 +1 @@
1
+ import{useBodyScrollLock as e}from"../../composables/use-body-scroll-lock.js";import{useDismissableLayer as t}from"../../composables/use-dismissable-layer.js";import{useExposedElement as n}from"../../composables/use-exposed-element.js";import{useFocusGuards as r}from"../../composables/use-focus-guards.js";import{useFocusScope as i}from"../../composables/use-focus-scope.js";import{useHideOthers as a}from"../../composables/use-hide-others.js";import{useOmitProps as o}from"../../composables/use-props.js";import"../../composables/index.js";import{Primitive as s}from"../primitive/primitive.js";import"../primitive/index.js";import{popperCssVars as c}from"../popper/shared.js";import l from"../popper/popper-positioner.js";import u from"../popper/popper-popup.js";import"../popper/index.js";import{provideComboboxContentContext as d,useComboboxRootContext as f}from"./context.js";import{computed as p,createBlock as m,createVNode as h,defineComponent as g,mergeProps as _,onMounted as v,onUnmounted as y,onWatcherCleanup as b,openBlock as x,ref as S,renderSlot as C,unref as w,useAttrs as T,watchEffect as E,withCtx as D}from"vue";const O=g({name:`ComboboxContentImpl`,inheritAttrs:!1,__name:`combobox-content-impl`,props:{position:{default:`popper`},bodyLock:{type:Boolean},hideWhenEmpty:{type:Boolean},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},forceMount:{type:Boolean}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`placed`],setup(g,{emit:O}){let k=g,A=O,j=T(),{contentId:M,open:N,ignoreFilter:P,allItems:F,filterState:I,inputElement:L,triggerElement:R,onOpenChange:z,onPopupElementChange:B}=f(`ComboboxContentImpl`),[V,H]=n(B),{pointerEvents:U}=t(V,{disableOutsidePointerEvents:()=>k.disableOutsidePointerEvents,onEscapeKeyDown:e=>{A(`escapeKeyDown`,e)},onPointerDownOutside:e=>{A(`pointerDownOutside`,e)},onFocusOutside:e=>{A(`focusOutside`,e)},onInteractOutside:e=>{A(`interactOutside`,e)},onDismiss:()=>{z(!1)}}),{onKeydown:W}=i(V,{trapped:()=>k.trapFocus,loop:!0,onOpenAutoFocus:e=>{A(`openAutoFocus`,e)},onCloseAutoFocus:e=>{A(`closeAutoFocus`,e)}}),G=p(()=>k.position),K=o(k,[`bodyLock`,`disableOutsidePointerEvents`,`forceMount`,`hideWhenEmpty`,`popupProps`,`position`,`trapFocus`]),q=p(()=>({...j,...k.popupProps})),J=p(()=>P.value?F.value.size===0:I.value.count===0),Y=p(()=>({pointerEvents:U.value,display:k.hideWhenEmpty&&J.value?`none`:`flex`,flexDirection:`column`,outline:`none`,...G.value===`popper`?{"--soybean-combobox-content-transform-origin":`var(${c.transformOrigin})`,"--soybean-combobox-content-available-width":`var(${c.availableWidth})`,"--soybean-combobox-content-available-height":`var(${c.availableHeight})`,"--soybean-combobox-trigger-width":`var(${c.anchorWidth})`,"--soybean-combobox-trigger-height":`var(${c.anchorHeight})`,boxSizing:`border-box`}:{}}));d({position:G}),r(),a(V),E(()=>{k.bodyLock&&b(e())});let X=S(!1);return v(()=>{L.value&&V.value&&(X.value=V.value.contains(L.value),X.value&&L.value.focus())}),y(()=>{let e=document.activeElement;X.value&&(!e||e===document.body)&&R.value?.focus()}),(e,t)=>G.value===`popper`?(x(),m(w(l),_({key:0},w(K),{onPlaced:t[0]||(t[0]=e=>A(`placed`))}),{default:D(()=>[h(w(u),_({id:w(M),ref:w(H)},q.value,{"data-slot":`popup`,"data-dismissable-layer":``,"data-state":w(N)?`open`:`closed`,"data-empty":J.value?``:void 0,style:Y.value,onKeydown:w(W)}),{default:D(()=>[C(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`data-empty`,`style`,`onKeydown`])]),_:3},16)):(x(),m(w(s),_({key:1,id:w(M),ref:w(H)},q.value,{as:`div`,"data-slot":`popup`,"data-dismissable-layer":``,"data-state":w(N)?`open`:`closed`,"data-empty":J.value?``:void 0,style:Y.value,onKeydown:w(W)}),{default:D(()=>[C(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`data-empty`,`style`,`onKeydown`]))}});export{O as default};
@@ -1 +1 @@
1
- import{useForwardElement as e}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{popperCssVars as t}from"../popper/shared.js";import n from"../popper/popper-popup.js";import"../popper/index.js";import{usePopoverRootContext as r}from"../popover/context.js";import i from"../popover/popover-positioner.js";import"../popover/index.js";import{createBlock as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,unref as d,withCtx as f}from"vue";const p=s({name:`ComboboxContent`,__name:`combobox-content`,props:{popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean,default:!0},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean,default:!0},reference:{},forceMount:{type:Boolean}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(s,{emit:p}){let m=p,{dataState:h,popupId:g,initPopupId:_,onPopupElementChange:v}=r(`ComboboxContent`),[y,b]=e(v),x={"--soybean-combobox-content-transform-origin":`var(${t.transformOrigin})`,"--soybean-combobox-content-available-width":`var(${t.availableWidth})`,"--soybean-combobox-content-available-height":`var(${t.availableHeight})`,"--soybean-combobox-trigger-width":`var(${t.anchorWidth})`,"--soybean-combobox-trigger-height":`var(${t.anchorHeight})`};return _(),(e,t)=>(l(),a(d(i),{side:s.side,align:s.align,"side-offset":s.sideOffset,"align-offset":s.alignOffset,sticky:s.sticky,"avoid-collisions":s.avoidCollisions,"collision-boundary":s.collisionBoundary,"collision-padding":s.collisionPadding,"arrow-padding":s.arrowPadding,"prioritize-position":s.prioritizePosition,"hide-when-detached":s.hideWhenDetached,"update-position-strategy":s.updatePositionStrategy,"position-strategy":s.positionStrategy,"force-mount":s.forceMount,onCloseAutoFocus:t[0]||(t[0]=e=>m(`closeAutoFocus`,e)),onEscapeKeyDown:t[1]||(t[1]=e=>m(`escapeKeyDown`,e)),onPointerDownOutside:t[2]||(t[2]=e=>m(`pointerDownOutside`,e)),onFocusOutside:t[3]||(t[3]=e=>m(`focusOutside`,e)),onInteractOutside:t[4]||(t[4]=e=>m(`interactOutside`,e))},{default:f(()=>[o(d(n),c({id:d(g),ref:d(b),"data-dismissable-layer":``,"data-state":d(h),style:x},s.popupProps),{default:f(()=>[u(e.$slots,`default`)]),_:3},16,[`id`,`data-state`])]),_:3},8,[`side`,`align`,`side-offset`,`align-offset`,`sticky`,`avoid-collisions`,`collision-boundary`,`collision-padding`,`arrow-padding`,`prioritize-position`,`hide-when-detached`,`update-position-strategy`,`position-strategy`,`force-mount`]))}});export{p 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{useComboboxRootContext as r}from"./context.js";import i from"./combobox-content-impl.js";import{createBlock as a,createCommentVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,shallowRef as d,toHandlers as f,unref as p,withCtx as m}from"vue";const h=s({name:`ComboboxContent`,__name:`combobox-content`,props:{position:{default:`popper`},bodyLock:{type:Boolean},hideWhenEmpty:{type:Boolean},popupProps:{},placement:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean,default:!0},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean,default:!0},reference:{},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},forceMount:{type:Boolean}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`placed`],setup(s,{emit:h}){let g=s,_=h,v=n(g,[`forceMount`]),y=e(_),{open:b,popupElement:x,initContentId:S}=r(`ComboboxContent`),C=g.forceMount?d(!0):t(x,b);return S(),(e,t)=>p(C)?(l(),a(i,c({key:0},p(v),f(p(y))),{default:m(()=>[u(e.$slots,`default`)]),_:3},16)):o(`v-if`,!0)}});export{h as default};
@@ -3,27 +3,30 @@ import { ComboboxContentProps } from "./types.js";
3
3
  import * as _$vue from "vue";
4
4
 
5
5
  //#region src/components/combobox/combobox-content.vue.d.ts
6
- declare var __VLS_20: {};
6
+ declare var __VLS_8: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_20) => any;
8
+ default?: (props: typeof __VLS_8) => any;
9
9
  };
10
10
  declare const __VLS_base: _$vue.DefineComponent<ComboboxContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
11
- closeAutoFocus: (event: Event) => any;
12
11
  escapeKeyDown: (event: KeyboardEvent) => any;
13
12
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
14
13
  focusOutside: (event: FocusOutsideEvent) => any;
15
14
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
16
15
  openAutoFocus: (event: Event) => any;
16
+ closeAutoFocus: (event: Event) => any;
17
+ placed: () => any;
17
18
  }, string, _$vue.PublicProps, Readonly<ComboboxContentProps> & Readonly<{
18
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
19
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
20
20
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
21
21
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
22
22
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
23
23
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
24
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
25
+ onPlaced?: (() => any) | undefined;
24
26
  }>, {
25
27
  avoidCollisions: boolean;
26
28
  prioritizePosition: boolean;
29
+ position: "inline" | "popper";
27
30
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
28
31
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
29
32
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{Primitive as e}from"../primitive/primitive.js";import"../primitive/index.js";import{useComboboxRootContext as t,useComboboxUi as n}from"./context.js";import{computed as r,createBlock as i,createCommentVNode 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:`ComboboxEmpty`,__name:`combobox-empty`,setup(o){let{filterState:f}=t(`ComboboxEmpty`),p=n(`empty`),m=r(()=>f.value.count===0);return(t,n)=>m.value?(c(),i(u(e),{key:0,as:`div`,class:s(u(p))},{default:d(()=>[l(t.$slots,`default`)]),_:3},8,[`class`])):a(`v-if`,!0)}});export{f as default};
1
+ import{Primitive as e}from"../primitive/primitive.js";import"../primitive/index.js";import{useComboboxRootContext as t,useComboboxUi as n}from"./context.js";import{computed as r,createBlock as i,createCommentVNode as a,defineComponent as o,mergeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=o({name:`ComboboxEmpty`,__name:`combobox-empty`,props:{asChild:{type:Boolean},as:{default:`div`}},setup(o){let f=o,p=n(`empty`),{allItems:m,filterState:h,ignoreFilter:g}=t(`ComboboxEmpty`),_=r(()=>g.value?m.value.size===0:h.value.count===0);return(t,n)=>_.value?(c(),i(u(e),s({key:0},f,{class:u(p),"data-slot":`empty`}),{default:d(()=>[l(t.$slots,`default`)]),_:3},16,[`class`])):a(`v-if`,!0)}});export{f as default};
@@ -1,3 +1,4 @@
1
+ import { AsTag } from "../primitive/types.js";
1
2
  import { ComboboxEmptyProps } from "./types.js";
2
3
  import * as _$vue from "vue";
3
4
 
@@ -6,7 +7,9 @@ declare var __VLS_8: {};
6
7
  type __VLS_Slots = {} & {
7
8
  default?: (props: typeof __VLS_8) => any;
8
9
  };
9
- declare const __VLS_base: _$vue.DefineComponent<ComboboxEmptyProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ComboboxEmptyProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_base: _$vue.DefineComponent<ComboboxEmptyProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ComboboxEmptyProps> & Readonly<{}>, {
11
+ as: AsTag | _$vue.Component;
12
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
10
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
14
  declare const _default: typeof __VLS_export;
12
15
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import e from"../listbox/listbox-group-label.js";import"../listbox/index.js";import{createBlock as t,defineComponent as n,openBlock as r,renderSlot as i,unref as a,withCtx as o}from"vue";const s=n({name:`ComboboxGroupLabel`,__name:`combobox-group-label`,setup(n){return(n,s)=>(r(),t(a(e),null,{default:o(()=>[i(n.$slots,`default`)]),_:3}))}});export{s as default};
1
+ import e from"../listbox/listbox-group-label.js";import"../listbox/index.js";import{createBlock as t,defineComponent as n,mergeProps as r,openBlock as i,renderSlot as a,unref as o,withCtx as s}from"vue";const c=n({name:`ComboboxGroupLabel`,__name:`combobox-group-label`,setup(n){let c=n;return(n,l)=>(i(),t(o(e),r(c,{"data-slot":`group-label`}),{default:s(()=>[a(n.$slots,`default`)]),_:3},16))}});export{c as default};
@@ -1 +1 @@
1
- import{provideListboxGroupContext as e,useListboxUi as t}from"../listbox/context.js";import{useComboboxRootContext as n}from"./context.js";import{computed as r,createCommentVNode as i,createElementBlock as a,defineComponent as o,normalizeClass as s,openBlock as c,renderSlot as l,unref as u}from"vue";const d=[`aria-labelledby`],f=o({name:`ComboboxGroup`,__name:`combobox-group`,setup(o){let{id:f}=e(),{filterSearch:p,ignoreFilter:m,filterState:h}=n(`ComboboxGroup`),g=t(`group`),_=r(()=>!p.value||m.value?!0:h.value.groups.has(f));return(e,t)=>_.value?(c(),a(`div`,{key:0,"aria-labelledby":u(f),role:`group`,class:s(u(g))},[l(e.$slots,`default`)],10,d)):i(`v-if`,!0)}});export{f as default};
1
+ import{provideListboxGroupContext as e,useListboxUi as t}from"../listbox/context.js";import{useComboboxRootContext as n}from"./context.js";import{computed as r,createElementBlock as i,defineComponent as a,normalizeClass as o,onMounted as s,onUnmounted as c,openBlock as l,renderSlot as u,unref as d}from"vue";const f=[`aria-labelledby`,`hidden`],p=a({name:`ComboboxGroup`,__name:`combobox-group`,setup(a){let{id:p}=e(),{filterSearch:m,ignoreFilter:h,filterState:g,allGroups:_}=n(`ComboboxGroup`),v=t(`group`),y=r(()=>!m.value||h.value?!0:g.value.groups.has(p));return s(()=>{_.value.has(p)||_.value.set(p,new Set)}),c(()=>{_.value.delete(p)}),(e,t)=>(l(),i(`div`,{"aria-labelledby":d(p),role:`group`,class:o(d(v)),hidden:y.value?void 0:!0,"data-slot":`group`},[u(e.$slots,`default`)],10,f))}});export{p as default};
@@ -1 +1 @@
1
- import{useListboxRootContext as e}from"../listbox/context.js";import t from"../listbox/listbox-filter.js";import"../listbox/index.js";import{usePopoverRootContext as n}from"../popover/context.js";import{useComboboxRootContext as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,guardReactiveProps as s,isRef as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,unref as p,watch as m,withCtx as h}from"vue";const g=o({name:`ComboboxInput`,__name:`combobox-input`,props:{inputRef:{type:Function},controlProps:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(o,{emit:g}){let _=o,v=g,{highlightFirstItem:y}=e(`ComboboxInput`),{filterSearch:b,onInputElementChange:x,open:S}=r(`ComboboxInput`),{popupId:C}=n(`ComboboxInput`),w=i(()=>({..._.controlProps,role:`combobox`,"aria-autocomplete":`list`,autocomplete:`off`,"aria-controls":C.value,"aria-expanded":S.value||!1}));return m(S,e=>{e&&y()}),(e,n)=>(d(),a(p(t),l(_,{modelValue:p(b),"onUpdate:modelValue":[n[0]||(n[0]=e=>c(b)?b.value=e:null),n[1]||(n[1]=e=>v(`update:modelValue`,e))],"control-props":w.value,"input-ref":p(x)}),{leading:h(t=>[f(e.$slots,`leading`,u(s(t)))]),trailing:h(t=>[f(e.$slots,`trailing`,u(s(t)))]),_:3},16,[`modelValue`,`control-props`,`input-ref`]))}});export{g as default};
1
+ import{useControllableState as e}from"../../composables/use-controllable-state.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{useListboxRootContext as n}from"../listbox/context.js";import r from"../listbox/listbox-filter.js";import"../listbox/index.js";import{useComboboxRootContext as i}from"./context.js";import{computed as a,createBlock as o,defineComponent as s,guardReactiveProps as c,isRef as l,mergeProps as u,nextTick as d,normalizeProps as f,onMounted as p,openBlock as m,renderSlot as h,unref as g,watch as _,withCtx as v}from"vue";const y=s({name:`ComboboxInput`,__name:`combobox-input`,props:{displayValue:{type:Function},inputRef:{type:Function},controlProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:y}){let b=s,x=y,{modelValue:S,open:C,openOnFocus:w,openOnClick:T,isUserInputted:E,isMultiple:D,resetSearchTermOnSelect:O,contentId:k,triggerElement:A,filterSearch:j,filterState:M,isVirtual:N,onInputElementChange:P,onOpenChange:F,onResetSearchTerm:I}=i(`ComboboxInput`),{highlightFirstItem:L}=n(`ComboboxInput`),R=t(b,[`displayValue`]),z=e(()=>b.modelValue,e=>{x(`update:modelValue`,e??``)},b.defaultValue??``),B=e=>{b.inputRef?.(e),P(e)},V=e=>{![`ArrowDown`,`ArrowUp`].includes(e.key)||C.value||F(!0)},H=e=>{let t=e.target;if(E.value=!0,!C.value){F(!0),d(()=>{t.value&&(j.value=t.value,L())});return}j.value=t.value},U=()=>{w.value&&!C.value&&F(!0)},W=e=>{if(!C.value)return;let t=e.relatedTarget;if(!t)return;let n=A.value?.contains(t),r=document.getElementById(k.value)?.contains(t);!n&&!r&&F(!1)},G=()=>{T.value&&!C.value&&F(!0)},K=()=>{let e=S.value;if(b.displayValue){z.value=b.displayValue(e);return}if(!D.value&&typeof e==`string`){z.value=e;return}z.value=``};I(()=>{K()});let q=a(()=>u({...b.controlProps},{"data-slot":`input-control`,role:`combobox`,"aria-autocomplete":`list`,autocomplete:`off`,"aria-controls":k.value||void 0,"aria-expanded":C.value??!1,onBlur:W,onClick:G,onFocus:U,onInput:H,onKeydown:V}));return _(S,()=>{!E.value&&O.value&&K()},{immediate:!0,deep:!0}),_(M,(e,t)=>{!N.value&&t?.count===0&&L()}),p(()=>{K()}),(e,t)=>(m(),o(g(r),u(g(R),{modelValue:g(z),"onUpdate:modelValue":t[0]||(t[0]=e=>l(z)?z.value=e:null),"data-slot":`input-root`,"control-props":q.value,"input-ref":B}),{leading:v(t=>[h(e.$slots,`leading`,f(c(t)))]),trailing:v(t=>[h(e.$slots,`trailing`,f(c(t)))]),_:3},16,[`modelValue`,`control-props`]))}});export{y as default};
@@ -2,15 +2,15 @@ import { ComboboxInputProps } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
 
4
4
  //#region src/components/combobox/combobox-input.vue.d.ts
5
- declare var __VLS_11: {
5
+ declare var __VLS_9: {
6
6
  clear: () => void;
7
- }, __VLS_14: {
7
+ }, __VLS_12: {
8
8
  clear: () => void;
9
9
  };
10
10
  type __VLS_Slots = {} & {
11
- leading?: (props: typeof __VLS_11) => any;
11
+ leading?: (props: typeof __VLS_9) => any;
12
12
  } & {
13
- trailing?: (props: typeof __VLS_14) => any;
13
+ trailing?: (props: typeof __VLS_12) => any;
14
14
  };
15
15
  declare const __VLS_base: _$vue.DefineComponent<ComboboxInputProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
16
16
  "update:modelValue": (value: string) => any;
@@ -1 +1 @@
1
- import e from"../listbox/listbox-item-indicator.js";import"../listbox/index.js";import{createBlock as t,defineComponent as n,openBlock as r,renderSlot as i,unref as a,withCtx as o}from"vue";const s=n({name:`ComboboxItemIndicator`,__name:`combobox-item-indicator`,props:{asChild:{type:Boolean},as:{default:`span`}},setup(n){return(s,c)=>(r(),t(a(e),{as:n.as,"as-child":n.asChild},{default:o(()=>[i(s.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});export{s as default};
1
+ import e from"../listbox/listbox-item-indicator.js";import"../listbox/index.js";import{createBlock as t,defineComponent as n,openBlock as r,renderSlot as i,unref as a,withCtx as o}from"vue";const s=n({name:`ComboboxItemIndicator`,__name:`combobox-item-indicator`,props:{asChild:{type:Boolean},as:{default:`span`}},setup(n){return(s,c)=>(r(),t(a(e),{as:n.as,"as-child":n.asChild,"data-slot":`item-indicator`},{default:o(()=>[i(s.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});export{s as default};
@@ -1 +1 @@
1
- import{useListboxGroupContext as e,useListboxRootContext as t}from"../listbox/context.js";import n from"../listbox/listbox-item.js";import"../listbox/index.js";import{useComboboxRootContext as r}from"./context.js";import{computed as i,createBlock as a,createCommentVNode as o,defineComponent as s,onMounted as c,onUnmounted as l,openBlock as u,renderSlot as d,unref as f,useId as p,withCtx as m}from"vue";const h=s({name:`ComboboxItem`,__name:`combobox-item`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},emits:[`select`],setup(s,{emit:h}){let g=s,_=h,{isMultiple:v}=t(`ComboboxItem`),{filterSearch:y,filterState:b,ignoreFilter:x,inputElement:S,onOpenChange:C,allItems:w,allGroups:T,resetSearchTermOnSelect:E}=r(`ComboboxItem`),D=e(),O=`soybean-combobox-item-${p()}`,k=i(()=>g.textValue??g.value),A=i(()=>!y.value||x.value?!0:b.value.items.get(O)??!0),j=()=>{let e=D?.id;if(!e)return;let t=T.value.get(e);t&&(t.delete(O),t.size||T.value.delete(e))};c(()=>{w.value.set(O,k.value);let e=D?.id;if(e){let t=T.value.get(e)??new Set;t.add(O),T.value.set(e,t)}}),l(()=>{w.value.delete(O),j()});let M=e=>{if(_(`select`,e),!e.defaultPrevented){if(E.value&&(y.value=``),v.value){S.value?.focus();return}C(!1)}};return(e,t)=>A.value?(u(),a(f(n),{key:0,as:s.as,"as-child":s.asChild,value:s.value,disabled:s.disabled,onSelect:M},{default:m(()=>[d(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`value`,`disabled`])):o(`v-if`,!0)}});export{h as default};
1
+ import{useExposedElement as e}from"../../composables/use-exposed-element.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{useListboxGroupContext as n,useListboxRootContext as r}from"../listbox/context.js";import i from"../listbox/listbox-item.js";import"../listbox/index.js";import{useComboboxRootContext as a}from"./context.js";import{computed as o,createBlock as s,createCommentVNode as c,defineComponent as l,mergeProps as u,onMounted as d,onUnmounted as f,openBlock as p,renderSlot as m,unref as h,useId as g,withCtx as _}from"vue";const v=l({name:`ComboboxItem`,__name:`combobox-item`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{}},emits:[`select`],setup(l,{emit:v}){let y=l,b=v,x=t(y,[`textValue`]),{isMultiple:S}=r(`ComboboxItem`),{disabled:C,isVirtual:w,ignoreFilter:T,filterSearch:E,filterState:D,allItems:O,allGroups:k,inputElement:A,resetSearchTermOnSelect:j,onOpenChange:M}=a(`ComboboxItem`),N=n(),P=`soybean-combobox-item-${g()}`,[F,I]=e();if(y.value===``)throw Error(`A <ComboboxItem /> must have a value prop that is not an empty string.`);let L=o(()=>y.textValue??F.value?.textContent?.trim()??y.value),R=o(()=>C.value??y.disabled),z=o(()=>{if(w.value||T.value||!E.value)return!0;let e=D.value.items.get(P);return e===void 0?!0:e>0}),B=()=>{let e=N?.id;if(!e)return;let t=k.value.get(e);t&&(t.delete(P),t.size||k.value.delete(e))},V=e=>{if(b(`select`,e),!e.defaultPrevented){if(j.value&&(E.value=``),S.value){A.value?.focus();return}M(!1)}};return d(()=>{O.value.set(P,L.value);let e=N?.id;if(e){let t=k.value.get(e)??new Set;t.add(P),k.value.set(e,t)}}),f(()=>{O.value.delete(P),B()}),(e,t)=>z.value?(p(),s(h(i),u({key:0},h(x),{ref:h(I),value:l.value,disabled:R.value,"data-slot":`item`,onSelect:V}),{default:_(()=>[m(e.$slots,`default`)]),_:3},16,[`value`,`disabled`])):c(`v-if`,!0)}});export{v as default};
@@ -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{useForwardListeners as n}from"../../composables/use-forward-listeners.js";import{useOmitProps as r}from"../../composables/use-props.js";import"../../composables/index.js";import i from"../listbox/listbox-root.js";import"../listbox/index.js";import a from"../popper/popper-root.js";import"../popper/index.js";import{providePopoverRootContext as o}from"../popover/context.js";import{provideComboboxRootContext as s}from"./context.js";import{computed as c,createBlock as l,createVNode as u,defineComponent as d,mergeProps as f,openBlock as p,renderSlot as m,shallowRef as h,toHandlers as g,unref as _,watch as v,withCtx as y}from"vue";const b=d({name:`ComboboxRoot`,inheritAttrs:!1,__name:`combobox-root`,props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},dir:{},ignoreFilter:{type:Boolean,default:!1},resetSearchTermOnBlur:{type:Boolean,default:!0},resetSearchTermOnSelect:{type:Boolean,default:!0},disabled:{type:Boolean},selectionBehavior:{},highlightOnHover:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},singleClearable:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`highlight`,`entryFocus`,`leave`,`update:open`],setup(d,{emit:b}){let x=d,S=b,C=r(x,[`open`,`defaultOpen`,`ignoreFilter`,`resetSearchTermOnBlur`,`resetSearchTermOnSelect`]),w=n(S),T=t(()=>x.open,e=>{S(`update:open`,e??!1)},x.defaultOpen),E=h(),D=h(``),O=h(new Map),k=h(new Map),A=c(()=>{if(!D.value||x.ignoreFilter)return{count:O.value.size,items:new Map(Array.from(O.value.keys(),e=>[e,!0])),groups:new Set(k.value.keys())};let e=D.value.trim().toLowerCase(),t=new Map,n=new Set,r=0;for(let[n,i]of O.value){let a=i.toLowerCase().includes(e);t.set(n,a),a&&(r+=1)}for(let[e,r]of k.value)for(let i of r)if(t.get(i)){n.add(e);break}return{count:r,items:t,groups:n}});return o({modal:c(()=>!1),open:T}),s({...e(x,[`dir`,`ignoreFilter`,`resetSearchTermOnBlur`,`resetSearchTermOnSelect`]),open:T,onOpenChange(e){T.value=e},inputElement:E,onInputElementChange(e){E.value=e},filterSearch:D,allItems:O,allGroups:k,filterState:A}),v(T,e=>{!e&&x.resetSearchTermOnBlur&&(D.value=``)}),(e,t)=>(p(),l(_(a),null,{default:y(()=>[u(_(i),f(_(C),{dir:d.dir},g(_(w))),{default:y(()=>[m(e.$slots,`default`,{open:!!_(T),searchTerm:D.value})]),_:3},16,[`dir`])]),_:3}))}});export{b as default};
1
+ import{transformPropsToContext as e}from"../../shared/vue.js";import"../../shared/index.js";import{useControllableState as t}from"../../composables/use-controllable-state.js";import{useOmitProps as n}from"../../composables/use-props.js";import{useSelection as r}from"../../composables/use-selection.js";import"../../composables/index.js";import i from"../listbox/listbox-root.js";import"../listbox/index.js";import a from"../popper/popper-root.js";import"../popper/index.js";import{provideComboboxRootContext as o}from"./context.js";import{computed as s,createBlock as c,createVNode as l,defineComponent as u,isRef as d,mergeProps as f,nextTick as p,onUnmounted as m,openBlock as h,renderSlot as g,shallowRef as _,unref as v,useAttrs as y,useId as b,useTemplateRef as x,withCtx as S}from"vue";import{createEventHook as C}from"@vueuse/core";const w=u({name:`ComboboxRoot`,inheritAttrs:!1,__name:`combobox-root`,props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},resetSearchTermOnBlur:{type:Boolean,default:!0},resetSearchTermOnSelect:{type:Boolean,default:!0},openOnFocus:{type:Boolean,default:!1},openOnClick:{type:Boolean,default:!1},ignoreFilter:{type:Boolean},resetModelValueOnClear:{type:Boolean,default:!1},dir:{},disabled:{type:Boolean},highlightOnHover:{type:Boolean,default:!0},modelValue:{default:void 0},defaultValue:{},multiple:{},clearable:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`highlight`,`update:open`],setup(u,{expose:w,emit:T}){let E=u,D=T,O=n(E,[`modelValue`,`defaultValue`,`open`,`defaultOpen`,`ignoreFilter`,`resetSearchTermOnBlur`,`resetSearchTermOnSelect`,`openOnFocus`,`openOnClick`,`resetModelValueOnClear`],y()),{modelValue:k,isMultiple:A,onModelValueChange:j,resetModelValue:M}=r(E,e=>{D(`update:modelValue`,e)}),N=x(`listboxElement`),P=t(()=>E.open,e=>{D(`update:open`,e??!1)},E.defaultOpen??!1),F=_(!1),I=_(!1),L=_(``),R=()=>{L.value||(L.value=`soybean-combobox-content-${b()}`)},z=_(),B=_(),V=_(),H=s(()=>N.value?.highlightedElement),U=C(),W=_(``),G=_(new Map),K=_(new Map),q,J=s(e=>{if(!W.value||E.ignoreFilter||I.value)return{count:G.value.size,items:e?.items??new Map,groups:new Set(K.value.keys())};let t=W.value.trim().toLowerCase(),n=new Map,r=new Set,i=0;for(let[e,r]of G.value){let a=+!!r.toLowerCase().includes(t);n.set(e,a),a&&(i+=1)}for(let[e,t]of K.value)for(let i of t)if((n.get(i)??0)>0){r.add(e);break}return{count:i,items:n,groups:r}}),Y=async e=>{if(q&&(clearTimeout(q),q=void 0),P.value=e,W.value=``,e){await p(),await N.value?.highlightSelected?.(),z.value?.focus();return}F.value=!1,q=setTimeout(()=>{!P.value&&E.resetSearchTermOnBlur&&U.trigger(void 0)},1)};return m(()=>{q&&clearTimeout(q)}),o({...e(E,[`dir`,`disabled`,`ignoreFilter`,`resetSearchTermOnBlur`,`resetSearchTermOnSelect`,`openOnFocus`,`openOnClick`,`resetModelValueOnClear`]),modelValue:k,isMultiple:A,onModelValueChange:j,resetModelValue:M,open:P,onOpenChange:Y,isUserInputted:F,isVirtual:I,contentId:L,initContentId:R,inputElement:z,onInputElementChange(e){z.value=e},triggerElement:B,onTriggerElementChange(e){B.value=e},popupElement:V,onPopupElementChange(e){V.value=e},highlightedElement:H,onResetSearchTerm:U.on,filterSearch:W,allItems:G,allGroups:K,filterState:J}),w({filtered:J,highlightedElement:H,highlightItem:e=>{N.value?.highlightItem(e)},highlightFirstItem:()=>{N.value?.highlightFirstItem()},highlightSelected:e=>N.value?.highlightSelected(e)}),(e,t)=>(h(),c(v(a),null,{default:S(()=>[l(v(i),f({ref_key:`listboxElement`,ref:N},v(O),{modelValue:v(k),"onUpdate:modelValue":t[0]||(t[0]=e=>d(k)?k.value=e:null),dir:u.dir,multiple:u.multiple,name:u.name,required:u.required,disabled:u.disabled,"highlight-on-hover":u.highlightOnHover,onHighlight:t[1]||(t[1]=e=>D(`highlight`,e))}),{default:S(()=>[g(e.$slots,`default`,{open:v(P),modelValue:v(k)})]),_:3},16,[`modelValue`,`dir`,`multiple`,`name`,`required`,`disabled`,`highlight-on-hover`])]),_:3}))}});export{w as default};
@@ -7,22 +7,30 @@ import * as _$vue from "vue";
7
7
  declare const __VLS_export: <M extends boolean = false>(__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<{
8
8
  props: _$vue.PublicProps & __VLS_PrettifyLocal<ComboboxRootProps<M> & {
9
9
  "onUpdate:modelValue"?: ((value: M extends true ? string[] : string) => any) | undefined;
10
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
- onEntryFocus?: ((event: CustomEvent<any>) => any) | undefined;
12
10
  onHighlight?: ((payload?: CollectionItemData<ListboxCollectionItemData> | undefined) => any) | undefined;
13
- onLeave?: ((event: Event) => any) | undefined;
11
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
14
12
  }> & (typeof globalThis extends {
15
13
  __VLS_PROPS_FALLBACK: infer P;
16
14
  } ? P : {});
17
- expose: (exposed: {}) => void;
15
+ expose: (exposed: _$vue.ShallowUnwrapRef<{
16
+ filtered: _$vue.ComputedRef<{
17
+ count: number;
18
+ items: Map<string, number>;
19
+ groups: Set<string>;
20
+ }>;
21
+ highlightedElement: _$vue.ComputedRef<HTMLElement | null | undefined>;
22
+ highlightItem: (value: string) => void;
23
+ highlightFirstItem: () => void;
24
+ highlightSelected: (event?: Event) => Promise<void> | undefined;
25
+ }>) => void;
18
26
  attrs: any;
19
27
  slots: {
20
28
  default?: (props: {
21
- open: boolean;
22
- searchTerm: string;
29
+ open: boolean | undefined;
30
+ modelValue: (M extends true ? string[] : string) | undefined;
23
31
  }) => any;
24
32
  };
25
- emit: ((evt: "update:modelValue", value: M extends true ? string[] : string) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "highlight", payload?: CollectionItemData<ListboxCollectionItemData> | undefined) => void) & ((evt: "leave", event: Event) => void);
33
+ emit: ((evt: "update:modelValue", value: M extends true ? string[] : string) => void) & ((evt: "highlight", payload?: CollectionItemData<ListboxCollectionItemData> | undefined) => void) & ((evt: "update:open", value: boolean) => void);
26
34
  }>) => _$vue.VNode & {
27
35
  __ctx?: Awaited<typeof __VLS_setup>;
28
36
  };
@@ -1 +1 @@
1
- import{Primitive as e}from"../primitive/primitive.js";import"../primitive/index.js";import{useComboboxUi 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:`ComboboxSeparator`,__name:`combobox-separator`,setup(r){let l=t(`separator`);return(t,r)=>(a(),n(s(e),{as:`div`,role:`separator`,class:i(s(l))},{default:c(()=>[o(t.$slots,`default`)]),_:3},8,[`class`]))}});export{l as default};
1
+ import{Primitive as e}from"../primitive/primitive.js";import"../primitive/index.js";import{useComboboxUi as t}from"./context.js";import{createBlock as n,defineComponent as r,mergeProps as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";const l=r({name:`ComboboxSeparator`,__name:`combobox-separator`,props:{asChild:{type:Boolean},as:{}},setup(r){let l=r,u=t(`separator`);return(t,r)=>(a(),n(s(e),i(l,{class:s(u),role:`separator`,"aria-orientation":`horizontal`,"data-slot":`separator`}),{default:c(()=>[o(t.$slots,`default`)]),_:3},16,[`class`]))}});export{l as default};
@@ -1 +1 @@
1
- import{useForwardElement as e}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{Primitive as t}from"../primitive/primitive.js";import"../primitive/index.js";import{useListboxRootContext as n}from"../listbox/context.js";import r from"../popper/popper-anchor.js";import"../popper/index.js";import{usePopoverRootContext as i}from"../popover/context.js";import{useComboboxUi as a}from"./context.js";import{computed as o,createBlock as s,createVNode as c,defineComponent as l,normalizeClass as u,openBlock as d,renderSlot as f,unref as p,withCtx as m}from"vue";const h=l({name:`ComboboxTrigger`,__name:`combobox-trigger`,props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{default:`button`}},setup(l){let h=l,{open:g,dataState:_,popupId:v,onOpenToggle:y,onTriggerElementChange:b}=i(`ComboboxTrigger`),{disabled:x}=n(`ComboboxTrigger`),[S,C]=e(b),w=a(`trigger`),T=a(`triggerIcon`),E=o(()=>h.disabled||x.value||!1),D=o(()=>h.as===`button`?`button`:void 0),O=()=>{E.value||y()};return(e,n)=>(d(),s(p(r),{"as-child":``},{default:m(()=>[c(p(t),{ref:p(C),as:l.as,"as-child":l.asChild,type:D.value,class:u(p(w)),"aria-haspopup":`listbox`,"aria-expanded":p(g)||!1,"aria-controls":p(g)?p(v):void 0,"aria-disabled":E.value||void 0,"data-state":p(_),"data-disabled":E.value?``:void 0,disabled:E.value,onClick:O},{default:m(()=>[f(e.$slots,`default`,{triggerIconClass:p(T)})]),_:3},8,[`as`,`as-child`,`type`,`class`,`aria-expanded`,`aria-controls`,`aria-disabled`,`data-state`,`data-disabled`,`disabled`])]),_:3}))}});export{h as default};
1
+ import{useExposedElement as e}from"../../composables/use-exposed-element.js";import"../../composables/index.js";import{Primitive as t}from"../primitive/primitive.js";import"../primitive/index.js";import{useComboboxRootContext as n,useComboboxUi as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,normalizeClass as s,onMounted as c,openBlock as l,renderSlot as u,unref as d,withCtx as f}from"vue";const p=o({name:`ComboboxTrigger`,__name:`combobox-trigger`,props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{default:`button`}},setup(o){let p=o,{open:m,disabled:h,contentId:g,initContentId:_,onOpenChange:v,onTriggerElementChange:y}=n(`ComboboxTrigger`),[b,x]=e(y),S=r(`trigger`),C=r(`triggerIcon`);c(()=>{_()});let w=i(()=>p.disabled||h.value||!1),T=i(()=>p.as===`button`?`button`:void 0),E=i(()=>w.value?-1:p.as===`button`?void 0:0),D=()=>{w.value||v(!m.value)};return(e,n)=>(l(),a(d(t),{ref:d(x),as:o.as,"as-child":o.asChild,type:T.value,class:s(d(S)),"aria-haspopup":`listbox`,"aria-expanded":d(m)||!1,"aria-controls":d(g)||void 0,"aria-disabled":w.value||void 0,"data-state":d(m)?`open`:`closed`,"data-disabled":w.value?``:void 0,disabled:w.value,tabindex:E.value,"data-slot":`trigger`,onClick:D},{default:f(()=>[u(e.$slots,`default`,{triggerIconClass:d(C)})]),_:3},8,[`as`,`as-child`,`type`,`class`,`aria-expanded`,`aria-controls`,`aria-disabled`,`data-state`,`data-disabled`,`disabled`,`tabindex`]))}});export{p as default};
@@ -4,11 +4,11 @@ import { ComboboxTriggerProps } from "./types.js";
4
4
  import * as _$vue from "vue";
5
5
 
6
6
  //#region src/components/combobox/combobox-trigger.vue.d.ts
7
- declare var __VLS_16: {
7
+ declare var __VLS_10: {
8
8
  triggerIconClass: ClassValue;
9
9
  };
10
10
  type __VLS_Slots = {} & {
11
- default?: (props: typeof __VLS_16) => any;
11
+ default?: (props: typeof __VLS_10) => any;
12
12
  };
13
13
  declare const __VLS_base: _$vue.DefineComponent<ComboboxTriggerProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ComboboxTriggerProps> & Readonly<{}>, {
14
14
  as: AsTag | _$vue.Component;
@@ -1,4 +1,4 @@
1
- import{Primitive as e}from"../primitive/primitive.js";import"../primitive/index.js";import{useNonce as t}from"../config-provider/context.js";import n from"../listbox/listbox-content.js";import"../listbox/index.js";import{Fragment as r,createElementBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,useAttrs as p,withCtx as m}from"vue";const h=s({name:`ComboboxViewport`,inheritAttrs:!1,__name:`combobox-viewport`,props:{nonce:{}},setup(s){let h=s,g=p(),_=t(()=>h.nonce);return(t,s)=>(l(),i(r,null,[o(f(n),c(f(g),{"data-soybean-combobox-viewport":``}),{default:m(()=>[u(t.$slots,`default`)]),_:3},16),o(f(e),{as:`style`,nonce:f(_)},{default:m(()=>[a(d(`
1
+ import{useNonce as e}from"../config-provider/context.js";import{Primitive as t}from"../primitive/primitive.js";import"../primitive/index.js";import n from"../listbox/listbox-content.js";import"../listbox/index.js";import{Fragment as r,createElementBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,useAttrs as p,withCtx as m}from"vue";const h=s({name:`ComboboxViewport`,inheritAttrs:!1,__name:`combobox-viewport`,props:{nonce:{}},setup(s){let h=s,g=p(),_=e(()=>h.nonce);return(e,s)=>(l(),i(r,null,[o(f(n),c(f(g),{"data-slot":`viewport`,"data-soybean-combobox-viewport":``}),{default:m(()=>[u(e.$slots,`default`)]),_:3},16),o(f(t),{as:`style`,nonce:f(_)},{default:m(()=>[a(d(`
2
2
  [data-soybean-combobox-viewport] {
3
3
  scrollbar-width: none;
4
4
  -ms-overflow-style: none;
@@ -0,0 +1 @@
1
+ import e from"../listbox/listbox-virtualizer.js";import"../listbox/index.js";import{useComboboxRootContext as t}from"./context.js";import{createBlock as n,defineComponent as r,guardReactiveProps as i,mergeProps as a,normalizeProps as o,onUnmounted as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=r({name:`ComboboxVirtualizer`,__name:`combobox-virtualizer`,props:{options:{},overscan:{},estimateSize:{type:[Number,Function]},textContent:{type:Function}},setup(r){let f=r,{isVirtual:p}=t(`ComboboxVirtualizer`);return p.value=!0,s(()=>{p.value=!1}),(t,r)=>(c(),n(u(e),a(f,{"data-slot":`virtualizer`}),{default:d(e=>[l(t.$slots,`default`,o(i(e)))]),_:3},16))}});export{f as default};
@@ -0,0 +1,23 @@
1
+ import { ComboboxVirtualizerProps } from "./types.js";
2
+ import * as _$vue from "vue";
3
+ import * as _$_tanstack_vue_virtual0 from "@tanstack/vue-virtual";
4
+
5
+ //#region src/components/combobox/combobox-virtualizer.vue.d.ts
6
+ declare var __VLS_8: {
7
+ option: string;
8
+ virtualizer: _$_tanstack_vue_virtual0.Virtualizer<HTMLElement, Element>;
9
+ virtualItem: _$_tanstack_vue_virtual0.VirtualItem;
10
+ };
11
+ type __VLS_Slots = {} & {
12
+ default?: (props: typeof __VLS_8) => any;
13
+ };
14
+ declare const __VLS_base: _$vue.DefineComponent<ComboboxVirtualizerProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ComboboxVirtualizerProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
15
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
+ declare const _default: typeof __VLS_export;
17
+ type __VLS_WithSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
22
+ //#endregion
23
+ export { _default };
@@ -1,8 +1,9 @@
1
- import { ClassValue, UiClass } from "../../types/common.js";
1
+ import { UiClass } from "../../types/common.js";
2
+ import { UseUiConsumer } from "../../composables/use-ui-context.js";
2
3
  import { ComboboxUiSlot } from "./types.js";
3
- import * as _$vue from "vue";
4
+ import { ComputedRef } from "vue";
4
5
 
5
6
  //#region src/components/combobox/context.d.ts
6
- declare const provideComboboxUi: (ui: _$vue.ComputedRef<Partial<UiClass<ComboboxUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<ComboboxUiSlot>>>, useComboboxUi: <S extends ComboboxUiSlot | undefined = undefined>(slot?: S | undefined) => S extends ComboboxUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<ComboboxUiSlot>>>;
7
+ declare const provideComboboxUi: (ui: ComputedRef<Partial<UiClass<ComboboxUiSlot>>>) => ComputedRef<Partial<UiClass<ComboboxUiSlot>>>, useComboboxUi: UseUiConsumer<ComboboxUiSlot>;
7
8
  //#endregion
8
9
  export { provideComboboxUi };
@@ -1 +1 @@
1
- import{useContext as e}from"../../composables/use-context.js";import{useUiContext as t}from"../../composables/use-ui-context.js";import"../../composables/index.js";import{provideListboxUi as n}from"../listbox/context.js";import{providePopperUi as r}from"../popper/context.js";import{computed as i}from"vue";const[a,o]=e(`ComboboxRoot`),[s,c]=t(`ComboboxUi`,e=>{let t=i(()=>({positioner:e.value?.positioner,popup:e.value?.popup})),a=i(()=>({root:``,content:e.value?.viewport,filterRoot:e.value?.inputRoot,filterControl:e.value?.inputControl,item:e.value?.item,itemIndicator:e.value?.itemIndicator,group:e.value?.group,groupLabel:e.value?.groupLabel,virtualizer:``}));return r(t),n(a),e});export{a as provideComboboxRootContext,s as provideComboboxUi,o as useComboboxRootContext,c as useComboboxUi};
1
+ import{useContext as e}from"../../composables/use-context.js";import{useUiContext as t}from"../../composables/use-ui-context.js";import"../../composables/index.js";import{provideListboxUi as n}from"../listbox/context.js";import{providePopperUi as r}from"../popper/context.js";import{computed as i}from"vue";const[a,o]=e(`ComboboxRoot`),[s,c]=e(`ComboboxContent`),[l,u]=t(`ComboboxUi`,e=>{let t=i(()=>({positioner:e.value?.positioner,popup:e.value?.popup,arrow:e.value?.arrow})),a=i(()=>({...e.value,content:e.value?.viewport,filterRoot:e.value?.inputRoot,filterControl:e.value?.inputControl}));return r(t),n(a),e});export{s as provideComboboxContentContext,a as provideComboboxRootContext,l as provideComboboxUi,c as useComboboxContentContext,o as useComboboxRootContext,u as useComboboxUi};
@@ -1,16 +1,21 @@
1
1
  import { PortalProps } from "../portal/types.js";
2
- import { _default as _default$7 } from "../portal/portal.vue.js";
3
- import { ComboboxContentEmits, ComboboxContentProps, ComboboxEmptyProps, ComboboxGroupLabelProps, ComboboxGroupProps, ComboboxInputEmits, ComboboxInputProps, ComboboxItemEmits, ComboboxItemIndicatorProps, ComboboxItemProps, ComboboxRootEmits, ComboboxRootProps, ComboboxSeparatorProps, ComboboxTriggerProps, ComboboxUi, ComboboxUiSlot, ComboboxViewportProps } from "./types.js";
4
- import { _default as _default$8 } from "./combobox-root.vue.js";
5
- import { _default as _default$10 } from "./combobox-trigger.vue.js";
6
- import { _default } from "./combobox-content.vue.js";
7
- import { _default as _default$11 } from "./combobox-viewport.vue.js";
8
- import { _default as _default$4 } from "./combobox-input.vue.js";
9
- import { _default as _default$2 } from "./combobox-group.vue.js";
10
- import { _default as _default$3 } from "./combobox-group-label.vue.js";
11
- import { _default as _default$5 } from "./combobox-item.vue.js";
12
- import { _default as _default$6 } from "./combobox-item-indicator.vue.js";
13
- import { _default as _default$1 } from "./combobox-empty.vue.js";
14
- import { _default as _default$9 } from "./combobox-separator.vue.js";
2
+ import { _default as _default$11 } from "../portal/portal.vue.js";
3
+ import { ComboboxAnchorProps, ComboboxArrowProps, ComboboxCancelProps, ComboboxCompactEmits, ComboboxCompactProps, ComboboxCompactSlots, ComboboxContentEmits, ComboboxContentProps, ComboboxEmptyProps, ComboboxGroupLabelProps, ComboboxGroupOptionData, ComboboxGroupProps, ComboboxInputEmits, ComboboxInputProps, ComboboxItemEmits, ComboboxItemIndicatorProps, ComboboxItemProps, ComboboxOptionData, ComboboxRootEmits, ComboboxRootProps, ComboboxSeparatorProps, ComboboxSingleOptionData, ComboboxTriggerProps, ComboboxUi, ComboboxUiSlot, ComboboxViewportProps, ComboboxVirtualizerProps } from "./types.js";
4
+ import { _default as _default$12 } from "./combobox-root.vue.js";
5
+ import { _default as _default$3 } from "./combobox-compact.vue.js";
6
+ import { _default } from "./combobox-anchor.vue.js";
7
+ import { _default as _default$14 } from "./combobox-trigger.vue.js";
8
+ import { _default as _default$2 } from "./combobox-cancel.vue.js";
9
+ import { _default as _default$4 } from "./combobox-content.vue.js";
10
+ import { _default as _default$1 } from "./combobox-arrow.vue.js";
11
+ import { _default as _default$15 } from "./combobox-viewport.vue.js";
12
+ import { _default as _default$8 } from "./combobox-input.vue.js";
13
+ import { _default as _default$6 } from "./combobox-group.vue.js";
14
+ import { _default as _default$7 } from "./combobox-group-label.vue.js";
15
+ import { _default as _default$9 } from "./combobox-item.vue.js";
16
+ import { _default as _default$10 } from "./combobox-item-indicator.vue.js";
17
+ import { _default as _default$5 } from "./combobox-empty.vue.js";
18
+ import { _default as _default$13 } from "./combobox-separator.vue.js";
19
+ import { _default as _default$16 } from "./combobox-virtualizer.vue.js";
15
20
  import { provideComboboxUi } from "./context.js";
16
- export { _default as ComboboxContent, type ComboboxContentEmits, type ComboboxContentProps, _default$1 as ComboboxEmpty, type ComboboxEmptyProps, _default$2 as ComboboxGroup, _default$3 as ComboboxGroupLabel, type ComboboxGroupLabelProps, type ComboboxGroupProps, _default$4 as ComboboxInput, type ComboboxInputEmits, type ComboboxInputProps, _default$5 as ComboboxItem, type ComboboxItemEmits, _default$6 as ComboboxItemIndicator, type ComboboxItemIndicatorProps, type ComboboxItemProps, _default$7 as ComboboxPortal, type PortalProps as ComboboxPortalProps, _default$8 as ComboboxRoot, type ComboboxRootEmits, type ComboboxRootProps, _default$9 as ComboboxSeparator, type ComboboxSeparatorProps, _default$10 as ComboboxTrigger, type ComboboxTriggerProps, type ComboboxUi, type ComboboxUiSlot, _default$11 as ComboboxViewport, type ComboboxViewportProps, provideComboboxUi };
21
+ export { _default as ComboboxAnchor, type ComboboxAnchorProps, _default$1 as ComboboxArrow, type ComboboxArrowProps, _default$2 as ComboboxCancel, type ComboboxCancelProps, _default$3 as ComboboxCompact, type ComboboxCompactEmits, type ComboboxCompactProps, type ComboboxCompactSlots, _default$4 as ComboboxContent, type ComboboxContentEmits, type ComboboxContentProps, _default$5 as ComboboxEmpty, type ComboboxEmptyProps, _default$6 as ComboboxGroup, _default$7 as ComboboxGroupLabel, type ComboboxGroupLabelProps, type ComboboxGroupOptionData, type ComboboxGroupProps, _default$8 as ComboboxInput, type ComboboxInputEmits, type ComboboxInputProps, _default$9 as ComboboxItem, type ComboboxItemEmits, _default$10 as ComboboxItemIndicator, type ComboboxItemIndicatorProps, type ComboboxItemProps, type ComboboxOptionData, _default$11 as ComboboxPortal, type PortalProps as ComboboxPortalProps, _default$12 as ComboboxRoot, type ComboboxRootEmits, type ComboboxRootProps, _default$13 as ComboboxSeparator, type ComboboxSeparatorProps, type ComboboxSingleOptionData, _default$14 as ComboboxTrigger, type ComboboxTriggerProps, type ComboboxUi, type ComboboxUiSlot, _default$15 as ComboboxViewport, type ComboboxViewportProps, _default$16 as ComboboxVirtualizer, type ComboboxVirtualizerProps, provideComboboxUi };
@@ -1 +1 @@
1
- import e from"../portal/portal.js";import{provideComboboxUi as t}from"./context.js";import n from"./combobox-root.js";import r from"./combobox-trigger.js";import i from"./combobox-content.js";import a from"./combobox-viewport.js";import o from"./combobox-input.js";import s from"./combobox-group.js";import c from"./combobox-group-label.js";import l from"./combobox-item.js";import u from"./combobox-item-indicator.js";import d from"./combobox-empty.js";import f from"./combobox-separator.js";export{i as ComboboxContent,d as ComboboxEmpty,s as ComboboxGroup,c as ComboboxGroupLabel,o as ComboboxInput,l as ComboboxItem,u as ComboboxItemIndicator,e as ComboboxPortal,n as ComboboxRoot,f as ComboboxSeparator,r as ComboboxTrigger,a as ComboboxViewport,t as provideComboboxUi};
1
+ import e from"../portal/portal.js";import{provideComboboxUi as t}from"./context.js";import n from"./combobox-root.js";import r from"./combobox-anchor.js";import i from"./combobox-cancel.js";import a from"./combobox-content.js";import o from"./combobox-empty.js";import s from"./combobox-group.js";import c from"./combobox-group-label.js";import l from"./combobox-input.js";import u from"./combobox-item.js";import d from"./combobox-item-indicator.js";import f from"./combobox-separator.js";import p from"./combobox-trigger.js";import m from"./combobox-viewport.js";import h from"./combobox-compact.js";import g from"./combobox-arrow.js";import _ from"./combobox-virtualizer.js";export{r as ComboboxAnchor,g as ComboboxArrow,i as ComboboxCancel,h as ComboboxCompact,a as ComboboxContent,o as ComboboxEmpty,s as ComboboxGroup,c as ComboboxGroupLabel,l as ComboboxInput,u as ComboboxItem,d as ComboboxItemIndicator,e as ComboboxPortal,n as ComboboxRoot,f as ComboboxSeparator,p as ComboboxTrigger,m as ComboboxViewport,_ as ComboboxVirtualizer,t as provideComboboxUi};
@@ -0,0 +1 @@
1
+ function e(e){return`items`in e}function t(t){return t.flatMap(t=>e(t)?t.items:t)}function n(e,n){let r=Array.isArray(e)?e:e?[e]:[],i=new Map;return t(n).forEach(e=>{i.set(e.value,e.label)}),r.map(e=>i.get(e)??e)}function r(e,t){return!e||Array.isArray(e)?``:n(e,t)[0]??e}export{r as getDisplayValue,n as getSelectedLabels,e as isGroupOption};
@@ -1,31 +1,66 @@
1
- import { Direction, SelectionEmits, SelectionProps, UiClass } from "../../types/common.js";
1
+ import { IconValue } from "../_icon/types.js";
2
+ import { MaybeArray, UiClass } from "../../types/common.js";
2
3
  import { SelectEvent } from "../../types/event.js";
3
- import { ForceMountProps } from "../../types/component.js";
4
+ import { DismissableLayerEmits, DismissableLayerProps, FocusScopeEmits, ForceMountProps, TrapFocusProps } from "../../types/component.js";
4
5
  import { PrimitiveProps } from "../primitive/types.js";
5
- import { ListboxFilterEmits, ListboxFilterProps, ListboxRootEmits, ListboxRootProps } from "../listbox/types.js";
6
- import { PopoverPopupProps, PopoverPositionerEmits, PopoverPositionerProps } from "../popover/types.js";
6
+ import { ListboxFilterEmits, ListboxFilterProps, ListboxRootEmits, ListboxRootProps, ListboxVirtualizerProps } from "../listbox/types.js";
7
+ import { PopperAnchorProps, PopperArrowProps, PopperPopupProps, PopperPositionerEmits, PopperPositionerProps } from "../popper/types.js";
8
+ import { PortalProps } from "../portal/types.js";
7
9
  import { ComputedRef, HTMLAttributes, ShallowRef } from "vue";
8
-
9
10
  //#region src/components/combobox/types.d.ts
10
- interface ComboboxRootProps<M extends boolean = false> extends Omit<ListboxRootProps<M>, 'orientation'>, SelectionProps<M>, /** @vue-ignore */HTMLAttributes {
11
+ interface ComboboxRootProps<M extends boolean = false> extends Omit<ListboxRootProps<M>, 'orientation' | 'selectionBehavior'> {
12
+ /** The controlled open state of the Combobox. Can be bound with `v-model:open`. */
11
13
  open?: boolean;
14
+ /** The open state of the combobox when it is initially rendered. <br> Use when you do not need to control its open state. */
12
15
  defaultOpen?: boolean;
13
- dir?: Direction;
14
- ignoreFilter?: boolean;
16
+ /**
17
+ * Whether to reset the searchTerm when the Combobox input blurred
18
+ * @defaultValue `true`
19
+ */
15
20
  resetSearchTermOnBlur?: boolean;
21
+ /**
22
+ * Whether to reset the searchTerm when the Combobox value is selected
23
+ * @defaultValue `true`
24
+ */
16
25
  resetSearchTermOnSelect?: boolean;
26
+ /**
27
+ * Whether to open the combobox when the input is focused
28
+ * @defaultValue `false`
29
+ */
30
+ openOnFocus?: boolean;
31
+ /**
32
+ * Whether to open the combobox when the input is clicked
33
+ * @defaultValue `false`
34
+ */
35
+ openOnClick?: boolean;
36
+ /**
37
+ * When `true`, disable the default filters
38
+ */
39
+ ignoreFilter?: boolean;
40
+ /**
41
+ * When `true` the `modelValue` will be reset to `null` (or `[]` if `multiple`)
42
+ */
43
+ resetModelValueOnClear?: boolean;
17
44
  }
18
- type ComboboxRootEmits<M extends boolean = false> = ListboxRootEmits<M> & SelectionEmits<M> & {
45
+ type ComboboxRootEmits<M extends boolean = false> = Pick<ListboxRootEmits<M>, 'update:modelValue' | 'highlight'> & {
19
46
  'update:open': [value: boolean];
20
47
  };
48
+ interface ComboboxAnchorProps extends PopperAnchorProps {}
21
49
  interface ComboboxTriggerProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
22
50
  disabled?: boolean;
23
51
  }
24
- interface ComboboxContentProps extends PopoverPositionerProps, ForceMountProps {
25
- popupProps?: PopoverPopupProps;
52
+ interface ComboboxContentImplProps extends PopperPositionerProps, TrapFocusProps, DismissableLayerProps, ForceMountProps {
53
+ position?: 'inline' | 'popper';
54
+ bodyLock?: boolean;
55
+ hideWhenEmpty?: boolean;
56
+ popupProps?: PopperPopupProps;
57
+ }
58
+ type ComboboxContentImplEmits = DismissableLayerEmits & FocusScopeEmits & PopperPositionerEmits;
59
+ interface ComboboxContentProps extends ComboboxContentImplProps {}
60
+ type ComboboxContentEmits = ComboboxContentImplEmits;
61
+ interface ComboboxInputProps extends ListboxFilterProps {
62
+ displayValue?: (value: MaybeArray<string> | undefined) => string;
26
63
  }
27
- type ComboboxContentEmits = PopoverPositionerEmits;
28
- interface ComboboxInputProps extends Omit<ListboxFilterProps, 'modelValue' | 'defaultValue'> {}
29
64
  type ComboboxInputEmits = ListboxFilterEmits;
30
65
  interface ComboboxViewportProps extends /** @vue-ignore */HTMLAttributes {
31
66
  nonce?: string;
@@ -41,9 +76,74 @@ type ComboboxItemEmits = {
41
76
  select: [event: SelectEvent<string>];
42
77
  };
43
78
  interface ComboboxItemIndicatorProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
44
- interface ComboboxEmptyProps extends /** @vue-ignore */HTMLAttributes {}
45
- interface ComboboxSeparatorProps extends /** @vue-ignore */HTMLAttributes {}
46
- type ComboboxUiSlot = 'trigger' | 'triggerIcon' | 'positioner' | 'popup' | 'viewport' | 'inputRoot' | 'inputControl' | 'group' | 'groupLabel' | 'item' | 'itemIndicator' | 'empty' | 'separator';
79
+ interface ComboboxEmptyProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
80
+ interface ComboboxSeparatorProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
81
+ interface ComboboxCancelProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
82
+ disabled?: boolean;
83
+ }
84
+ interface ComboboxArrowProps extends PopperArrowProps {}
85
+ interface ComboboxVirtualizerProps extends ListboxVirtualizerProps {}
86
+ interface ComboboxSingleOptionData extends Pick<ComboboxItemProps, 'disabled' | 'textValue'> {
87
+ value: string;
88
+ icon?: IconValue;
89
+ label: string;
90
+ separator?: boolean;
91
+ }
92
+ interface ComboboxGroupOptionData extends Pick<ComboboxSingleOptionData, 'label' | 'separator'> {
93
+ items: ComboboxSingleOptionData[];
94
+ }
95
+ type ComboboxOptionData = ComboboxSingleOptionData | ComboboxGroupOptionData;
96
+ interface ComboboxCompactProps<M extends boolean = false> extends ComboboxRootProps<M> {
97
+ items: ComboboxOptionData[];
98
+ placeholder?: string;
99
+ searchPlaceholder?: string;
100
+ clearLabel?: string;
101
+ emptyLabel?: string;
102
+ anchorProps?: ComboboxAnchorProps;
103
+ triggerProps?: ComboboxTriggerProps;
104
+ cancelProps?: ComboboxCancelProps;
105
+ portalProps?: PortalProps;
106
+ contentProps?: ComboboxContentProps;
107
+ viewportProps?: ComboboxViewportProps;
108
+ inputProps?: ComboboxInputProps;
109
+ emptyProps?: ComboboxEmptyProps;
110
+ groupProps?: ComboboxGroupProps;
111
+ groupLabelProps?: ComboboxGroupLabelProps;
112
+ itemProps?: ComboboxItemProps;
113
+ itemIndicatorProps?: ComboboxItemIndicatorProps;
114
+ separatorProps?: ComboboxSeparatorProps;
115
+ }
116
+ type ComboboxCompactEmits<M extends boolean = false> = ComboboxRootEmits<M> & ComboboxContentEmits & ComboboxItemEmits;
117
+ type ComboboxCompactModelValue<M extends boolean = false> = (M extends true ? string[] : string) | undefined;
118
+ interface ComboboxCompactTriggerValueSlotProps<M extends boolean = false> {
119
+ modelValue: ComboboxCompactModelValue<M>;
120
+ selectedLabels: string[];
121
+ slotText: string | undefined;
122
+ }
123
+ interface ComboboxCompactInputSlotProps {
124
+ clear: () => void;
125
+ }
126
+ interface ComboboxCompactGroupLabelSlotProps {
127
+ item: ComboboxGroupOptionData;
128
+ }
129
+ interface ComboboxCompactItemSlotProps {
130
+ item: ComboboxSingleOptionData;
131
+ }
132
+ type ComboboxCompactSlots<M extends boolean = false> = {
133
+ 'trigger-leading'?: () => any;
134
+ 'trigger-value'?: (props: ComboboxCompactTriggerValueSlotProps<M>) => any;
135
+ 'trigger-trailing'?: () => any;
136
+ 'trigger-icon'?: () => any;
137
+ 'input-leading'?: (props: ComboboxCompactInputSlotProps) => any;
138
+ 'input-trailing'?: (props: ComboboxCompactInputSlotProps) => any;
139
+ empty?: () => any;
140
+ 'group-label'?: (props: ComboboxCompactGroupLabelSlotProps) => any;
141
+ 'item-leading'?: (props: ComboboxCompactItemSlotProps) => any;
142
+ 'item-text'?: (props: ComboboxCompactItemSlotProps) => any;
143
+ 'item-trailing'?: (props: ComboboxCompactItemSlotProps) => any;
144
+ 'item-indicator'?: (props: ComboboxCompactItemSlotProps) => any;
145
+ };
146
+ type ComboboxUiSlot = 'root' | 'anchor' | 'trigger' | 'triggerIcon' | 'cancel' | 'positioner' | 'popup' | 'arrow' | 'viewport' | 'inputRoot' | 'inputControl' | 'group' | 'groupLabel' | 'item' | 'itemIndicator' | 'empty' | 'separator' | 'virtualizer';
47
147
  type ComboboxUi = UiClass<ComboboxUiSlot>;
48
148
  //#endregion
49
- export { ComboboxContentEmits, ComboboxContentProps, ComboboxEmptyProps, ComboboxGroupLabelProps, ComboboxGroupProps, ComboboxInputEmits, ComboboxInputProps, ComboboxItemEmits, ComboboxItemIndicatorProps, ComboboxItemProps, ComboboxRootEmits, ComboboxRootProps, ComboboxSeparatorProps, ComboboxTriggerProps, ComboboxUi, ComboboxUiSlot, ComboboxViewportProps };
149
+ export { ComboboxAnchorProps, ComboboxArrowProps, ComboboxCancelProps, ComboboxCompactEmits, ComboboxCompactProps, ComboboxCompactSlots, ComboboxContentEmits, ComboboxContentProps, ComboboxEmptyProps, ComboboxGroupLabelProps, ComboboxGroupOptionData, ComboboxGroupProps, ComboboxInputEmits, ComboboxInputProps, ComboboxItemEmits, ComboboxItemIndicatorProps, ComboboxItemProps, ComboboxOptionData, ComboboxRootEmits, ComboboxRootProps, ComboboxSeparatorProps, ComboboxSingleOptionData, ComboboxTriggerProps, ComboboxUi, ComboboxUiSlot, ComboboxViewportProps, ComboboxVirtualizerProps };
@@ -0,0 +1 @@
1
+ import{useControllableState as e}from"../../composables/use-controllable-state.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import n from"../_icon/icon.js";import r from"../listbox/listbox-root.js";import i from"../listbox/listbox-content.js";import a from"../listbox/listbox-group.js";import o from"../listbox/listbox-group-label.js";import s from"../listbox/listbox-item.js";import c from"../listbox/listbox-filter.js";import"../listbox/index.js";import l from"../separator/separator-root.js";import u from"../kbd/kbd.js";import{useCommandUi as d}from"./context.js";import{getCommandItemOptions as f,getCommandSearchOptions as p,isGroupOption as m}from"./shared.js";import{Fragment as h,computed as g,createBlock as _,createCommentVNode as v,createElementBlock as y,createElementVNode as b,createTextVNode as x,createVNode as S,defineComponent as C,guardReactiveProps as w,isRef as T,mergeProps as E,normalizeClass as D,normalizeProps as O,openBlock as k,renderList as A,renderSlot as j,toDisplayString as M,unref as N,withCtx as P}from"vue";import{useFuse as F}from"@vueuse/integrations/useFuse";import{defu as I}from"defu";const L=C({name:`CommandCompact`,__name:`command-compact`,props:{items:{},placeholder:{},searchTerm:{},clearable:{type:Boolean},fuseOptions:{},listProps:{},itemProps:{},itemLabelProps:{},groupProps:{},groupLabelProps:{},shortcutProps:{},separatorProps:{},inputProps:{},emptyProps:{},emptyLabel:{default:`No results found.`},orientation:{},dir:{},disabled:{type:Boolean},highlightOnHover:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},selectionBehavior:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`highlight`,`entryFocus`,`leave`,`select`,`update:searchTerm`],setup(C,{emit:L}){let R=C,z=L,B=t(R,[`items`,`placeholder`,`searchTerm`,`fuseOptions`,`emptyLabel`,`listProps`,`itemProps`,`itemLabelProps`,`groupProps`,`groupLabelProps`,`shortcutProps`,`separatorProps`,`inputProps`,`emptyProps`]),V=e(()=>R.searchTerm,e=>{z(`update:searchTerm`,e??``)},R.inputProps?.defaultValue||``),H=g(()=>I(R.fuseOptions,{fuseOptions:{ignoreLocation:!0,threshold:.1,keys:[`label`,`groupLabel`]},resultLimit:12,matchAllWhenSearchEmpty:!0})),{results:U}=F(V,g(()=>p(R.items)),H),W=g(()=>f(U.value.map(e=>e.item))),G=g(()=>({...R.inputProps,placeholder:R.placeholder??R.inputProps?.placeholder})),K=g(()=>({...R.listProps,"aria-label":R.listProps?.[`aria-label`]??R.placeholder??`Commands`})),q=d(),J=e=>m(e)?`group-${e.value}`:`item-${e.value}`;return(e,t)=>(k(),_(N(r),E(N(B),{"onUpdate:modelValue":t[3]||(t[3]=e=>z(`update:modelValue`,e)),onHighlight:t[4]||(t[4]=e=>z(`highlight`,e)),onEntryFocus:t[5]||(t[5]=e=>z(`entryFocus`,e)),onLeave:t[6]||(t[6]=e=>z(`leave`,e))}),{default:P(()=>[S(N(c),E(G.value,{modelValue:N(V),"onUpdate:modelValue":t[0]||(t[0]=e=>T(V)?V.value=e:null),autofocus:``}),{leading:P(({clear:t})=>[j(e.$slots,`input-leading`,{clear:t},()=>[S(n,{icon:`lucide:search`})])]),trailing:P(({clear:t})=>[C.clearable?(k(),_(n,{key:0,icon:`lucide:x`,class:D(N(q).inputClearable),onClick:t},null,8,[`class`,`onClick`])):v(`v-if`,!0),j(e.$slots,`input-trailing`,{clear:t})]),_:3},16,[`modelValue`]),S(N(i),O(w(K.value)),{default:P(()=>[W.value.length?v(`v-if`,!0):(k(),y(`div`,E({key:0},C.emptyProps,{class:N(q).empty}),[j(e.$slots,`empty`,{},()=>[x(M(C.emptyLabel),1)])],16)),(k(!0),y(h,null,A(W.value,r=>(k(),y(h,{key:J(r)},[N(m)(r)?(k(),y(h,{key:0},[S(N(a),E({ref_for:!0},C.groupProps),{default:P(()=>[S(N(o),E({ref_for:!0},C.groupLabelProps),{default:P(()=>[x(M(r.label),1)]),_:2},1040),(k(!0),y(h,null,A(r.items,r=>(k(),_(N(s),E({key:String(r.value)},{ref_for:!0},C.itemProps,{value:r.value,disabled:r.disabled,onSelect:t[1]||(t[1]=e=>z(`select`,e))}),{default:P(()=>[j(e.$slots,`item-leading`,{item:r},()=>[r.icon?(k(),_(n,{key:0,icon:r.icon},null,8,[`icon`])):v(`v-if`,!0)]),b(`span`,E({class:N(q).itemLabel},{ref_for:!0},C.itemLabelProps),[j(e.$slots,`item-label`,{item:r},()=>[x(M(r.label),1)])],16),j(e.$slots,`item-trailing`,{item:r}),r.shortcut?(k(),_(u,E({key:0,ref_for:!0},C.shortcutProps,{value:r.shortcut,class:N(q).shortcut}),null,16,[`value`,`class`])):v(`v-if`,!0)]),_:2},1040,[`value`,`disabled`]))),128))]),_:2},1040),r.separator?(k(),_(l,E({key:0,ref_for:!0},C.separatorProps,{decorative:``,class:N(q).separator}),null,16,[`class`])):v(`v-if`,!0)],64)):(k(),y(h,{key:1},[S(N(s),E({ref_for:!0},C.itemProps,{value:r.value,disabled:r.disabled,onSelect:t[2]||(t[2]=e=>z(`select`,e))}),{default:P(()=>[j(e.$slots,`item-leading`,{item:r},()=>[r.icon?(k(),_(n,{key:0,icon:r.icon},null,8,[`icon`])):v(`v-if`,!0)]),b(`span`,E({class:N(q).itemLabel},{ref_for:!0},C.itemLabelProps),[j(e.$slots,`item-label`,{item:r},()=>[x(M(r.label),1)])],16),j(e.$slots,`item-trailing`,{item:r}),r.shortcut?(k(),_(u,E({key:0,ref_for:!0},C.shortcutProps,{value:r.shortcut,class:N(q).shortcut}),null,16,[`value`,`class`])):v(`v-if`,!0)]),_:2},1040,[`value`,`disabled`]),r.separator?(k(),_(l,E({key:0,ref_for:!0},C.separatorProps,{decorative:``,class:N(q).separator}),null,16,[`class`])):v(`v-if`,!0)],64))],64))),128))]),_:3},16),j(e.$slots,`bottom`)]),_:3},16))}});export{L as default};