@soybeanjs/ui 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/README.md +2 -1
  2. package/README.zh-CN.md +2 -1
  3. package/dist/components/accordion/accordion.js +1 -1
  4. package/dist/components/accordion/variants.js +1 -1
  5. package/dist/components/affix/affix.js +1 -1
  6. package/dist/components/alert/alert.js +1 -1
  7. package/dist/components/alert/alert.vue.d.ts +2 -0
  8. package/dist/components/alert/variants.js +1 -1
  9. package/dist/components/anchor/anchor.js +1 -1
  10. package/dist/components/autocomplete/autocomplete.js +1 -1
  11. package/dist/components/autocomplete/variants.js +1 -1
  12. package/dist/components/avatar/avatar.js +1 -1
  13. package/dist/components/backtop/backtop.js +1 -1
  14. package/dist/components/badge/badge.js +1 -1
  15. package/dist/components/bottom-sheet/bottom-sheet.js +1 -1
  16. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  17. package/dist/components/button/button-group.js +1 -1
  18. package/dist/components/button/button-group.vue.d.ts +0 -1
  19. package/dist/components/button/types.d.ts +1 -1
  20. package/dist/components/button/variants.js +1 -1
  21. package/dist/components/calendar/calendar.js +1 -1
  22. package/dist/components/calendar/variants.js +1 -1
  23. package/dist/components/calendar-range/calendar-range.js +1 -0
  24. package/dist/components/{range-calendar/range-calendar.vue.d.ts → calendar-range/calendar-range.vue.d.ts} +5 -5
  25. package/dist/components/calendar-range/index.d.ts +3 -0
  26. package/dist/components/calendar-range/index.js +1 -0
  27. package/dist/components/calendar-range/types.d.ts +32 -0
  28. package/dist/components/calendar-range/variants.js +1 -0
  29. package/dist/components/card/card-collapsible-trigger.js +1 -1
  30. package/dist/components/card/card.js +1 -1
  31. package/dist/components/carousel/carousel.js +1 -1
  32. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  33. package/dist/components/checkbox/checkbox-card.js +1 -1
  34. package/dist/components/checkbox/checkbox-group.js +1 -1
  35. package/dist/components/checkbox/checkbox.js +1 -1
  36. package/dist/components/collapsible/collapsible.js +1 -1
  37. package/dist/components/collapsible/collapsible.vue.d.ts +1 -1
  38. package/dist/components/color-area/color-area.js +1 -1
  39. package/dist/components/color-area/color-area.vue.d.ts +5 -5
  40. package/dist/components/color-area/types.d.ts +3 -11
  41. package/dist/components/color-field/color-field.js +1 -1
  42. package/dist/components/color-field/color-field.vue.d.ts +3 -3
  43. package/dist/components/color-field/types.d.ts +3 -7
  44. package/dist/components/color-field/variants.js +1 -1
  45. package/dist/components/color-picker/color-picker.js +1 -1
  46. package/dist/components/color-picker/color-picker.vue.d.ts +21 -36
  47. package/dist/components/color-picker/index.d.ts +1 -1
  48. package/dist/components/color-picker/types.d.ts +6 -118
  49. package/dist/components/color-picker/variants.js +1 -1
  50. package/dist/components/color-slider/color-slider.js +1 -1
  51. package/dist/components/color-slider/color-slider.vue.d.ts +5 -5
  52. package/dist/components/color-slider/types.d.ts +3 -11
  53. package/dist/components/color-swatch/color-swatch.js +1 -1
  54. package/dist/components/color-swatch/color-swatch.vue.d.ts +2 -5
  55. package/dist/components/color-swatch/index.d.ts +3 -2
  56. package/dist/components/color-swatch/types.d.ts +9 -13
  57. package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
  58. package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +6 -6
  59. package/dist/components/color-swatch-picker/types.d.ts +3 -19
  60. package/dist/components/color-swatch-picker/variants.d.ts +9 -9
  61. package/dist/components/color-swatch-picker/variants.js +1 -1
  62. package/dist/components/combobox/combobox.js +1 -1
  63. package/dist/components/command/command.js +1 -1
  64. package/dist/components/command/command.vue.d.ts +1 -1
  65. package/dist/components/command/variants.js +1 -1
  66. package/dist/components/config-provider/config-provider.js +1 -1
  67. package/dist/components/config-provider/types.d.ts +2 -4
  68. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +1 -1
  69. package/dist/components/context-menu/context-menu-radio.vue.d.ts +3 -3
  70. package/dist/components/context-menu/context-menu.vue.d.ts +1 -1
  71. package/dist/components/date-field/date-field.js +1 -1
  72. package/dist/components/date-field/date-field.vue.d.ts +4 -4
  73. package/dist/components/date-field/variants.js +1 -1
  74. package/dist/components/date-picker/date-picker.js +1 -1
  75. package/dist/components/date-picker/date-picker.vue.d.ts +17 -11
  76. package/dist/components/date-picker/index.d.ts +1 -1
  77. package/dist/components/date-picker/types.d.ts +7 -6
  78. package/dist/components/date-picker/variants.js +1 -1
  79. package/dist/components/date-range-field/date-range-field.js +1 -1
  80. package/dist/components/date-range-field/date-range-field.vue.d.ts +1 -3
  81. package/dist/components/date-range-field/index.d.ts +1 -1
  82. package/dist/components/date-range-field/types.d.ts +5 -49
  83. package/dist/components/date-range-field/variants.js +1 -1
  84. package/dist/components/date-range-picker/date-range-picker.js +1 -1
  85. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +20 -14
  86. package/dist/components/date-range-picker/index.d.ts +1 -1
  87. package/dist/components/date-range-picker/types.d.ts +7 -39
  88. package/dist/components/dialog/dialog-provider.js +1 -1
  89. package/dist/components/dialog/dialog.js +1 -1
  90. package/dist/components/dialog/dialog.vue.d.ts +2 -0
  91. package/dist/components/dialog/variants.js +1 -1
  92. package/dist/components/drawer/drawer.js +1 -1
  93. package/dist/components/drawer/drawer.vue.d.ts +2 -0
  94. package/dist/components/drawer/variants.js +1 -1
  95. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +1 -1
  96. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +3 -3
  97. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +1 -1
  98. package/dist/components/editable/editable.js +1 -1
  99. package/dist/components/editable/editable.vue.d.ts +2 -63
  100. package/dist/components/editable/index.d.ts +1 -1
  101. package/dist/components/editable/types.d.ts +10 -38
  102. package/dist/components/empty/empty.js +1 -1
  103. package/dist/components/empty/variants.js +1 -1
  104. package/dist/components/form/form-field-array.js +1 -1
  105. package/dist/components/form/form-field-base.js +1 -1
  106. package/dist/components/form/form-field.js +1 -1
  107. package/dist/components/form/form.js +1 -1
  108. package/dist/components/hover-card/hover-card.js +1 -1
  109. package/dist/components/hover-card/hover-card.vue.d.ts +2 -8
  110. package/dist/components/hover-card/index.d.ts +1 -1
  111. package/dist/components/hover-card/types.d.ts +9 -33
  112. package/dist/components/icon/types.d.ts +1 -1
  113. package/dist/components/input/input.js +1 -1
  114. package/dist/components/input/variants.js +1 -1
  115. package/dist/components/input-number/index.d.ts +1 -1
  116. package/dist/components/input-number/input-number.js +1 -1
  117. package/dist/components/input-number/input-number.vue.d.ts +6 -13
  118. package/dist/components/input-number/types.d.ts +8 -24
  119. package/dist/components/input-number/variants.js +1 -1
  120. package/dist/components/input-otp/input-otp.js +1 -1
  121. package/dist/components/input-otp/input-otp.vue.d.ts +2 -2
  122. package/dist/components/layout/layout-classic.js +1 -1
  123. package/dist/components/layout/layout.js +1 -1
  124. package/dist/components/layout/variants.js +1 -1
  125. package/dist/components/link/index.d.ts +2 -2
  126. package/dist/components/list/list.js +1 -1
  127. package/dist/components/menu/context.js +1 -1
  128. package/dist/components/menu/index.d.ts +1 -8
  129. package/dist/components/menu/variants.js +1 -1
  130. package/dist/components/menubar/menubar.js +1 -1
  131. package/dist/components/menubar/menubar.vue.d.ts +1 -1
  132. package/dist/components/navigation-menu/index.d.ts +1 -1
  133. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  134. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +2 -23
  135. package/dist/components/navigation-menu/types.d.ts +10 -115
  136. package/dist/components/navigation-menu/variants.js +1 -1
  137. package/dist/components/page-tabs/index.d.ts +1 -1
  138. package/dist/components/page-tabs/page-tabs.js +1 -1
  139. package/dist/components/page-tabs/page-tabs.vue.d.ts +6 -4
  140. package/dist/components/page-tabs/types.d.ts +10 -117
  141. package/dist/components/page-tabs/variants.js +1 -1
  142. package/dist/components/pagination/index.d.ts +1 -1
  143. package/dist/components/pagination/pagination.js +1 -1
  144. package/dist/components/pagination/pagination.vue.d.ts +2 -17
  145. package/dist/components/pagination/types.d.ts +8 -20
  146. package/dist/components/pagination/variants.js +1 -1
  147. package/dist/components/password/index.d.ts +3 -2
  148. package/dist/components/password/password.js +1 -1
  149. package/dist/components/password/password.vue.d.ts +2 -12
  150. package/dist/components/password/types.d.ts +8 -25
  151. package/dist/components/popconfirm/index.d.ts +3 -5
  152. package/dist/components/popconfirm/index.js +1 -1
  153. package/dist/components/popconfirm/popconfirm.js +1 -1
  154. package/dist/components/popconfirm/popconfirm.vue.d.ts +6 -27
  155. package/dist/components/popconfirm/types.d.ts +8 -209
  156. package/dist/components/popconfirm/variants.js +1 -1
  157. package/dist/components/popover/index.d.ts +1 -1
  158. package/dist/components/popover/popover.js +1 -1
  159. package/dist/components/popover/popover.vue.d.ts +2 -9
  160. package/dist/components/popover/types.d.ts +9 -37
  161. package/dist/components/popover/variants.js +1 -1
  162. package/dist/components/progress/index.d.ts +11 -3
  163. package/dist/components/progress/progress-circle.js +1 -1
  164. package/dist/components/progress/progress-circle.vue.d.ts +2 -10
  165. package/dist/components/progress/progress-provider.js +1 -1
  166. package/dist/components/progress/progress-provider.vue.d.ts +1 -1
  167. package/dist/components/progress/progress.js +1 -1
  168. package/dist/components/progress/progress.vue.d.ts +2 -11
  169. package/dist/components/progress/types.d.ts +16 -16
  170. package/dist/components/progress/variants.js +1 -1
  171. package/dist/components/radio-group/index.d.ts +2 -4
  172. package/dist/components/radio-group/index.js +1 -1
  173. package/dist/components/radio-group/radio-group-card.js +1 -0
  174. package/dist/components/radio-group/radio-group-card.vue.d.ts +22 -0
  175. package/dist/components/radio-group/radio-group.js +1 -1
  176. package/dist/components/radio-group/radio-group.vue.d.ts +6 -6
  177. package/dist/components/radio-group/types.d.ts +24 -67
  178. package/dist/components/radio-group/variants.js +1 -1
  179. package/dist/components/scroll-area/scroll-area.js +1 -1
  180. package/dist/components/scroll-area/scroll-area.vue.d.ts +2 -2
  181. package/dist/components/scroll-area/types.d.ts +3 -23
  182. package/dist/components/scroll-area/variants.js +1 -1
  183. package/dist/components/segment/segment.js +1 -1
  184. package/dist/components/segment/segment.vue.d.ts +2 -2
  185. package/dist/components/select/select.js +1 -1
  186. package/dist/components/select/select.vue.d.ts +1 -1
  187. package/dist/components/select/variants.js +1 -1
  188. package/dist/components/separator/separator.js +1 -1
  189. package/dist/components/separator/separator.vue.d.ts +11 -1
  190. package/dist/components/separator/types.d.ts +2 -10
  191. package/dist/components/separator/variants.js +1 -1
  192. package/dist/components/slider/slider.js +1 -1
  193. package/dist/components/slider/slider.vue.d.ts +6 -7
  194. package/dist/components/slider/types.d.ts +3 -15
  195. package/dist/components/splitter/splitter-group.js +1 -1
  196. package/dist/components/splitter/splitter-panel.js +1 -1
  197. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  198. package/dist/components/splitter/splitter-resize-handle.js +1 -1
  199. package/dist/components/splitter/variants.js +1 -1
  200. package/dist/components/stepper/index.d.ts +1 -1
  201. package/dist/components/stepper/stepper.js +1 -1
  202. package/dist/components/stepper/stepper.vue.d.ts +2 -104
  203. package/dist/components/stepper/types.d.ts +10 -55
  204. package/dist/components/stepper/variants.js +1 -1
  205. package/dist/components/switch/index.d.ts +1 -1
  206. package/dist/components/switch/switch.js +1 -1
  207. package/dist/components/switch/switch.vue.d.ts +2 -638
  208. package/dist/components/switch/types.d.ts +8 -12
  209. package/dist/components/switch/variants.d.ts +5 -5
  210. package/dist/components/switch/variants.js +1 -1
  211. package/dist/components/table/hooks.d.ts +3 -3
  212. package/dist/components/table/table-filter-popover.js +1 -1
  213. package/dist/components/table/table.js +1 -1
  214. package/dist/components/table/variants.js +1 -1
  215. package/dist/components/tabs/tabs.js +1 -1
  216. package/dist/components/tabs/tabs.vue.d.ts +2 -2
  217. package/dist/components/tabs/variants.js +1 -1
  218. package/dist/components/tags-input/index.d.ts +3 -4
  219. package/dist/components/tags-input/index.js +1 -1
  220. package/dist/components/tags-input/tags-input.js +1 -1
  221. package/dist/components/tags-input/tags-input.vue.d.ts +18 -22
  222. package/dist/components/tags-input/types.d.ts +8 -4
  223. package/dist/components/tags-input/variants.js +1 -1
  224. package/dist/components/textarea/index.d.ts +4 -2
  225. package/dist/components/textarea/index.js +1 -1
  226. package/dist/components/textarea/textarea.js +1 -1
  227. package/dist/components/textarea/textarea.vue.d.ts +4 -10
  228. package/dist/components/textarea/types.d.ts +9 -28
  229. package/dist/components/textarea/variants.d.ts +21 -21
  230. package/dist/components/textarea/variants.js +1 -1
  231. package/dist/components/time-field/index.d.ts +1 -1
  232. package/dist/components/time-field/time-field.js +1 -1
  233. package/dist/components/time-field/time-field.vue.d.ts +2 -9
  234. package/dist/components/time-field/types.d.ts +4 -37
  235. package/dist/components/time-range-field/index.d.ts +1 -1
  236. package/dist/components/time-range-field/time-range-field.js +1 -1
  237. package/dist/components/time-range-field/time-range-field.vue.d.ts +1 -3
  238. package/dist/components/time-range-field/types.d.ts +5 -49
  239. package/dist/components/toast/styles.js +36 -36
  240. package/dist/components/toast/toast-provider.js +1 -1
  241. package/dist/components/toast/variants.js +1 -1
  242. package/dist/components/toggle/toggle.js +1 -1
  243. package/dist/components/toggle-group/index.d.ts +3 -2
  244. package/dist/components/toggle-group/index.js +1 -1
  245. package/dist/components/toggle-group/toggle-group.js +1 -1
  246. package/dist/components/toggle-group/variants.js +1 -1
  247. package/dist/components/toolbar/toolbar.js +1 -1
  248. package/dist/components/toolbar/types.d.ts +5 -0
  249. package/dist/components/toolbar/variants.js +1 -1
  250. package/dist/components/tooltip/index.d.ts +1 -1
  251. package/dist/components/tooltip/tooltip.js +1 -1
  252. package/dist/components/tooltip/tooltip.vue.d.ts +2 -7
  253. package/dist/components/tooltip/types.d.ts +9 -37
  254. package/dist/components/tooltip/variants.js +1 -1
  255. package/dist/components/tree/tree-virtualizer.vue.d.ts +1 -1
  256. package/dist/components/tree/tree.vue.d.ts +2 -2
  257. package/dist/components/tree-menu/index.d.ts +1 -1
  258. package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
  259. package/dist/components/tree-menu/tree-menu.js +1 -1
  260. package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -17
  261. package/dist/components/tree-menu/types.d.ts +12 -204
  262. package/dist/components/tree-menu/variants.js +1 -1
  263. package/dist/constants/components.d.ts +1 -7
  264. package/dist/constants/components.js +1 -1
  265. package/dist/index.d.ts +139 -158
  266. package/dist/index.js +1 -1
  267. package/dist/styles.css +250 -218
  268. package/dist/theme/shared.js +1 -1
  269. package/package.json +14 -14
  270. package/dist/components/color-picker/shared.js +0 -1
  271. package/dist/components/date-range-picker/variants.js +0 -1
  272. package/dist/components/month-picker/index.d.ts +0 -3
  273. package/dist/components/month-picker/index.js +0 -1
  274. package/dist/components/month-picker/month-picker.js +0 -1
  275. package/dist/components/month-picker/month-picker.vue.d.ts +0 -24
  276. package/dist/components/month-picker/types.d.ts +0 -86
  277. package/dist/components/month-picker/variants.js +0 -1
  278. package/dist/components/month-range-picker/index.d.ts +0 -3
  279. package/dist/components/month-range-picker/index.js +0 -1
  280. package/dist/components/month-range-picker/month-range-picker.js +0 -1
  281. package/dist/components/month-range-picker/month-range-picker.vue.d.ts +0 -29
  282. package/dist/components/month-range-picker/types.d.ts +0 -89
  283. package/dist/components/month-range-picker/variants.js +0 -1
  284. package/dist/components/navigation-menu/context.js +0 -1
  285. package/dist/components/navigation-menu/navigation-menu-item-slot.js +0 -1
  286. package/dist/components/navigation-menu/navigation-menu-option.js +0 -1
  287. package/dist/components/navigation-menu/navigation-menu-sub-option.js +0 -1
  288. package/dist/components/navigation-menu/shared.js +0 -1
  289. package/dist/components/page-tabs/hooks.js +0 -1
  290. package/dist/components/popconfirm/context.js +0 -1
  291. package/dist/components/popconfirm/popconfirm-cancel.js +0 -1
  292. package/dist/components/popconfirm/popconfirm-cancel.vue.d.ts +0 -25
  293. package/dist/components/popconfirm/popconfirm-confirm.js +0 -1
  294. package/dist/components/popconfirm/popconfirm-confirm.vue.d.ts +0 -22
  295. package/dist/components/radio-group/radio-card-group.js +0 -1
  296. package/dist/components/radio-group/radio-card-group.vue.d.ts +0 -22
  297. package/dist/components/radio-group/radio-card.js +0 -1
  298. package/dist/components/radio-group/radio-card.vue.d.ts +0 -22
  299. package/dist/components/radio-group/radio.js +0 -1
  300. package/dist/components/radio-group/radio.vue.d.ts +0 -18
  301. package/dist/components/range-calendar/index.d.ts +0 -3
  302. package/dist/components/range-calendar/index.js +0 -1
  303. package/dist/components/range-calendar/range-calendar.js +0 -1
  304. package/dist/components/range-calendar/types.d.ts +0 -188
  305. package/dist/components/range-calendar/variants.js +0 -1
  306. package/dist/components/tags-input/tags-input-item-delete.js +0 -1
  307. package/dist/components/tags-input/tags-input-item-delete.vue.d.ts +0 -18
  308. package/dist/components/time-field/variants.js +0 -1
  309. package/dist/components/time-picker/index.d.ts +0 -3
  310. package/dist/components/time-picker/index.js +0 -1
  311. package/dist/components/time-picker/time-picker.js +0 -1
  312. package/dist/components/time-picker/time-picker.vue.d.ts +0 -24
  313. package/dist/components/time-picker/types.d.ts +0 -68
  314. package/dist/components/time-picker/variants.js +0 -1
  315. package/dist/components/time-range-field/variants.js +0 -1
  316. package/dist/components/time-range-picker/index.d.ts +0 -3
  317. package/dist/components/time-range-picker/index.js +0 -1
  318. package/dist/components/time-range-picker/time-range-picker.js +0 -1
  319. package/dist/components/time-range-picker/time-range-picker.vue.d.ts +0 -28
  320. package/dist/components/time-range-picker/types.d.ts +0 -71
  321. package/dist/components/time-range-picker/variants.js +0 -1
  322. package/dist/components/toggle-group/toggle-group-item.js +0 -1
  323. package/dist/components/toggle-group/toggle-group-item.vue.d.ts +0 -22
  324. package/dist/components/tree-menu/context.js +0 -1
  325. package/dist/components/tree-menu/shared.js +0 -1
  326. package/dist/components/tree-menu/tree-menu-option-slot.js +0 -1
  327. package/dist/components/tree-menu/tree-menu-option.js +0 -1
  328. package/dist/components/tree-menu/tree-menu-options.js +0 -1
  329. package/dist/components/year-picker/index.d.ts +0 -3
  330. package/dist/components/year-picker/index.js +0 -1
  331. package/dist/components/year-picker/types.d.ts +0 -86
  332. package/dist/components/year-picker/variants.js +0 -1
  333. package/dist/components/year-picker/year-picker.js +0 -1
  334. package/dist/components/year-picker/year-picker.vue.d.ts +0 -24
  335. package/dist/components/year-range-picker/index.d.ts +0 -3
  336. package/dist/components/year-range-picker/index.js +0 -1
  337. package/dist/components/year-range-picker/types.d.ts +0 -90
  338. package/dist/components/year-range-picker/variants.js +0 -1
  339. package/dist/components/year-range-picker/year-range-picker.js +0 -1
  340. package/dist/components/year-range-picker/year-range-picker.vue.d.ts +0 -29
