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

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 (381) 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/anchor-root.vue.d.ts +1 -1
  34. package/dist/components/anchor/context.d.ts +3 -2
  35. package/dist/components/anchor/index.d.ts +5 -4
  36. package/dist/components/anchor/index.js +1 -1
  37. package/dist/components/anchor/types.d.ts +22 -2
  38. package/dist/components/autocomplete/autocomplete-compact.js +1 -0
  39. package/dist/components/autocomplete/autocomplete-compact.vue.d.ts +24 -0
  40. package/dist/components/autocomplete/autocomplete-root.vue.d.ts +3 -3
  41. package/dist/components/autocomplete/context.d.ts +3 -2
  42. package/dist/components/autocomplete/index.d.ts +14 -13
  43. package/dist/components/autocomplete/index.js +1 -1
  44. package/dist/components/autocomplete/shared.js +1 -0
  45. package/dist/components/autocomplete/types.d.ts +77 -3
  46. package/dist/components/avatar/context.d.ts +3 -2
  47. package/dist/components/backtop/backtop.js +1 -0
  48. package/dist/components/backtop/backtop.vue.d.ts +33 -0
  49. package/dist/components/backtop/index.d.ts +3 -0
  50. package/dist/components/backtop/index.js +1 -0
  51. package/dist/components/backtop/shared.js +1 -0
  52. package/dist/components/backtop/types.d.ts +43 -0
  53. package/dist/components/badge/context.d.ts +3 -2
  54. package/dist/components/breadcrumb/breadcrumb-compact.js +1 -0
  55. package/dist/components/breadcrumb/breadcrumb-compact.vue.d.ts +21 -0
  56. package/dist/components/breadcrumb/context.d.ts +3 -2
  57. package/dist/components/breadcrumb/index.d.ts +10 -9
  58. package/dist/components/breadcrumb/index.js +1 -1
  59. package/dist/components/breadcrumb/shared.js +1 -0
  60. package/dist/components/breadcrumb/types.d.ts +48 -2
  61. package/dist/components/button/button.js +1 -1
  62. package/dist/components/button/button.vue.d.ts +1 -2
  63. package/dist/components/card/context.d.ts +3 -2
  64. package/dist/components/carousel/context.d.ts +3 -2
  65. package/dist/components/checkbox/checkbox-card-compact.js +1 -0
  66. package/dist/components/checkbox/checkbox-card-compact.vue.d.ts +31 -0
  67. package/dist/components/checkbox/checkbox-card-group-compact.js +1 -0
  68. package/dist/components/checkbox/checkbox-card-group-compact.vue.d.ts +21 -0
  69. package/dist/components/checkbox/checkbox-compact.js +1 -0
  70. package/dist/components/checkbox/checkbox-compact.vue.d.ts +34 -0
  71. package/dist/components/checkbox/checkbox-control.js +1 -1
  72. package/dist/components/checkbox/checkbox-group-compact.js +1 -0
  73. package/dist/components/checkbox/checkbox-group-compact.vue.d.ts +21 -0
  74. package/dist/components/checkbox/checkbox-group-root.js +1 -1
  75. package/dist/components/checkbox/checkbox-root.js +1 -1
  76. package/dist/components/checkbox/context.d.ts +6 -4
  77. package/dist/components/checkbox/context.js +1 -1
  78. package/dist/components/checkbox/index.d.ts +12 -8
  79. package/dist/components/checkbox/index.js +1 -1
  80. package/dist/components/checkbox/types.d.ts +38 -3
  81. package/dist/components/clipboard/clipboard.js +1 -0
  82. package/dist/components/clipboard/clipboard.vue.d.ts +66 -0
  83. package/dist/components/clipboard/index.d.ts +3 -0
  84. package/dist/components/clipboard/index.js +1 -0
  85. package/dist/components/clipboard/types.d.ts +63 -0
  86. package/dist/components/collapsible/collapsible-root.vue.d.ts +1 -1
  87. package/dist/components/collapsible/context.d.ts +3 -2
  88. package/dist/components/color-area/color-area-root.vue.d.ts +1 -1
  89. package/dist/components/color-area/context.d.ts +3 -2
  90. package/dist/components/color-field/color-field-root.vue.d.ts +2 -2
  91. package/dist/components/color-field/context.d.ts +3 -2
  92. package/dist/components/color-picker/color-picker-root.vue.d.ts +1 -1
  93. package/dist/components/color-slider/color-slider-root.vue.d.ts +2 -2
  94. package/dist/components/color-slider/context.d.ts +3 -2
  95. package/dist/components/color-swatch-picker/color-swatch-picker-root.js +1 -1
  96. package/dist/components/color-swatch-picker/color-swatch-picker-root.vue.d.ts +2 -2
  97. package/dist/components/color-swatch-picker/context.d.ts +3 -2
  98. package/dist/components/combobox/combobox-anchor.js +1 -0
  99. package/dist/components/combobox/combobox-anchor.vue.d.ts +18 -0
  100. package/dist/components/combobox/combobox-arrow.js +1 -0
  101. package/dist/components/combobox/combobox-arrow.vue.d.ts +18 -0
  102. package/dist/components/combobox/combobox-cancel.js +1 -0
  103. package/dist/components/combobox/combobox-cancel.vue.d.ts +21 -0
  104. package/dist/components/combobox/combobox-compact.js +1 -0
  105. package/dist/components/combobox/combobox-compact.vue.d.ts +34 -0
  106. package/dist/components/combobox/combobox-content-impl.js +1 -0
  107. package/dist/components/combobox/combobox-content.js +1 -1
  108. package/dist/components/combobox/combobox-content.vue.d.ts +7 -4
  109. package/dist/components/combobox/combobox-empty.js +1 -1
  110. package/dist/components/combobox/combobox-empty.vue.d.ts +4 -1
  111. package/dist/components/combobox/combobox-group-label.js +1 -1
  112. package/dist/components/combobox/combobox-group.js +1 -1
  113. package/dist/components/combobox/combobox-input.js +1 -1
  114. package/dist/components/combobox/combobox-input.vue.d.ts +4 -4
  115. package/dist/components/combobox/combobox-item-indicator.js +1 -1
  116. package/dist/components/combobox/combobox-item.js +1 -1
  117. package/dist/components/combobox/combobox-root.js +1 -1
  118. package/dist/components/combobox/combobox-root.vue.d.ts +15 -7
  119. package/dist/components/combobox/combobox-separator.js +1 -1
  120. package/dist/components/combobox/combobox-trigger.js +1 -1
  121. package/dist/components/combobox/combobox-trigger.vue.d.ts +2 -2
  122. package/dist/components/combobox/combobox-viewport.js +1 -1
  123. package/dist/components/combobox/combobox-virtualizer.js +1 -0
  124. package/dist/components/combobox/combobox-virtualizer.vue.d.ts +23 -0
  125. package/dist/components/combobox/context.d.ts +4 -3
  126. package/dist/components/combobox/context.js +1 -1
  127. package/dist/components/combobox/index.d.ts +19 -14
  128. package/dist/components/combobox/index.js +1 -1
  129. package/dist/components/combobox/shared.js +1 -0
  130. package/dist/components/combobox/types.d.ts +117 -17
  131. package/dist/components/command/command-compact.js +1 -0
  132. package/dist/components/command/command-compact.vue.d.ts +29 -0
  133. package/dist/components/command/context.d.ts +9 -0
  134. package/dist/components/command/context.js +1 -0
  135. package/dist/components/command/index.d.ts +5 -0
  136. package/dist/components/command/index.js +1 -0
  137. package/dist/components/command/shared.js +1 -0
  138. package/dist/components/command/types.d.ts +68 -0
  139. package/dist/components/config-provider/types.d.ts +1 -1
  140. package/dist/components/context-menu/context-menu-checkbox-compact.js +1 -1
  141. package/dist/components/context-menu/context-menu-checkbox-compact.vue.d.ts +4 -4
  142. package/dist/components/context-menu/context-menu-compact.js +1 -1
  143. package/dist/components/context-menu/context-menu-compact.vue.d.ts +4 -4
  144. package/dist/components/context-menu/context-menu-content.vue.d.ts +4 -4
  145. package/dist/components/context-menu/context-menu-radio-compact.js +1 -1
  146. package/dist/components/context-menu/context-menu-radio-compact.vue.d.ts +4 -4
  147. package/dist/components/context-menu/context-menu-root.js +1 -1
  148. package/dist/components/context-menu/context-menu-wrapper-compact.js +1 -1
  149. package/dist/components/context-menu/context-menu-wrapper-compact.vue.d.ts +6 -6
  150. package/dist/components/context-menu/index.d.ts +2 -2
  151. package/dist/components/context-menu/index.js +1 -1
  152. package/dist/components/context-menu/types.d.ts +1 -1
  153. package/dist/components/dialog/context.d.ts +3 -2
  154. package/dist/components/dialog/context.js +1 -1
  155. package/dist/components/dialog/dialog-cancel.js +1 -0
  156. package/dist/components/dialog/dialog-cancel.vue.d.ts +25 -0
  157. package/dist/components/dialog/dialog-close.js +1 -1
  158. package/dist/components/dialog/dialog-close.vue.d.ts +6 -3
  159. package/dist/components/dialog/dialog-compact.js +1 -0
  160. package/dist/components/dialog/dialog-compact.vue.d.ts +47 -0
  161. package/dist/components/dialog/dialog-confirm.js +1 -0
  162. package/dist/components/dialog/dialog-confirm.vue.d.ts +25 -0
  163. package/dist/components/dialog/dialog-content.js +1 -1
  164. package/dist/components/dialog/dialog-content.vue.d.ts +3 -18
  165. package/dist/components/dialog/dialog-popup-impl.js +1 -0
  166. package/dist/components/dialog/dialog-popup.js +1 -0
  167. package/dist/components/{alert-dialog/alert-dialog-content.vue.d.ts → dialog/dialog-popup.vue.d.ts} +8 -8
  168. package/dist/components/dialog/dialog-provider.js +1 -0
  169. package/dist/components/dialog/dialog-provider.vue.d.ts +17 -0
  170. package/dist/components/dialog/dialog-root.js +1 -1
  171. package/dist/components/dialog/dialog-root.vue.d.ts +1 -2
  172. package/dist/components/dialog/dialog-trigger.js +1 -1
  173. package/dist/components/dialog/index.d.ts +18 -12
  174. package/dist/components/dialog/index.js +1 -1
  175. package/dist/components/dialog/state.d.ts +14 -0
  176. package/dist/components/dialog/state.js +1 -0
  177. package/dist/components/dialog/types.d.ts +133 -16
  178. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.js +1 -1
  179. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.vue.d.ts +4 -4
  180. package/dist/components/dropdown-menu/dropdown-menu-compact.js +1 -1
  181. package/dist/components/dropdown-menu/dropdown-menu-compact.vue.d.ts +4 -4
  182. package/dist/components/dropdown-menu/dropdown-menu-content.vue.d.ts +4 -4
  183. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.js +1 -1
  184. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.vue.d.ts +4 -4
  185. package/dist/components/dropdown-menu/dropdown-menu-root.js +1 -1
  186. package/dist/components/dropdown-menu/dropdown-menu-root.vue.d.ts +2 -2
  187. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.js +1 -1
  188. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.vue.d.ts +6 -6
  189. package/dist/components/dropdown-menu/index.d.ts +2 -2
  190. package/dist/components/dropdown-menu/index.js +1 -1
  191. package/dist/components/dropdown-menu/types.d.ts +1 -1
  192. package/dist/components/editable/context.d.ts +3 -2
  193. package/dist/components/editable/editable-root.js +1 -1
  194. package/dist/components/editable/editable-root.vue.d.ts +1 -1
  195. package/dist/components/empty/context.d.ts +3 -2
  196. package/dist/components/form/context.d.ts +3 -2
  197. package/dist/components/form/core/use-form-state.js +1 -1
  198. package/dist/components/hover-card/index.d.ts +1 -1
  199. package/dist/components/hover-card/index.js +1 -1
  200. package/dist/components/hover-card/types.d.ts +1 -1
  201. package/dist/components/input/context.d.ts +3 -2
  202. package/dist/components/input-number/context.d.ts +3 -2
  203. package/dist/components/input-otp/context.d.ts +9 -0
  204. package/dist/components/input-otp/context.js +1 -0
  205. package/dist/components/input-otp/index.d.ts +8 -0
  206. package/dist/components/input-otp/index.js +1 -0
  207. package/dist/components/input-otp/input-otp-compact.js +1 -0
  208. package/dist/components/input-otp/input-otp-compact.vue.d.ts +37 -0
  209. package/dist/components/input-otp/input-otp-input.js +1 -0
  210. package/dist/components/input-otp/input-otp-input.vue.d.ts +8 -0
  211. package/dist/components/input-otp/input-otp-positioner.js +1 -0
  212. package/dist/components/input-otp/input-otp-positioner.vue.d.ts +18 -0
  213. package/dist/components/input-otp/input-otp-root.js +1 -0
  214. package/dist/components/input-otp/input-otp-root.vue.d.ts +55 -0
  215. package/dist/components/input-otp/regexp.d.ts +6 -0
  216. package/dist/components/input-otp/regexp.js +1 -0
  217. package/dist/components/input-otp/shared.js +1 -0
  218. package/dist/components/input-otp/types.d.ts +113 -0
  219. package/dist/components/input-otp/use-password-manager-badge.js +1 -0
  220. package/dist/components/layout/context.d.ts +3 -2
  221. package/dist/components/layout/layout-mobile.js +1 -1
  222. package/dist/components/layout/layout-root.vue.d.ts +1 -1
  223. package/dist/components/link/link.js +1 -1
  224. package/dist/components/link/link.vue.d.ts +1 -1
  225. package/dist/components/list/context.d.ts +3 -2
  226. package/dist/components/listbox/context.d.ts +3 -2
  227. package/dist/components/listbox/context.js +1 -1
  228. package/dist/components/listbox/listbox-root.js +1 -1
  229. package/dist/components/listbox/listbox-root.vue.d.ts +2 -2
  230. package/dist/components/listbox/types.d.ts +0 -6
  231. package/dist/components/menu/context.d.ts +3 -2
  232. package/dist/components/menu/index.d.ts +2 -2
  233. package/dist/components/menu/index.js +1 -1
  234. package/dist/components/menu/menu-checkbox-options-compact.js +1 -1
  235. package/dist/components/menu/menu-content.vue.d.ts +4 -4
  236. package/dist/components/menu/menu-item-slot-compact.js +1 -1
  237. package/dist/components/menu/menu-option-compact.js +1 -1
  238. package/dist/components/menu/menu-option-compact.vue.d.ts +4 -4
  239. package/dist/components/menu/menu-options-compact.vue.d.ts +4 -4
  240. package/dist/components/menu/menu-radio-options-compact.js +1 -1
  241. package/dist/components/menu/menu-root.js +1 -1
  242. package/dist/components/menu/menu-sub-content.vue.d.ts +4 -4
  243. package/dist/components/menu/types.d.ts +3 -3
  244. package/dist/components/menubar/context.d.ts +3 -2
  245. package/dist/components/menubar/index.js +1 -1
  246. package/dist/components/menubar/menubar-compact.js +1 -1
  247. package/dist/components/menubar/menubar-compact.vue.d.ts +4 -4
  248. package/dist/components/menubar/menubar-content.vue.d.ts +4 -4
  249. package/dist/components/menubar/menubar-sub-content.vue.d.ts +4 -4
  250. package/dist/components/menubar/types.d.ts +1 -1
  251. package/dist/components/navigation-menu/context.d.ts +3 -2
  252. package/dist/components/navigation-menu/navigation-menu-root.vue.d.ts +1 -1
  253. package/dist/components/page-tabs/context.d.ts +3 -2
  254. package/dist/components/pagination/context.d.ts +3 -2
  255. package/dist/components/pagination/pagination-root.vue.d.ts +2 -2
  256. package/dist/components/popover/index.d.ts +2 -2
  257. package/dist/components/popover/index.js +1 -1
  258. package/dist/components/popover/popover-positioner.vue.d.ts +2 -2
  259. package/dist/components/popover/popover-root.js +1 -1
  260. package/dist/components/popover/types.d.ts +1 -1
  261. package/dist/components/popper/context.d.ts +3 -2
  262. package/dist/components/popper/popper-positioner.vue.d.ts +2 -2
  263. package/dist/components/popper/types.d.ts +5 -1
  264. package/dist/components/progress/context.d.ts +6 -4
  265. package/dist/components/progress/context.js +1 -1
  266. package/dist/components/progress/index.d.ts +6 -4
  267. package/dist/components/progress/index.js +1 -1
  268. package/dist/components/progress/progress-circle.js +1 -1
  269. package/dist/components/progress/progress-indicator.js +1 -1
  270. package/dist/components/progress/progress-provider.js +1 -0
  271. package/dist/components/progress/progress-provider.vue.d.ts +8 -0
  272. package/dist/components/progress/progress-root.js +1 -1
  273. package/dist/components/progress/shared.js +1 -1
  274. package/dist/components/progress/state.d.ts +52 -0
  275. package/dist/components/progress/state.js +1 -0
  276. package/dist/components/progress/types.d.ts +15 -2
  277. package/dist/components/radio-group/context.d.ts +3 -2
  278. package/dist/components/radio-group/index.d.ts +8 -7
  279. package/dist/components/radio-group/index.js +1 -1
  280. package/dist/components/radio-group/radio-group-compact.js +1 -0
  281. package/dist/components/radio-group/radio-group-compact.vue.d.ts +22 -0
  282. package/dist/components/radio-group/radio-group-root.js +1 -1
  283. package/dist/components/radio-group/types.d.ts +14 -1
  284. package/dist/components/scroll-area/context.d.ts +3 -2
  285. package/dist/components/scroll-area/scroll-area-root.js +1 -1
  286. package/dist/components/scroll-area/scroll-area-viewport.js +1 -1
  287. package/dist/components/segment/index.d.ts +8 -0
  288. package/dist/components/segment/index.js +1 -0
  289. package/dist/components/segment/segment-compact.js +1 -0
  290. package/dist/components/segment/segment-compact.vue.d.ts +22 -0
  291. package/dist/components/segment/types.d.ts +22 -0
  292. package/dist/components/select/context.d.ts +3 -2
  293. package/dist/components/select/index.d.ts +19 -18
  294. package/dist/components/select/index.js +1 -1
  295. package/dist/components/select/select-compact.js +1 -0
  296. package/dist/components/select/select-compact.vue.d.ts +28 -0
  297. package/dist/components/select/select-content.vue.d.ts +4 -4
  298. package/dist/components/select/select-root.js +1 -1
  299. package/dist/components/select/select-viewport.js +1 -1
  300. package/dist/components/select/shared.js +1 -1
  301. package/dist/components/select/types.d.ts +61 -1
  302. package/dist/components/separator/context.d.ts +3 -2
  303. package/dist/components/slider/context.d.ts +3 -2
  304. package/dist/components/slider/slider-root.js +1 -1
  305. package/dist/components/slider/slider-root.vue.d.ts +2 -2
  306. package/dist/components/splitter/context.d.ts +3 -2
  307. package/dist/components/splitter/splitter-group.vue.d.ts +1 -1
  308. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  309. package/dist/components/stepper/context.d.ts +3 -2
  310. package/dist/components/switch/context.d.ts +3 -2
  311. package/dist/components/table/context.d.ts +3 -2
  312. package/dist/components/tabs/context.d.ts +3 -2
  313. package/dist/components/tabs/index.d.ts +8 -7
  314. package/dist/components/tabs/index.js +1 -1
  315. package/dist/components/tabs/tabs-compact.js +1 -0
  316. package/dist/components/tabs/tabs-compact.vue.d.ts +21 -0
  317. package/dist/components/tabs/tabs-root.vue.d.ts +1 -1
  318. package/dist/components/tabs/types.d.ts +25 -2
  319. package/dist/components/tags-input/context.d.ts +3 -2
  320. package/dist/components/textarea/context.d.ts +3 -2
  321. package/dist/components/toast/context.d.ts +3 -2
  322. package/dist/components/toast/shared.js +1 -1
  323. package/dist/components/toast/state.js +1 -1
  324. package/dist/components/toast/toast.js +1 -1
  325. package/dist/components/toast/toaster.js +1 -1
  326. package/dist/components/toast/toaster.vue.d.ts +3 -3
  327. package/dist/components/toast/types.d.ts +3 -19
  328. package/dist/components/toggle-group/context.d.ts +3 -2
  329. package/dist/components/toggle-group/toggle-group-root.js +1 -1
  330. package/dist/components/toolbar/context.d.ts +3 -2
  331. package/dist/components/toolbar/toolbar-toggle-group.js +1 -1
  332. package/dist/components/toolbar/types.d.ts +1 -1
  333. package/dist/components/tooltip/index.d.ts +1 -1
  334. package/dist/components/tooltip/index.js +1 -1
  335. package/dist/components/tree-menu/context.d.ts +3 -2
  336. package/dist/components/tree-menu/tree-menu-root.vue.d.ts +1 -1
  337. package/dist/components/visually-hidden/visually-hidden-input.vue.d.ts +1 -1
  338. package/dist/composables/index.d.ts +2 -2
  339. package/dist/composables/use-selection.js +1 -1
  340. package/dist/composables/use-ui-context.d.ts +1 -1
  341. package/dist/constants/components.d.ts +8 -4
  342. package/dist/constants/components.js +1 -1
  343. package/dist/date/calendar.d.ts +52 -0
  344. package/dist/date/calendar.js +1 -0
  345. package/dist/date/comparators.d.ts +30 -0
  346. package/dist/date/comparators.js +1 -0
  347. package/dist/date/index.d.ts +5 -0
  348. package/dist/date/index.js +1 -0
  349. package/dist/date/types.d.ts +36 -0
  350. package/dist/date/utils.d.ts +4 -0
  351. package/dist/date/utils.js +1 -0
  352. package/dist/index.d.ts +397 -355
  353. package/dist/index.js +1 -1
  354. package/dist/namespaced/index.d.ts +759 -689
  355. package/dist/namespaced/index.js +1 -1
  356. package/dist/shared/index.d.ts +2 -2
  357. package/dist/shared/index.js +1 -1
  358. package/dist/shared/value.d.ts +1 -1
  359. package/dist/shared/vue.d.ts +2 -1
  360. package/dist/shared/vue.js +1 -1
  361. package/dist/types/common.d.ts +9 -2
  362. package/dist/types/index.d.ts +1 -1
  363. package/package.json +10 -5
  364. package/dist/components/alert-dialog/alert-dialog-close.js +0 -1
  365. package/dist/components/alert-dialog/alert-dialog-close.vue.d.ts +0 -22
  366. package/dist/components/alert-dialog/alert-dialog-content.js +0 -1
  367. package/dist/components/alert-dialog/alert-dialog-root.js +0 -1
  368. package/dist/components/alert-dialog/alert-dialog-root.vue.d.ts +0 -28
  369. package/dist/components/alert-dialog/context.js +0 -1
  370. package/dist/components/alert-dialog/index.d.ts +0 -15
  371. package/dist/components/alert-dialog/index.js +0 -1
  372. package/dist/components/alert-dialog/types.d.ts +0 -9
  373. package/dist/components/dialog/dialog-content-impl.js +0 -1
  374. package/dist/components/icon/icon-render.js +0 -1
  375. package/dist/components/icon/icon-render.vue.d.ts +0 -8
  376. package/dist/components/icon/index.d.ts +0 -3
  377. package/dist/components/icon/index.js +0 -1
  378. /package/dist/_virtual/{_@oxc-project_runtime@0.126.0 → _@oxc-project_runtime@0.127.0}/helpers/defineProperty.js +0 -0
  379. /package/dist/_virtual/{_@oxc-project_runtime@0.126.0 → _@oxc-project_runtime@0.127.0}/helpers/toPrimitive.js +0 -0
  380. /package/dist/_virtual/{_@oxc-project_runtime@0.126.0 → _@oxc-project_runtime@0.127.0}/helpers/toPropertyKey.js +0 -0
  381. /package/dist/_virtual/{_@oxc-project_runtime@0.126.0 → _@oxc-project_runtime@0.127.0}/helpers/typeof.js +0 -0
