@soybeanjs/headless 0.14.0 → 0.15.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/README.md +72 -1
  2. package/README.zh-CN.md +73 -2
  3. package/dist/_virtual/_@oxc-project_runtime@0.126.0/helpers/defineProperty.js +1 -0
  4. package/dist/_virtual/_@oxc-project_runtime@0.126.0/helpers/toPrimitive.js +1 -0
  5. package/dist/_virtual/_@oxc-project_runtime@0.126.0/helpers/toPropertyKey.js +1 -0
  6. package/dist/_virtual/_@oxc-project_runtime@0.126.0/helpers/typeof.js +1 -0
  7. package/dist/components/accordion/accordion-compact.js +1 -0
  8. package/dist/components/accordion/accordion-compact.vue.d.ts +21 -0
  9. package/dist/components/accordion/accordion-content.js +1 -1
  10. package/dist/components/accordion/accordion-content.vue.d.ts +2 -2
  11. package/dist/components/accordion/accordion-header.js +1 -1
  12. package/dist/components/accordion/accordion-item.js +1 -1
  13. package/dist/components/accordion/accordion-root.js +1 -1
  14. package/dist/components/accordion/accordion-trigger.js +1 -1
  15. package/dist/components/accordion/accordion-trigger.vue.d.ts +2 -2
  16. package/dist/components/accordion/context.js +1 -1
  17. package/dist/components/accordion/index.d.ts +8 -8
  18. package/dist/components/accordion/index.js +1 -1
  19. package/dist/components/accordion/types.d.ts +38 -2
  20. package/dist/components/affix/affix-content.js +1 -0
  21. package/dist/components/affix/affix-content.vue.d.ts +20 -0
  22. package/dist/components/affix/affix-placeholder.js +1 -0
  23. package/dist/components/affix/affix-placeholder.vue.d.ts +8 -0
  24. package/dist/components/affix/affix-root.js +1 -0
  25. package/dist/components/affix/affix-root.vue.d.ts +28 -0
  26. package/dist/components/affix/context.d.ts +8 -0
  27. package/dist/components/affix/context.js +1 -0
  28. package/dist/components/affix/index.d.ts +6 -0
  29. package/dist/components/affix/index.js +1 -0
  30. package/dist/components/affix/shared.js +1 -0
  31. package/dist/components/affix/types.d.ts +39 -0
  32. package/dist/components/alert-dialog/alert-dialog-content.vue.d.ts +2 -2
  33. package/dist/components/anchor/anchor-link.js +1 -0
  34. package/dist/components/{toast/toast-close.vue.d.ts → anchor/anchor-link.vue.d.ts} +3 -3
  35. package/dist/components/anchor/anchor-root.js +1 -0
  36. package/dist/components/anchor/anchor-root.vue.d.ts +38 -0
  37. package/dist/components/anchor/context.d.ts +8 -0
  38. package/dist/components/anchor/context.js +1 -0
  39. package/dist/components/anchor/index.d.ts +5 -0
  40. package/dist/components/anchor/index.js +1 -0
  41. package/dist/components/anchor/shared.js +1 -0
  42. package/dist/components/anchor/types.d.ts +32 -0
  43. package/dist/components/autocomplete/autocomplete-anchor.js +1 -0
  44. package/dist/components/autocomplete/autocomplete-anchor.vue.d.ts +21 -0
  45. package/dist/components/autocomplete/autocomplete-content.js +1 -0
  46. package/dist/components/autocomplete/autocomplete-content.vue.d.ts +24 -0
  47. package/dist/components/autocomplete/autocomplete-group-label.js +1 -0
  48. package/dist/components/autocomplete/autocomplete-group-label.vue.d.ts +18 -0
  49. package/dist/components/autocomplete/autocomplete-group.js +1 -0
  50. package/dist/components/autocomplete/autocomplete-group.vue.d.ts +18 -0
  51. package/dist/components/autocomplete/autocomplete-input.js +1 -0
  52. package/dist/components/autocomplete/autocomplete-input.vue.d.ts +28 -0
  53. package/dist/components/autocomplete/autocomplete-item-indicator.js +1 -0
  54. package/dist/components/autocomplete/autocomplete-item-indicator.vue.d.ts +18 -0
  55. package/dist/components/autocomplete/autocomplete-item.js +1 -0
  56. package/dist/components/autocomplete/autocomplete-item.vue.d.ts +26 -0
  57. package/dist/components/autocomplete/autocomplete-root.js +1 -0
  58. package/dist/components/autocomplete/autocomplete-root.vue.d.ts +35 -0
  59. package/dist/components/autocomplete/autocomplete-separator.js +1 -0
  60. package/dist/components/autocomplete/autocomplete-separator.vue.d.ts +18 -0
  61. package/dist/components/autocomplete/autocomplete-trigger.js +1 -0
  62. package/dist/components/autocomplete/autocomplete-trigger.vue.d.ts +21 -0
  63. package/dist/components/autocomplete/autocomplete-viewport.js +1 -0
  64. package/dist/components/autocomplete/autocomplete-viewport.vue.d.ts +18 -0
  65. package/dist/components/autocomplete/context.d.ts +8 -0
  66. package/dist/components/autocomplete/context.js +1 -0
  67. package/dist/components/autocomplete/index.d.ts +16 -0
  68. package/dist/components/autocomplete/index.js +1 -0
  69. package/dist/components/autocomplete/types.d.ts +57 -0
  70. package/dist/components/carousel/carousel-content.js +1 -0
  71. package/dist/components/carousel/carousel-content.vue.d.ts +18 -0
  72. package/dist/components/carousel/carousel-item.js +1 -0
  73. package/dist/components/carousel/carousel-item.vue.d.ts +18 -0
  74. package/dist/components/carousel/carousel-next.js +1 -0
  75. package/dist/components/carousel/carousel-next.vue.d.ts +28 -0
  76. package/dist/components/carousel/carousel-previous.js +1 -0
  77. package/dist/components/carousel/carousel-previous.vue.d.ts +28 -0
  78. package/dist/components/carousel/carousel-root.js +1 -0
  79. package/dist/components/carousel/carousel-root.vue.d.ts +15 -0
  80. package/dist/components/carousel/context.d.ts +8 -0
  81. package/dist/components/carousel/context.js +1 -0
  82. package/dist/components/carousel/index.d.ts +8 -0
  83. package/dist/components/carousel/index.js +1 -0
  84. package/dist/components/carousel/types.d.ts +26 -0
  85. package/dist/components/checkbox/checkbox-group-root.js +1 -1
  86. package/dist/components/collapsible/collapsible-root.vue.d.ts +1 -1
  87. package/dist/components/color-area/color-area-area.js +1 -0
  88. package/dist/components/{toast/toast-viewport.vue.d.ts → color-area/color-area-area.vue.d.ts} +3 -5
  89. package/dist/components/color-area/color-area-root.js +1 -0
  90. package/dist/components/color-area/color-area-root.vue.d.ts +39 -0
  91. package/dist/components/color-area/color-area-thumb.js +1 -0
  92. package/dist/components/color-area/color-area-thumb.vue.d.ts +21 -0
  93. package/dist/components/color-area/context.d.ts +8 -0
  94. package/dist/components/color-area/context.js +1 -0
  95. package/dist/components/color-area/index.d.ts +6 -0
  96. package/dist/components/color-area/index.js +1 -0
  97. package/dist/components/color-area/shared.js +1 -0
  98. package/dist/components/color-area/types.d.ts +31 -0
  99. package/dist/components/color-field/color-field-input.js +1 -0
  100. package/dist/components/color-field/color-field-input.vue.d.ts +8 -0
  101. package/dist/components/color-field/color-field-root.js +1 -0
  102. package/dist/components/color-field/color-field-root.vue.d.ts +36 -0
  103. package/dist/components/color-field/context.d.ts +8 -0
  104. package/dist/components/color-field/context.js +1 -0
  105. package/dist/components/color-field/index.d.ts +5 -0
  106. package/dist/components/color-field/index.js +1 -0
  107. package/dist/components/color-field/types.d.ts +28 -0
  108. package/dist/components/color-picker/color-picker-root.js +1 -0
  109. package/dist/components/color-picker/color-picker-root.vue.d.ts +40 -0
  110. package/dist/components/color-picker/index.d.ts +3 -0
  111. package/dist/components/color-picker/index.js +1 -0
  112. package/dist/components/color-picker/types.d.ts +24 -0
  113. package/dist/components/color-slider/color-slider-root.js +1 -0
  114. package/dist/components/color-slider/color-slider-root.vue.d.ts +39 -0
  115. package/dist/components/color-slider/color-slider-thumb.js +1 -0
  116. package/dist/components/color-slider/color-slider-thumb.vue.d.ts +21 -0
  117. package/dist/components/color-slider/color-slider-track.js +1 -0
  118. package/dist/components/color-slider/color-slider-track.vue.d.ts +18 -0
  119. package/dist/components/color-slider/context.d.ts +8 -0
  120. package/dist/components/color-slider/context.js +1 -0
  121. package/dist/components/color-slider/index.d.ts +6 -0
  122. package/dist/components/color-slider/index.js +1 -0
  123. package/dist/components/color-slider/types.d.ts +31 -0
  124. package/dist/components/color-swatch/color-swatch.js +1 -0
  125. package/dist/components/color-swatch/color-swatch.vue.d.ts +26 -0
  126. package/dist/components/color-swatch/index.d.ts +3 -0
  127. package/dist/components/color-swatch/index.js +1 -0
  128. package/dist/components/color-swatch/types.d.ts +11 -0
  129. package/dist/components/color-swatch-picker/color-swatch-picker-item-indicator.js +1 -0
  130. package/dist/components/color-swatch-picker/color-swatch-picker-item-indicator.vue.d.ts +18 -0
  131. package/dist/components/color-swatch-picker/color-swatch-picker-item-swatch.js +1 -0
  132. package/dist/components/color-swatch-picker/color-swatch-picker-item-swatch.vue.d.ts +18 -0
  133. package/dist/components/color-swatch-picker/color-swatch-picker-item.js +1 -0
  134. package/dist/components/color-swatch-picker/color-swatch-picker-item.vue.d.ts +23 -0
  135. package/dist/components/color-swatch-picker/color-swatch-picker-root.js +1 -0
  136. package/dist/components/color-swatch-picker/color-swatch-picker-root.vue.d.ts +30 -0
  137. package/dist/components/color-swatch-picker/context.d.ts +8 -0
  138. package/dist/components/color-swatch-picker/context.js +1 -0
  139. package/dist/components/color-swatch-picker/index.d.ts +7 -0
  140. package/dist/components/color-swatch-picker/index.js +1 -0
  141. package/dist/components/color-swatch-picker/types.d.ts +18 -0
  142. package/dist/components/combobox/combobox-content.js +1 -0
  143. package/dist/components/combobox/combobox-content.vue.d.ts +36 -0
  144. package/dist/components/combobox/combobox-empty.js +1 -0
  145. package/dist/components/combobox/combobox-empty.vue.d.ts +18 -0
  146. package/dist/components/combobox/combobox-group-label.js +1 -0
  147. package/dist/components/combobox/combobox-group-label.vue.d.ts +18 -0
  148. package/dist/components/combobox/combobox-group.js +1 -0
  149. package/dist/components/combobox/combobox-group.vue.d.ts +18 -0
  150. package/dist/components/combobox/combobox-input.js +1 -0
  151. package/dist/components/combobox/combobox-input.vue.d.ts +28 -0
  152. package/dist/components/combobox/combobox-item-indicator.js +1 -0
  153. package/dist/components/combobox/combobox-item-indicator.vue.d.ts +21 -0
  154. package/dist/components/combobox/combobox-item.js +1 -0
  155. package/dist/components/combobox/combobox-item.vue.d.ts +23 -0
  156. package/dist/components/combobox/combobox-root.js +1 -0
  157. package/dist/components/combobox/combobox-root.vue.d.ts +32 -0
  158. package/dist/components/combobox/combobox-separator.js +1 -0
  159. package/dist/components/combobox/combobox-separator.vue.d.ts +18 -0
  160. package/dist/components/combobox/combobox-trigger.js +1 -0
  161. package/dist/components/combobox/combobox-trigger.vue.d.ts +24 -0
  162. package/dist/components/combobox/combobox-viewport.js +9 -0
  163. package/dist/components/combobox/combobox-viewport.vue.d.ts +18 -0
  164. package/dist/components/combobox/context.d.ts +8 -0
  165. package/dist/components/combobox/context.js +1 -0
  166. package/dist/components/combobox/index.d.ts +16 -0
  167. package/dist/components/combobox/index.js +1 -0
  168. package/dist/components/combobox/types.d.ts +49 -0
  169. package/dist/components/config-provider/config-provider.js +1 -1
  170. package/dist/components/config-provider/config-provider.vue.d.ts +1 -1
  171. package/dist/components/config-provider/types.d.ts +8 -0
  172. package/dist/components/context-menu/context-menu-checkbox-compact.js +1 -0
  173. package/dist/components/context-menu/context-menu-checkbox-compact.vue.d.ts +33 -0
  174. package/dist/components/context-menu/context-menu-compact.js +1 -0
  175. package/dist/components/context-menu/context-menu-compact.vue.d.ts +32 -0
  176. package/dist/components/context-menu/context-menu-content.vue.d.ts +4 -4
  177. package/dist/components/context-menu/context-menu-radio-compact.js +1 -0
  178. package/dist/components/context-menu/context-menu-radio-compact.vue.d.ts +33 -0
  179. package/dist/components/context-menu/context-menu-trigger.js +1 -1
  180. package/dist/components/context-menu/context-menu-wrapper-compact.js +1 -0
  181. package/dist/components/context-menu/context-menu-wrapper-compact.vue.d.ts +41 -0
  182. package/dist/components/context-menu/index.d.ts +23 -19
  183. package/dist/components/context-menu/index.js +1 -1
  184. package/dist/components/context-menu/types.d.ts +30 -2
  185. package/dist/components/dialog/dialog-content.vue.d.ts +2 -2
  186. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.js +1 -0
  187. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.vue.d.ts +33 -0
  188. package/dist/components/dropdown-menu/dropdown-menu-compact.js +1 -0
  189. package/dist/components/dropdown-menu/dropdown-menu-compact.vue.d.ts +32 -0
  190. package/dist/components/dropdown-menu/dropdown-menu-content.vue.d.ts +7 -7
  191. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.js +1 -0
  192. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.vue.d.ts +33 -0
  193. package/dist/components/dropdown-menu/dropdown-menu-root.vue.d.ts +1 -1
  194. package/dist/components/dropdown-menu/dropdown-menu-trigger.vue.d.ts +2 -2
  195. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.js +1 -0
  196. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.vue.d.ts +42 -0
  197. package/dist/components/dropdown-menu/index.d.ts +24 -20
  198. package/dist/components/dropdown-menu/index.js +1 -1
  199. package/dist/components/dropdown-menu/types.d.ts +33 -2
  200. package/dist/components/editable/context.d.ts +8 -0
  201. package/dist/components/editable/context.js +1 -0
  202. package/dist/components/editable/editable-area.js +1 -0
  203. package/dist/components/editable/editable-area.vue.d.ts +21 -0
  204. package/dist/components/editable/editable-cancel-trigger.js +1 -0
  205. package/dist/components/editable/editable-cancel-trigger.vue.d.ts +21 -0
  206. package/dist/components/editable/editable-edit-trigger.js +1 -0
  207. package/dist/components/editable/editable-edit-trigger.vue.d.ts +21 -0
  208. package/dist/components/editable/editable-input.js +1 -0
  209. package/dist/components/editable/editable-input.vue.d.ts +18 -0
  210. package/dist/components/editable/editable-preview.js +1 -0
  211. package/dist/components/editable/editable-preview.vue.d.ts +21 -0
  212. package/dist/components/editable/editable-root.js +1 -0
  213. package/dist/components/editable/editable-root.vue.d.ts +52 -0
  214. package/dist/components/editable/editable-submit-trigger.js +1 -0
  215. package/dist/components/editable/editable-submit-trigger.vue.d.ts +21 -0
  216. package/dist/components/editable/index.d.ts +10 -0
  217. package/dist/components/editable/index.js +1 -0
  218. package/dist/components/editable/types.d.ts +59 -0
  219. package/dist/components/empty/context.d.ts +8 -0
  220. package/dist/components/empty/context.js +1 -0
  221. package/dist/components/empty/empty-content.js +1 -0
  222. package/dist/components/empty/empty-content.vue.d.ts +18 -0
  223. package/dist/components/empty/empty-description.js +1 -0
  224. package/dist/components/{toast/toast-description.vue.d.ts → empty/empty-description.vue.d.ts} +3 -3
  225. package/dist/components/empty/empty-header.js +1 -0
  226. package/dist/components/empty/empty-header.vue.d.ts +18 -0
  227. package/dist/components/empty/empty-media.js +1 -0
  228. package/dist/components/{toast/toast-title.vue.d.ts → empty/empty-media.vue.d.ts} +3 -3
  229. package/dist/components/empty/empty-root.js +1 -0
  230. package/dist/components/empty/empty-root.vue.d.ts +18 -0
  231. package/dist/components/empty/empty-title.js +1 -0
  232. package/dist/components/empty/empty-title.vue.d.ts +18 -0
  233. package/dist/components/empty/index.d.ts +9 -0
  234. package/dist/components/empty/index.js +1 -0
  235. package/dist/components/empty/types.d.ts +14 -0
  236. package/dist/components/hover-card/context.js +1 -0
  237. package/dist/components/hover-card/hover-card-popup.js +1 -0
  238. package/dist/components/hover-card/hover-card-popup.vue.d.ts +18 -0
  239. package/dist/components/hover-card/hover-card-positioner-impl.js +1 -0
  240. package/dist/components/hover-card/hover-card-positioner.js +1 -0
  241. package/dist/components/hover-card/hover-card-positioner.vue.d.ts +29 -0
  242. package/dist/components/hover-card/hover-card-root.js +1 -0
  243. package/dist/components/hover-card/hover-card-root.vue.d.ts +29 -0
  244. package/dist/components/hover-card/hover-card-trigger.js +1 -0
  245. package/dist/components/hover-card/hover-card-trigger.vue.d.ts +21 -0
  246. package/dist/components/hover-card/index.d.ts +11 -0
  247. package/dist/components/hover-card/index.js +1 -0
  248. package/dist/components/hover-card/shared.js +1 -0
  249. package/dist/components/hover-card/types.d.ts +27 -0
  250. package/dist/components/icon/icon-render.js +1 -0
  251. package/dist/components/icon/icon-render.vue.d.ts +8 -0
  252. package/dist/components/icon/index.d.ts +3 -0
  253. package/dist/components/icon/index.js +1 -0
  254. package/dist/components/icon/types.d.ts +9 -0
  255. package/dist/components/input/input-control.js +1 -1
  256. package/dist/components/input-number/input-number-root.vue.d.ts +1 -1
  257. package/dist/components/kbd/kbd.js +1 -1
  258. package/dist/components/kbd/kbd.vue.d.ts +3 -1
  259. package/dist/components/link/link.js +1 -1
  260. package/dist/components/link/link.vue.d.ts +1 -1
  261. package/dist/components/listbox/listbox-filter.js +1 -1
  262. package/dist/components/listbox/listbox-root.vue.d.ts +2 -2
  263. package/dist/components/listbox/types.d.ts +1 -1
  264. package/dist/components/menu/context.js +1 -1
  265. package/dist/components/menu/hooks.js +1 -0
  266. package/dist/components/menu/index.d.ts +20 -16
  267. package/dist/components/menu/index.js +1 -1
  268. package/dist/components/menu/menu-checkbox-options-compact.js +1 -0
  269. package/dist/components/menu/menu-checkbox-options-compact.vue.d.ts +23 -0
  270. package/dist/components/menu/menu-content-impl.js +1 -1
  271. package/dist/components/menu/menu-content.vue.d.ts +4 -4
  272. package/dist/components/menu/menu-item-slot-compact.js +1 -0
  273. package/dist/components/menu/menu-option-compact.js +1 -0
  274. package/dist/components/menu/menu-option-compact.vue.d.ts +31 -0
  275. package/dist/components/menu/menu-options-compact.js +1 -0
  276. package/dist/components/menu/menu-options-compact.vue.d.ts +31 -0
  277. package/dist/components/menu/menu-radio-options-compact.js +1 -0
  278. package/dist/components/menu/menu-radio-options-compact.vue.d.ts +23 -0
  279. package/dist/components/menu/menu-root.js +1 -1
  280. package/dist/components/menu/menu-sub-content.js +1 -1
  281. package/dist/components/menu/menu-sub-content.vue.d.ts +4 -4
  282. package/dist/components/menu/menu-sub-trigger.js +1 -1
  283. package/dist/components/menu/shared.js +1 -1
  284. package/dist/components/menu/types.d.ts +119 -4
  285. package/dist/components/menubar/context.d.ts +8 -0
  286. package/dist/components/menubar/context.js +1 -0
  287. package/dist/components/menubar/index.d.ts +22 -0
  288. package/dist/components/menubar/index.js +1 -0
  289. package/dist/components/menubar/menubar-compact.js +1 -0
  290. package/dist/components/menubar/menubar-compact.vue.d.ts +33 -0
  291. package/dist/components/menubar/menubar-content.js +1 -0
  292. package/dist/components/menubar/menubar-content.vue.d.ts +38 -0
  293. package/dist/components/menubar/menubar-menu.js +1 -0
  294. package/dist/components/menubar/menubar-menu.vue.d.ts +22 -0
  295. package/dist/components/menubar/menubar-root.js +1 -0
  296. package/dist/components/menubar/menubar-root.vue.d.ts +29 -0
  297. package/dist/components/menubar/menubar-sub-content.js +1 -0
  298. package/dist/components/menubar/menubar-sub-content.vue.d.ts +35 -0
  299. package/dist/components/menubar/menubar-sub-trigger.js +1 -0
  300. package/dist/components/menubar/menubar-sub-trigger.vue.d.ts +18 -0
  301. package/dist/components/menubar/menubar-trigger.js +1 -0
  302. package/dist/components/menubar/menubar-trigger.vue.d.ts +21 -0
  303. package/dist/components/menubar/shared.js +1 -0
  304. package/dist/components/menubar/types.d.ts +54 -0
  305. package/dist/components/navigation-menu/navigation-menu-root.vue.d.ts +1 -1
  306. package/dist/components/popover/index.d.ts +2 -2
  307. package/dist/components/popover/popover-positioner.vue.d.ts +2 -2
  308. package/dist/components/popper/popper-positioner.vue.d.ts +2 -2
  309. package/dist/components/progress/context.d.ts +8 -0
  310. package/dist/components/progress/context.js +1 -0
  311. package/dist/components/progress/index.d.ts +6 -0
  312. package/dist/components/progress/index.js +1 -0
  313. package/dist/components/progress/progress-circle.js +1 -0
  314. package/dist/components/progress/progress-circle.vue.d.ts +25 -0
  315. package/dist/components/progress/progress-indicator.js +1 -0
  316. package/dist/components/progress/progress-indicator.vue.d.ts +21 -0
  317. package/dist/components/progress/progress-root.js +1 -0
  318. package/dist/components/progress/progress-root.vue.d.ts +33 -0
  319. package/dist/components/progress/shared.js +1 -0
  320. package/dist/components/progress/types.d.ts +34 -0
  321. package/dist/components/radio-group/radio-group-root.js +1 -1
  322. package/dist/components/roving-focus/roving-focus-group.vue.d.ts +1 -1
  323. package/dist/components/scroll-area/context.d.ts +8 -0
  324. package/dist/components/scroll-area/context.js +1 -0
  325. package/dist/components/scroll-area/index.d.ts +8 -0
  326. package/dist/components/scroll-area/index.js +1 -0
  327. package/dist/components/scroll-area/scroll-area-corner.js +1 -0
  328. package/dist/components/scroll-area/scroll-area-corner.vue.d.ts +21 -0
  329. package/dist/components/scroll-area/scroll-area-root.js +1 -0
  330. package/dist/components/scroll-area/scroll-area-root.vue.d.ts +23 -0
  331. package/dist/components/scroll-area/scroll-area-scrollbar.js +1 -0
  332. package/dist/components/scroll-area/scroll-area-scrollbar.vue.d.ts +22 -0
  333. package/dist/components/scroll-area/scroll-area-thumb.js +1 -0
  334. package/dist/components/scroll-area/scroll-area-thumb.vue.d.ts +21 -0
  335. package/dist/components/scroll-area/scroll-area-viewport.js +1 -0
  336. package/dist/components/scroll-area/scroll-area-viewport.vue.d.ts +21 -0
  337. package/dist/components/scroll-area/shared.js +1 -0
  338. package/dist/components/scroll-area/types.d.ts +31 -0
  339. package/dist/components/select/select-content.vue.d.ts +3 -3
  340. package/dist/components/select/select-viewport.js +1 -1
  341. package/dist/components/skeleton/index.d.ts +3 -0
  342. package/dist/components/skeleton/index.js +1 -0
  343. package/dist/components/skeleton/skeleton.js +1 -0
  344. package/dist/components/skeleton/skeleton.vue.d.ts +21 -0
  345. package/dist/components/skeleton/types.d.ts +7 -0
  346. package/dist/components/slider/context.d.ts +8 -0
  347. package/dist/components/slider/context.js +1 -0
  348. package/dist/components/slider/index.d.ts +7 -0
  349. package/dist/components/slider/index.js +1 -0
  350. package/dist/components/slider/shared.js +1 -0
  351. package/dist/components/slider/slider-range.js +1 -0
  352. package/dist/components/slider/slider-range.vue.d.ts +21 -0
  353. package/dist/components/slider/slider-root.js +1 -0
  354. package/dist/components/slider/slider-root.vue.d.ts +41 -0
  355. package/dist/components/slider/slider-thumb.js +1 -0
  356. package/dist/components/slider/slider-thumb.vue.d.ts +21 -0
  357. package/dist/components/slider/slider-track.js +1 -0
  358. package/dist/components/{toast/toast-action.vue.d.ts → slider/slider-track.vue.d.ts} +3 -3
  359. package/dist/components/slider/types.d.ts +69 -0
  360. package/dist/components/splitter/context.d.ts +8 -0
  361. package/dist/components/splitter/context.js +1 -0
  362. package/dist/components/splitter/index.d.ts +6 -0
  363. package/dist/components/splitter/index.js +1 -0
  364. package/dist/components/splitter/shared.js +1 -0
  365. package/dist/components/splitter/splitter-group.js +1 -0
  366. package/dist/components/splitter/splitter-group.vue.d.ts +32 -0
  367. package/dist/components/splitter/splitter-panel.js +1 -0
  368. package/dist/components/splitter/splitter-panel.vue.d.ts +51 -0
  369. package/dist/components/splitter/splitter-resize-handle.js +1 -0
  370. package/dist/components/splitter/splitter-resize-handle.vue.d.ts +30 -0
  371. package/dist/components/splitter/types.d.ts +127 -0
  372. package/dist/components/stepper/context.d.ts +8 -0
  373. package/dist/components/stepper/context.js +1 -0
  374. package/dist/components/stepper/index.d.ts +10 -0
  375. package/dist/components/stepper/index.js +1 -0
  376. package/dist/components/stepper/stepper-description.js +1 -0
  377. package/dist/components/stepper/stepper-description.vue.d.ts +21 -0
  378. package/dist/components/stepper/stepper-indicator.js +1 -0
  379. package/dist/components/stepper/stepper-indicator.vue.d.ts +23 -0
  380. package/dist/components/stepper/stepper-item.js +1 -0
  381. package/dist/components/stepper/stepper-item.vue.d.ts +25 -0
  382. package/dist/components/stepper/stepper-root.js +1 -0
  383. package/dist/components/stepper/stepper-root.vue.d.ts +56 -0
  384. package/dist/components/stepper/stepper-separator.js +1 -0
  385. package/dist/components/stepper/stepper-separator.vue.d.ts +20 -0
  386. package/dist/components/stepper/stepper-title.js +1 -0
  387. package/dist/components/stepper/stepper-title.vue.d.ts +21 -0
  388. package/dist/components/stepper/stepper-trigger.js +1 -0
  389. package/dist/components/stepper/stepper-trigger.vue.d.ts +21 -0
  390. package/dist/components/stepper/types.d.ts +55 -0
  391. package/dist/components/table/context.js +1 -1
  392. package/dist/components/table/hooks.js +1 -0
  393. package/dist/components/table/index.d.ts +10 -8
  394. package/dist/components/table/index.js +1 -1
  395. package/dist/components/table/shared.d.ts +39 -0
  396. package/dist/components/table/shared.js +1 -0
  397. package/dist/components/table/table-compact-cell.js +1 -0
  398. package/dist/components/table/table-compact-head.js +1 -0
  399. package/dist/components/table/table-compact-row.js +1 -0
  400. package/dist/components/table/table-compact.js +1 -0
  401. package/dist/components/table/table-compact.vue.d.ts +25 -0
  402. package/dist/components/table/table-content.js +1 -1
  403. package/dist/components/table/table-root.js +1 -1
  404. package/dist/components/table/table-virtual-spacer-row.js +1 -0
  405. package/dist/components/table/types.d.ts +315 -5
  406. package/dist/components/tabs/tabs-root.vue.d.ts +1 -1
  407. package/dist/components/tags-input/context.d.ts +8 -0
  408. package/dist/components/tags-input/context.js +1 -0
  409. package/dist/components/tags-input/index.d.ts +9 -0
  410. package/dist/components/tags-input/index.js +1 -0
  411. package/dist/components/tags-input/tags-input-clear.js +1 -0
  412. package/dist/components/tags-input/tags-input-clear.vue.d.ts +21 -0
  413. package/dist/components/tags-input/tags-input-input.js +1 -0
  414. package/dist/components/tags-input/tags-input-input.vue.d.ts +21 -0
  415. package/dist/components/tags-input/tags-input-item-delete.js +1 -0
  416. package/dist/components/tags-input/tags-input-item-delete.vue.d.ts +21 -0
  417. package/dist/components/tags-input/tags-input-item-text.js +1 -0
  418. package/dist/components/tags-input/tags-input-item-text.vue.d.ts +21 -0
  419. package/dist/components/tags-input/tags-input-item.js +1 -0
  420. package/dist/components/tags-input/tags-input-item.vue.d.ts +21 -0
  421. package/dist/components/tags-input/tags-input-root.js +1 -0
  422. package/dist/components/tags-input/tags-input-root.vue.d.ts +28 -0
  423. package/dist/components/tags-input/types.d.ts +63 -0
  424. package/dist/components/toast/context.d.ts +3 -4
  425. package/dist/components/toast/context.js +1 -1
  426. package/dist/components/toast/hooks.js +1 -0
  427. package/dist/components/toast/index.d.ts +5 -12
  428. package/dist/components/toast/index.js +1 -1
  429. package/dist/components/toast/shared.js +1 -1
  430. package/dist/components/toast/state.d.ts +27 -0
  431. package/dist/components/toast/state.js +1 -0
  432. package/dist/components/toast/toast-render.js +1 -0
  433. package/dist/components/toast/toast.js +1 -0
  434. package/dist/components/toast/toaster.js +1 -0
  435. package/dist/components/toast/toaster.vue.d.ts +26 -0
  436. package/dist/components/toast/types.d.ts +98 -80
  437. package/dist/components/toggle/index.d.ts +3 -0
  438. package/dist/components/toggle/index.js +1 -0
  439. package/dist/components/toggle/toggle.js +1 -0
  440. package/dist/components/toggle/toggle.vue.d.ts +33 -0
  441. package/dist/components/toggle/types.d.ts +27 -0
  442. package/dist/components/toggle-group/context.d.ts +8 -0
  443. package/dist/components/toggle-group/context.js +1 -0
  444. package/dist/components/toggle-group/index.d.ts +5 -0
  445. package/dist/components/toggle-group/index.js +1 -0
  446. package/dist/components/toggle-group/toggle-group-item.js +1 -0
  447. package/dist/components/toggle-group/toggle-group-item.vue.d.ts +25 -0
  448. package/dist/components/toggle-group/toggle-group-root.js +1 -0
  449. package/dist/components/toggle-group/toggle-group-root.vue.d.ts +26 -0
  450. package/dist/components/toggle-group/types.d.ts +30 -0
  451. package/dist/components/toolbar/context.d.ts +8 -0
  452. package/dist/components/toolbar/context.js +1 -0
  453. package/dist/components/toolbar/index.d.ts +9 -0
  454. package/dist/components/toolbar/index.js +1 -0
  455. package/dist/components/toolbar/toolbar-button.js +1 -0
  456. package/dist/components/toolbar/toolbar-button.vue.d.ts +22 -0
  457. package/dist/components/toolbar/toolbar-link.js +1 -0
  458. package/dist/components/toolbar/toolbar-link.vue.d.ts +21 -0
  459. package/dist/components/toolbar/toolbar-root.js +1 -0
  460. package/dist/components/toolbar/toolbar-root.vue.d.ts +21 -0
  461. package/dist/components/toolbar/toolbar-separator.js +1 -0
  462. package/dist/components/toolbar/toolbar-separator.vue.d.ts +18 -0
  463. package/dist/components/toolbar/toolbar-toggle-group.js +1 -0
  464. package/dist/components/toolbar/toolbar-toggle-group.vue.d.ts +24 -0
  465. package/dist/components/toolbar/toolbar-toggle-item.js +1 -0
  466. package/dist/components/toolbar/toolbar-toggle-item.vue.d.ts +22 -0
  467. package/dist/components/toolbar/types.d.ts +36 -0
  468. package/dist/components/tooltip/tooltip-popup.js +1 -1
  469. package/dist/components/tree-menu/context.js +1 -1
  470. package/dist/components/tree-menu/tree-menu-collapsible.js +1 -1
  471. package/dist/components/tree-menu/tree-menu-root.vue.d.ts +1 -1
  472. package/dist/components/tree-menu/types.d.ts +1 -1
  473. package/dist/components/visually-hidden/visually-hidden-input-bubble.js +1 -1
  474. package/dist/components/visually-hidden/visually-hidden-input.vue.d.ts +1 -1
  475. package/dist/components/visually-hidden/visually-hidden.vue.d.ts +1 -1
  476. package/dist/composables/use-dismissable-layer.js +1 -1
  477. package/dist/composables/use-focus-scope.js +1 -1
  478. package/dist/constants/components.d.ts +25 -0
  479. package/dist/constants/components.js +1 -1
  480. package/dist/index.d.ts +399 -235
  481. package/dist/index.js +1 -1
  482. package/dist/namespaced/index.d.ts +732 -460
  483. package/dist/namespaced/index.js +1 -1
  484. package/dist/node_modules/.pnpm/@soybeanjs_utils@0.1.0/node_modules/@soybeanjs/utils/dist/index.js +1 -0
  485. package/dist/shared/color.d.ts +42 -0
  486. package/dist/shared/color.js +1 -0
  487. package/dist/shared/index.d.ts +3 -2
  488. package/dist/shared/index.js +1 -1
  489. package/dist/shared/vue.d.ts +4 -2
  490. package/dist/shared/vue.js +1 -1
  491. package/dist/types/common.d.ts +2 -1
  492. package/dist/types/event.d.ts +1 -10
  493. package/dist/types/index.d.ts +2 -2
  494. package/package.json +11 -9
  495. package/dist/components/toast/toast-action.js +0 -1
  496. package/dist/components/toast/toast-announce.js +0 -1
  497. package/dist/components/toast/toast-close.js +0 -1
  498. package/dist/components/toast/toast-description.js +0 -1
  499. package/dist/components/toast/toast-focus-proxy.js +0 -1
  500. package/dist/components/toast/toast-provider.js +0 -1
  501. package/dist/components/toast/toast-provider.vue.d.ts +0 -24
  502. package/dist/components/toast/toast-root.js +0 -1
  503. package/dist/components/toast/toast-root.vue.d.ts +0 -46
  504. package/dist/components/toast/toast-title.js +0 -1
  505. package/dist/components/toast/toast-viewport.js +0 -1