@@ -1 +1 @@
1
- import{cn as e}from"./merge.js";function t(t,...n){return Object.entries(t).reduce((t,[r,i])=>{let a=r;return t[a]=e(i()??``,...n.filter(Boolean).map(e=>e?.[a]).filter(Boolean)),t},{})}function n(e,t){return Object.entries(e).reduce((e,[n,r])=>{let i=n,a=t[i];return e[i]=()=>`${a??``} ${r()??``}`.trim(),e},{})}export{n as mergeBaseVariants,t as mergeSlotVariants};
1
+ import{cn as e}from"./merge.js";import{entriesOf as t}from"@soybeanjs/utils";function n(n,...r){return t(o(n).reduce((e,t)=>(l(e,t.targetKey,t.classes,t.prepend),e),{})).reduce((t,[n,i])=>(t[n]=e(...i,...r.filter(Boolean).map(e=>e?.[n]).filter(Boolean)),t),{})}function r(e){return Array.isArray(e)}function i(e){return Array.isArray(e)}function a(e){return e?r(e)?Array.from(e):[e]:[]}function o(e){let{$alias:n,$base:r,...i}=e,o=t(i).map(([e,t])=>({targetKey:e,classes:[c(r?.[e]),t()??``]}));for(let e of a(n)){let{$base:t,...n}=e.variants;for(let[r,i]of s(e.map)){let a=n[r];a&&o.push({targetKey:i,classes:[c(t?.[r]),a()??``],prepend:e.base??!0})}}return o}function s(e){return i(e)?Array.from(e):t(e).reduce((e,[t,n])=>n?[...e,[t,n]]:e,[])}function c(e){return typeof e==`function`?e():e}function l(e,t,n,r=!1){let i=n.filter(Boolean);i.length!==0&&(e[t]||(e[t]=[]),e[t]=r?[...i,...e[t]]:[...e[t],...i])}export{n as mergeVariants};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soybeanjs/ui",
3
- "version": "0.18.0",
3
+ "version": "0.20.0",
4
4
  "description": "SoybeanUI is built on top of SoybeanHeadless, providing a collection of styled components for Vue 3.",