@@ -10,18 +10,18 @@ type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_22) => any;
11
11
  };
12
12
  declare const __VLS_base: _$vue.DefineComponent<SelectContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
13
- closeAutoFocus: (event: Event) => any;
14
13
  escapeKeyDown: (event: KeyboardEvent) => any;
15
14
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
15
+ closeAutoFocus: (event: Event) => any;
16
16
  }, string, _$vue.PublicProps, Readonly<SelectContentProps> & Readonly<{
17
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
18
17
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
19
18
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
19
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
20
20
  }>, {
21
- position: SelectPosition;
22
- bodyLock: boolean;
23
21
  avoidCollisions: boolean;
24
22
  prioritizePosition: boolean;
23
+ position: SelectPosition;
24
+ bodyLock: boolean;
25
25
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
26
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
27
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{isNullish as e}from"../../shared/guard.js";import{isFormControl as t,transformPropsToContext as n}from"../../shared/vue.js";import"../../shared/index.js";import{useControllableState as r}from"../../composables/use-controllable-state.js";import{useSelection as i}from"../../composables/use-selection.js";import"../../composables/index.js";import a from"../popper/popper-root.js";import"../popper/index.js";import{provideCollectionContext as o,provideSelectRootContext as s}from"./context.js";import c from"./select-bubble-select.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,defineComponent as m,mergeProps as h,openBlock as g,renderList as _,renderSlot as v,unref as y,withCtx as b}from"vue";const x={key:0,value:``},S=m({name:`SelectRoot`,inheritAttrs:!1,__name:`select-root`,props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},autocomplete:{},disabled:{type:Boolean},modelValue:{default:void 0},defaultValue:{},multiple:{},singleClearable:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(m,{emit:S}){let C=m,w=S,{modelValue:T,isMultiple:E,onModelValueChange:D,isEmptyModelValue:O}=i(C,e=>{w(`update:modelValue`,e)}),k=r(()=>C.open,e=>{w(`update:open`,e)},C.defaultOpen),{triggerElement:A,options:j,nativeSelectKey:M}=s({...n(C,[`dir`,`autocomplete`,`disabled`,`required`,`singleClearable`]),open:k,modelValue:T,onModelValueChange:D,isMultiple:E,isEmptyModelValue:O});o();let N=u(()=>t(A.value));return(t,n)=>(g(),d(y(a),null,{default:b(()=>[v(t.$slots,`default`,{modelValue:y(T),open:!!y(k)}),N.value?(g(),d(c,{key:y(M),"aria-hidden":`true`,tabindex:`-1`,multiple:m.multiple,required:m.required,name:m.name,autocomplete:m.autocomplete,disabled:m.disabled,value:y(T)},{default:b(()=>[y(e)(y(T))?(g(),p(`option`,x)):f(`v-if`,!0),(g(!0),p(l,null,_(y(j),e=>(g(),p(`option`,h({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):f(`v-if`,!0)]),_:3}))}});export{S as default};
1
+ import{isNullish as e}from"../../shared/guard.js";import{isFormControl as t,transformPropsToContext as n}from"../../shared/vue.js";import"../../shared/index.js";import{useControllableState as r}from"../../composables/use-controllable-state.js";import{useSelection as i}from"../../composables/use-selection.js";import"../../composables/index.js";import a from"../popper/popper-root.js";import"../popper/index.js";import{provideCollectionContext as o,provideSelectRootContext as s}from"./context.js";import c from"./select-bubble-select.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,defineComponent as m,mergeProps as h,openBlock as g,renderList as _,renderSlot as v,unref as y,withCtx as b}from"vue";const x={key:0,value:``},S=m({name:`SelectRoot`,inheritAttrs:!1,__name:`select-root`,props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},autocomplete:{},disabled:{type:Boolean},modelValue:{default:void 0},defaultValue:{},multiple:{},clearable:{type:Boolean},selectionBehavior:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(m,{emit:S}){let C=m,w=S,{modelValue:T,isMultiple:E,onModelValueChange:D,isEmptyModelValue:O}=i(C,e=>{w(`update:modelValue`,e)}),k=r(()=>C.open,e=>{w(`update:open`,e)},C.defaultOpen),{triggerElement:A,options:j,nativeSelectKey:M}=s({...n(C,[`dir`,`autocomplete`,`disabled`,`required`,`clearable`]),open:k,modelValue:T,onModelValueChange:D,isMultiple:E,isEmptyModelValue:O});o();let N=u(()=>t(A.value));return(t,n)=>(g(),d(y(a),null,{default:b(()=>[v(t.$slots,`default`,{modelValue:y(T),open:!!y(k)}),N.value?(g(),d(c,{key:y(M),"aria-hidden":`true`,tabindex:`-1`,multiple:m.multiple,required:m.required,name:m.name,autocomplete:m.autocomplete,disabled:m.disabled,value:y(T)},{default:b(()=>[y(e)(y(T))?(g(),p(`option`,x)):f(`v-if`,!0),(g(!0),p(l,null,_(y(j),e=>(g(),p(`option`,h({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):f(`v-if`,!0)]),_:3}))}});export{S as default};
@@ -1,4 +1,4 @@
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{useNonce as n}from"../config-provider/context.js";import{useSelectContentContext as r,useSelectItemAlignedPositionContext as i,useSelectUi as a}from"./context.js";import"./shared.js";import{Fragment as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,mergeProps as f,openBlock as p,renderSlot as m,toDisplayString as h,unref as g,useAttrs as _,withCtx as v}from"vue";const y=d({name:`SelectViewport`,inheritAttrs:!1,__name:`select-viewport`,props:{nonce:{}},setup(d){let y=d,b=_(),{onViewportElementChange:x}=r(`SelectViewport`),[S,C]=e(x),w=i(),T=n(()=>y.nonce),E=a(`viewport`),D=0;function O(e){let t=e.currentTarget,{positionerElement:n,shouldExpandOnScroll:r}=w??{};if(!n?.value||!r?.value){D=t.scrollTop;return}let i=Math.abs(D-t.scrollTop);if(i<=0)return;let a=window.innerHeight-20,o=Number.parseFloat(n.value.style.minHeight),s=Number.parseFloat(n.value.style.height),c=Math.max(o,s);if(c<a){let e=c+i,r=Math.min(a,e),o=e-r;n.value.style.height=`${r}px`,n.value.style.bottom===`0px`&&(t.scrollTop=o>0?o:0,n.value.style.justifyContent=`flex-end`)}D=t.scrollTop}return(e,n)=>(p(),s(o,null,[c(`div`,f(g(b),{ref:g(C),class:g(E),"data-soybean-select-viewport":``,role:`presentation`,style:`position:relative;flex:1;overflow:hidden auto;`,onScroll:O}),[m(e.$slots,`default`)],16),u(g(t),{as:`style`,nonce:g(T)},{default:v(()=>[l(h(`
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{useNonce as t}from"../config-provider/context.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import{useSelectContentContext as r,useSelectItemAlignedPositionContext as i,useSelectUi as a}from"./context.js";import"./shared.js";import{Fragment as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,mergeProps as f,openBlock as p,renderSlot as m,toDisplayString as h,unref as g,useAttrs as _,withCtx as v}from"vue";const y=d({name:`SelectViewport`,inheritAttrs:!1,__name:`select-viewport`,props:{nonce:{}},setup(d){let y=d,b=_(),{onViewportElementChange:x}=r(`SelectViewport`),[S,C]=e(x),w=i(),T=t(()=>y.nonce),E=a(`viewport`),D=0;function O(e){let t=e.currentTarget,{positionerElement:n,shouldExpandOnScroll:r}=w??{};if(!n?.value||!r?.value){D=t.scrollTop;return}let i=Math.abs(D-t.scrollTop);if(i<=0)return;let a=window.innerHeight-20,o=Number.parseFloat(n.value.style.minHeight),s=Number.parseFloat(n.value.style.height),c=Math.max(o,s);if(c<a){let e=c+i,r=Math.min(a,e),o=e-r;n.value.style.height=`${r}px`,n.value.style.bottom===`0px`&&(t.scrollTop=o>0?o:0,n.value.style.justifyContent=`flex-end`)}D=t.scrollTop}return(e,t)=>(p(),s(o,null,[c(`div`,f(g(b),{ref:g(C),class:g(E),"data-soybean-select-viewport":``,role:`presentation`,style:`position:relative;flex:1;overflow:hidden auto;`,onScroll:O}),[m(e.$slots,`default`)],16),u(g(n),{as:`style`,nonce:g(T)},{default:v(()=>[l(h(`
2
2
  [data-soybean-select-viewport] {
3
3
  scrollbar-width: none;
4
4
  -ms-overflow-style: none;
@@ -1 +1 @@
1
- import{isNullish as e}from"../../shared/guard.js";import"../../shared/index.js";const t={popupTransformOrigin:`--soybean-select-popup-transform-origin`,popupAvailableWidth:`--soybean-select-popup-available-width`,popupAvailableHeight:`--soybean-select-popup-available-height`,triggerWidth:`--soybean-select-trigger-width`,triggerHeight:`--soybean-select-trigger-height`},n=[` `,`Enter`,`ArrowUp`,`ArrowDown`],r=[` `,`Enter`],i=`select.select`;function a(t){return e(t)||t===``||Array.isArray(t)&&t.length===0}export{n as OPEN_KEYS,r as SELECTION_KEYS,i as SELECT_EVENT,t as selectCssVars,a as shouldShowPlaceholder};
1
+ import{isNullish as e}from"../../shared/guard.js";import"../../shared/index.js";const t={popupTransformOrigin:`--soybean-select-popup-transform-origin`,popupAvailableWidth:`--soybean-select-popup-available-width`,popupAvailableHeight:`--soybean-select-popup-available-height`,triggerWidth:`--soybean-select-trigger-width`,triggerHeight:`--soybean-select-trigger-height`},n=[` `,`Enter`,`ArrowUp`,`ArrowDown`],r=[` `,`Enter`],i=`select.select`;function a(t){return e(t)||t===``||Array.isArray(t)&&t.length===0}function o(e){return`items`in e}export{n as OPEN_KEYS,r as SELECTION_KEYS,i as SELECT_EVENT,o as isGroupOption,t as selectCssVars,a as shouldShowPlaceholder};
@@ -1,8 +1,10 @@
1
+ import { IconValue } from "../_icon/types.js";
1
2
  import { DefinedValue, Direction, SelectionEmits, SelectionProps, UiClass } from "../../types/common.js";
2
3
  import { PointerDownOutsideEvent } from "../../types/event.js";
3
4
  import { DismissableLayerProps, ForceMountProps, FormFieldCommonProps } from "../../types/component.js";
4
5
  import { PrimitiveProps } from "../primitive/types.js";
5
6
  import { PopperAnchorProps, PopperArrowProps, PopperPositionerProps } from "../popper/types.js";
7
+ import { PortalProps } from "../portal/types.js";
6
8
  import { ButtonHTMLAttributes, ComputedRef, HTMLAttributes, ShallowRef } from "vue";
7
9
 
8
10
  //#region src/components/select/types.d.ts
@@ -83,6 +85,64 @@ type SelectItemEmits<T extends DefinedValue = DefinedValue> = {
83
85
  };
84
86
  interface SelectItemTextProps extends /** @vue-ignore */HTMLAttributes {}
85
87
  interface SelectItemIndicatorProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
88
+ interface SelectSingleOptionData<T extends DefinedValue = DefinedValue> extends Pick<SelectItemProps, 'disabled' | 'textValue'> {
89
+ value: T;
90
+ icon?: IconValue;
91
+ label: string;
92
+ separator?: boolean;
93
+ }
94
+ interface SelectGroupOptionData<T extends DefinedValue = DefinedValue> extends Pick<SelectSingleOptionData<T>, 'label' | 'separator'> {
95
+ items: SelectSingleOptionData<T>[];
96
+ }
97
+ type SelectOptionData<T extends DefinedValue = DefinedValue> = SelectSingleOptionData<T> | SelectGroupOptionData<T>;
98
+ interface SelectCompactProps<T extends DefinedValue = DefinedValue, M extends boolean = false> extends SelectRootProps<T, M> {
99
+ items: SelectOptionData<T>[];
100
+ showArrow?: boolean;
101
+ triggerProps?: SelectTriggerProps;
102
+ triggerIconProps?: SelectTriggerIconProps;
103
+ placeholder?: string;
104
+ valueProps?: SelectValueProps;
105
+ portalProps?: PortalProps;
106
+ contentProps?: SelectContentProps;
107
+ placement?: PopperPositionerProps['placement'];
108
+ popupProps?: SelectPopupProps;
109
+ viewportProps?: SelectViewportProps;
110
+ scrollDownButtonProps?: SelectScrollDownButtonProps;
111
+ scrollUpButtonProps?: SelectScrollUpButtonProps;
112
+ groupProps?: SelectGroupProps;
113
+ groupLabelProps?: SelectGroupLabelProps;
114
+ itemProps?: SelectItemProps;
115
+ itemTextProps?: SelectItemTextProps;
116
+ itemIndicatorProps?: SelectItemIndicatorProps;
117
+ separatorProps?: SelectSeparatorProps;
118
+ arrowProps?: PopperArrowProps;
119
+ }
120
+ type SelectCompactEmits<T extends DefinedValue = DefinedValue, M extends boolean = false> = SelectRootEmits<T, M> & SelectContentEmits & SelectItemEmits<T>;
121
+ type SelectCompactModelValue<T extends DefinedValue = DefinedValue, M extends boolean = false> = (M extends true ? T[] : T) | undefined;
122
+ interface SelectCompactTriggerValueSlotProps<T extends DefinedValue = DefinedValue, M extends boolean = false> {
123
+ modelValue: SelectCompactModelValue<T, M>;
124
+ selectedLabel: string[];
125
+ slotText: string;
126
+ }
127
+ interface SelectCompactGroupLabelSlotProps<T extends DefinedValue = DefinedValue> {
128
+ item: SelectGroupOptionData<T>;
129
+ }
130
+ interface SelectCompactItemSlotProps<T extends DefinedValue = DefinedValue> {
131
+ item: SelectSingleOptionData<T>;
132
+ }
133
+ type SelectCompactSlots<T extends DefinedValue = DefinedValue, M extends boolean = false> = {
134
+ 'trigger-leading'?: () => any;
135
+ 'trigger-value'?: (props: SelectCompactTriggerValueSlotProps<T, M>) => any;
136
+ 'trigger-trailing'?: () => any;
137
+ 'trigger-icon'?: () => any;
138
+ 'scroll-up-button'?: () => any;
139
+ 'scroll-down-button'?: () => any;
140
+ 'group-label'?: (props: SelectCompactGroupLabelSlotProps<T>) => any;
141
+ 'item-text'?: (props: SelectCompactItemSlotProps<T>) => any;
142
+ 'item-leading'?: (props: SelectCompactItemSlotProps<T>) => any;
143
+ 'item-trailing'?: (props: SelectCompactItemSlotProps<T>) => any;
144
+ 'item-indicator'?: (props: SelectCompactItemSlotProps<T>) => any;
145
+ };
86
146
  interface SelectValueProps extends /** @vue-ignore */HTMLAttributes {
87
147
  /** The content that will be rendered inside the `SelectValue` when no `value` or `defaultValue` is set. */
88
148
  placeholder?: string;
@@ -94,4 +154,4 @@ interface SelectScrollUpButtonProps extends SelectScrollButtonImplProps {}
94
154
  type SelectUiSlot = 'trigger' | 'triggerIcon' | 'value' | 'positioner' | 'popup' | 'viewport' | 'group' | 'groupLabel' | 'item' | 'itemText' | 'itemIndicator' | 'separator' | 'scrollUpButton' | 'scrollDownButton' | 'arrow';
95
155
  type SelectUi = UiClass<SelectUiSlot>;
96
156
  //#endregion
97
- export { SelectContentEmits, SelectContentProps, SelectGroupLabelProps, SelectGroupProps, SelectItemEmits, SelectItemEvent, SelectItemIndicatorProps, SelectItemProps, SelectItemTextProps, SelectPopupProps, SelectPosition, SelectRootEmits, SelectRootProps, SelectScrollDownButtonProps, SelectScrollUpButtonProps, SelectSeparatorProps, SelectTriggerIconProps, SelectTriggerProps, SelectUi, SelectUiSlot, SelectValueProps, SelectViewportProps };
157
+ export { SelectCompactEmits, SelectCompactProps, SelectCompactSlots, SelectContentEmits, SelectContentProps, SelectGroupLabelProps, SelectGroupOptionData, SelectGroupProps, SelectItemEmits, SelectItemEvent, SelectItemIndicatorProps, SelectItemProps, SelectItemTextProps, SelectOptionData, SelectPopupProps, SelectPosition, SelectRootEmits, SelectRootProps, SelectScrollDownButtonProps, SelectScrollUpButtonProps, SelectSeparatorProps, SelectSingleOptionData, SelectTriggerIconProps, SelectTriggerProps, SelectUi, SelectUiSlot, SelectValueProps, SelectViewportProps };
@@ -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 { SeparatorUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
 
5
6
  //#region src/components/separator/context.d.ts
6
- declare const provideSeparatorUi: (ui: _$vue.ComputedRef<Partial<UiClass<SeparatorUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<SeparatorUiSlot>>>, useSeparatorUi: <S extends SeparatorUiSlot | undefined = undefined>(slot?: S | undefined) => S extends SeparatorUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<SeparatorUiSlot>>>;
7
+ declare const provideSeparatorUi: (ui: _$vue.ComputedRef<Partial<UiClass<SeparatorUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<SeparatorUiSlot>>>, useSeparatorUi: UseUiConsumer<SeparatorUiSlot>;
7
8
  //#endregion
8
9
  export { provideSeparatorUi };
@@ -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 { SliderUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
 
5
6
  //#region src/components/slider/context.d.ts
6
- declare const provideSliderUi: (ui: _$vue.ComputedRef<Partial<UiClass<SliderUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<SliderUiSlot>>>, useSliderUi: <S extends SliderUiSlot | undefined = undefined>(slot?: S | undefined) => S extends SliderUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<SliderUiSlot>>>;
7
+ declare const provideSliderUi: (ui: _$vue.ComputedRef<Partial<UiClass<SliderUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<SliderUiSlot>>>, useSliderUi: UseUiConsumer<SliderUiSlot>;
7
8
  //#endregion
8
9
  export { provideSliderUi };
@@ -1 +1 @@
1
- import{snapValueToStep as e}from"../../shared/value.js";import{isFormControl as t}from"../../shared/vue.js";import"../../shared/index.js";import{useControllableState as n}from"../../composables/use-controllable-state.js";import{useForwardElement as r}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{Primitive as i}from"../primitive/primitive.js";import"../primitive/index.js";import{useDirection as a}from"../config-provider/context.js";import o from"../visually-hidden/visually-hidden-input.js";import"../visually-hidden/index.js";import{provideSliderRootContext as ee,useSliderUi as te}from"./context.js";import{ARROW_KEYS as s,BACK_KEYS as ne,PAGE_KEYS as c,convertValueToPercentage as re,getClosestValueIndex as ie,getNextSortedValues as ae,getSliderSideState as oe,getSliderValueFromPointer as se,getThumbLabel as ce,getValidMinStepsBetweenThumbs as le,getValidSliderMax as ue,getValidSliderMin as de,getValidSliderStep as fe,hasMinStepsBetweenValues as pe,isSliderValuesEqual as l,normalizeSliderValues as me}from"./shared.js";import{computed as u,createBlock as d,createCommentVNode as he,defineComponent as f,nextTick as ge,normalizeClass as _e,onBeforeUnmount as ve,openBlock as p,renderSlot as ye,shallowRef as m,unref as h,watch as g,withCtx as be}from"vue";const _=f({name:`SliderRoot`,__name:`slider-root`,props:{modelValue:{default:void 0},defaultValue:{default:()=>[0]},disabled:{type:Boolean,default:!1},orientation:{default:`horizontal`},dir:{default:void 0},inverted:{type:Boolean,default:!1},min:{default:0},max:{default:100},step:{default:1},minStepsBetweenThumbs:{default:0},thumbAlignment:{default:`contain`},asChild:{type:Boolean},as:{default:`div`},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`valueCommit`],setup(f,{emit:_}){let v=f,y=_,[xe,Se]=r(),Ce=te(`root`),b=n(()=>v.modelValue,e=>{y(`update:modelValue`,e??[])},v.defaultValue),x=a(()=>v.dir),S=u(()=>v.disabled),we=u(()=>S.value?``:void 0),C=u(()=>v.orientation===`vertical`?`vertical`:`horizontal`),w=u(()=>v.inverted),T=u(()=>de(v.min)),E=u(()=>ue(v.max,T.value)),D=u(()=>fe(v.step)),O=u(()=>le(v.minStepsBetweenThumbs)),Te=u(()=>v.thumbAlignment===`overflow`?`overflow`:`contain`),k=u(()=>me(b.value,{defaultValue:v.defaultValue,min:T.value,max:E.value,step:D.value})),A=m(),j=u(()=>A.value??k.value),Ee=u(()=>t(xe.value)),De=u(()=>C.value===`horizontal`),M=u(()=>oe(C.value,x.value,w.value)),N=u(()=>M.value.startEdge),Oe=u(()=>M.value.endEdge),P=u(()=>M.value.slideDirection),F=m(0),I=m(),L=m([]),R=m(0),z=m(null),B=m(j.value);function ke(e){I.value!==e&&(I.value=e)}function Ae(e,t){if(L.value[e]===t)return;let n=[...L.value];n[e]=t,L.value=n}function je(e){return re(e,T.value,E.value)}function V(e){ge(()=>{L.value[e]?.focus()})}function H(e){return ie(j.value,e)}function U(e){return z.value===e}let W=null;function G(){W?.(),W=null}function K(e){G();let t=e=>{X(e)},n=e=>{Z(e.pointerId)};e.addEventListener(`pointermove`,t),e.addEventListener(`pointerup`,n),e.addEventListener(`pointercancel`,n),W=()=>{e.removeEventListener(`pointermove`,t),e.removeEventListener(`pointerup`,n),e.removeEventListener(`pointercancel`,n)}}function q(){let e=A.value??j.value;l(B.value,e)||y(`valueCommit`,[...e])}function J(t,n,r={}){let i=e(t,T.value,E.value,D.value),a=ae(j.value,i,n);if(!pe(a,O.value*D.value))return;let o=a.indexOf(i);if(F.value=o,l(a,j.value)){r.focus&&V(o),r.commit&&q();return}A.value=a,b.value=a,r.focus&&V(o),r.commit&&(y(`valueCommit`,[...a]),B.value=a,A.value=void 0)}function Y(e){return I.value?se(e,I.value.getBoundingClientRect(),{min:T.value,max:E.value,orientation:C.value,startEdge:N.value}):null}function Me(e){let t=Y(e);S.value||t===null||(z.value=e.pointerId,I.value?.ownerDocument&&K(I.value.ownerDocument),B.value=[...j.value],R.value=0,J(t,H(t),{focus:!0}))}function Ne(e,t){if(S.value)return;z.value=t.pointerId,I.value?.ownerDocument&&K(I.value.ownerDocument),B.value=[...j.value],F.value=e,V(e);let n=Y(t);R.value=n===null?0:j.value[e]-n}function X(e){let t=Y(e);S.value||t===null||!U(e.pointerId)||J(t+R.value,F.value)}function Z(e){if(S.value||typeof e==`number`&&!U(e))return;let t=A.value??j.value;z.value=null,G(),R.value=0,q(),B.value=[...t],A.value=void 0}function Q(e,t,n=1){let r=j.value[e];S.value||typeof r!=`number`||J(r+D.value*t*n,e,{commit:!0,focus:!0})}function $(e,t){J(t===`min`?T.value:E.value,e,{commit:!0,focus:!0})}function Pe(e){if(S.value||typeof F.value!=`number`)return;if(e.key===`Home`){e.preventDefault(),$(F.value,`min`);return}if(e.key===`End`){e.preventDefault(),$(F.value,`max`);return}if(!c.concat(s).includes(e.key))return;e.preventDefault();let t=ne[P.value].includes(e.key),n=c.includes(e.key)||e.shiftKey&&s.includes(e.key)?10:1;Q(F.value,t?-1:1,n)}return ee({modelValue:b,currentModelValue:j,disabled:S,orientation:C,dir:x,inverted:w,min:T,max:E,step:D,minStepsBetweenThumbs:O,thumbAlignment:Te,isHorizontal:De,startEdge:N,endEdge:Oe,slideDirection:P,activeThumbIndex:F,trackElement:I,thumbElements:L,setTrackElement:ke,setThumbElement:Ae,getPercentage:je,getClosestValueIndex:H,getThumbLabel:e=>ce(e,j.value.length),beginTrackDrag:Me,beginThumbDrag:Ne,moveDrag:X,endDrag:Z,stepValue:Q,setToLimit:$}),g(k,e=>{l(e,b.value)||(b.value=e),A.value&&l(e,A.value)&&(A.value=void 0)},{immediate:!0}),g(()=>j.value.length,e=>{L.value=L.value.slice(0,e)}),ve(()=>{G()}),(e,t)=>(p(),d(h(i),{ref:h(Se),as:f.as,"as-child":f.asChild,class:_e(h(Ce)),dir:h(x),"data-disabled":we.value,"data-orientation":C.value,onKeydown:Pe},{default:be(()=>[ye(e.$slots,`default`,{modelValue:j.value}),Ee.value&&f.name?(p(),d(h(o),{key:0,type:`number`,name:f.name,value:j.value,disabled:S.value,required:f.required},null,8,[`name`,`value`,`disabled`,`required`])):he(`v-if`,!0)]),_:3},8,[`as`,`as-child`,`class`,`dir`,`data-disabled`,`data-orientation`]))}});export{_ as default};
1
+ import{snapValueToStep as e}from"../../shared/value.js";import{isFormControl as t}from"../../shared/vue.js";import"../../shared/index.js";import{useControllableState as n}from"../../composables/use-controllable-state.js";import{useForwardElement as r}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{useDirection as i}from"../config-provider/context.js";import{Primitive as a}from"../primitive/primitive.js";import"../primitive/index.js";import o from"../visually-hidden/visually-hidden-input.js";import"../visually-hidden/index.js";import{provideSliderRootContext as ee,useSliderUi as te}from"./context.js";import{ARROW_KEYS as s,BACK_KEYS as ne,PAGE_KEYS as c,convertValueToPercentage as re,getClosestValueIndex as ie,getNextSortedValues as ae,getSliderSideState as oe,getSliderValueFromPointer as se,getThumbLabel as ce,getValidMinStepsBetweenThumbs as le,getValidSliderMax as ue,getValidSliderMin as de,getValidSliderStep as fe,hasMinStepsBetweenValues as pe,isSliderValuesEqual as l,normalizeSliderValues as me}from"./shared.js";import{computed as u,createBlock as d,createCommentVNode as he,defineComponent as f,nextTick as ge,normalizeClass as _e,onBeforeUnmount as ve,openBlock as p,renderSlot as ye,shallowRef as m,unref as h,watch as g,withCtx as be}from"vue";const _=f({name:`SliderRoot`,__name:`slider-root`,props:{modelValue:{default:void 0},defaultValue:{default:()=>[0]},disabled:{type:Boolean,default:!1},orientation:{default:`horizontal`},dir:{default:void 0},inverted:{type:Boolean,default:!1},min:{default:0},max:{default:100},step:{default:1},minStepsBetweenThumbs:{default:0},thumbAlignment:{default:`contain`},asChild:{type:Boolean},as:{default:`div`},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`valueCommit`],setup(f,{emit:_}){let v=f,y=_,[xe,Se]=r(),Ce=te(`root`),b=n(()=>v.modelValue,e=>{y(`update:modelValue`,e??[])},v.defaultValue),x=i(()=>v.dir),S=u(()=>v.disabled),we=u(()=>S.value?``:void 0),C=u(()=>v.orientation===`vertical`?`vertical`:`horizontal`),w=u(()=>v.inverted),T=u(()=>de(v.min)),E=u(()=>ue(v.max,T.value)),D=u(()=>fe(v.step)),O=u(()=>le(v.minStepsBetweenThumbs)),Te=u(()=>v.thumbAlignment===`overflow`?`overflow`:`contain`),k=u(()=>me(b.value,{defaultValue:v.defaultValue,min:T.value,max:E.value,step:D.value})),A=m(),j=u(()=>A.value??k.value),Ee=u(()=>t(xe.value)),De=u(()=>C.value===`horizontal`),M=u(()=>oe(C.value,x.value,w.value)),N=u(()=>M.value.startEdge),Oe=u(()=>M.value.endEdge),P=u(()=>M.value.slideDirection),F=m(0),I=m(),L=m([]),R=m(0),z=m(null),B=m(j.value);function ke(e){I.value!==e&&(I.value=e)}function Ae(e,t){if(L.value[e]===t)return;let n=[...L.value];n[e]=t,L.value=n}function je(e){return re(e,T.value,E.value)}function V(e){ge(()=>{L.value[e]?.focus()})}function H(e){return ie(j.value,e)}function U(e){return z.value===e}let W=null;function G(){W?.(),W=null}function K(e){G();let t=e=>{X(e)},n=e=>{Z(e.pointerId)};e.addEventListener(`pointermove`,t),e.addEventListener(`pointerup`,n),e.addEventListener(`pointercancel`,n),W=()=>{e.removeEventListener(`pointermove`,t),e.removeEventListener(`pointerup`,n),e.removeEventListener(`pointercancel`,n)}}function q(){let e=A.value??j.value;l(B.value,e)||y(`valueCommit`,[...e])}function J(t,n,r={}){let i=e(t,T.value,E.value,D.value),a=ae(j.value,i,n);if(!pe(a,O.value*D.value))return;let o=a.indexOf(i);if(F.value=o,l(a,j.value)){r.focus&&V(o),r.commit&&q();return}A.value=a,b.value=a,r.focus&&V(o),r.commit&&(y(`valueCommit`,[...a]),B.value=a,A.value=void 0)}function Y(e){return I.value?se(e,I.value.getBoundingClientRect(),{min:T.value,max:E.value,orientation:C.value,startEdge:N.value}):null}function Me(e){let t=Y(e);S.value||t===null||(z.value=e.pointerId,I.value?.ownerDocument&&K(I.value.ownerDocument),B.value=[...j.value],R.value=0,J(t,H(t),{focus:!0}))}function Ne(e,t){if(S.value)return;z.value=t.pointerId,I.value?.ownerDocument&&K(I.value.ownerDocument),B.value=[...j.value],F.value=e,V(e);let n=Y(t);R.value=n===null?0:j.value[e]-n}function X(e){let t=Y(e);S.value||t===null||!U(e.pointerId)||J(t+R.value,F.value)}function Z(e){if(S.value||typeof e==`number`&&!U(e))return;let t=A.value??j.value;z.value=null,G(),R.value=0,q(),B.value=[...t],A.value=void 0}function Q(e,t,n=1){let r=j.value[e];S.value||typeof r!=`number`||J(r+D.value*t*n,e,{commit:!0,focus:!0})}function $(e,t){J(t===`min`?T.value:E.value,e,{commit:!0,focus:!0})}function Pe(e){if(S.value||typeof F.value!=`number`)return;if(e.key===`Home`){e.preventDefault(),$(F.value,`min`);return}if(e.key===`End`){e.preventDefault(),$(F.value,`max`);return}if(!c.concat(s).includes(e.key))return;e.preventDefault();let t=ne[P.value].includes(e.key),n=c.includes(e.key)||e.shiftKey&&s.includes(e.key)?10:1;Q(F.value,t?-1:1,n)}return ee({modelValue:b,currentModelValue:j,disabled:S,orientation:C,dir:x,inverted:w,min:T,max:E,step:D,minStepsBetweenThumbs:O,thumbAlignment:Te,isHorizontal:De,startEdge:N,endEdge:Oe,slideDirection:P,activeThumbIndex:F,trackElement:I,thumbElements:L,setTrackElement:ke,setThumbElement:Ae,getPercentage:je,getClosestValueIndex:H,getThumbLabel:e=>ce(e,j.value.length),beginTrackDrag:Me,beginThumbDrag:Ne,moveDrag:X,endDrag:Z,stepValue:Q,setToLimit:$}),g(k,e=>{l(e,b.value)||(b.value=e),A.value&&l(e,A.value)&&(A.value=void 0)},{immediate:!0}),g(()=>j.value.length,e=>{L.value=L.value.slice(0,e)}),ve(()=>{G()}),(e,t)=>(p(),d(h(a),{ref:h(Se),as:f.as,"as-child":f.asChild,class:_e(h(Ce)),dir:h(x),"data-disabled":we.value,"data-orientation":C.value,onKeydown:Pe},{default:be(()=>[ye(e.$slots,`default`,{modelValue:j.value}),Ee.value&&f.name?(p(),d(h(o),{key:0,type:`number`,name:f.name,value:j.value,disabled:S.value,required:f.required},null,8,[`name`,`value`,`disabled`,`required`])):he(`v-if`,!0)]),_:3},8,[`as`,`as-child`,`class`,`dir`,`data-disabled`,`data-orientation`]))}});export{_ as default};
@@ -18,14 +18,14 @@ declare const __VLS_base: _$vue.DefineComponent<SliderRootProps, {}, {}, {}, {},
18
18
  onValueCommit?: ((value: number[]) => any) | undefined;
19
19
  }>, {
20
20
  dir: Direction;
21
+ disabled: boolean;
21
22
  max: number;
22
23
  min: number;
23
24
  orientation: DataOrientation;
24
- disabled: boolean;
25
25
  modelValue: number[];
26
26
  defaultValue: number[];
27
- as: AsTag | _$vue.Component;
28
27
  step: number;
28
+ as: AsTag | _$vue.Component;
29
29
  inverted: boolean;
30
30
  minStepsBetweenThumbs: number;
31
31
  thumbAlignment: SliderThumbAlignment;
@@ -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 { SplitterUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
 
5
6
  //#region src/components/splitter/context.d.ts
6
- declare const provideSplitterUi: (ui: _$vue.ComputedRef<Partial<UiClass<SplitterUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<SplitterUiSlot>>>, useSplitterUi: <S extends SplitterUiSlot | undefined = undefined>(slot?: S | undefined) => S extends SplitterUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<SplitterUiSlot>>>;
7
+ declare const provideSplitterUi: (ui: _$vue.ComputedRef<Partial<UiClass<SplitterUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<SplitterUiSlot>>>, useSplitterUi: UseUiConsumer<SplitterUiSlot>;
7
8
  //#endregion
8
9
  export { provideSplitterUi };
@@ -18,8 +18,8 @@ declare const __VLS_base: _$vue.DefineComponent<SplitterGroupProps, {}, {}, {},
18
18
  dir: Direction;
19
19
  direction: DataOrientation;
20
20
  as: AsTag | _$vue.Component;
21
- keyboardResizeBy: number;
22
21
  defaultLayout: number[];
22
+ keyboardResizeBy: number;
23
23
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
24
24
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
25
  declare const _default: typeof __VLS_export;
@@ -36,9 +36,9 @@ declare const __VLS_base: _$vue.DefineComponent<SplitterPanelProps, {
36
36
  order: number;
37
37
  as: AsTag | _$vue.Component;
38
38
  defaultSize: number;
39
- minSize: number;
40
- maxSize: number;
41
39
  collapsedSize: number;
40
+ maxSize: number;
41
+ minSize: number;
42
42
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
43
43
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
44
44
  declare const _default: typeof __VLS_export;
@@ -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 { StepperUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
 
5
6
  //#region src/components/stepper/context.d.ts
6
- declare const provideStepperUi: (ui: _$vue.ComputedRef<Partial<UiClass<StepperUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<StepperUiSlot>>>, useStepperUi: <S extends StepperUiSlot | undefined = undefined>(slot?: S | undefined) => S extends StepperUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<StepperUiSlot>>>;
7
+ declare const provideStepperUi: (ui: _$vue.ComputedRef<Partial<UiClass<StepperUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<StepperUiSlot>>>, useStepperUi: UseUiConsumer<StepperUiSlot>;
7
8
  //#endregion
8
9
  export { provideStepperUi };
@@ -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 { SwitchUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
 
5
6
  //#region src/components/switch/context.d.ts
6
- declare const provideSwitchUi: (ui: _$vue.ComputedRef<Partial<UiClass<SwitchUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<SwitchUiSlot>>>, useSwitchUi: <S extends SwitchUiSlot | undefined = undefined>(slot?: S | undefined) => S extends SwitchUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<SwitchUiSlot>>>;
7
+ declare const provideSwitchUi: (ui: _$vue.ComputedRef<Partial<UiClass<SwitchUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<SwitchUiSlot>>>, useSwitchUi: UseUiConsumer<SwitchUiSlot>;
7
8
  //#endregion
8
9
  export { provideSwitchUi };
@@ -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 { TableUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
 
5
6
  //#region src/components/table/context.d.ts
6
- declare const provideTableUi: (ui: _$vue.ComputedRef<Partial<UiClass<TableUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TableUiSlot>>>, useTableUi: <S extends TableUiSlot | undefined = undefined>(slot?: S | undefined) => S extends TableUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<TableUiSlot>>>;
7
+ declare const provideTableUi: (ui: _$vue.ComputedRef<Partial<UiClass<TableUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TableUiSlot>>>, useTableUi: UseUiConsumer<TableUiSlot>;
7
8
  //#endregion
8
9
  export { provideTableUi };
@@ -1,9 +1,10 @@
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 { TabsUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
  import { MaybeRefOrGetter } from "vue";
5
6
 
6
7
  //#region src/components/tabs/context.d.ts
7
- declare const provideTabsUi: (ui: _$vue.ComputedRef<Partial<UiClass<TabsUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TabsUiSlot>>>, useTabsUi: <S extends TabsUiSlot | undefined = undefined>(slot?: S | undefined) => S extends TabsUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<TabsUiSlot>>>;
8
+ declare const provideTabsUi: (ui: _$vue.ComputedRef<Partial<UiClass<TabsUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TabsUiSlot>>>, useTabsUi: UseUiConsumer<TabsUiSlot>;
8
9
  //#endregion
9
10
  export { provideTabsUi };
@@ -1,8 +1,9 @@
1
- import { TabsContentProps, TabsIndicatorProps, TabsListProps, TabsRootEmits, TabsRootProps, TabsTriggerProps, TabsUi, TabsUiSlot } from "./types.js";
2
- import { _default as _default$3 } from "./tabs-root.vue.js";
3
- import { _default as _default$2 } from "./tabs-list.vue.js";
4
- import { _default as _default$4 } from "./tabs-trigger.vue.js";
5
- import { _default } from "./tabs-content.vue.js";
6
- import { _default as _default$1 } from "./tabs-indicator.vue.js";
1
+ import { TabsCompactEmits, TabsCompactProps, TabsCompactSlots, TabsContentProps, TabsIndicatorProps, TabsListProps, TabsOptionData, TabsRootEmits, TabsRootProps, TabsTriggerProps, TabsUi, TabsUiSlot } from "./types.js";
2
+ import { _default as _default$4 } from "./tabs-root.vue.js";
3
+ import { _default as _default$3 } from "./tabs-list.vue.js";
4
+ import { _default as _default$5 } from "./tabs-trigger.vue.js";
5
+ import { _default as _default$1 } from "./tabs-content.vue.js";
6
+ import { _default as _default$2 } from "./tabs-indicator.vue.js";
7
+ import { _default } from "./tabs-compact.vue.js";
7
8
  import { provideTabsUi } from "./context.js";
8
- export { _default as TabsContent, type TabsContentProps, _default$1 as TabsIndicator, type TabsIndicatorProps, _default$2 as TabsList, type TabsListProps, _default$3 as TabsRoot, type TabsRootEmits, type TabsRootProps, _default$4 as TabsTrigger, type TabsTriggerProps, type TabsUi, type TabsUiSlot, provideTabsUi };
9
+ export { _default as TabsCompact, type TabsCompactEmits, type TabsCompactProps, type TabsCompactSlots, _default$1 as TabsContent, type TabsContentProps, _default$2 as TabsIndicator, type TabsIndicatorProps, _default$3 as TabsList, type TabsListProps, type TabsOptionData, _default$4 as TabsRoot, type TabsRootEmits, type TabsRootProps, _default$5 as TabsTrigger, type TabsTriggerProps, type TabsUi, type TabsUiSlot, provideTabsUi };
@@ -1 +1 @@
1
- import{provideTabsUi as e}from"./context.js";import t from"./tabs-root.js";import n from"./tabs-list.js";import r from"./tabs-trigger.js";import i from"./tabs-content.js";import a from"./tabs-indicator.js";export{i as TabsContent,a as TabsIndicator,n as TabsList,t as TabsRoot,r as TabsTrigger,e as provideTabsUi};
1
+ import{provideTabsUi as e}from"./context.js";import t from"./tabs-root.js";import n from"./tabs-list.js";import r from"./tabs-trigger.js";import i from"./tabs-content.js";import a from"./tabs-indicator.js";import o from"./tabs-compact.js";export{o as TabsCompact,i as TabsContent,a as TabsIndicator,n as TabsList,t as TabsRoot,r as TabsTrigger,e as provideTabsUi};
@@ -0,0 +1 @@
1
+ import{useOmitProps as e}from"../../composables/use-props.js";import"../../composables/index.js";import{useTabsUi as t}from"./context.js";import n from"./tabs-root.js";import r from"./tabs-list.js";import i from"./tabs-trigger.js";import a from"./tabs-content.js";import o from"./tabs-indicator.js";import{Fragment as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createTextVNode as f,createVNode as p,defineComponent as m,guardReactiveProps as h,mergeProps as g,normalizeClass as _,normalizeProps as v,openBlock as y,renderList as b,renderSlot as x,toDisplayString as S,unref as C,withCtx as w}from"vue";const T=m({name:`TabsCompact`,__name:`tabs-compact`,props:{items:{},enableIndicator:{type:Boolean,default:!0},listProps:{},triggerProps:{},contentProps:{},indicatorProps:{},modelValue:{default:void 0},defaultValue:{},activationMode:{},unmountOnHide:{type:Boolean,default:!0},orientation:{},dir:{},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`],setup(m,{emit:T}){let E=m,D=T,O=e(E,[`items`,`enableIndicator`,`listProps`,`triggerProps`,`contentProps`,`indicatorProps`]),k=t(),A=e=>{D(`update:modelValue`,e)};return(e,t)=>(y(),c(n,g(C(O),{"onUpdate:modelValue":A}),{default:w(()=>[p(r,v(h(m.listProps)),{default:w(()=>[(y(!0),u(s,null,b(m.items,t=>(y(),c(i,g({key:t.value},{ref_for:!0},m.triggerProps,{value:t.value,disabled:t.disabled}),{default:w(n=>[x(e.$slots,`trigger`,g({ref_for:!0},{...t,...n}),()=>[f(S(t.label),1)])]),_:2},1040,[`value`,`disabled`]))),128)),m.enableIndicator?(y(),c(o,v(g({key:0},m.indicatorProps)),{default:w(()=>[x(e.$slots,`indicator`,{},()=>[d(`div`,{class:_(C(k).indicatorContent)},null,2)])]),_:3},16)):l(`v-if`,!0)]),_:3},16),(y(!0),u(s,null,b(m.items,t=>(y(),c(a,g({key:t.value},{ref_for:!0},m.contentProps,{value:t.value}),{default:w(n=>[x(e.$slots,`content`,g({ref_for:!0},{...t,...n}))]),_:2},1040,[`value`]))),128))]),_:3},16))}});export{T as default};
@@ -0,0 +1,21 @@
1
+ import { TabsCompactProps, TabsCompactSlots, TabsOptionData } from "./types.js";
2
+ import * as _$vue from "vue";
3
+
4
+ //#region src/components/tabs/tabs-compact.vue.d.ts
5
+ declare const __VLS_export: <T extends TabsOptionData = TabsOptionData>(__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<{
6
+ props: _$vue.PublicProps & __VLS_PrettifyLocal<TabsCompactProps<T> & {
7
+ "onUpdate:modelValue"?: ((payload: T["value"]) => any) | undefined;
8
+ }> & (typeof globalThis extends {
9
+ __VLS_PROPS_FALLBACK: infer P;
10
+ } ? P : {});
11
+ expose: (exposed: {}) => void;
12
+ attrs: any;
13
+ slots: TabsCompactSlots<T>;
14
+ emit: (evt: "update:modelValue", payload: T["value"]) => void;
15
+ }>) => _$vue.VNode & {
16
+ __ctx?: Awaited<typeof __VLS_setup>;
17
+ };
18
+ declare const _default: typeof __VLS_export;
19
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
20
+ //#endregion
21
+ export { _default };
@@ -17,9 +17,9 @@ declare const __VLS_base: _$vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, _$v
17
17
  }>, {
18
18
  orientation: DataOrientation;
19
19
  modelValue: DefinedValue | null;
20
- loop: boolean;
21
20
  unmountOnHide: boolean;
22
21
  activationMode: TabsActivationMode;
22
+ loop: boolean;
23
23
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
24
24
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
25
  declare const _default: typeof __VLS_export;
@@ -42,7 +42,30 @@ interface TabsTriggerProps extends PrimitiveProps, /** @vue-ignore */HTMLAttribu
42
42
  disabled?: boolean;
43
43
  }
44
44
  interface TabsIndicatorProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
45
- type TabsUiSlot = 'root' | 'list' | 'trigger' | 'content' | 'indicator';
45
+ interface TabsOptionData<T extends DefinedValue = DefinedValue> {
46
+ value: T;
47
+ label: string;
48
+ disabled?: boolean;
49
+ }
50
+ interface TabsCompactProps<T extends TabsOptionData = TabsOptionData> extends TabsRootProps<T['value'] | null> {
51
+ items: T[];
52
+ enableIndicator?: boolean;
53
+ listProps?: TabsListProps;
54
+ triggerProps?: TabsTriggerProps;
55
+ contentProps?: TabsContentProps;
56
+ indicatorProps?: TabsIndicatorProps;
57
+ }
58
+ type TabsCompactEmits<T extends AcceptableValue = AcceptableValue> = TabsRootEmits<T>;
59
+ type TabsCompactSlots<T extends TabsOptionData = TabsOptionData> = {
60
+ trigger?: (props: T & {
61
+ active: boolean;
62
+ }) => any;
63
+ content?: (props: T & {
64
+ active: boolean;
65
+ }) => any;
66
+ indicator?: () => any;
67
+ };
68
+ type TabsUiSlot = 'root' | 'list' | 'trigger' | 'content' | 'indicator' | 'indicatorContent';
46
69
  type TabsUi = UiClass<TabsUiSlot>;
47
70
  //#endregion
48
- export { TabsActivationMode, TabsContentProps, TabsIndicatorProps, TabsListProps, TabsRootEmits, TabsRootProps, TabsTriggerProps, TabsUi, TabsUiSlot };
71
+ export { TabsActivationMode, TabsCompactEmits, TabsCompactProps, TabsCompactSlots, TabsContentProps, TabsIndicatorProps, TabsListProps, TabsOptionData, TabsRootEmits, TabsRootProps, TabsTriggerProps, TabsUi, TabsUiSlot };
@@ -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 { TagsInputUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
 
5
6
  //#region src/components/tags-input/context.d.ts
6
- declare const provideTagsInputUi: (ui: _$vue.ComputedRef<Partial<UiClass<TagsInputUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TagsInputUiSlot>>>, useTagsInputUi: <S extends TagsInputUiSlot | undefined = undefined>(slot?: S | undefined) => S extends TagsInputUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<TagsInputUiSlot>>>;
7
+ declare const provideTagsInputUi: (ui: _$vue.ComputedRef<Partial<UiClass<TagsInputUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TagsInputUiSlot>>>, useTagsInputUi: UseUiConsumer<TagsInputUiSlot>;
7
8
  //#endregion
8
9
  export { provideTagsInputUi };
@@ -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 { TextareaUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
 
5
6
  //#region src/components/textarea/context.d.ts
6
- declare const provideTextareaUi: (ui: _$vue.ComputedRef<Partial<UiClass<TextareaUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TextareaUiSlot>>>, useTextareaUi: <S extends TextareaUiSlot | undefined = undefined>(slot?: S | undefined) => S extends TextareaUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<TextareaUiSlot>>>;
7
+ declare const provideTextareaUi: (ui: _$vue.ComputedRef<Partial<UiClass<TextareaUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<TextareaUiSlot>>>, useTextareaUi: UseUiConsumer<TextareaUiSlot>;
7
8
  //#endregion
8
9
  export { provideTextareaUi };
@@ -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 { ToastUiSlot } from "./types.js";
3
4
  import * as _$vue from "vue";
4
5
 
5
6
  //#region src/components/toast/context.d.ts
6
- declare const provideToastUi: (ui: _$vue.ComputedRef<Partial<UiClass<ToastUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<ToastUiSlot>>>, useToastUi: <S extends ToastUiSlot | undefined = undefined>(slot?: S | undefined) => S extends ToastUiSlot ? _$vue.ComputedRef<ClassValue> : _$vue.ComputedRef<Partial<UiClass<ToastUiSlot>>>;
7
+ declare const provideToastUi: (ui: _$vue.ComputedRef<Partial<UiClass<ToastUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<ToastUiSlot>>>, useToastUi: UseUiConsumer<ToastUiSlot>;
7
8
  //#endregion
8
9
  export { provideToastUi };
@@ -1 +1 @@
1
- import{e}from"../../node_modules/.pnpm/@soybeanjs_utils@0.1.0/node_modules/@soybeanjs/utils/dist/index.js";import{h as t}from"vue";const n={gap:`--gap`,offsetTop:`--offset-top`,offsetRight:`--offset-right`,offsetBottom:`--offset-bottom`,offsetLeft:`--offset-left`,mobileOffsetTop:`--mobile-offset-top`,mobileOffsetRight:`--mobile-offset-right`,mobileOffsetBottom:`--mobile-offset-bottom`,mobileOffsetLeft:`--mobile-offset-left`,frontHeight:`--front-toast-height`},r={index:`--index`,offset:`--offset`,beforeIndex:`--toasts-before`,zIndex:`--z-index`,swipeAmountX:`--swipe-amount-x`,swipeAmountY:`--swipe-amount-y`,swipeDirection:`--swipe-direction`,swipeOut:`--swipe-out`,initialHeight:`--initial-height`},i=`top-right`,a=4e3,o=[`top-right`,`top-center`,`top-left`,`bottom-right`,`bottom-center`,`bottom-left`],s={left:`left`,right:`right`,top:`up`,bottom:`down`};function c(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(s[t]),n&&r.push(s[n]),r}const l=t=>{let r={top:n.offsetTop,right:n.offsetRight,bottom:n.offsetBottom,left:n.offsetLeft},i={top:n.mobileOffsetTop,right:n.mobileOffsetRight,bottom:n.mobileOffsetBottom,left:n.mobileOffsetLeft},a={};return e(r).forEach(e=>{let n=(typeof t==`number`?t:t[e])??24;a[r[e]]=`${n}px`,a[i[e]]=`calc(${n}px * 0.67)`}),a},u=e=>{if(!e)return{x:0,y:0};let t=e.style.getPropertyValue(r.swipeAmountX),n=e.style.getPropertyValue(r.swipeAmountY);return{x:Number(t.replace(`px`,``))||0,y:Number(n.replace(`px`,``))||0}},d=(e,t)=>{e&&(e.style.setProperty(r.swipeAmountX,`${t.x}px`),e.style.setProperty(r.swipeAmountY,`${t.y}px`))},f=e=>{e&&d(e,{x:0,y:0})},p=e=>`dismiss`in e&&e.dismiss===!0,m=e=>[`altKey`,`ctrlKey`,`metaKey`,`shiftKey`].includes(e),h=(e,n)=>{if(e)return typeof e==`string`?n?.(e)??t(`span`,e):e},g=(e,n,r)=>typeof e==`string`?r?.(e,n)??t(`button`,e):e;export{o as ALL_TOAST_POSITIONS,i as DEFAULT_POSITION,a as TOAST_LIFETIME,g as getButtonNode,c as getDefaultSwipeDirections,h as getIconNode,u as getSwipeAmount,m as isModifierHotkey,p as isToastDismiss,f as resetSwipeAmount,l as resolveOffset,d as setSwipeAmount,r as toastCssVars,n as toasterCssVars};
1
+ import{e}from"../../node_modules/.pnpm/@soybeanjs_utils@0.1.0/node_modules/@soybeanjs/utils/dist/index.js";const t={gap:`--gap`,offsetTop:`--offset-top`,offsetRight:`--offset-right`,offsetBottom:`--offset-bottom`,offsetLeft:`--offset-left`,mobileOffsetTop:`--mobile-offset-top`,mobileOffsetRight:`--mobile-offset-right`,mobileOffsetBottom:`--mobile-offset-bottom`,mobileOffsetLeft:`--mobile-offset-left`,frontHeight:`--front-toast-height`},n={index:`--index`,offset:`--offset`,beforeIndex:`--toasts-before`,zIndex:`--z-index`,swipeAmountX:`--swipe-amount-x`,swipeAmountY:`--swipe-amount-y`,swipeDirection:`--swipe-direction`,swipeOut:`--swipe-out`,initialHeight:`--initial-height`},r=`top-right`,i=4e3,a={info:`lucide:info`,success:`lucide:circle-check`,warning:`lucide:circle-alert`,error:`lucide:circle-x`,close:`lucide:x`,loading:`svg-spinners:270-ring`},o=[`top-right`,`top-center`,`top-left`,`bottom-right`,`bottom-center`,`bottom-left`],s={left:`left`,right:`right`,top:`up`,bottom:`down`};function c(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(s[t]),n&&r.push(s[n]),r}const l=n=>{let r={top:t.offsetTop,right:t.offsetRight,bottom:t.offsetBottom,left:t.offsetLeft},i={top:t.mobileOffsetTop,right:t.mobileOffsetRight,bottom:t.mobileOffsetBottom,left:t.mobileOffsetLeft},a={};return e(r).forEach(e=>{let t=(typeof n==`number`?n:n[e])??24;a[r[e]]=`${t}px`,a[i[e]]=`calc(${t}px * 0.67)`}),a},u=e=>{if(!e)return{x:0,y:0};let t=e.style.getPropertyValue(n.swipeAmountX),r=e.style.getPropertyValue(n.swipeAmountY);return{x:Number(t.replace(`px`,``))||0,y:Number(r.replace(`px`,``))||0}},d=(e,t)=>{e&&(e.style.setProperty(n.swipeAmountX,`${t.x}px`),e.style.setProperty(n.swipeAmountY,`${t.y}px`))},f=e=>{e&&d(e,{x:0,y:0})},p=e=>`dismiss`in e&&e.dismiss===!0,m=e=>[`altKey`,`ctrlKey`,`metaKey`,`shiftKey`].includes(e);export{o as ALL_TOAST_POSITIONS,r as DEFAULT_POSITION,a as ICONS,i as TOAST_LIFETIME,c as getDefaultSwipeDirections,u as getSwipeAmount,m as isModifierHotkey,p as isToastDismiss,f as resetSwipeAmount,l as resolveOffset,d as setSwipeAmount,n as toastCssVars,t as toasterCssVars};
@@ -1 +1 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.js";import{isVNode as t}from"vue";let n=1;const r=new class{constructor(){e(this,`subscribers`,void 0),e(this,`toasts`,void 0),e(this,`dismissed`,void 0),e(this,`subscribe`,e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);t>=0&&this.subscribers.splice(t,1)})),e(this,`publish`,e=>{this.subscribers.forEach(t=>t(e))}),e(this,`resetDismissed`,e=>{this.dismissed.has(e)&&this.dismissed.delete(e)}),e(this,`upsert`,e=>{let t=this.toasts.findIndex(t=>t.id===e.id);if(t<0){this.publish(e),this.toasts=[...this.toasts,e];return}let n={...this.toasts[t],...e};this.publish(n),this.toasts=this.toasts.map((e,r)=>r===t?n:e)}),e(this,`create`,e=>{let{message:t,dismissible:n=!0,...r}=e,i=s(e.id);this.resetDismissed(i);let a={...r,id:i,dismissible:n,title:t};return this.upsert(a),i}),e(this,`dismiss`,e=>{if(e!==void 0)return this.dismissed.add(e),requestAnimationFrame(()=>this.publish({id:e,dismiss:!0})),e;this.toasts.forEach(e=>{this.dismissed.add(e.id),this.publish({id:e.id,dismiss:!0})})}),e(this,`message`,(e,t)=>this.create({...t,message:e,type:`default`})),e(this,`error`,(e,t)=>this.create({...t,message:e,type:`error`})),e(this,`success`,(e,t)=>this.create({...t,message:e,type:`success`})),e(this,`info`,(e,t)=>this.create({...t,message:e,type:`info`})),e(this,`warning`,(e,t)=>this.create({...t,message:e,type:`warning`})),e(this,`loading`,(e,t)=>this.create({...t,message:e,type:`loading`})),e(this,`custom`,(e,t)=>{let n=s(t?.id),r=t?.dismissible??!0;return this.resetDismissed(n),this.upsert({custom:e,dismissible:r,id:n,...t}),n}),e(this,`promise`,(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:`loading`,message:n.loading,description:typeof n.description==`function`?void 0:n.description}));let i=Promise.resolve(typeof e==`function`?e():e),a=r!==void 0,s,l=async(e,t,n,i)=>{a=!1;let{description:o,settings:s}=await c(t,n,i,r);this.create({id:r,type:e,description:o,...s})},u=i.then(async e=>{if(s=[`resolve`,e],t(e)){a=!1,this.create({id:r,type:`default`,message:e});return}if(o(e)&&!e.ok){await l(`error`,n.error,n.description,`HTTP error! status: ${e.status}`);return}if(e instanceof Error){await l(`error`,n.error,n.description,e);return}n.success!==void 0&&await l(`success`,n.success,n.description,e)}).catch(async e=>{s=[`reject`,e],n.error!==void 0&&await l(`error`,n.error,n.description,e)}).finally(()=>{a&&(this.dismiss(r),r=void 0),n.finally?.()}),d=()=>new Promise((e,t)=>u.then(()=>s[0]===`reject`?t(s[1]):e(s[1])).catch(t));return typeof r!=`string`&&typeof r!=`number`?{unwrap:d}:Object.assign(r,{unwrap:d})}),e(this,`getActives`,()=>this.toasts.filter(e=>!this.dismissed.has(e.id))),this.subscribers=[],this.toasts=[],this.dismissed=new Set}},i=r.message,a=Object.assign(i,{success:r.success,info:r.info,warning:r.warning,error:r.error,custom:r.custom,message:r.message,promise:r.promise,dismiss:r.dismiss,loading:r.loading},{getHistory:()=>r.toasts,getToasts:()=>r.getActives()});function o(e){return typeof e==`object`&&!!e&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`}function s(e){return typeof e==`number`||typeof e==`string`&&e.length>0?e:n++}async function c(e,t,n,r){let[i,a]=await Promise.all([l(e,n),l(t,n)]);return{description:a,settings:d(i,r)}}async function l(e,t){return typeof e==`function`?await e(t):e}function u(e){return typeof e==`object`&&!!e&&`message`in e}function d(e,t){return u(e)?e:{id:t??``,message:e??``}}export{r as ToastState,a as toast};
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.127.0/helpers/defineProperty.js";import{isVNode as t}from"vue";let n=1;const r=new class{constructor(){e(this,`subscribers`,void 0),e(this,`toasts`,void 0),e(this,`dismissed`,void 0),e(this,`subscribe`,e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);t>=0&&this.subscribers.splice(t,1)})),e(this,`publish`,e=>{this.subscribers.forEach(t=>t(e))}),e(this,`resetDismissed`,e=>{this.dismissed.has(e)&&this.dismissed.delete(e)}),e(this,`upsert`,e=>{let t=this.toasts.findIndex(t=>t.id===e.id);if(t<0){this.publish(e),this.toasts=[...this.toasts,e];return}let n={...this.toasts[t],...e};this.publish(n),this.toasts=this.toasts.map((e,r)=>r===t?n:e)}),e(this,`create`,e=>{let{message:t,dismissible:n=!0,...r}=e,i=s(e.id);this.resetDismissed(i);let a={...r,id:i,dismissible:n,title:t};return this.upsert(a),i}),e(this,`dismiss`,e=>{if(e!==void 0)return this.dismissed.add(e),requestAnimationFrame(()=>this.publish({id:e,dismiss:!0})),e;this.toasts.forEach(e=>{this.dismissed.add(e.id),this.publish({id:e.id,dismiss:!0})})}),e(this,`message`,(e,t)=>this.create({...t,message:e,type:`default`})),e(this,`error`,(e,t)=>this.create({...t,message:e,type:`error`})),e(this,`success`,(e,t)=>this.create({...t,message:e,type:`success`})),e(this,`info`,(e,t)=>this.create({...t,message:e,type:`info`})),e(this,`warning`,(e,t)=>this.create({...t,message:e,type:`warning`})),e(this,`loading`,(e,t)=>this.create({...t,message:e,type:`loading`})),e(this,`custom`,(e,t)=>{let n=s(t?.id),r=t?.dismissible??!0;return this.resetDismissed(n),this.upsert({custom:e,dismissible:r,id:n,...t}),n}),e(this,`promise`,(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:`loading`,message:n.loading,description:typeof n.description==`function`?void 0:n.description}));let i=Promise.resolve(typeof e==`function`?e():e),a=r!==void 0,s,l=async(e,t,n,i)=>{a=!1;let{description:o,settings:s}=await c(t,n,i,r);this.create({id:r,type:e,description:o,...s})},u=i.then(async e=>{if(s=[`resolve`,e],t(e)){a=!1,this.create({id:r,type:`default`,message:e});return}if(o(e)&&!e.ok){await l(`error`,n.error,n.description,`HTTP error! status: ${e.status}`);return}if(e instanceof Error){await l(`error`,n.error,n.description,e);return}n.success!==void 0&&await l(`success`,n.success,n.description,e)}).catch(async e=>{s=[`reject`,e],n.error!==void 0&&await l(`error`,n.error,n.description,e)}).finally(()=>{a&&(this.dismiss(r),r=void 0),n.finally?.()}),d=()=>new Promise((e,t)=>u.then(()=>s[0]===`reject`?t(s[1]):e(s[1])).catch(t));return typeof r!=`string`&&typeof r!=`number`?{unwrap:d}:Object.assign(r,{unwrap:d})}),e(this,`getActives`,()=>this.toasts.filter(e=>!this.dismissed.has(e.id))),this.subscribers=[],this.toasts=[],this.dismissed=new Set}},i=r.message,a=Object.assign(i,{success:r.success,info:r.info,warning:r.warning,error:r.error,custom:r.custom,message:r.message,promise:r.promise,dismiss:r.dismiss,loading:r.loading},{getHistory:()=>r.toasts,getToasts:()=>r.getActives()});function o(e){return typeof e==`object`&&!!e&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`}function s(e){return typeof e==`number`||typeof e==`string`&&e.length>0?e:n++}async function c(e,t,n,r){let[i,a]=await Promise.all([l(e,n),l(t,n)]);return{description:a,settings:d(i,r)}}async function l(e,t){return typeof e==`function`?await e(t):e}function u(e){return typeof e==`object`&&!!e&&`message`in e}function d(e,t){return u(e)?e:{id:t??``,message:e??``}}export{r as ToastState,a as toast};
@@ -1 +1 @@
1
- import{useToastUi as e,useToasterContext as t}from"./context.js";import{getButtonNode as n,getDefaultSwipeDirections as r,getIconNode as i,getSwipeAmount as a,resetSwipeAmount as o,setSwipeAmount as ee,toastCssVars as s}from"./shared.js";import c from"./toast-render.js";import{Fragment as te,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createVNode as m,defineComponent as h,mergeProps as g,onWatcherCleanup as ne,openBlock as _,resolveDynamicComponent as v,shallowRef as y,unref as b,useTemplateRef as x,watch as S,watchEffect as re}from"vue";import{useDocumentVisibility as ie,useElementSize as ae,useMounted as oe}from"@vueuse/core";const se=[`dir`,`data-rich-color`,`data-inverted`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],C=h({name:`Toast`,__name:`toast`,props:{index:{},toast:{},position:{}},emits:[`update:height`,`remove`],setup(h,{emit:C}){let w=h,T=C,{dir:ce,allToasts:le,allHeights:E,gap:ue,duration:de,visibleCounts:fe,defaultExpanded:pe,swipeDirections:me,interactingPosition:he,expandedPosition:ge,showIcon:_e,showClose:ve,icons:D,iconRender:O,buttonRender:k,toastProps:ye,wrapperProps:be,contentProps:xe,titleProps:Se,descriptionProps:Ce,iconProps:we,footerProps:Te,actionProps:Ee,cancelProps:De,closeProps:Oe}=t(`Toast`),A=e(),j=x(`toast`),ke=x(`wrapper`),M=oe(),{height:Ae}=ae(ke),je=ie(),N=y(null),P=y(null),F=y(!1),I=y(!1),L=y(!1),R=y(!1),z=y(0),B=y(0),V=y(w.toast.duration??de.value),H=y(null),U=y(0),W=y(0),G=y(null),K=l(()=>w.toast.type),q=l(()=>{if(_e.value){if(w.toast.icon)return i(w.toast.icon,O);if(K.value&&K.value!==`default`)return i(D.value?.[K.value],O);if(w.toast.promise)return i(D.value?.loading,O)}}),J=l(()=>i(w.toast.close??D.value?.close,O)),Me=l(()=>w.index===0),Ne=l(()=>w.index+1<=fe.value),Y=l(()=>K.value===`loading`),X=l(()=>w.toast.dismissible!==!1),Z=l(()=>Math.max(E.value[w.position].findIndex(e=>e.toastId===w.toast.id),0)),Pe=l(()=>(w.toast.showClose||ve.value)&&X.value&&K.value!==`loading`),Fe=l(()=>w.toast.duration??de.value),Ie=l(()=>{let[e,t]=w.position.split(`-`);return{x:t,y:e}}),Le=l(()=>E.value[w.position].reduce((e,t,n)=>n>=Z.value?e:e+t.height,0)),Q=l(()=>Z.value*ue.value+Le.value),Re=l(()=>ge.value===w.position||pe.value&&M.value),ze=l(()=>({[s.index]:w.index,[s.beforeIndex]:w.index,[s.zIndex]:le.value[w.position].length-w.index,[s.offset]:`${F.value?z.value:Q.value}px`,[s.initialHeight]:pe.value?`auto`:`${B.value}px`})),Be=l(()=>{if(w.toast.action)return n(w.toast.action,`action`,k)}),Ve=l(()=>{if(w.toast.cancel)return n(w.toast.cancel,`cancel`,k)}),$=()=>{F.value=!0,z.value=Q.value,window.setTimeout(()=>{T(`remove`,w.toast)},200)},He=()=>{Y.value||!X.value||($(),w.toast.onDismiss?.(w.toast))},Ue=e=>{e.button!==2&&(Y.value||!X.value||(H.value=new Date,z.value=Q.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(I.value=!0,G.value={x:e.clientX,y:e.clientY})))},We=()=>{if(L.value||!X.value)return;G.value=null;let{x:e,y:t}=a(j.value),n=Date.now()-(H.value?.getTime()??Date.now()),r=N.value===`x`?e:t,i=Math.abs(r)/Math.max(n,1);if(Math.abs(r)>=45||i>.11){z.value=Q.value,w.toast.onDismiss?.(w.toast),N.value===`x`?P.value=e>0?`right`:`left`:P.value=t>0?`down`:`up`,$(),L.value=!0;return}o(j.value),R.value=!1,I.value=!1,N.value=null},Ge=e=>{if(!G.value||!X.value||(typeof window<`u`?window.getSelection()?.toString().length??0:0)>0)return;let t=e.clientY-G.value.y,n=e.clientX-G.value.x,i=me.value??r(w.position);!N.value&&(Math.abs(n)>1||Math.abs(t)>1)&&(N.value=Math.abs(n)>Math.abs(t)?`x`:`y`);let a={x:0,y:0},o=e=>1/(1.5+Math.abs(e)/20);if(N.value===`y`){if(i.includes(`up`)||i.includes(`down`))if(i.includes(`up`)&&t<0||i.includes(`down`)&&t>0)a.y=t;else{let e=t*o(t);a.y=Math.abs(e)<Math.abs(t)?e:t}}else if(N.value===`x`&&(i.includes(`left`)||i.includes(`right`)))if(i.includes(`left`)&&n<0||i.includes(`right`)&&n>0)a.x=n;else{let e=n*o(n);a.x=Math.abs(e)<Math.abs(n)?e:n}(Math.abs(a.x)>0||Math.abs(a.y)>0)&&(R.value=!0),ee(j.value,a)},Ke=()=>{I.value=!1,N.value=null,G.value=null},qe=e=>{w.toast.onAction?.(e),!e.defaultPrevented&&$()},Je=e=>{w.toast.onCancel?.(e),X.value&&$()};function Ye(e){B.value=e,T(`update:height`,{toastId:w.toast.id,height:e,position:w.toast.position??w.position})}function Xe(){let e=j.value;if(!e)return;let t=e.style.height;e.style.height=`auto`;let n=e.getBoundingClientRect().height;e.style.height=t,Ye(n)}return S(Fe,e=>{V.value=e},{immediate:!0}),S(Ae,e=>{M.value&&e&&Xe()},{flush:`post`}),S(()=>w.toast.delete,e=>{e&&($(),w.toast.onDismiss?.(w.toast))}),re(()=>{let e=w.toast;if(e.type===`loading`||e.promise||e.duration===1/0)return;let t;ge.value===w.position||he.value===w.position||je.value===`hidden`?(()=>{if(W.value<U.value){let e=Date.now()-U.value;V.value-=e}W.value=Date.now()})():V.value!==1/0&&(U.value=Date.now(),t=setTimeout(()=>{w.toast.onAutoClose?.(w.toast),$()},V.value)),ne(()=>{t!==void 0&&clearTimeout(t)})}),(e,t)=>(_(),f(`li`,g(b(ye),{ref:`toast`,class:[b(A).toast,h.toast.ui?.toast],dir:b(ce),tabindex:`0`,"data-slot":`toast`,"data-rich-color":h.toast.richColor,"data-inverted":h.toast.inverted,"data-mounted":b(M),"data-promise":!!h.toast.promise,"data-swiped":R.value,"data-removed":F.value,"data-visible":Ne.value,"data-y-position":Ie.value.y,"data-x-position":Ie.value.x,"data-index":h.index,"data-front":Me.value,"data-swiping":I.value,"data-dismissible":X.value,"data-type":K.value,"data-swipe-out":L.value,"data-swipe-direction":P.value,"data-expanded":Re.value,"data-testid":h.toast.testId,style:ze.value,onDragend:Ke,onPointerdown:Ue,onPointerup:We,onPointermove:Ge}),[p(`div`,g({ref:`wrapper`},b(be),{class:[b(A).wrapper,h.toast.ui?.wrapper],"data-slot":`wrapper`}),[h.toast.custom?(_(),u(v(h.toast.custom),{key:0})):(_(),f(te,{key:1},[p(`h3`,g(b(Se),{class:[b(A).title,h.toast.ui?.title],"data-slot":`title`}),[q.value?(_(),u(v(q.value),g({key:0},b(we),{class:[b(A).icon,h.toast.ui?.icon]}),null,16,[`class`])):d(`v-if`,!0),m(c,{is:h.toast.title},null,8,[`is`])],16),h.toast.description?(_(),f(`p`,g({key:0},b(Ce),{class:[b(A).description,h.toast.ui?.description],"data-slot":`description`}),[m(c,{is:h.toast.description},null,8,[`is`])],16)):d(`v-if`,!0),h.toast.content?(_(),u(v(h.toast.content),g({key:1},b(xe),{class:[b(A).content,h.toast.ui?.content],"data-slot":`content`}),null,16,[`class`])):d(`v-if`,!0),h.toast.action||h.toast.cancel?(_(),f(`div`,g({key:2},b(Te),{class:[b(A).footer,h.toast.ui?.footer],"data-slot":`footer`}),[(_(),u(v(Ve.value),g(b(De),{class:[b(A).cancel,h.toast.ui?.cancel],"data-slot":`cancel`,onClick:Je}),null,16,[`class`])),(_(),u(v(Be.value),g(b(Ee),{class:[b(A).action,h.toast.ui?.action],"data-slot":`action`,onClick:qe}),null,16,[`class`]))],16)):d(`v-if`,!0)],64))],16),Pe.value&&J.value?(_(),f(`button`,g({key:0},b(Oe),{class:[b(A).close,h.toast.ui?.close],"data-slot":`close`,onClick:He}),[(_(),u(v(J.value)))],16)):d(`v-if`,!0)],16,se))}});export{C as default};
1
+ import e from"../_icon/icon.js";import t from"../button/button.js";import{useToastUi as n,useToasterContext as r}from"./context.js";import{getDefaultSwipeDirections as i,getSwipeAmount as a,resetSwipeAmount as o,setSwipeAmount as ee,toastCssVars as s}from"./shared.js";import c from"./toast-render.js";import{Fragment as te,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createVNode as m,defineComponent as h,mergeProps as g,onWatcherCleanup as ne,openBlock as _,resolveDynamicComponent as v,shallowRef as y,unref as b,useTemplateRef as x,watch as S,watchEffect as re,withCtx as C}from"vue";import{useDocumentVisibility as ie,useElementSize as ae,useMounted as oe}from"@vueuse/core";const se=[`dir`,`data-rich-color`,`data-inverted`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],w=h({name:`Toast`,__name:`toast`,props:{index:{},toast:{},position:{}},emits:[`update:height`,`remove`],setup(h,{emit:w}){let T=h,E=w,{dir:ce,allToasts:le,allHeights:D,gap:ue,duration:de,visibleCounts:fe,defaultExpanded:O,swipeDirections:pe,interactingPosition:me,expandedPosition:k,showIcon:he,showClose:ge,icons:A,toastProps:_e,wrapperProps:ve,contentProps:ye,titleProps:be,descriptionProps:xe,iconProps:Se,footerProps:Ce,actionProps:we,cancelProps:Te,closeProps:Ee}=r(`Toast`),j=n(),M=x(`toast`),De=x(`wrapper`),N=oe(),{height:Oe}=ae(De),ke=ie(),P=y(null),F=y(null),I=y(!1),L=y(!1),R=y(!1),z=y(!1),B=y(0),V=y(0),H=y(T.toast.duration??de.value),U=y(null),W=y(0),G=y(0),K=y(null),q=l(()=>T.toast.type),J=l(()=>{if(he.value){if(T.toast.icon)return T.toast.icon;if(q.value&&q.value!==`default`)return A.value[q.value];if(T.toast.promise)return A.value.loading}}),Ae=l(()=>T.index===0),je=l(()=>T.index+1<=fe.value),Y=l(()=>q.value===`loading`),X=l(()=>T.toast.dismissible!==!1),Z=l(()=>Math.max(D.value[T.position].findIndex(e=>e.toastId===T.toast.id),0)),Me=l(()=>(T.toast.showClose||ge.value)&&X.value&&q.value!==`loading`),Ne=l(()=>T.toast.duration??de.value),Pe=l(()=>{let[e,t]=T.position.split(`-`);return{x:t,y:e}}),Fe=l(()=>D.value[T.position].reduce((e,t,n)=>n>=Z.value?e:e+t.height,0)),Q=l(()=>Z.value*ue.value+Fe.value),Ie=l(()=>k.value===T.position||O.value&&N.value),Le=l(()=>({[s.index]:T.index,[s.beforeIndex]:T.index,[s.zIndex]:le.value[T.position].length-T.index,[s.offset]:`${I.value?B.value:Q.value}px`,[s.initialHeight]:O.value?`auto`:`${V.value}px`})),$=()=>{I.value=!0,B.value=Q.value,window.setTimeout(()=>{E(`remove`,T.toast)},200)},Re=()=>{Y.value||!X.value||($(),T.toast.onDismiss?.(T.toast))},ze=e=>{e.button!==2&&(Y.value||!X.value||(U.value=new Date,B.value=Q.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(L.value=!0,K.value={x:e.clientX,y:e.clientY})))},Be=()=>{if(R.value||!X.value)return;K.value=null;let{x:e,y:t}=a(M.value),n=Date.now()-(U.value?.getTime()??Date.now()),r=P.value===`x`?e:t,i=Math.abs(r)/Math.max(n,1);if(Math.abs(r)>=45||i>.11){B.value=Q.value,T.toast.onDismiss?.(T.toast),P.value===`x`?F.value=e>0?`right`:`left`:F.value=t>0?`down`:`up`,$(),R.value=!0;return}o(M.value),z.value=!1,L.value=!1,P.value=null},Ve=e=>{if(!K.value||!X.value||(typeof window<`u`?window.getSelection()?.toString().length??0:0)>0)return;let t=e.clientY-K.value.y,n=e.clientX-K.value.x,r=pe.value??i(T.position);!P.value&&(Math.abs(n)>1||Math.abs(t)>1)&&(P.value=Math.abs(n)>Math.abs(t)?`x`:`y`);let a={x:0,y:0},o=e=>1/(1.5+Math.abs(e)/20);if(P.value===`y`){if(r.includes(`up`)||r.includes(`down`))if(r.includes(`up`)&&t<0||r.includes(`down`)&&t>0)a.y=t;else{let e=t*o(t);a.y=Math.abs(e)<Math.abs(t)?e:t}}else if(P.value===`x`&&(r.includes(`left`)||r.includes(`right`)))if(r.includes(`left`)&&n<0||r.includes(`right`)&&n>0)a.x=n;else{let e=n*o(n);a.x=Math.abs(e)<Math.abs(n)?e:n}(Math.abs(a.x)>0||Math.abs(a.y)>0)&&(z.value=!0),ee(M.value,a)},He=()=>{L.value=!1,P.value=null,K.value=null},Ue=e=>{T.toast.onAction?.(e),!e.defaultPrevented&&$()},We=e=>{T.toast.onCancel?.(e),X.value&&$()};function Ge(e){V.value=e,E(`update:height`,{toastId:T.toast.id,height:e,position:T.toast.position??T.position})}function Ke(){let e=M.value;if(!e)return;let t=e.style.height;e.style.height=`auto`;let n=e.getBoundingClientRect().height;e.style.height=t,Ge(n)}return S(Ne,e=>{H.value=e},{immediate:!0}),S(Oe,e=>{N.value&&e&&Ke()},{flush:`post`}),S(()=>T.toast.delete,e=>{e&&($(),T.toast.onDismiss?.(T.toast))}),re(()=>{let e=T.toast;if(e.type===`loading`||e.promise||e.duration===1/0)return;let t;k.value===T.position||me.value===T.position||ke.value===`hidden`?(()=>{if(G.value<W.value){let e=Date.now()-W.value;H.value-=e}G.value=Date.now()})():H.value!==1/0&&(W.value=Date.now(),t=setTimeout(()=>{T.toast.onAutoClose?.(T.toast),$()},H.value)),ne(()=>{t!==void 0&&clearTimeout(t)})}),(n,r)=>(_(),f(`li`,g(b(_e),{ref:`toast`,class:[b(j).toast,h.toast.ui?.toast],dir:b(ce),tabindex:`0`,"data-slot":`toast`,"data-rich-color":h.toast.richColor,"data-inverted":h.toast.inverted,"data-mounted":b(N),"data-promise":!!h.toast.promise,"data-swiped":z.value,"data-removed":I.value,"data-visible":je.value,"data-y-position":Pe.value.y,"data-x-position":Pe.value.x,"data-index":h.index,"data-front":Ae.value,"data-swiping":L.value,"data-dismissible":X.value,"data-type":q.value,"data-swipe-out":R.value,"data-swipe-direction":F.value,"data-expanded":Ie.value,"data-testid":h.toast.testId,style:Le.value,onDragend:He,onPointerdown:ze,onPointerup:Be,onPointermove:Ve}),[p(`div`,g({ref:`wrapper`},b(ve),{class:[b(j).wrapper,h.toast.ui?.wrapper],"data-slot":`wrapper`}),[h.toast.custom?(_(),u(v(h.toast.custom),{key:0})):(_(),f(te,{key:1},[p(`h3`,g(b(be),{class:[b(j).title,h.toast.ui?.title],"data-slot":`title`}),[J.value?(_(),u(e,g({key:0},b(Se),{icon:J.value,class:[b(j).icon,h.toast.ui?.icon]}),null,16,[`icon`,`class`])):d(`v-if`,!0),m(c,{is:h.toast.title},null,8,[`is`])],16),h.toast.description?(_(),f(`p`,g({key:0},b(xe),{class:[b(j).description,h.toast.ui?.description],"data-slot":`description`}),[m(c,{is:h.toast.description},null,8,[`is`])],16)):d(`v-if`,!0),h.toast.content?(_(),u(v(h.toast.content),g({key:1},b(ye),{class:[b(j).content,h.toast.ui?.content],"data-slot":`content`}),null,16,[`class`])):d(`v-if`,!0),h.toast.action||h.toast.cancel?(_(),f(`div`,g({key:2},b(Ce),{class:[b(j).footer,h.toast.ui?.footer],"data-slot":`footer`}),[h.toast.cancel?(_(),u(t,g({key:0},b(Te),{class:[b(j).cancel,h.toast.ui?.cancel],"data-slot":`cancel`,onClick:We}),{default:C(()=>[m(c,{is:h.toast.cancel},null,8,[`is`])]),_:1},16,[`class`])):d(`v-if`,!0),h.toast.action?(_(),u(t,g({key:1},b(we),{class:[b(j).action,h.toast.ui?.action],"data-slot":`action`,onClick:Ue}),{default:C(()=>[m(c,{is:h.toast.action},null,8,[`is`])]),_:1},16,[`class`])):d(`v-if`,!0)],16)):d(`v-if`,!0)],64))],16),Me.value&&b(A)?.close?(_(),u(t,g({key:0},b(Ee),{class:[b(j).close,h.toast.ui?.close],"data-slot":`close`,onClick:Re}),{default:C(()=>[m(e,{icon:b(A)?.close},null,8,[`icon`])]),_:1},16,[`class`])):d(`v-if`,!0)],16,se))}});export{w as default};
@@ -1 +1 @@
1
- import{getElFromTemplateRef as e,transformPropsToContext as t}from"../../shared/vue.js";import{isClient as n}from"../../shared/env.js";import"../../shared/index.js";import{useDirection as r}from"../config-provider/context.js";import{ToastState as i}from"./state.js";import{provideToasterContext as a,useToastUi as o}from"./context.js";import{ALL_TOAST_POSITIONS as s,DEFAULT_POSITION as c,TOAST_LIFETIME as l,isModifierHotkey as u,isToastDismiss as d,resolveOffset as f,toasterCssVars as p}from"./shared.js";import{useToastState as m}from"./hooks.js";import h from"./toast.js";import{Fragment as g,computed as _,createBlock as v,createElementBlock as y,createElementVNode as b,defineComponent as x,mergeProps as S,nextTick as C,onBeforeUnmount as w,onWatcherCleanup as T,openBlock as E,renderList as D,renderSlot as O,shallowRef as k,unref as A,useAttrs as ee,watch as j,watchEffect as M}from"vue";const N=[`aria-label`],P=[`dir`,`data-y-position`,`data-x-position`,`onBlur`,`onFocus`,`onMouseenter`,`onMousemove`,`onMouseleave`,`onDragend`,`onPointerdown`,`onPointerup`],F=x({name:`Toaster`,inheritAttrs:!1,__name:`toaster`,props:{id:{},dir:{},hotkey:{default:()=>[`altKey`,`KeyT`]},customAriaLabel:{},containerAriaLabel:{default:`Notifications`},position:{default:c},defaultExpanded:{type:Boolean},duration:{default:l},gap:{default:12},offset:{default:24},visibleCounts:{default:3},swipeDirections:{},showIcon:{type:Boolean},showClose:{type:Boolean},icons:{},iconRender:{},buttonRender:{},toastProps:{},wrapperProps:{},contentProps:{},titleProps:{},descriptionProps:{},iconProps:{},footerProps:{},actionProps:{},cancelProps:{},closeProps:{}},setup(c){let l=c,x=ee(),F=o(),I=r(()=>l.dir),L=_(()=>l.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``)),R=_(()=>l.customAriaLabel??`${l.containerAriaLabel} ${L.value}`),z={},B=(t,n)=>{z[t]=e(n)},{toasts:V,allToasts:H,filtered:U,heights:W,allHeights:G,allPositions:te,positionZIndex:K}=m({id:()=>l.id,position:()=>l.position}),q=k(null),J=k(null),Y=k(null),X=k(null),Z=_(()=>({[p.gap]:`${l.gap}px`,...f(l.offset)})),Q=e=>{q.value===e&&(q.value=null),J.value===e&&(J.value=null),X.value===e&&(X.value=null)},ne=e=>{z[e]?.focus()},re=e=>{if(W.value.findIndex(t=>t.toastId===e.toastId)!==-1){W.value=W.value.map(t=>t.toastId===e.toastId?e:t);return}let t=W.value.findIndex(t=>t.position===e.position);if(t!==-1){W.value=[...W.value.slice(0,t),e,...W.value.slice(t)];return}W.value=[e,...W.value]},ie=e=>{let t=V.value.findIndex(t=>t.id===e.id);if(t!==-1){let n=Object.assign({},V.value[t],e);V.value=[...V.value.slice(0,t),n,...V.value.slice(t+1)];return}V.value=[e,...V.value]},ae=e=>{V.value=V.value.filter(t=>t.id===e.id?(t.delete||i.dismiss(e.id),!1):!0),W.value=W.value.filter(t=>t.toastId!==e.id)},oe=(e,t)=>{let n=t.currentTarget;X.value===e&&n&&!n.contains(t.relatedTarget)&&(X.value=null,q.value===e&&J.value!==e&&(q.value=null),Y.value&&(Y.value.focus({preventScroll:!0}),Y.value=null))},se=(e,t)=>{t.target.dataset.dismissible!==`false`&&X.value!==e&&(X.value=e,Y.value=t.relatedTarget)},$=e=>{q.value=e},ce=e=>{J.value!==e&&X.value!==e&&q.value===e&&(q.value=null)},le=(e,t)=>{t.target.dataset.dismissible!==`false`&&(J.value=e,q.value=e)},ue=e=>{J.value===e&&(J.value=null)};return a({dir:I,allToasts:H,allHeights:G,interactingPosition:J,expandedPosition:q,iconRender:l.iconRender,buttonRender:l.buttonRender,...t(l,[`gap`,`duration`,`visibleCounts`,`defaultExpanded`,`swipeDirections`,`showIcon`,`showClose`,`icons`,`toastProps`,`wrapperProps`,`contentProps`,`titleProps`,`descriptionProps`,`iconProps`,`footerProps`,`actionProps`,`cancelProps`,`closeProps`])}),M(()=>{let e=i.subscribe(e=>{if(d(e)){requestAnimationFrame(()=>{V.value=V.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}C(()=>{ie(e)})});T(()=>{e()})},{flush:`post`}),j(()=>V.value.length,e=>{e===0&&(q.value=null,J.value=null,X.value=null)}),j(()=>U.value,e=>{let t=new Set(e.map(e=>e.position??l.position));q.value&&!t.has(q.value)&&(q.value=null),J.value&&!t.has(J.value)&&(J.value=null),X.value&&!t.has(X.value)&&(X.value=null)},{deep:!0}),M(()=>{if(!n)return;let e=e=>{if(l.hotkey.length>0&&l.hotkey.every(t=>u(t)?e[t]:e.code===t)){let e=U.value[0]?.position??l.position??te.value[0];q.value=e,ne(e)}let t=Object.values(z).some(e=>e===document.activeElement||e?.contains(document.activeElement));e.code===`Escape`&&t&&(q.value=null,X.value=null)};document.addEventListener(`keydown`,e),T(()=>{document.removeEventListener(`keydown`,e)})}),w(()=>{Y.value&&(Y.value.focus({preventScroll:!0}),Y.value=null,X.value=null)}),(e,t)=>(E(),y(g,null,[b(`section`,{"aria-label":R.value,tabindex:`-1`,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(E(!0),y(g,null,D(A(s),e=>(E(),y(`ol`,S({key:e},{ref_for:!0},A(x),{ref_for:!0,ref:t=>B(e,t),class:A(F).toaster,tabindex:`-1`,dir:A(I),"data-slot":`toaster`,"data-y-position":e.split(`-`)[0],"data-x-position":e.split(`-`)[1],style:{"--z-index":A(K)[e],"--front-toast-height":`${A(G)[e][0]?.height??0}px`,...Z.value},onBlur:t=>oe(e,t),onFocus:t=>se(e,t),onMouseenter:t=>$(e),onMousemove:t=>$(e),onMouseleave:t=>ce(e),onDragend:t=>Q(e),onPointerdown:t=>le(e,t),onPointerup:t=>ue(e)}),[(E(!0),y(g,null,D(A(H)[e],(t,n)=>(E(),v(h,{key:t.id,index:n,toast:t,position:e,"onUpdate:height":re,onRemove:ae},null,8,[`index`,`toast`,`position`]))),128))],16,P))),128))],8,N),O(e.$slots,`default`)],64))}});export{F as default};
1
+ import{getElFromTemplateRef as e,transformPropsToContext as t}from"../../shared/vue.js";import{isClient as n}from"../../shared/env.js";import"../../shared/index.js";import{useDirection as r}from"../config-provider/context.js";import{ToastState as i}from"./state.js";import{provideToasterContext as a,useToastUi as o}from"./context.js";import{ALL_TOAST_POSITIONS as s,DEFAULT_POSITION as c,ICONS as l,TOAST_LIFETIME as u,isModifierHotkey as d,isToastDismiss as f,resolveOffset as ee,toasterCssVars as p}from"./shared.js";import{useToastState as m}from"./hooks.js";import h from"./toast.js";import{Fragment as g,computed as _,createBlock as v,createElementBlock as y,createElementVNode as b,defineComponent as x,mergeProps as S,nextTick as te,onBeforeUnmount as C,onWatcherCleanup as w,openBlock as T,renderList as E,renderSlot as ne,shallowRef as D,unref as O,useAttrs as k,watch as A,watchEffect as j}from"vue";const M=[`aria-label`],N=[`dir`,`data-y-position`,`data-x-position`,`onBlur`,`onFocus`,`onMouseenter`,`onMousemove`,`onMouseleave`,`onDragend`,`onPointerdown`,`onPointerup`],P=x({name:`Toaster`,inheritAttrs:!1,__name:`toaster`,props:{id:{},dir:{},hotkey:{default:()=>[`altKey`,`KeyT`]},customAriaLabel:{},containerAriaLabel:{default:`Notifications`},position:{default:c},defaultExpanded:{type:Boolean},duration:{default:u},gap:{default:12},offset:{default:24},visibleCounts:{default:3},swipeDirections:{},showIcon:{type:Boolean},showClose:{type:Boolean},icons:{},toastProps:{},wrapperProps:{},contentProps:{},titleProps:{},descriptionProps:{},iconProps:{},footerProps:{},actionProps:{},cancelProps:{},closeProps:{}},setup(c){let u=c,x=k(),P=o(),F=r(()=>u.dir),I=_(()=>u.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``)),L=_(()=>u.customAriaLabel??`${u.containerAriaLabel} ${I.value}`),R={},z=(t,n)=>{R[t]=e(n)},{toasts:B,allToasts:V,filtered:H,heights:U,allHeights:W,allPositions:G,positionZIndex:K}=m({id:()=>u.id,position:()=>u.position}),q=_(()=>({...l,...u.icons})),J=D(null),Y=D(null),X=D(null),Z=D(null),re=_(()=>({[p.gap]:`${u.gap}px`,...ee(u.offset)})),ie=e=>{J.value===e&&(J.value=null),Y.value===e&&(Y.value=null),Z.value===e&&(Z.value=null)},ae=e=>{R[e]?.focus()},oe=e=>{if(U.value.findIndex(t=>t.toastId===e.toastId)!==-1){U.value=U.value.map(t=>t.toastId===e.toastId?e:t);return}let t=U.value.findIndex(t=>t.position===e.position);if(t!==-1){U.value=[...U.value.slice(0,t),e,...U.value.slice(t)];return}U.value=[e,...U.value]},se=e=>{let t=B.value.findIndex(t=>t.id===e.id);if(t!==-1){let n=Object.assign({},B.value[t],e);B.value=[...B.value.slice(0,t),n,...B.value.slice(t+1)];return}B.value=[e,...B.value]},Q=e=>{B.value=B.value.filter(t=>t.id===e.id?(t.delete||i.dismiss(e.id),!1):!0),U.value=U.value.filter(t=>t.toastId!==e.id)},ce=(e,t)=>{let n=t.currentTarget;Z.value===e&&n&&!n.contains(t.relatedTarget)&&(Z.value=null,J.value===e&&Y.value!==e&&(J.value=null),X.value&&(X.value.focus({preventScroll:!0}),X.value=null))},le=(e,t)=>{t.target.dataset.dismissible!==`false`&&Z.value!==e&&(Z.value=e,X.value=t.relatedTarget)},$=e=>{J.value=e},ue=e=>{Y.value!==e&&Z.value!==e&&J.value===e&&(J.value=null)},de=(e,t)=>{t.target.dataset.dismissible!==`false`&&(Y.value=e,J.value=e)},fe=e=>{Y.value===e&&(Y.value=null)};return a({dir:F,allToasts:V,allHeights:W,interactingPosition:Y,expandedPosition:J,icons:q,...t(u,[`gap`,`duration`,`visibleCounts`,`defaultExpanded`,`swipeDirections`,`showIcon`,`showClose`,`toastProps`,`wrapperProps`,`contentProps`,`titleProps`,`descriptionProps`,`iconProps`,`footerProps`,`actionProps`,`cancelProps`,`closeProps`])}),j(()=>{let e=i.subscribe(e=>{if(f(e)){requestAnimationFrame(()=>{B.value=B.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}te(()=>{se(e)})});w(()=>{e()})},{flush:`post`}),A(()=>B.value.length,e=>{e===0&&(J.value=null,Y.value=null,Z.value=null)}),A(()=>H.value,e=>{let t=new Set(e.map(e=>e.position??u.position));J.value&&!t.has(J.value)&&(J.value=null),Y.value&&!t.has(Y.value)&&(Y.value=null),Z.value&&!t.has(Z.value)&&(Z.value=null)},{deep:!0}),j(()=>{if(!n)return;let e=e=>{if(u.hotkey.length>0&&u.hotkey.every(t=>d(t)?e[t]:e.code===t)){let e=H.value[0]?.position??u.position??G.value[0];J.value=e,ae(e)}let t=Object.values(R).some(e=>e===document.activeElement||e?.contains(document.activeElement));e.code===`Escape`&&t&&(J.value=null,Z.value=null)};document.addEventListener(`keydown`,e),w(()=>{document.removeEventListener(`keydown`,e)})}),C(()=>{X.value&&(X.value.focus({preventScroll:!0}),X.value=null,Z.value=null)}),(e,t)=>(T(),y(g,null,[b(`section`,{"aria-label":L.value,tabindex:`-1`,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(T(!0),y(g,null,E(O(s),e=>(T(),y(`ol`,S({key:e},{ref_for:!0},O(x),{ref_for:!0,ref:t=>z(e,t),class:O(P).toaster,tabindex:`-1`,dir:O(F),"data-slot":`toaster`,"data-y-position":e.split(`-`)[0],"data-x-position":e.split(`-`)[1],style:{"--z-index":O(K)[e],"--front-toast-height":`${O(W)[e][0]?.height??0}px`,...re.value},onBlur:t=>ce(e,t),onFocus:t=>le(e,t),onMouseenter:t=>$(e),onMousemove:t=>$(e),onMouseleave:t=>ue(e),onDragend:t=>ie(e),onPointerdown:t=>de(e,t),onPointerup:t=>fe(e)}),[(T(!0),y(g,null,E(O(V)[e],(t,n)=>(T(),v(h,{key:t.id,index:n,toast:t,position:e,"onUpdate:height":oe,onRemove:Q},null,8,[`index`,`toast`,`position`]))),128))],16,N))),128))],8,M),ne(e.$slots,`default`)],64))}});export{P as default};
@@ -8,12 +8,12 @@ type __VLS_Slots = {} & {
8
8
  };
9
9
  declare const __VLS_base: _$vue.DefineComponent<ToasterProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ToasterProps> & Readonly<{}>, {
10
10
  offset: ToastOffset;
11
- gap: number;
11
+ position: ToastPosition;
12
12
  duration: number;
13
- visibleCounts: number;
13
+ gap: number;
14
14
  hotkey: string[];
15
15
  containerAriaLabel: string;
16
- position: ToastPosition;
16
+ visibleCounts: number;
17
17
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
18
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
19
  declare const _default: typeof __VLS_export;