@@ -0,0 +1,21 @@
1
+ import { AsTag } from "../primitive/types.js";
2
+ import { ScrollAreaThumbProps } from "./types.js";
3
+ import * as _$vue from "vue";
4
+
5
+ //#region src/components/scroll-area/scroll-area-thumb.vue.d.ts
6
+ declare var __VLS_11: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_11) => any;
9
+ };
10
+ declare const __VLS_base: _$vue.DefineComponent<ScrollAreaThumbProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ScrollAreaThumbProps> & Readonly<{}>, {
11
+ as: AsTag | _$vue.Component;
12
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
20
+ //#endregion
21
+ export { _default };
@@ -0,0 +1 @@
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import{useNonce as r}from"../config-provider/context.js";import{useScrollAreaRootContext as i,useScrollAreaUi as a}from"./context.js";import{Fragment as o,computed as s,createElementBlock as c,createElementVNode as l,createTextVNode as u,createVNode as d,defineComponent as f,mergeProps as p,normalizeStyle as m,openBlock as h,renderSlot as g,unref as _,useAttrs as v,withCtx as y}from"vue";const b=f({name:`ScrollAreaViewport`,inheritAttrs:!1,__name:`scroll-area-viewport`,props:{nonce:{},asChild:{type:Boolean},as:{default:`div`}},setup(f){let b=f,x=v(),S=r(()=>b.nonce),{scrollbarXEnabled:C,scrollbarYEnabled:w,onViewportChange:T,onContentChange:E}=i(`ScrollAreaViewport`),D=a(`viewport`),O=t(b,[`nonce`,`as`,`asChild`],x),k=s(()=>({...O.value,tabindex:O.value.tabindex??0})),[,A]=e(T),[,j]=e(E),M=s(()=>({overflowX:C.value?`scroll`:`hidden`,overflowY:w.value?`scroll`:`hidden`})),N=s(()=>({minWidth:C.value?`fit-content`:void 0}));return(e,t)=>(h(),c(o,null,[l(`div`,p({ref:_(A),"data-soybean-scroll-area-viewport":``},k.value,{class:_(D),style:M.value}),[d(_(n),{ref:_(j),as:f.as,"as-child":f.asChild,style:m(N.value)},{default:y(()=>[g(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`style`])],16),d(_(n),{as:`style`,nonce:_(S)},{default:y(()=>[...t[0]||(t[0]=[u(` [data-soybean-scroll-area-viewport] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-soybean-scroll-area-viewport]::-webkit-scrollbar { display: none; } `,-1)])]),_:1},8,[`nonce`])],64))}});export{b as default};
@@ -0,0 +1,21 @@
1
+ import { AsTag } from "../primitive/types.js";
2
+ import { ScrollAreaViewportProps } from "./types.js";
3
+ import * as _$vue from "vue";
4
+
5
+ //#region src/components/scroll-area/scroll-area-viewport.vue.d.ts
6
+ declare var __VLS_7: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_7) => any;
9
+ };
10
+ declare const __VLS_base: _$vue.DefineComponent<ScrollAreaViewportProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ScrollAreaViewportProps> & Readonly<{}>, {
11
+ as: AsTag | _$vue.Component;
12
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
20
+ //#endregion
21
+ export { _default };
@@ -0,0 +1 @@
1
+ const e=new WeakMap;function t(e,t,n){return Math.min(Math.max(e,t),n)}function n(e,t){return e===`horizontal`?t.horizontal:t.vertical}function r(e,n,r){return e<=0||n<=0||r<=0?0:t(e/n*r,18,r)}function i(e,n,r,i,a){if(n<=0||r<=0)return 0;let o=t(e/n,0,1);return i===`horizontal`&&a===`rtl`?r-o*r:o*r}function a(t){let n=e.get(t);if(n)return n;let r=t.createElement(`div`),i=t.createElement(`div`);r.dir=`rtl`,r.style.width=`4px`,r.style.height=`1px`,r.style.position=`absolute`,r.style.top=`-1000px`,r.style.overflow=`scroll`,i.style.width=`8px`,i.style.height=`1px`,r.appendChild(i),t.body.appendChild(r);let a=r.scrollLeft>0?`default`:(r.scrollLeft=1,r.scrollLeft===0?`negative`:`reverse`);return t.body.removeChild(r),e.set(t,a),a}function o(e){let t=Math.max(e.scrollWidth-e.clientWidth,0);switch(a(e.ownerDocument)){case`negative`:return-e.scrollLeft;case`reverse`:return t-e.scrollLeft;default:return e.scrollLeft}}function s(e,t){let n=Math.max(e.scrollWidth-e.clientWidth,0);switch(a(e.ownerDocument)){case`negative`:e.scrollLeft=-t;break;case`reverse`:e.scrollLeft=n-t;break;default:e.scrollLeft=t;break}}function c(e,t,n){return t===`horizontal`&&n===`rtl`?o(e):t===`horizontal`?e.scrollLeft:e.scrollTop}function l(e,t,n,r){if(t===`horizontal`){if(r===`rtl`){s(e,n);return}e.scrollLeft=n;return}e.scrollTop=n}function u(e,t,r){let i=n(r,{horizontal:e.clientWidth,vertical:e.clientHeight}),a=n(r,{horizontal:Math.max(t.scrollWidth,t.offsetWidth),vertical:Math.max(t.scrollHeight,t.offsetHeight)});return{viewportSize:i,contentSize:a,maxScrollPosition:Math.max(a-i,0)}}export{t as clamp,c as getScrollPosition,u as getScrollSize,i as getThumbOffset,r as getThumbSize,l as setViewportScroll};
@@ -0,0 +1,31 @@
1
+ import { Direction, UiClass } from "../../types/common.js";
2
+ import { PrimitiveProps } from "../primitive/types.js";
3
+ import { CSSProperties, ComputedRef, HTMLAttributes, ShallowRef } from "vue";
4
+
5
+ //#region src/components/scroll-area/types.d.ts
6
+ type ScrollAreaType = 'auto' | 'always' | 'hover' | 'scroll' | 'glimpse';
7
+ type ScrollAreaOrientation = 'horizontal' | 'vertical';
8
+ type ScrollAreaState = 'hidden' | 'visible';
9
+ interface ScrollAreaRootProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
10
+ /** Controls scrollbar visibility behavior. */
11
+ type?: ScrollAreaType;
12
+ /** The reading direction of the scroll area. */
13
+ dir?: Direction;
14
+ /** Delay before transient scrollbars are hidden. */
15
+ scrollHideDelay?: number;
16
+ }
17
+ interface ScrollAreaViewportProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
18
+ /** Adds a nonce to the injected style tag. */
19
+ nonce?: string;
20
+ }
21
+ interface ScrollAreaScrollbarProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
22
+ /** The scrollbar orientation. */
23
+ orientation?: ScrollAreaOrientation;
24
+ }
25
+ interface ScrollAreaThumbProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
26
+ interface ScrollAreaCornerProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
27
+ type ScrollAreaRootEmits = {};
28
+ type ScrollAreaUiSlot = 'root' | 'viewport' | 'scrollbar' | 'thumb' | 'corner';
29
+ type ScrollAreaUi = UiClass<ScrollAreaUiSlot>;
30
+ //#endregion
31
+ export { ScrollAreaCornerProps, ScrollAreaOrientation, ScrollAreaRootEmits, ScrollAreaRootProps, ScrollAreaScrollbarProps, ScrollAreaState, ScrollAreaThumbProps, ScrollAreaType, ScrollAreaUi, ScrollAreaUiSlot, ScrollAreaViewportProps };
@@ -11,17 +11,17 @@ type __VLS_Slots = {} & {
11
11
  };