5
5
  "homepage": "https://github.com/soybeanjs/soybean-ui",
6
6
  "bugs": {
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@formkit/auto-animate": "^0.9.0",
48
- "@iconify/vue": "^5.0.0",
48
+ "@iconify/vue": "^5.0.1",
49
49
  "@soybeanjs/colord": "^0.5.0",
50
50
  "@soybeanjs/hooks": "^0.2.0",
51
51
  "@soybeanjs/shadcn-theme": "^0.3.1",
@@ -53,18 +53,18 @@
53
53
  "@vueuse/core": "^14.3.0",
54
54
  "clsx": "^2.1.1",
55
55
  "fuse.js": "^7.3.0",
56
- "tailwind-merge": "^3.5.0",
56
+ "tailwind-merge": "^3.6.0",
57
57
  "tailwind-variants": "^3.2.2",
58
- "valibot": "^1.3.1",
58
+ "valibot": "^1.4.0",
59
59
  "zod": "^4.4.3",
60
- "@soybeanjs/headless": "^0.18.0"
60
+ "@soybeanjs/headless": "^0.20.0"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@soybeanjs/cli": "^1.7.2",
64
64
  "@soybeanjs/eslint-config-vue": "^0.0.2",
65
65
  "@soybeanjs/unocss-preset": "^0.2.0",
66
66
  "@soybeanjs/unocss-shadcn": "^0.4.0",
67
- "@types/node": "^25.6.0",
67
+ "@types/node": "^25.6.2",
68
68
  "@unocss/cli": "^66.6.8",
69
69
  "@vitejs/plugin-vue": "^6.0.6",
70
70
  "@vitejs/plugin-vue-jsx": "^5.1.5",
@@ -73,11 +73,11 @@
73
73
  "axe-core": "^4.11.4",
74
74
  "eslint": "^10.3.0",
75
75
  "happy-dom": "^20.9.0",
76
- "lint-staged": "^16.4.0",
77
- "oxfmt": "^0.47.0",
78
- "oxlint": "^1.62.0",
76
+ "lint-staged": "^17.0.4",
77
+ "oxfmt": "^0.48.0",
78
+ "oxlint": "^1.63.0",
79
79
  "simple-git-hooks": "^2.13.1",
80
- "tsdown": "0.21.10",
80
+ "tsdown": "0.22.0",
81
81
  "tsx": "^4.21.0",
82
82
  "typedoc": "^0.28.19",
83
83
  "typescript": "^6.0.3",
@@ -86,12 +86,12 @@
86
86
  "unplugin-auto-import": "^21.0.0",
87
87
  "unplugin-vue": "7.2.0",
88
88
  "unplugin-vue-components": "^32.0.0",
89
- "unplugin-vue-jsx": "0.8.1",
90
- "vite": "^8.0.10",
91
- "vite-plugin-vue-devtools": "^8.1.1",
89
+ "unplugin-vue-jsx": "0.9.0",
90
+ "vite": "^8.0.12",
91
+ "vite-plugin-vue-devtools": "^8.1.2",
92
92
  "vite-plugin-vue-meta-layouts": "^0.6.1",
93
93
  "vitest": "^4.1.5",
94
- "vue": "^3.5.33",
94
+ "vue": "^3.5.34",
95
95
  "vue-router": "^5.0.6",
96
96
  "vue-tsc": "^3.2.8"
97
97
  },