12
12
  declare const __VLS_base: _$vue.DefineComponent<SelectContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
13
13
  escapeKeyDown: (event: KeyboardEvent) => any;
14
- closeAutoFocus: (event: Event) => any;
15
14
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
15
+ closeAutoFocus: (event: Event) => any;
16
16
  }, string, _$vue.PublicProps, Readonly<SelectContentProps> & Readonly<{
17
17
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
18
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
18
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
19
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
20
20
  }>, {
21
21
  position: SelectPosition;
22
- bodyLock: boolean;
23
22
  avoidCollisions: boolean;
24
23
  prioritizePosition: boolean;
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,4 +1,4 @@
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(`
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(`
2
2
  [data-soybean-select-viewport] {
3
3
  scrollbar-width: none;
4
4
  -ms-overflow-style: none;
@@ -0,0 +1,3 @@
1
+ import { SkeletonProps } from "./types.js";
2
+ import { _default } from "./skeleton.vue.js";
3
+ export { _default as Skeleton, type SkeletonProps };
@@ -0,0 +1 @@
1
+ import e from"./skeleton.js";export{e as Skeleton};
@@ -0,0 +1 @@
1
+ import{Primitive as e}from"../primitive/primitive.js";import"../primitive/index.js";import{computed as t,createBlock as n,defineComponent as r,openBlock as i,renderSlot as a,unref as o,useAttrs as s,withCtx as c}from"vue";const l=r({name:`Skeleton`,__name:`skeleton`,props:{asChild:{type:Boolean},as:{default:`div`}},setup(r){let l=s(),u=t(()=>l[`aria-hidden`]??!0);return(t,s)=>(i(),n(o(e),{as:r.as,"as-child":r.asChild,"aria-hidden":u.value},{default:c(()=>[a(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`]))}});export{l as default};
@@ -0,0 +1,21 @@
1
+ import { AsTag } from "../primitive/types.js";
2
+ import { SkeletonProps } from "./types.js";
3
+ import * as _$vue from "vue";
4
+
5
+ //#region src/components/skeleton/skeleton.vue.d.ts
6
+ declare var __VLS_8: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_8) => any;
9
+ };
10
+ declare const __VLS_base: _$vue.DefineComponent<SkeletonProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<SkeletonProps> & Readonly<{}>, {
11
+ as: AsTag | _$vue.Component;
12
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
20
+ //#endregion
21
+ export { _default };
@@ -0,0 +1,7 @@
1
+ import { PrimitiveProps } from "../primitive/types.js";
2
+ import { HTMLAttributes } from "vue";
3
+
4
+ //#region src/components/skeleton/types.d.ts
5
+ interface SkeletonProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
6
+ //#endregion
7
+ export { SkeletonProps };
@@ -0,0 +1,8 @@
1
+ import { ClassValue, UiClass } from "../../types/common.js";
2
+ import { SliderUiSlot } from "./types.js";
3
+ import * as _$vue from "vue";
4
+
5
+ //#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
+ //#endregion
8
+ export { provideSliderUi };
@@ -0,0 +1 @@
1
+ import{useContext as e}from"../../composables/use-context.js";import{useUiContext as t}from"../../composables/use-ui-context.js";import"../../composables/index.js";const[n,r]=e(`SliderRoot`),[i,a]=t(`SliderUi`);export{n as provideSliderRootContext,i as provideSliderUi,r as useSliderRootContext,a as useSliderUi};
@@ -0,0 +1,7 @@
1
+ import { SliderRangeProps, SliderRootContext, SliderRootEmits, SliderRootProps, SliderSlideDirection, SliderThumbAlignment, SliderThumbProps, SliderTrackProps, SliderUi, SliderUiSlot } from "./types.js";
2
+ import { _default as _default$1 } from "./slider-root.vue.js";
3
+ import { _default as _default$3 } from "./slider-track.vue.js";
4
+ import { _default } from "./slider-range.vue.js";
5
+ import { _default as _default$2 } from "./slider-thumb.vue.js";
6
+ import { provideSliderUi } from "./context.js";
7
+ export { _default as SliderRange, type SliderRangeProps, _default$1 as SliderRoot, type SliderRootContext, type SliderRootEmits, type SliderRootProps, type SliderSlideDirection, _default$2 as SliderThumb, type SliderThumbAlignment, type SliderThumbProps, _default$3 as SliderTrack, type SliderTrackProps, type SliderUi, type SliderUiSlot, provideSliderUi };
@@ -0,0 +1 @@
1
+ import{provideSliderUi as e}from"./context.js";import t from"./slider-root.js";import n from"./slider-track.js";import r from"./slider-range.js";import i from"./slider-thumb.js";export{r as SliderRange,t as SliderRoot,i as SliderThumb,n as SliderTrack,e as provideSliderUi};
@@ -0,0 +1 @@
1
+ import{clamp as e,snapValueToStep as t}from"../../shared/value.js";import"../../shared/index.js";const n=[0],r=[`PageUp`,`PageDown`],i=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],a={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageUp`,`ArrowUp`,`ArrowLeft`]};function o(e){return typeof e==`number`&&!Number.isNaN(e)?e:0}function s(e,t){return typeof e==`number`&&!Number.isNaN(e)&&e>t?e:Math.max(100,t+1)}function c(e){return typeof e==`number`&&!Number.isNaN(e)&&e>0?e:1}function l(e){return typeof e==`number`&&!Number.isNaN(e)&&e>=0?Math.floor(e):0}function u(e,t){return Array.isArray(e)&&e.length>0?e:t?.length?t:n}function d(e,n){return[...u(e,n.defaultValue)].map(e=>t(e,n.min,n.max,n.step)).sort((e,t)=>e-t)}function f(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e===t[n])}function p(e,t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function m(e,t){if(e.length<=1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function h(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function g(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function _(e,t){if(t<=0)return!0;let n=g(e);return Math.min(...n)>=t}function v(t,n,r){let i=r-n;return i<=0?0:e((t-n)/i*100,0,100)}function y(e,t,n){let r=e/2;return(r-h([0,50],[0,r])(t)*n)*n}function b(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function x(e,t,n){return e===`vertical`?n?{startEdge:`top`,endEdge:`bottom`,slideDirection:`from-top`}:{startEdge:`bottom`,endEdge:`top`,slideDirection:`from-bottom`}:t===`ltr`&&!n||t===`rtl`&&n?{startEdge:`left`,endEdge:`right`,slideDirection:`from-left`}:{startEdge:`right`,endEdge:`left`,slideDirection:`from-right`}}function S(t,n,r){let i=r.orientation===`horizontal`?n.width:n.height;if(i<=0)return r.min;let a=e((r.orientation===`horizontal`?r.startEdge===`left`?t.clientX-n.left:n.right-t.clientX:r.startEdge===`bottom`?n.bottom-t.clientY:t.clientY-n.top)/i,0,1);return r.min+a*(r.max-r.min)}export{i as ARROW_KEYS,a as BACK_KEYS,r as PAGE_KEYS,v as convertValueToPercentage,m as getClosestValueIndex,p as getNextSortedValues,x as getSliderSideState,S as getSliderValueFromPointer,y as getThumbInBoundsOffset,b as getThumbLabel,l as getValidMinStepsBetweenThumbs,s as getValidSliderMax,o as getValidSliderMin,c as getValidSliderStep,_ as hasMinStepsBetweenValues,f as isSliderValuesEqual,d as normalizeSliderValues};
@@ -0,0 +1 @@
1
+ import{Primitive as e}from"../primitive/primitive.js";import"../primitive/index.js";import{useSliderRootContext as t,useSliderUi as n}from"./context.js";import{computed as r,createBlock as i,defineComponent as a,normalizeClass as o,normalizeStyle as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=a({name:`SliderRange`,__name:`slider-range`,props:{asChild:{type:Boolean},as:{default:`div`}},setup(a){let f=n(`range`),{currentModelValue:p,disabled:m,orientation:h,startEdge:g,endEdge:_,getPercentage:v}=t(`SliderRange`),y=r(()=>p.value.map(e=>v(e))),b=r(()=>p.value.length>1?Math.min(...y.value):0),x=r(()=>100-Math.max(...y.value,0)),S=r(()=>({[g.value]:`${b.value}%`,[_.value]:`${x.value}%`}));return(t,n)=>(c(),i(u(e),{as:a.as,"as-child":a.asChild,class:o(u(f)),"data-disabled":u(m)?``:void 0,"data-orientation":u(h),style:s(S.value)},{default:d(()=>[l(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`,`data-disabled`,`data-orientation`,`style`]))}});export{f as default};
@@ -0,0 +1,21 @@
1
+ import { AsTag } from "../primitive/types.js";
2
+ import { SliderRangeProps } from "./types.js";
3
+ import * as _$vue from "vue";
4
+
5
+ //#region src/components/slider/slider-range.vue.d.ts
6
+ declare var __VLS_8: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_8) => any;
9
+ };
10
+ declare const __VLS_base: _$vue.DefineComponent<SliderRangeProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<SliderRangeProps> & Readonly<{}>, {
11
+ as: AsTag | _$vue.Component;
12
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
20
+ //#endregion
21
+ export { _default };
@@ -0,0 +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};
@@ -0,0 +1,41 @@
1
+ import { DataOrientation, Direction } from "../../types/common.js";
2
+ import { AsTag } from "../primitive/types.js";
3
+ import { SliderRootProps, SliderThumbAlignment } from "./types.js";
4
+ import * as _$vue from "vue";
5
+
6
+ //#region src/components/slider/slider-root.vue.d.ts
7
+ declare var __VLS_10: {
8
+ modelValue: number[];
9
+ };
10
+ type __VLS_Slots = {} & {
11
+ default?: (props: typeof __VLS_10) => any;
12
+ };
13
+ declare const __VLS_base: _$vue.DefineComponent<SliderRootProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
14
+ "update:modelValue": (value: number[]) => any;
15
+ valueCommit: (value: number[]) => any;
16
+ }, string, _$vue.PublicProps, Readonly<SliderRootProps> & Readonly<{
17
+ "onUpdate:modelValue"?: ((value: number[]) => any) | undefined;
18
+ onValueCommit?: ((value: number[]) => any) | undefined;
19
+ }>, {
20
+ dir: Direction;
21
+ disabled: boolean;
22
+ max: number;
23
+ min: number;
24
+ orientation: DataOrientation;
25
+ as: AsTag | _$vue.Component;
26
+ step: number;
27
+ inverted: boolean;
28
+ defaultValue: number[];
29
+ modelValue: number[];
30
+ minStepsBetweenThumbs: number;
31
+ thumbAlignment: SliderThumbAlignment;
32
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
33
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
34
+ declare const _default: typeof __VLS_export;
35
+ type __VLS_WithSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
40
+ //#endregion
41
+ export { _default };
@@ -0,0 +1 @@
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{Primitive as t}from"../primitive/primitive.js";import"../primitive/index.js";import{useSliderRootContext as n,useSliderUi as r}from"./context.js";import{getThumbInBoundsOffset as i}from"./shared.js";import{computed as a,createBlock as o,defineComponent as s,normalizeClass as c,normalizeStyle as l,openBlock as u,renderSlot as d,unref as f,useAttrs as p,withCtx as m}from"vue";import{useElementSize as h}from"@vueuse/core";const g=s({name:`SliderThumb`,__name:`slider-thumb`,props:{index:{},asChild:{type:Boolean},as:{default:`div`}},setup(s){let g=s,_=p(),v=r(`thumb`),{currentModelValue:y,disabled:b,orientation:x,min:S,max:C,startEdge:w,isHorizontal:T,thumbAlignment:E,activeThumbIndex:D,getPercentage:O,getThumbLabel:k,setThumbElement:A,beginThumbDrag:j}=n(`SliderThumb`),[M,N]=e(e=>{A(g.index,e)}),{width:P,height:F}=h(M),I=a(()=>y.value[g.index]),L=a(()=>O(I.value??S.value)),R=a(()=>k(g.index)),z=a(()=>{let e=_[`aria-label`];return typeof e==`string`?e:R.value});function B(e,t){return e?`${t===`right`&&E.value===`overflow`?`translateX(50%)`:`translateX(-50%)`} translateY(-50%)`:`translateX(-50%) ${t===`top`&&E.value===`overflow`?`translateY(-50%)`:`translateY(50%)`}`}let V=a(()=>{if(E.value===`overflow`)return 0;let e=T.value?P.value:F.value;if(!e)return 0;let t=T.value?w.value===`left`?1:-1:w.value===`bottom`?1:-1;return i(e,L.value,t)}),H=a(()=>{let e=B(T.value,w.value);return{position:`absolute`,...T.value?{top:`50%`}:{left:`50%`},[w.value]:`calc(${L.value}% + ${V.value}px)`,transform:e}});function U(e){b.value||(e.preventDefault(),e.stopPropagation(),e.currentTarget.focus(),j(g.index,e))}function W(){D.value=g.index}return(e,n)=>(u(),o(f(t),{ref:f(N),as:s.as,"as-child":s.asChild,class:c(f(v)),"data-disabled":f(b)?``:void 0,"data-orientation":f(x),"aria-disabled":f(b)||void 0,"aria-label":z.value,"aria-valuenow":I.value,"aria-valuemin":f(S),"aria-valuemax":f(C),"aria-orientation":f(x),tabindex:f(b)?void 0:0,role:`slider`,style:l(H.value),onFocus:W,onPointerdown:U},{default:m(()=>[d(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`,`data-disabled`,`data-orientation`,`aria-disabled`,`aria-label`,`aria-valuenow`,`aria-valuemin`,`aria-valuemax`,`aria-orientation`,`tabindex`,`style`]))}});export{g as default};
@@ -0,0 +1,21 @@
1
+ import { AsTag } from "../primitive/types.js";
2
+ import { SliderThumbProps } from "./types.js";
3
+ import * as _$vue from "vue";
4
+
5
+ //#region src/components/slider/slider-thumb.vue.d.ts
6
+ declare var __VLS_11: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_11) => any;
9
+ };
10
+ declare const __VLS_base: _$vue.DefineComponent<SliderThumbProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<SliderThumbProps> & Readonly<{}>, {
11
+ as: AsTag | _$vue.Component;
12
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
20
+ //#endregion
21
+ export { _default };
@@ -0,0 +1 @@
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{Primitive as t}from"../primitive/primitive.js";import"../primitive/index.js";import{useSliderRootContext as n,useSliderUi as r}from"./context.js";import{createBlock as i,defineComponent as a,normalizeClass as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";const d=a({name:`SliderTrack`,__name:`slider-track`,props:{asChild:{type:Boolean},as:{default:`div`}},setup(a){let d=r(`track`),{disabled:f,orientation:p,setTrackElement:m,beginTrackDrag:h}=n(`SliderTrack`),g=e(e=>{m(e)})[1];function _(e){f.value||(e.preventDefault(),h(e))}return(e,n)=>(s(),i(l(t),{ref:l(g),as:a.as,"as-child":a.asChild,class:o(l(d)),"data-disabled":l(f)?``:void 0,"data-orientation":l(p),onPointerdown:_},{default:u(()=>[c(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`,`data-disabled`,`data-orientation`]))}});export{d as default};
@@ -1,13 +1,13 @@
1
1
  import { AsTag } from "../primitive/types.js";
2
- import { ToastActionProps } from "./types.js";
2
+ import { SliderTrackProps } from "./types.js";
3
3
  import * as _$vue from "vue";
4
4
 
5
- //#region src/components/toast/toast-action.vue.d.ts
5
+ //#region src/components/slider/slider-track.vue.d.ts
6
6
  declare var __VLS_10: {};
7
7
  type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_10) => any;
9
9
  };
10
- declare const __VLS_base: _$vue.DefineComponent<ToastActionProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ToastActionProps> & Readonly<{}>, {
10
+ declare const __VLS_base: _$vue.DefineComponent<SliderTrackProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<SliderTrackProps> & Readonly<{}>, {
11
11
  as: AsTag | _$vue.Component;
12
12
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
13
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -0,0 +1,69 @@
1
+ import { DataOrientation, Direction, Side, UiClass } from "../../types/common.js";
2
+ import { FormFieldCommonProps } from "../../types/component.js";
3
+ import { PropsToContext } from "../../types/vue.js";
4
+ import { PrimitiveProps } from "../primitive/types.js";
5
+ import { ComputedRef, HTMLAttributes, ShallowRef } from "vue";
6
+
7
+ //#region src/components/slider/types.d.ts
8
+ type SliderThumbAlignment = 'contain' | 'overflow';
9
+ interface SliderRootProps extends PrimitiveProps, FormFieldCommonProps, /** @vue-ignore */HTMLAttributes {
10
+ /** The controlled value of the slider. Can be bind as `v-model`. */
11
+ modelValue?: number[];
12
+ /** The initial value of the slider when uncontrolled. */
13
+ defaultValue?: number[];
14
+ /** Whether the slider is disabled. */
15
+ disabled?: boolean;
16
+ /** The orientation of the slider. */
17
+ orientation?: DataOrientation;
18
+ /** The reading direction of the slider. */
19
+ dir?: Direction;
20
+ /** Whether the slider value direction is inverted. */
21
+ inverted?: boolean;
22
+ /** The minimum value. */
23
+ min?: number;
24
+ /** The maximum value. */
25
+ max?: number;
26
+ /** The stepping interval. */
27
+ step?: number;
28
+ /** The minimum permitted steps between multiple thumbs. */
29
+ minStepsBetweenThumbs?: number;
30
+ /** Whether thumbs stay within the track bounds or may overflow it. */
31
+ thumbAlignment?: SliderThumbAlignment;
32
+ }
33
+ type SliderRootEmits = {
34
+ /** Event handler called when the slider value changes. */'update:modelValue': [value: number[]]; /** Event handler called when a slider interaction is committed. */
35
+ valueCommit: [value: number[]];
36
+ };
37
+ interface SliderTrackProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
38
+ interface SliderRangeProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {}
39
+ interface SliderThumbProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
40
+ /** The thumb index in the current slider value array. */
41
+ index: number;
42
+ }
43
+ type SliderSlideDirection = 'from-left' | 'from-right' | 'from-bottom' | 'from-top';
44
+ interface SliderRootContext extends PropsToContext<SliderRootProps, 'disabled' | 'orientation' | 'dir' | 'inverted' | 'min' | 'max' | 'step' | 'minStepsBetweenThumbs' | 'thumbAlignment'> {
45
+ modelValue: ShallowRef<number[] | undefined>;
46
+ currentModelValue: ComputedRef<number[]>;
47
+ isHorizontal: ComputedRef<boolean>;
48
+ startEdge: ComputedRef<Side>;
49
+ endEdge: ComputedRef<Side>;
50
+ slideDirection: ComputedRef<SliderSlideDirection>;
51
+ activeThumbIndex: ShallowRef<number>;
52
+ trackElement: ShallowRef<HTMLElement | undefined>;
53
+ thumbElements: ShallowRef<(HTMLElement | undefined)[]>;
54
+ setTrackElement: (el: HTMLElement) => void;
55
+ setThumbElement: (index: number, el: HTMLElement) => void;
56
+ getPercentage: (value: number) => number;
57
+ getClosestValueIndex: (value: number) => number;
58
+ getThumbLabel: (index: number) => string | undefined;
59
+ beginTrackDrag: (event: PointerEvent) => void;
60
+ beginThumbDrag: (index: number, event: PointerEvent) => void;
61
+ moveDrag: (event: PointerEvent) => void;
62
+ endDrag: (pointerId?: number) => void;
63
+ stepValue: (index: number, direction: number, multiplier?: number) => void;
64
+ setToLimit: (index: number, limit: 'min' | 'max') => void;
65
+ }
66
+ type SliderUiSlot = 'root' | 'track' | 'range' | 'thumb';
67
+ type SliderUi = UiClass<SliderUiSlot>;
68
+ //#endregion
69
+ export { SliderRangeProps, SliderRootContext, SliderRootEmits, SliderRootProps, SliderSlideDirection, SliderThumbAlignment, SliderThumbProps, SliderTrackProps, SliderUi, SliderUiSlot };
@@ -0,0 +1,8 @@
1
+ import { ClassValue, UiClass } from "../../types/common.js";
2
+ import { SplitterUiSlot } from "./types.js";
3
+ import * as _$vue from "vue";
4
+
5
+ //#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
+ //#endregion
8
+ export { provideSplitterUi };
@@ -0,0 +1 @@
1
+ import{useContext as e}from"../../composables/use-context.js";import{useUiContext as t}from"../../composables/use-ui-context.js";import"../../composables/index.js";import{useDirection as n}from"../config-provider/context.js";const[r,i]=e(`SplitterGroup`,e=>{let t=n(()=>e.dir.value);return{...e,dir:t}}),[a,o]=t(`SplitterUi`);export{r as provideSplitterGroupContext,a as provideSplitterUi,i as useSplitterGroupContext,o as useSplitterUi};
@@ -0,0 +1,6 @@
1
+ import { SplitterGroupContext, SplitterGroupEmits, SplitterGroupProps, SplitterPanelEmits, SplitterPanelProps, SplitterResizeHandleEmits, SplitterResizeHandleProps, SplitterUi, SplitterUiSlot } from "./types.js";
2
+ import { _default } from "./splitter-group.vue.js";
3
+ import { _default as _default$1 } from "./splitter-panel.vue.js";
4
+ import { _default as _default$2 } from "./splitter-resize-handle.vue.js";
5
+ import { provideSplitterUi } from "./context.js";
6
+ export { _default as SplitterGroup, type SplitterGroupContext, type SplitterGroupEmits, type SplitterGroupProps, _default$1 as SplitterPanel, type SplitterPanelEmits, type SplitterPanelProps, _default$2 as SplitterResizeHandle, type SplitterResizeHandleEmits, type SplitterResizeHandleProps, type SplitterUi, type SplitterUiSlot, provideSplitterUi };
@@ -0,0 +1 @@
1
+ import{provideSplitterUi as e}from"./context.js";import t from"./splitter-group.js";import n from"./splitter-panel.js";import r from"./splitter-resize-handle.js";export{t as SplitterGroup,n as SplitterPanel,r as SplitterResizeHandle,e as provideSplitterUi};
@@ -0,0 +1 @@
1
+ import{clamp as e}from"../../shared/value.js";import"../../shared/index.js";const t=.01;function n(e){return Number(e.toFixed(3))}function r(t){return e(t.minSize.value,0,100)}function i(t){return e(t.collapsedSize.value,0,100)}function a(t,n){return e(t.maxSize.value,n,100)}function o(e){return e.collapsible.value?Math.min(r(e),i(e)):r(e)}function s(o,s){if(!s.collapsible.value)return e(o,r(s),a(s,r(s)));let c=i(s),l=r(s),u=e(o,c,a(s,l));return u<=c+t?n(c):n(u<l?u<=c+(l-c)/2?c:l:u)}function c(e,i,o){if(Math.abs(o)<=t)return e;let s=[...e],c=o,l=0;for(;Math.abs(c)>t&&l<20;){l+=1;let e=s.map((e,n)=>{let o=i[n];if(!o)return null;let s=r(o),l=a(o,s),u=c>0?l-e:e-s;return u<=t?null:{index:n,room:u}}).filter(Boolean);if(e.length===0)break;for(let t=0;t<e.length;t+=1){let r=e[t];if(!r)continue;let i=e.length-t,a=c/i,o=c>0?Math.min(a,r.room):-Math.min(-a,r.room);s[r.index]=n(s[r.index]+o),c-=o}}if(Math.abs(c)>t){let e=s.findIndex((e,n)=>{let o=i[n];return o?c>0?a(o,r(o))-s[n]>t:s[n]-r(o)>t:!1});e>=0&&(s[e]=n(s[e]+c))}return s}function l(e,i){let o=[...e],s=n(100-o.reduce((e,t)=>e+t,0));if(Math.abs(s)<=t)return o.map(n);let c=o.findIndex((e,n)=>{let o=i[n];if(!o)return!1;let c=r(o),l=a(o,c),u=e+s;return u>=c-t&&u<=l+t});return c>=0&&(o[c]=n(o[c]+s)),o.map(n)}function u(e){return[...e].sort((e,t)=>{let n=e.order.value,r=t.order.value;return n==null&&r==null?e.registrationIndex-t.registrationIndex:n==null?-1:r==null?1:n===r?e.registrationIndex-t.registrationIndex:n-r})}function d(e,n){return e.length===n.length?e.every((e,r)=>Math.abs(e-(n[r]??0))<=t):!1}function f(e,r){if(e.length===0)return[];let i=e.map(e=>r?.get(e.id)??e.defaultSize.value),a=i.reduce((e,t)=>e+(t??0),0),o=i.filter(e=>e===void 0).length,s=o>0?Math.max(100-a,0)/o:0,c=i.map(e=>e??s),l=c.reduce((e,t)=>e+t,0);return l<=t?e.map(()=>n(100/e.length)):c.map(e=>n(e/l*100))}function p(t,i){if(i.length===0)return[];let o=t.map((t,o)=>{let s=i[o],c=r(s);return n(e(t,c,a(s,c)))}),s=o.reduce((e,t)=>e+t,0);return o=c(o,i,n(100-s)),l(o,i)}function m(t,i,c,l){let u=i[c],d=i[c+1];if(!u||!d)return t;let f=t[c]+t[c+1],p=o(u),m=o(d),h=Math.min(a(u,r(u)),f-m),g=Math.min(a(d,r(d)),f-p),_=s(t[c]+l,u);_=e(_,p,h);let v=s(f-_,d);v=e(v,m,g),_=e(f-v,p,h),_=s(_,u),v=n(f-_);let y=[...t];return y[c]=n(_),y[c+1]=n(v),y}function h(e,n){if(!(!n.collapsible.value||e===void 0))return e<=i(n)+t?`collapsed`:`expanded`}function g(e,t=100){let i=o(e),s=Math.min(a(e,r(e)),t);return{min:n(i),max:n(s)}}export{d as areLayoutsEqual,f as getDefaultLayout,g as getPanelBounds,h as getPanelState,p as normalizeLayout,m as resizeLayoutPair,u as sortPanels};
@@ -0,0 +1 @@
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import{provideSplitterGroupContext as r,useSplitterUi as i}from"./context.js";import{areLayoutsEqual as a,getDefaultLayout as o,getPanelBounds as s,getPanelState as c,normalizeLayout as l,resizeLayoutPair as u,sortPanels as d}from"./shared.js";import{computed as f,createBlock as p,defineComponent as m,mergeProps as h,openBlock as g,renderSlot as _,shallowRef as v,unref as y,useId as b,withCtx as x}from"vue";const S=m({name:`SplitterGroup`,__name:`splitter-group`,props:{direction:{default:`horizontal`},dir:{default:void 0},defaultLayout:{default:void 0},keyboardResizeBy:{default:10},asChild:{type:Boolean},as:{default:`div`}},emits:[`layout`],setup(m,{emit:S}){let C=m,w=S,[T,E]=e(),D=i(`root`),O=t(C,[`direction`,`dir`,`defaultLayout`,`keyboardResizeBy`]),k=v([]),A=v([]),j=v({}),M=v({}),N=v({}),P=0,F=f(()=>C.direction===`vertical`?`vertical`:`horizontal`),I=f(()=>C.dir),L=f(()=>Math.max(C.keyboardResizeBy,1)),R=f(()=>d(k.value)),z=`soybean-splitter-group-${b()}`;function B(){return new Map(R.value.map((e,t)=>[e.id,A.value[t]]))}function V(e){let t={...j.value},n={...M.value};R.value.forEach((r,i)=>{let a=e[i],o=j.value[r.id];r.onResize(a,o);let s=c(a,r)===`collapsed`,l=M.value[r.id];s!==l&&(s?r.onCollapse():l!==void 0&&r.onExpand()),s||(N.value={...N.value,[r.id]:a}),t[r.id]=a,n[r.id]=s}),j.value=t,M.value=n}function H(e){a(A.value,e)||(A.value=e,w(`layout`,e),V(e))}function U(){let e=A.value.length===R.value.length?B():void 0;H(l(C.defaultLayout?.length===R.value.length?C.defaultLayout:o(R.value,e),R.value))}function W(e){return R.value.findIndex(t=>t.id===e)}function G(){let e=T.value?.getBoundingClientRect();return e?F.value===`vertical`?e.height:e.width:0}function K(e,t){H(u(A.value,R.value,e,t))}function q(e){return R.value[e]}function J(e){let t=W(e),n=R.value[t];if(n)return s(n,t<R.value.length-1?(A.value[t]??0)+(A.value[t+1]??0):t>0?(A.value[t-1]??0)+(A.value[t]??0):100)}function Y(e,t){let n=W(e);if(!(n<0)){if(n<R.value.length-1){K(n,t-(A.value[n]??0));return}if(n>0){let e=A.value[n]??0,r=A.value[n-1]??0,i=e+r;K(n-1,i-t-r)}}}function X(e){let t=R.value.find(t=>t.id===e);if(!t?.collapsible.value)return;let n=Q(e);n!==void 0&&n>t.collapsedSize.value&&(N.value={...N.value,[e]:n}),Y(e,t.collapsedSize.value)}function Z(e){let t=R.value.find(t=>t.id===e);if(!t)return;let n=N.value[e]??t.defaultSize.value??t.minSize.value;Y(e,Math.max(n,t.minSize.value))}function Q(e){let t=W(e);if(!(t<0))return A.value[t]}function $(e){let t=R.value.find(t=>t.id===e),n=Q(e);return t?c(n,t)===`collapsed`:!1}function ee(e){return{flexBasis:`0px`,flexGrow:Q(e)??0,flexShrink:1,overflow:`hidden`}}function te(e){k.value=[...k.value,{...e,registrationIndex:P}],P+=1,U()}function ne(e){k.value=k.value.filter(t=>t.id!==e),U()}let{dir:re}=r({direction:F,dir:I,keyboardResizeBy:L,groupId:z,layout:A,rootElement:T,registerPanel:te,unregisterPanel:ne,refreshLayout:U,getPanelStyle:ee,getPanelSize:Q,isPanelCollapsed:$,collapsePanel:X,expandPanel:Z,resizePanel:Y,resizePanelPair:K,getPanelRecordByIndex:q,getPanelBounds:J,getGroupSize:G});return U(),(e,t)=>(g(),p(y(n),h(y(O),{ref:y(E),as:m.as,"as-child":m.asChild,class:y(D),dir:y(re),"data-orientation":F.value,"data-panel-group-direction":F.value,"data-splitter-group-id":z}),{default:x(()=>[_(e.$slots,`default`,{layout:A.value})]),_:3},16,[`as`,`as-child`,`class`,`dir`,`data-orientation`,`data-panel-group-direction`]))}});export{S as default};
@@ -0,0 +1,32 @@
1
+ import { DataOrientation, Direction } from "../../types/common.js";
2
+ import { AsTag } from "../primitive/types.js";
3
+ import { SplitterGroupProps } from "./types.js";
4
+ import * as _$vue from "vue";
5
+
6
+ //#region src/components/splitter/splitter-group.vue.d.ts
7
+ declare var __VLS_8: {
8
+ layout: number[];
9
+ };
10
+ type __VLS_Slots = {} & {
11
+ default?: (props: typeof __VLS_8) => any;
12
+ };
13
+ declare const __VLS_base: _$vue.DefineComponent<SplitterGroupProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
14
+ layout: (value: number[]) => any;
15
+ }, string, _$vue.PublicProps, Readonly<SplitterGroupProps> & Readonly<{
16
+ onLayout?: ((value: number[]) => any) | undefined;
17
+ }>, {
18
+ dir: Direction;
19
+ direction: DataOrientation;
20
+ as: AsTag | _$vue.Component;
21
+ defaultLayout: number[];
22
+ keyboardResizeBy: number;
23
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
24
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
+ declare const _default: typeof __VLS_export;
26
+ type __VLS_WithSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
31
+ //#endregion
32
+ export { _default };
@@ -0,0 +1 @@
1
+ import{clamp as e}from"../../shared/value.js";import"../../shared/index.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import{useSplitterGroupContext as r,useSplitterUi as i}from"./context.js";import{computed as a,createBlock as o,defineComponent as s,mergeProps as c,onMounted as l,onUnmounted as u,openBlock as d,renderSlot as f,unref as p,useId as m,watch as h,withCtx as g}from"vue";const _=s({name:`SplitterPanel`,__name:`splitter-panel`,props:{defaultSize:{default:void 0},collapsible:{type:Boolean,default:!1},collapsedSize:{default:0},maxSize:{default:100},minSize:{default:10},order:{default:void 0},asChild:{type:Boolean},as:{default:`div`}},emits:[`collapse`,`expand`,`resize`],setup(s,{expose:_,emit:v}){let y=s,b=v,x=i(`panel`),S=t(y,[`defaultSize`,`collapsible`,`collapsedSize`,`maxSize`,`minSize`,`order`]),C=`soybean-splitter-panel-${m()}`,{groupId:w,registerPanel:T,unregisterPanel:E,refreshLayout:D,getPanelStyle:O,getPanelSize:k,isPanelCollapsed:A,collapsePanel:j,expandPanel:M,resizePanel:N}=r(`SplitterPanel`),P=a(()=>y.defaultSize===void 0?void 0:e(y.defaultSize,0,100)),F=a(()=>e(y.collapsedSize,0,100)),I=a(()=>e(y.minSize,0,100)),L=a(()=>e(y.maxSize,I.value,100)),R=a(()=>y.collapsible),z=a(()=>y.order),B=a(()=>O(C)),V=a(()=>k(C)),H=a(()=>R.value?A(C)?`collapsed`:`expanded`:void 0),U=a(()=>A(C)),W=a(()=>!U.value);h([P,F,I,L,R,z],D),l(()=>{T({id:C,order:z,defaultSize:P,minSize:I,maxSize:L,collapsible:R,collapsedSize:F,onCollapse:()=>b(`collapse`),onExpand:()=>b(`expand`),onResize:(e,t)=>b(`resize`,e,t)})}),u(()=>{E(C)});function G(){j(C)}function K(){M(C)}function q(e){N(C,e)}return _({collapse:G,expand:K,getSize:()=>V.value,resize:q,isCollapsed:U,isExpanded:W}),(e,t)=>(d(),o(p(n),c(p(S),{id:C,as:s.as,"as-child":s.asChild,class:p(x),style:B.value,"data-panel":``,"data-panel-group-id":p(w),"data-panel-size":V.value,"data-panel-collapsible":R.value||void 0,"data-state":H.value}),{default:g(()=>[f(e.$slots,`default`,{isCollapsed:U.value,isExpanded:W.value,collapse:G,expand:K,resize:q})]),_:3},16,[`as`,`as-child`,`class`,`style`,`data-panel-group-id`,`data-panel-size`,`data-panel-collapsible`,`data-state`]))}});export{_ as default};
@@ -0,0 +1,51 @@
1
+ import { AsTag } from "../primitive/types.js";
2
+ import { SplitterPanelProps } from "./types.js";
3
+ import * as _$vue from "vue";
4
+
5
+ //#region src/components/splitter/splitter-panel.vue.d.ts
6
+ declare function collapse(): void;
7
+ declare function expand(): void;
8
+ declare function resize(sizeValue: number): void;
9
+ declare var __VLS_8: {
10
+ isCollapsed: boolean;
11
+ isExpanded: boolean;
12
+ collapse: typeof collapse;
13
+ expand: typeof expand;
14
+ resize: typeof resize;
15
+ };
16
+ type __VLS_Slots = {} & {
17
+ default?: (props: typeof __VLS_8) => any;
18
+ };
19
+ declare const __VLS_base: _$vue.DefineComponent<SplitterPanelProps, {
20
+ collapse: typeof collapse;
21
+ expand: typeof expand;
22
+ getSize: () => number | undefined;
23
+ resize: typeof resize;
24
+ isCollapsed: _$vue.ComputedRef<boolean>;
25
+ isExpanded: _$vue.ComputedRef<boolean>;
26
+ }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
27
+ resize: (size: number, prevSize: number | undefined) => any;
28
+ collapse: () => any;
29
+ expand: () => any;
30
+ }, string, _$vue.PublicProps, Readonly<SplitterPanelProps> & Readonly<{
31
+ onResize?: ((size: number, prevSize: number | undefined) => any) | undefined;
32
+ onCollapse?: (() => any) | undefined;
33
+ onExpand?: (() => any) | undefined;
34
+ }>, {
35
+ collapsible: boolean;
36
+ order: number;
37
+ as: AsTag | _$vue.Component;
38
+ defaultSize: number;
39
+ collapsedSize: number;
40
+ maxSize: number;
41
+ minSize: number;
42
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
43
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
44
+ declare const _default: typeof __VLS_export;
45
+ type __VLS_WithSlots<T, S> = T & {
46
+ new (): {
47
+ $slots: S;
48
+ };
49
+ };
50
+ //#endregion
51
+ export { _default };
@@ -0,0 +1 @@
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{Primitive as n}from"../primitive/primitive.js";import"../primitive/index.js";import{useSplitterGroupContext as r,useSplitterUi as i}from"./context.js";import{computed as a,createBlock as o,defineComponent as s,mergeProps as c,onBeforeUnmount as l,openBlock as u,renderSlot as d,shallowRef as f,unref as p,withCtx as m}from"vue";const h=s({name:`SplitterResizeHandle`,__name:`splitter-resize-handle`,props:{disabled:{type:Boolean,default:!1},tabindex:{default:0},asChild:{type:Boolean},as:{default:`div`}},emits:[`dragging`],setup(s,{emit:h}){let g=s,_=h,[v,y]=e(),b=i(`resizeHandle`),x=t(g,[`disabled`,`tabindex`]),{direction:S,dir:C,groupId:w,keyboardResizeBy:T,layout:E,rootElement:D,collapsePanel:O,expandPanel:k,resizePanelPair:A,getPanelRecordByIndex:j,getPanelBounds:M,getGroupSize:N}=r(`SplitterResizeHandle`),P=f(`inactive`),F=f(!1),I=f(null),L=f(0),R=a(()=>!D.value||!v.value?-1:Array.from(D.value.querySelectorAll(`[data-panel-group-id="${w}"][data-splitter-resize-handle]`)).findIndex(e=>e===v.value)),z=a(()=>j(R.value)),B=a(()=>E.value[R.value]),V=a(()=>{let e=z.value;if(e)return M(e.id)}),H=a(()=>{if(B.value!==void 0)return String(Number(B.value.toFixed(1)))}),U=a(()=>{if(V.value)return String(V.value.min)}),W=a(()=>{if(V.value)return String(V.value.max)}),G=a(()=>z.value?.id);function K(e){return S.value===`vertical`?e.clientY:e.clientX}function q(e){let t=K(e),n=t-L.value;L.value=t;let r=N();if(r<=0)return 0;let i=n/r*100;return S.value===`horizontal`&&C.value===`rtl`&&(i*=-1),i}let J=null;function Y(){J?.(),J=null}function X(e){e!==void 0&&I.value!==e||(I.value=null,P.value=`hover`,Y(),_(`dragging`,!1))}function Z(e){if(g.disabled||R.value<0)return;e.preventDefault(),I.value=e.pointerId,L.value=K(e),P.value=`drag`,_(`dragging`,!0);let t=v.value?.ownerDocument;if(!t)return;let n=e=>{I.value===e.pointerId&&A(R.value,q(e))},r=e=>{X(e.pointerId)};t.addEventListener(`pointermove`,n),t.addEventListener(`pointerup`,r),t.addEventListener(`pointercancel`,r),J=()=>{t.removeEventListener(`pointermove`,n),t.removeEventListener(`pointerup`,r),t.removeEventListener(`pointercancel`,r)}}function Q(e){if(g.disabled||R.value<0)return;let t=z.value;if(!t)return;let n=T.value??10,r=0;if(e.key===`Enter`&&t.collapsible.value){e.preventDefault(),B.value!==void 0&&B.value<=t.collapsedSize.value+.1?k(t.id):O(t.id);return}if(e.key===`Home`){e.preventDefault(),A(R.value,(V.value?.min??0)-(B.value??0));return}if(e.key===`End`){e.preventDefault(),A(R.value,(V.value?.max??0)-(B.value??0));return}S.value===`vertical`?(e.key===`ArrowDown`&&(r=n),e.key===`ArrowUp`&&(r=-n)):C.value===`rtl`?(e.key===`ArrowLeft`&&(r=n),e.key===`ArrowRight`&&(r=-n)):(e.key===`ArrowRight`&&(r=n),e.key===`ArrowLeft`&&(r=-n)),r!==0&&(e.preventDefault(),A(R.value,r))}return l(()=>{Y()}),(e,t)=>(u(),o(p(n),c(p(x),{ref:p(y),as:s.as,"as-child":s.asChild,class:p(b),role:`separator`,"data-splitter-resize-handle":``,tabindex:s.disabled?void 0:s.tabindex,"data-panel-group-id":p(w),"data-state":P.value,"data-disabled":s.disabled?``:void 0,"data-orientation":p(S),"aria-controls":G.value,"aria-disabled":s.disabled?`true`:void 0,"aria-orientation":p(S),"aria-valuenow":H.value,"aria-valuemin":U.value,"aria-valuemax":W.value,onBlur:t[0]||(t[0]=e=>F.value=!1),onFocus:t[1]||(t[1]=e=>F.value=!0),onKeydown:Q,onMouseenter:t[2]||(t[2]=e=>P.value=I.value===null?`hover`:P.value),onMouseleave:t[3]||(t[3]=e=>P.value=I.value===null?`inactive`:P.value),onPointerdown:Z}),{default:m(()=>[d(e.$slots,`default`,{active:P.value===`drag`,focused:F.value})]),_:3},16,[`as`,`as-child`,`class`,`tabindex`,`data-panel-group-id`,`data-state`,`data-disabled`,`data-orientation`,`aria-controls`,`aria-disabled`,`aria-orientation`,`aria-valuenow`,`aria-valuemin`,`aria-valuemax`]))}});export{h as default};
@@ -0,0 +1,30 @@
1
+ import { AsTag } from "../primitive/types.js";
2
+ import { SplitterResizeHandleProps } from "./types.js";
3
+ import * as _$vue from "vue";
4
+
5
+ //#region src/components/splitter/splitter-resize-handle.vue.d.ts
6
+ declare var __VLS_15: {
7
+ active: boolean;
8
+ focused: boolean;
9
+ };
10
+ type __VLS_Slots = {} & {
11
+ default?: (props: typeof __VLS_15) => any;
12
+ };
13
+ declare const __VLS_base: _$vue.DefineComponent<SplitterResizeHandleProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
14
+ dragging: (value: boolean) => any;
15
+ }, string, _$vue.PublicProps, Readonly<SplitterResizeHandleProps> & Readonly<{
16
+ onDragging?: ((value: boolean) => any) | undefined;
17
+ }>, {
18
+ tabindex: number;
19
+ disabled: boolean;
20
+ as: AsTag | _$vue.Component;
21
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
22
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
+ declare const _default: typeof __VLS_export;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
29
+ //#endregion
30
+ export { _default };