@@ -1 +0,0 @@
1
- import{resolveColorFormat as e}from"@soybeanjs/headless/shared";const t=[`#ef4444`,`#f97316`,`#eab308`,`#22c55e`,`#06b6d4`,`#3b82f6`,`#8b5cf6`],n=[`hex`,`rgb`,`hsl`,`oklch`];function r(t,n){return t||e(n,`hex`)}export{n as COLOR_PICKER_FORMATS,t as DEFAULT_COLOR_PICKER_SWATCHES,r as resolveColorPickerFormat};
@@ -1 +0,0 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`inline-flex w-full flex-col gap-2`,trigger:[`inline-flex w-full items-center justify-start gap-2 rounded-md border border-input bg-background px-3 py-0 text-start font-normal shadow-xs transition-[background-color,color,box-shadow]`,`hover:bg-accent/50 hover:text-accent-foreground`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-primary/30`,`data-[disabled]:opacity-60 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none`,`data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground`],popup:[`z-50 overflow-hidden rounded-lg border border-border bg-popover p-0 text-popover-foreground shadow-md`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`],input:[`inline-flex min-w-5 items-center justify-center rounded-sm px-0.5 text-center outline-none`,`tabular-nums leading-none`,`data-[segment=literal]:min-w-0 data-[segment=literal]:px-0 data-[segment=literal]:text-muted-foreground`,`data-[segment=timeZoneName]:min-w-fit data-[segment=timeZoneName]:px-1 data-[segment=timeZoneName]:text-muted-foreground`,`data-[placeholder]:text-muted-foreground`,`focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:ring-2 focus-visible:ring-primary/20`,`data-[disabled]:cursor-not-allowed data-[readonly]:cursor-default`],calendar:``},variants:{size:{xs:{root:`text-2xs`,trigger:`h-6 px-2 text-2xs`,input:`min-h-4.5 min-w-4.5`},sm:{root:`text-xs`,trigger:`h-7 px-2.5 text-xs`,input:`min-h-5 min-w-5`},md:{root:`text-sm`,trigger:`h-8 px-3 text-sm`,input:`min-h-5.5 min-w-5.5`},lg:{root:`text-base`,trigger:`h-9 px-3.5 text-base`,input:`min-h-6 min-w-6`},xl:{root:`text-lg`,trigger:`h-10 px-4 text-lg`,input:`min-h-6.5 min-w-6.5`},"2xl":{root:`text-xl`,trigger:`h-12 px-5 text-xl`,input:`min-h-8 min-w-8`}}},defaultVariants:{size:`md`}});export{t as dateRangePickerVariants};
@@ -1,3 +0,0 @@
1
- import { MonthPickerEmits, MonthPickerProps, MonthPickerSlots } from "./types.js";
2
- import { _default } from "./month-picker.vue.js";
3
- export * from "@soybeanjs/headless/month-picker";
@@ -1 +0,0 @@
1
- import"./month-picker.js";
@@ -1 +0,0 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthPickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthPickerPopup as b,MonthPickerRoot as x,MonthPickerTrigger as S,provideMonthPickerUi as C}from"@soybeanjs/headless/month-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthPicker`,__name:`month-picker`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
@@ -1,24 +0,0 @@
1
- import { MonthPickerProps, MonthPickerSlots } from "./types.js";
2
- import * as _$vue from "vue";
3
- import * as _$_internationalized_date0 from "@internationalized/date";
4
-
5
- //#region src/components/month-picker/month-picker.vue.d.ts
6
- type __VLS_Slots = MonthPickerSlots;
7
- declare const __VLS_base: _$vue.DefineComponent<MonthPickerProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
8
- "update:open": (open: boolean) => any;
9
- "update:modelValue": (date: _$_internationalized_date0.DateValue | undefined) => any;
10
- "update:placeholder": (date: _$_internationalized_date0.DateValue) => any;
11
- }, string, _$vue.PublicProps, Readonly<MonthPickerProps> & Readonly<{
12
- "onUpdate:open"?: ((open: boolean) => any) | undefined;
13
- "onUpdate:modelValue"?: ((date: _$_internationalized_date0.DateValue | undefined) => any) | undefined;
14
- "onUpdate:placeholder"?: ((date: _$_internationalized_date0.DateValue) => any) | undefined;
15
- }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
16
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
- declare const _default: typeof __VLS_export;
18
- type __VLS_WithSlots<T, S> = T & {
19
- new (): {
20
- $slots: S;
21
- };
22
- };
23
- //#endregion
24
- export { _default };
@@ -1,86 +0,0 @@
1
- import { ThemeSize } from "../../theme/types.js";
2
- import { MonthPickerPopupProps, MonthPickerRootEmits, MonthPickerRootProps, MonthPickerTriggerProps, MonthPickerUi } from "@soybeanjs/headless/month-picker";
3
- import { ClassValue } from "@soybeanjs/headless/types";
4
- import { DateValue } from "@internationalized/date";
5
-
6
- //#region src/components/month-picker/types.d.ts
7
- /**
8
- * Properties for the MonthPicker component.
9
- */
10
- interface MonthPickerProps extends /** @vue-ignore */MonthPickerRootProps {
11
- /**
12
- * Additional class names applied to the root element.
13
- */
14
- class?: ClassValue;
15
- /**
16
- * Visual size of the component.
17
- */
18
- size?: ThemeSize;
19
- /**
20
- * Per-slot class overrides for the component.
21
- */
22
- ui?: Partial<MonthPickerUi>;
23
- /**
24
- * Properties forwarded to the trigger element.
25
- */
26
- triggerProps?: MonthPickerTriggerProps;
27
- /**
28
- * Properties forwarded to the popup element.
29
- */
30
- popupProps?: MonthPickerPopupProps;
31
- }
32
- /**
33
- * Events for the MonthPicker component.
34
- */
35
- type MonthPickerEmits = MonthPickerRootEmits;
36
- /**
37
- * Slots for the MonthPicker component.
38
- */
39
- interface MonthPickerSlots {
40
- /**
41
- * Custom content for the trigger slot.
42
- */
43
- trigger?: (props: {
44
- displayValue: string;
45
- modelValue: DateValue | undefined;
46
- open: boolean;
47
- }) => any;
48
- /**
49
- * Custom content for the heading slot.
50
- */
51
- heading?: (props: {
52
- headingValue: string;
53
- }) => any;
54
- /**
55
- * Custom content for the prev slot.
56
- */
57
- prev?: (props: {
58
- disabled: boolean;
59
- }) => any;
60
- /**
61
- * Custom content for the next slot.
62
- */
63
- next?: (props: {
64
- disabled: boolean;
65
- }) => any;
66
- /**
67
- * Custom content for the month slot.
68
- */
69
- month?: (props: {
70
- date: DateValue;
71
- label: string;
72
- disabled: boolean;
73
- focused: boolean;
74
- selected: boolean;
75
- }) => any;
76
- /**
77
- * Custom content for the default slot.
78
- */
79
- default?: (props: {
80
- displayValue: string;
81
- modelValue: DateValue | undefined;
82
- open: boolean;
83
- }) => any;
84
- }
85
- //#endregion
86
- export { MonthPickerEmits, MonthPickerProps, MonthPickerSlots };
@@ -1 +0,0 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`inline-flex w-full flex-col gap-2`,trigger:[`inline-flex w-full items-center justify-start gap-2 rounded-md border border-input bg-background px-3 py-0 text-start font-normal shadow-xs transition-[background-color,color,box-shadow]`,`hover:bg-accent/50 hover:text-accent-foreground`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-primary/30`,`data-[disabled]:opacity-60 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none`,`data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground`],popup:[`z-50 overflow-hidden rounded-lg border border-border bg-popover p-3 text-popover-foreground shadow-md`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`],header:`mb-3 grid grid-cols-[auto_1fr_auto] items-center gap-1`,heading:`font-medium text-foreground text-center`,prev:[`inline-flex size-8 items-center justify-center rounded-md border border-transparent bg-transparent transition-colors`,`hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`],next:[`inline-flex size-8 items-center justify-center rounded-md border border-transparent bg-transparent transition-colors`,`hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`],grid:`grid grid-cols-3 gap-1`,cellTrigger:[`inline-flex h-9 cursor-pointer items-center justify-center rounded-md border border-transparent bg-transparent px-3 text-sm font-normal transition-colors`,`hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,`data-[selected]:bg-primary data-[selected]:text-primary-foreground`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`data-[focused]:ring-2 data-[focused]:ring-primary/20`]},variants:{size:{xs:{root:`text-2xs`,trigger:`h-6 px-2 text-2xs`,prev:`size-6 text-2xs`,next:`size-6 text-2xs`,cellTrigger:`h-7 px-2 text-2xs`},sm:{root:`text-xs`,trigger:`h-7 px-2.5 text-xs`,prev:`size-7 text-xs`,next:`size-7 text-xs`,cellTrigger:`h-8 px-2.5 text-xs`},md:{root:`text-sm`,trigger:`h-8 px-3 text-sm`,prev:`size-8 text-sm`,next:`size-8 text-sm`,cellTrigger:`h-9 px-3 text-sm`},lg:{root:`text-base`,trigger:`h-9 px-3.5 text-base`,prev:`size-9 text-base`,next:`size-9 text-base`,cellTrigger:`h-10 px-3.5 text-base`},xl:{root:`text-lg`,trigger:`h-10 px-4 text-lg`,prev:`size-10 text-lg`,next:`size-10 text-lg`,cellTrigger:`h-11 px-4 text-lg`},"2xl":{root:`text-xl`,trigger:`h-12 px-5 text-xl`,prev:`size-12 text-xl`,next:`size-12 text-xl`,cellTrigger:`h-12 px-5 text-xl`}}},defaultVariants:{size:`md`}});export{t as monthPickerVariants};
@@ -1,3 +0,0 @@
1
- import { MonthRangePickerEmits, MonthRangePickerProps, MonthRangePickerSlots } from "./types.js";
2
- import { _default } from "./month-range-picker.vue.js";
3
- export * from "@soybeanjs/headless/month-range-picker";
@@ -1 +0,0 @@
1
- import"./month-range-picker.js";
@@ -1 +0,0 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthRangePickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthRangePickerPopup as b,MonthRangePickerRoot as x,MonthRangePickerTrigger as S,provideMonthRangePickerUi as C}from"@soybeanjs/headless/month-range-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthRangePicker`,__name:`month-range-picker`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`,`update:endValue`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month range`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
@@ -1,29 +0,0 @@
1
- import { MonthRangePickerProps, MonthRangePickerSlots } from "./types.js";
2
- import * as _$vue from "vue";
3
- import * as _$_internationalized_date0 from "@internationalized/date";
4
- import * as _$_soybeanjs_headless_date0 from "@soybeanjs/headless/date";
5
-
6
- //#region src/components/month-range-picker/month-range-picker.vue.d.ts
7
- type __VLS_Slots = MonthRangePickerSlots;
8
- declare const __VLS_base: _$vue.DefineComponent<MonthRangePickerProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
9
- "update:open": (open: boolean) => any;
10
- "update:modelValue": (range: _$_soybeanjs_headless_date0.DateRange) => any;
11
- "update:placeholder": (date: _$_internationalized_date0.DateValue) => any;
12
- "update:startValue": (date: _$_internationalized_date0.DateValue | undefined) => any;
13
- "update:endValue": (date: _$_internationalized_date0.DateValue | undefined) => any;
14
- }, string, _$vue.PublicProps, Readonly<MonthRangePickerProps> & Readonly<{
15
- "onUpdate:open"?: ((open: boolean) => any) | undefined;
16
- "onUpdate:modelValue"?: ((range: _$_soybeanjs_headless_date0.DateRange) => any) | undefined;
17
- "onUpdate:placeholder"?: ((date: _$_internationalized_date0.DateValue) => any) | undefined;
18
- "onUpdate:startValue"?: ((date: _$_internationalized_date0.DateValue | undefined) => any) | undefined;
19
- "onUpdate:endValue"?: ((date: _$_internationalized_date0.DateValue | undefined) => any) | undefined;
20
- }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
21
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
- declare const _default: typeof __VLS_export;
23
- type __VLS_WithSlots<T, S> = T & {
24
- new (): {
25
- $slots: S;
26
- };
27
- };
28
- //#endregion
29
- export { _default };
@@ -1,89 +0,0 @@
1
- import { ThemeSize } from "../../theme/types.js";
2
- import { MonthRangePickerPopupProps, MonthRangePickerRootEmits, MonthRangePickerRootProps, MonthRangePickerTriggerProps, MonthRangePickerUi } from "@soybeanjs/headless/month-range-picker";
3
- import { ClassValue } from "@soybeanjs/headless/types";
4
- import { DateRange, DateValue } from "@soybeanjs/headless/date";
5
-
6
- //#region src/components/month-range-picker/types.d.ts
7
- /**
8
- * Properties for the MonthRangePicker component.
9
- */
10
- interface MonthRangePickerProps extends /** @vue-ignore */MonthRangePickerRootProps {
11
- /**
12
- * Additional class names applied to the root element.
13
- */
14
- class?: ClassValue;
15
- /**
16
- * Visual size of the component.
17
- */
18
- size?: ThemeSize;
19
- /**
20
- * Per-slot class overrides for the component.
21
- */
22
- ui?: Partial<MonthRangePickerUi>;
23
- /**
24
- * Properties forwarded to the trigger element.
25
- */
26
- triggerProps?: MonthRangePickerTriggerProps;
27
- /**
28
- * Properties forwarded to the popup element.
29
- */
30
- popupProps?: MonthRangePickerPopupProps;
31
- }
32
- /**
33
- * Events for the MonthRangePicker component.
34
- */
35
- type MonthRangePickerEmits = MonthRangePickerRootEmits;
36
- /**
37
- * Slots for the MonthRangePicker component.
38
- */
39
- interface MonthRangePickerSlots {
40
- /**
41
- * Custom content for the trigger slot.
42
- */
43
- trigger?: (props: {
44
- displayValue: string;
45
- modelValue: DateRange;
46
- open: boolean;
47
- }) => any;
48
- /**
49
- * Custom content for the heading slot.
50
- */
51
- heading?: (props: {
52
- headingValue: string;
53
- }) => any;
54
- /**
55
- * Custom content for the prev slot.
56
- */
57
- prev?: (props: {
58
- disabled: boolean;
59
- }) => any;
60
- /**
61
- * Custom content for the next slot.
62
- */
63
- next?: (props: {
64
- disabled: boolean;
65
- }) => any;
66
- /**
67
- * Custom content for the month slot.
68
- */
69
- month?: (props: {
70
- date: DateValue;
71
- label: string;
72
- disabled: boolean;
73
- focused: boolean;
74
- highlighted: boolean;
75
- rangeEnd: boolean;
76
- rangeStart: boolean;
77
- selected: boolean;
78
- }) => any;
79
- /**
80
- * Custom content for the default slot.
81
- */
82
- default?: (props: {
83
- displayValue: string;
84
- modelValue: DateRange;
85
- open: boolean;
86
- }) => any;
87
- }
88
- //#endregion
89
- export { MonthRangePickerEmits, MonthRangePickerProps, MonthRangePickerSlots };
@@ -1 +0,0 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`inline-flex w-full flex-col gap-2`,trigger:[`inline-flex w-full items-center justify-start gap-2 rounded-md border border-input bg-background px-3 py-0 text-start font-normal shadow-xs transition-[background-color,color,box-shadow]`,`hover:bg-accent/50 hover:text-accent-foreground`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-primary/30`,`data-[disabled]:opacity-60 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none`,`data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground`],popup:[`z-50 overflow-hidden rounded-lg border border-border bg-popover p-3 text-popover-foreground shadow-md`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`],header:`mb-3 grid grid-cols-[auto_1fr_auto] items-center gap-1`,heading:`font-medium text-foreground text-center`,prev:[`inline-flex size-8 items-center justify-center rounded-md border border-transparent bg-transparent transition-colors`,`hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`],next:[`inline-flex size-8 items-center justify-center rounded-md border border-transparent bg-transparent transition-colors`,`hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`],grid:`grid grid-cols-3 gap-1`,cellTrigger:[`inline-flex h-9 cursor-pointer items-center justify-center rounded-md border border-transparent bg-transparent px-3 text-sm font-normal transition-colors`,`hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,`data-[selected]:bg-accent data-[selected]:text-foreground`,`data-[range-start]:bg-primary data-[range-start]:text-primary-foreground`,`data-[range-end]:bg-primary data-[range-end]:text-primary-foreground`,`data-[highlighted]:bg-accent/80 data-[highlighted]:text-foreground`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`data-[focused]:ring-2 data-[focused]:ring-primary/20`]},variants:{size:{xs:{root:`text-2xs`,trigger:`h-6 px-2 text-2xs`,prev:`size-6 text-2xs`,next:`size-6 text-2xs`,cellTrigger:`h-7 px-2 text-2xs`},sm:{root:`text-xs`,trigger:`h-7 px-2.5 text-xs`,prev:`size-7 text-xs`,next:`size-7 text-xs`,cellTrigger:`h-8 px-2.5 text-xs`},md:{root:`text-sm`,trigger:`h-8 px-3 text-sm`,prev:`size-8 text-sm`,next:`size-8 text-sm`,cellTrigger:`h-9 px-3 text-sm`},lg:{root:`text-base`,trigger:`h-9 px-3.5 text-base`,prev:`size-9 text-base`,next:`size-9 text-base`,cellTrigger:`h-10 px-3.5 text-base`},xl:{root:`text-lg`,trigger:`h-10 px-4 text-lg`,prev:`size-10 text-lg`,next:`size-10 text-lg`,cellTrigger:`h-11 px-4 text-lg`},"2xl":{root:`text-xl`,trigger:`h-12 px-5 text-xl`,prev:`size-12 text-xl`,next:`size-12 text-xl`,cellTrigger:`h-12 px-5 text-xl`}}},defaultVariants:{size:`md`}});export{t as monthRangePickerVariants};
@@ -1 +0,0 @@
1
- import{useUiContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`NavigationMenuExtraUi`);export{t as provideNavigationMenuExtraUi,n as useNavigationMenuExtraUi};
@@ -1 +0,0 @@
1
- import e from"../icon/icon.js";import{createVNode as t,defineComponent as n,renderSlot as r}from"vue";const i=n({name:`SNavigationMenuItemSlot`,__name:`navigation-menu-item-slot`,props:{icon:{}},setup(n){return(i,a)=>r(i.$slots,`item`,{},()=>[r(i.$slots,`item-leading`,{},()=>[t(e,{icon:n.icon},null,8,[`icon`])]),r(i.$slots,`default`),r(i.$slots,`link-icon`),r(i.$slots,`item-trailing`),r(i.$slots,`trigger-icon`)])}});export{i as default};
@@ -1 +0,0 @@
1
- import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import i from"./navigation-menu-sub-option.js";import{Fragment as a,computed as o,createBlock as s,createElementBlock as c,createElementVNode as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeClass as h,normalizeProps as g,openBlock as _,renderList as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,toHandlers as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useForwardListeners as E}from"@soybeanjs/headless/composables";import{NavigationMenuContent as D,NavigationMenuItem as O,NavigationMenuLink as k,NavigationMenuSubList as A,NavigationMenuTrigger as j}from"@soybeanjs/headless/navigation-menu";const M=f({name:`SNavigationMenuOption`,__name:`navigation-menu-option`,props:{item:{},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(f,{emit:M}){let N=f,P=M,F=w(),I=E(P),L=o(()=>Object.keys(F)),R=r(F),z=t(),B=o(()=>!!(N.item.to||N.item.href)),V=o(()=>B.value?{...N.linkProps,disabled:N.item.disabled,to:N.item.to,href:N.item.href,target:N.item.target,external:N.item.external}:{});return(t,r)=>(_(),s(C(O),m(f.itemProps,{value:f.item.value}),{default:T(()=>[f.item.children?.length?(_(),c(a,{key:1},[d(C(j),m(f.triggerProps,{disabled:f.item.disabled,"as-child":B.value}),{default:T(()=>[(_(),s(b(B.value?C(k):`template`),m(V.value,{onSelect:r[1]||=e=>P(`select`,e)}),{default:T(()=>[d(n,{icon:f.item.icon},u({"trigger-icon":T(()=>[y(t.$slots,`item-trigger-icon`,{item:f.item},()=>[d(e,{icon:`lucide:chevron-down`,class:h(C(z).triggerIcon)},null,8,[`class`])])]),default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item,isTrigger:!0})])}))]),1032,[`icon`])]),_:3},16))]),_:3},16,[`disabled`,`as-child`]),d(C(D),m(f.contentProps,S(C(I))),{default:T(()=>[d(C(A),g(p(f.subListProps)),{default:T(()=>[(_(!0),c(a,null,v(f.item.children,e=>(_(),s(i,{key:e.value,"sub-item":e,"sub-item-props":f.subItemProps,onSelect:r[2]||=e=>P(`select`,e)},u({"item-children":T(e=>[y(t.$slots,`item-children`,{item:e.item})]),_:2},[v(L.value,n=>({name:n,fn:T(()=>[y(t.$slots,n,{item:e})])}))]),1032,[`sub-item`,`sub-item-props`]))),128))]),_:3},16)]),_:3},16)],64)):(_(),s(C(k),m({key:0},V.value,{onSelect:r[0]||=e=>P(`select`,e)}),{default:T(({isHref:r})=>[d(n,{icon:f.item.icon},u({default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item})])})),r?{name:`link-icon`,fn:T(()=>[y(t.$slots,`item-link-icon`,{item:f.item},()=>[d(e,{icon:`lucide:arrow-up-right`,class:h(C(z).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16))]),_:3},16,[`value`]))}});export{M as default};
@@ -1 +0,0 @@
1
- import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementVNode as s,createSlots as c,createVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,openBlock as p,renderList as m,renderSlot as h,resolveDynamicComponent as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{NavigationMenuItem as x,NavigationMenuLink as S}from"@soybeanjs/headless/navigation-menu";const C=u({name:`SNavigationMenuSubOption`,__name:`navigation-menu-sub-option`,props:{subItem:{},subItemProps:{},linkProps:{}},emits:[`select`],setup(u,{emit:C}){let w=u,T=C,E=r(y()),D=t(),O=i(()=>!!(w.subItem.to||w.subItem.href)),k=i(()=>O.value?{...w.linkProps,disabled:w.subItem.disabled,to:w.subItem.to,href:w.subItem.href,target:w.subItem.target,external:w.subItem.external}:{});return(t,r)=>(p(),a(v(x),d(u.subItemProps,{value:u.subItem.value}),{default:b(()=>[(p(),a(g(O.value?v(S):`div`),d(k.value,{onSelect:r[0]||=e=>T(`select`,e)}),{default:b(r=>[l(n,{icon:u.subItem.icon},c({default:b(()=>[s(`div`,{class:f(v(D).subLinkContent)},[s(`span`,{class:f(v(D).subLinkLabel)},_(u.subItem.label),3),s(`p`,{class:f(v(D).subLinkDescription)},_(u.subItem.description),3)],2)]),_:2},[m(v(E),e=>({name:e,fn:b(()=>[h(t.$slots,e,{item:u.subItem})])})),r?.isHref?{name:`link-icon`,fn:b(()=>[h(t.$slots,`item-link-icon`,{item:u.subItem},()=>[l(e,{icon:`lucide:arrow-up-right`,class:f(v(D).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16)),u.subItem.children?.length?h(t.$slots,`item-children`,{key:0,item:u.subItem}):o(`v-if`,!0)]),_:3},16,[`value`]))}});export{C as default};
@@ -1 +0,0 @@
1
- import{computed as e}from"vue";const t=[`item`,`item-leading`,`item-trailing`];function n(n){return e(()=>Object.keys(n).filter(e=>t.includes(e)))}export{n as useCommonSlotKeys};
@@ -1 +0,0 @@
1
- import{computed as e}from"vue";function t(t){let{items:n,modelValue:r}=t,i=e(()=>n.value.map(e=>e.value)),a=(e,t)=>{e.pinned=t},o=e=>{let t=i.value.indexOf(e);t!==-1&&n.value.splice(t,1)},s=e=>!n.value.find(t=>t.value===e)?.pinned,c=async(e,a)=>{if(!s(e)||await t.beforeClose(e)===!1)return;let c=r.value===e,l;if(c){let t=i.value.indexOf(e);l=(n.value[t+1]??n.value[t-1]??void 0)?.value}o(e),c&&(r.value=l??``),a?.()},l=e=>{if(e.length===0)return;let t=n.value.filter(t=>!e.includes(t.value)),i=e.includes(r.value),a;i&&(a=t[t.length-1]?.value),n.value=t,i&&(r.value=a??``)},u=e=>{let t=i.value.indexOf(e);return t<=0?[]:n.value.slice(0,t).filter(e=>!e.pinned).map(e=>e.value)},d=e=>u(e).length>0,f=e=>{d(e)&&l(u(e))},p=e=>{let t=i.value.indexOf(e);return t===-1||t>=i.value.length-1?[]:n.value.slice(t+1).filter(e=>!e.pinned).map(e=>e.value)},m=e=>p(e).length>0,h=e=>{m(e)&&l(p(e))},g=e=>n.value.filter(t=>t.value!==e&&!t.pinned).map(e=>e.value),_=e=>g(e).length>0,v=e=>{_(e)&&l(g(e))},y=()=>n.value.filter(e=>!e.pinned).map(e=>e.value),b=()=>y().length>0,x=()=>{b()&&l(y())},S=()=>{let e=[],t=[],r=[];n.value.forEach(n=>{n.pinned?n.hidePinnedIcon?e.push(n):t.push(n):r.push(n)});let i=[...e,...t,...r];i.some((e,t)=>e.value!==n.value[t].value)&&(n.value=i)};return{closeTab:c,pinTab:a,sortTabs:S,getState:e=>{let t=e.value;return{pin:()=>{e.pinned=!0,S()},unpin:()=>{e.pinned=!1,S()},closable:s(t),close:async()=>{c(t)},leftClosable:d(t),closeLeft:()=>{f(t)},rightClosable:m(t),closeRight:()=>{h(t)},otherClosable:_(t),closeOther:()=>{v(t)},allClosable:b(),closeAll:()=>{x()}}}}}export{t as usePageTabsState};
@@ -1 +0,0 @@
1
- import{useContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`Popconfirm`);export{t as providePopconfirmContext,n as usePopconfirmContext};
@@ -1 +0,0 @@
1
- import{miniSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../button/button.js";import{usePopconfirmContext as n}from"./context.js";import{computed as r,createBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{PopoverClose as h}from"@soybeanjs/headless/popover";const g=s({name:`SPopconfirmCancel`,__name:`popconfirm-cancel`,props:{text:{},beforeClose:{},class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},variant:{default:`pure`},shape:{},shadow:{},fitContent:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`close`],setup(s,{emit:g}){let _=s,v=g,y=m(_,[`text`,`beforeClose`]),{size:b,cancelText:x,cancelProps:S,beforeCancel:C,onClose:w}=n(`PopconfirmCancel`),T=r(()=>({...S.value,...y.value})),E=r(()=>_.text??x.value??`Cancel`),D=r(()=>_.size??e[b.value??`md`]),O=()=>{v(`close`),w()};return(e,n)=>(l(),i(f(h),{"as-child":``,"before-close":s.beforeClose??f(C),onClose:O},{default:p(()=>[o(t,c(T.value,{size:D.value}),{default:p(()=>[u(e.$slots,`default`,{},()=>[a(d(E.value),1)])]),_:3},16,[`size`])]),_:3},8,[`before-close`]))}});export{g as default};
@@ -1,25 +0,0 @@
1
- import { ButtonVariant } from "../button/variants.js";
2
- import { PopconfirmCancelProps } from "./types.js";
3
- import * as _$vue from "vue";
4
-
5
- //#region src/components/popconfirm/popconfirm-cancel.vue.d.ts
6
- declare var __VLS_16: {};
7
- type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_16) => any;
9
- };
10
- declare const __VLS_base: _$vue.DefineComponent<PopconfirmCancelProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
11
- close: () => any;
12
- }, string, _$vue.PublicProps, Readonly<PopconfirmCancelProps> & Readonly<{
13
- onClose?: (() => any) | undefined;
14
- }>, {
15
- variant: ButtonVariant;
16
- }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
17
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
- declare const _default: typeof __VLS_export;
19
- type __VLS_WithSlots<T, S> = T & {
20
- new (): {
21
- $slots: S;
22
- };
23
- };
24
- //#endregion
25
- export { _default };
@@ -1 +0,0 @@
1
- import{miniSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../button/button.js";import{usePopconfirmContext as n}from"./context.js";import{computed as r,createBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{PopoverClose as h}from"@soybeanjs/headless/popover";const g=s({name:`SPopconfirmConfirm`,__name:`popconfirm-confirm`,props:{text:{},beforeClose:{type:Function},class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`close`],setup(s,{emit:g}){let _=s,v=g,y=m(_,[`text`,`beforeClose`]),{size:b,confirmText:x,confirmProps:S,beforeConfirm:C,onClose:w}=n(`PopconfirmConfirm`),T=r(()=>({...S.value,...y.value})),E=r(()=>_.text??x.value??`Confirm`),D=r(()=>_.size??e[b.value??`md`]),O=()=>{v(`close`),w()};return(e,n)=>(l(),i(f(h),{"as-child":``,"before-close":s.beforeClose??f(C),onClose:O},{default:p(()=>[o(t,c(T.value,{size:D.value}),{default:p(()=>[u(e.$slots,`default`,{},()=>[a(d(E.value),1)])]),_:3},16,[`size`])]),_:3},8,[`before-close`]))}});export{g as default};
@@ -1,22 +0,0 @@
1
- import { PopconfirmConfirmProps } from "./types.js";
2
- import * as _$vue from "vue";
3
-
4
- //#region src/components/popconfirm/popconfirm-confirm.vue.d.ts
5
- declare var __VLS_16: {};
6
- type __VLS_Slots = {} & {
7
- default?: (props: typeof __VLS_16) => any;
8
- };
9
- declare const __VLS_base: _$vue.DefineComponent<PopconfirmConfirmProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
10
- close: () => any;
11
- }, string, _$vue.PublicProps, Readonly<PopconfirmConfirmProps> & Readonly<{
12
- onClose?: (() => any) | undefined;
13
- }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
14
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
- declare const _default: typeof __VLS_export;
16
- type __VLS_WithSlots<T, S> = T & {
17
- new (): {
18
- $slots: S;
19
- };
20
- };
21
- //#endregion
22
- export { _default };
@@ -1 +0,0 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{radioCardGroupVariants as t}from"./variants.js";import n from"./radio-card.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,defineComponent as s,mergeProps as c,openBlock as l,renderList as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{RadioGroupRoot as m,provideRadioGroupUi as h}from"@soybeanjs/headless/radio-group";const g=s({name:`SRadioCardGroup`,__name:`radio-card-group`,props:{ui:{},items:{},class:{type:[Boolean,null,String,Object,Array]},variant:{},color:{},size:{},itemProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:g}){let _=s,v=g,y=p(_,[`class`,`ui`,`variant`,`color`,`size`,`items`,`itemProps`,`controlProps`,`indicatorProps`,`labelProps`]),b=i(()=>e(t({variant:_.variant,color:_.color,size:_.size}),_.ui,{root:_.class}));return h(b),(e,t)=>(l(),a(d(m),c(d(y),{"onUpdate:modelValue":t[0]||=e=>v(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,e=>(l(),a(n,c({key:String(e.value)},{ref_for:!0},s.itemProps,{ui:b.value,variant:s.variant,size:s.size,value:e.value,label:e.label,disabled:s.disabled||e.disabled,icon:e.icon,description:e.description,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`ui`,`variant`,`size`,`value`,`label`,`disabled`,`icon`,`description`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16))}});export{g as default};
@@ -1,22 +0,0 @@
1
- import { RadioCardGroupOptionData, RadioCardGroupProps } from "./types.js";
2
- import * as _$vue from "vue";
3
- import { AcceptableBooleanValue } from "@soybeanjs/headless/types";
4
-
5
- //#region src/components/radio-group/radio-card-group.vue.d.ts
6
- declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends RadioCardGroupOptionData<T> = RadioCardGroupOptionData<T>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
- props: _$vue.PublicProps & __VLS_PrettifyLocal<RadioCardGroupProps<T, S> & {
8
- "onUpdate:modelValue"?: ((payload: NonNullable<AcceptableBooleanValue>) => any) | undefined;
9
- }> & (typeof globalThis extends {
10
- __VLS_PROPS_FALLBACK: infer P;
11
- } ? P : {});
12
- expose: (exposed: {}) => void;
13
- attrs: any;
14
- slots: {};
15
- emit: (evt: "update:modelValue", payload: NonNullable<AcceptableBooleanValue>) => void;
16
- }>) => _$vue.VNode & {
17
- __ctx?: Awaited<typeof __VLS_setup>;
18
- };
19
- declare const _default: typeof __VLS_export;
20
- type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
21
- //#endregion
22
- export { _default };
@@ -1 +0,0 @@
1
- import e from"../icon/icon.js";import{Transition as t,computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,unref as _,useId as v,useSlots as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{RadioGroupControl as S,RadioGroupIndicator as C,RadioGroupItem as w,RadioGroupLabel as T}from"@soybeanjs/headless/radio-group";import{Slot as E}from"@soybeanjs/headless/slot";const D={key:0},O=l({name:`SRadioCard`,__name:`radio-card`,props:{ui:{},icon:{},description:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},value:{type:[String,Number,Boolean]},disabled:{type:Boolean},name:{},required:{type:Boolean}},setup(l){let O=l,k=y(),A=x(O,[`ui`,`icon`,`description`,`controlProps`,`indicatorProps`,`labelProps`]),j=v(),M=n(()=>O.id||`radio-${j}`);return(n,v)=>(m(),r(_(w),p(u(_(A))),{default:b(()=>[o(`div`,{class:f(l.ui?.content)},[c(e,{icon:l.icon,class:f(l.ui?.icon)},null,8,[`icon`,`class`]),o(`div`,{class:f(l.ui?.textContent)},[c(_(T),d(l.labelProps,{for:M.value}),{default:b(()=>[h(n.$slots,`default`,{id:M.value},()=>[s(g(l.label),1)])]),_:3},16,[`for`]),_(k).description||l.description?(m(),r(_(E),{key:0,class:f(l.ui?.description)},{default:b(()=>[h(n.$slots,`description`,{},()=>[l.description?(m(),a(`p`,D,g(l.description),1)):i(`v-if`,!0)])]),_:3},8,[`class`])):i(`v-if`,!0)],2)],2),c(_(S),d(l.controlProps,{id:M.value}),{default:b(()=>[c(t,{"enter-active-class":`transition`,"enter-from-class":`opacity-0 scale-0`},{default:b(()=>[c(_(C),p(u(l.indicatorProps)),null,16)]),_:1})]),_:1},16,[`id`])]),_:3},16))}});export{O as default};
@@ -1,22 +0,0 @@
1
- import { RadioCardProps } from "./types.js";
2
- import * as _$vue from "vue";
3
-
4
- //#region src/components/radio-group/radio-card.vue.d.ts
5
- declare var __VLS_19: {
6
- id: string;
7
- }, __VLS_27: {};
8
- type __VLS_Slots = {} & {
9
- default?: (props: typeof __VLS_19) => any;
10
- } & {
11
- description?: (props: typeof __VLS_27) => any;
12
- };
13
- declare const __VLS_base: _$vue.DefineComponent<RadioCardProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<RadioCardProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
14
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
- declare const _default: typeof __VLS_export;
16
- type __VLS_WithSlots<T, S> = T & {
17
- new (): {
18
- $slots: S;
19
- };
20
- };
21
- //#endregion
22
- export { _default };
@@ -1 +0,0 @@
1
- import{Transition as e,computed as t,createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,useId as p,withCtx as m}from"vue";import{useOmitProps as h}from"@soybeanjs/headless/composables";import{RadioGroupControl as g,RadioGroupIndicator as _,RadioGroupItem as v,RadioGroupLabel as y}from"@soybeanjs/headless/radio-group";const b=a({name:`SRadio`,__name:`radio`,props:{label:{},controlProps:{},indicatorProps:{},labelProps:{},value:{type:[String,Number,Boolean]},disabled:{type:Boolean},name:{},required:{type:Boolean}},setup(a){let b=a,x=h(b,[`controlProps`,`indicatorProps`,`labelProps`]),S=p(),C=t(()=>b.id||`radio-${S}`);return(t,p)=>(l(),n(f(v),c(o(f(x))),{default:m(()=>[i(f(g),s(a.controlProps,{id:C.value}),{default:m(()=>[i(e,{"enter-active-class":`transition`,"enter-from-class":`opacity-0 scale-0`},{default:m(()=>[i(f(_),c(o(a.indicatorProps)),null,16)]),_:1})]),_:1},16,[`id`]),i(f(y),s(a.labelProps,{for:C.value}),{default:m(()=>[u(t.$slots,`default`,{},()=>[r(d(a.label),1)])]),_:3},16,[`for`])]),_:3},16))}});export{b as default};
@@ -1,18 +0,0 @@
1
- import { RadioProps } from "./types.js";
2
- import * as _$vue from "vue";
3
-
4
- //#region src/components/radio-group/radio.vue.d.ts
5
- declare var __VLS_31: {};
6
- type __VLS_Slots = {} & {
7
- default?: (props: typeof __VLS_31) => any;
8
- };
9
- declare const __VLS_base: _$vue.DefineComponent<RadioProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<RadioProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
10
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
- declare const _default: typeof __VLS_export;
12
- type __VLS_WithSlots<T, S> = T & {
13
- new (): {
14
- $slots: S;
15
- };
16
- };
17
- //#endregion
18
- export { _default };
@@ -1,3 +0,0 @@
1
- import { RangeCalendarDaySlotProps, RangeCalendarEmits, RangeCalendarHeadCellSlotProps, RangeCalendarProps, RangeCalendarSlots } from "./types.js";
2
- import { _default } from "./range-calendar.vue.js";
3
- export * from "@soybeanjs/headless/range-calendar";
@@ -1 +0,0 @@
1
- import"./range-calendar.js";
@@ -1 +0,0 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{rangeCalendarVariants as n}from"./variants.js";import{computed as r,createBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{RangeCalendarCompact as y,provideRangeCalendarUi as b}from"@soybeanjs/headless/range-calendar";const x=s({name:`SRangeCalendar`,__name:`range-calendar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},defaultValue:{},defaultPlaceholder:{},placeholder:{},modelValue:{},allowNonContiguousRanges:{type:Boolean},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},maximumDays:{},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},locale:{},numberOfMonths:{},disabled:{type:Boolean},readonly:{type:Boolean},initialFocus:{type:Boolean},isDateDisabled:{type:Function},isDateUnavailable:{type:Function},isDateHighlightable:{type:Function},dir:{},nextPage:{type:Function},prevPage:{type:Function},disableDaysOutsideCurrentView:{type:Boolean},fixedDate:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`],setup(s,{emit:x}){let S=s,C=x,w=v(S,[`cellProps`,`cellTriggerProps`,`class`,`gridBodyProps`,`gridHeadProps`,`gridProps`,`gridRowProps`,`headCellProps`,`headerProps`,`headingProps`,`nextProps`,`prevProps`,`size`,`ui`]),T=_(C);return b(r(()=>e(n({size:S.size}),S.ui,{root:S.class}))),(e,n)=>(d(),i(h(y),l({...h(w),cellProps:s.cellProps,cellTriggerProps:s.cellTriggerProps,gridBodyProps:s.gridBodyProps,gridHeadProps:s.gridHeadProps,gridProps:s.gridProps,gridRowProps:s.gridRowProps,headCellProps:s.headCellProps,headerProps:s.headerProps,headingProps:s.headingProps,nextProps:s.nextProps,prevProps:s.prevProps},m(h(T))),{prev:g(n=>[f(e.$slots,`prev`,u(c(n)),()=>[o(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),heading:g(t=>[f(e.$slots,`heading`,u(c(t)),()=>[a(p(t.headingValue),1)])]),next:g(n=>[f(e.$slots,`next`,u(c(n)),()=>[o(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),"head-cell":g(t=>[f(e.$slots,`head-cell`,u(c(t)),()=>[a(p(t.label),1)])]),day:g(t=>[f(e.$slots,`day`,u(c(t)),()=>[a(p(t.dayValue),1)])]),default:g(t=>[f(e.$slots,`default`,u(c(t)))]),_:3},16))}});export{x as default};