@soybeanjs/ui 0.3.2 → 0.4.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 (96) hide show
  1. package/README.md +63 -62
  2. package/README.zh-CN.md +130 -129
  3. package/dist/components/accordion/accordion.vue.d.ts +3 -3
  4. package/dist/components/alert/alert.vue.d.ts +4 -4
  5. package/dist/components/alert-dialog/alert-dialog-action.vue.d.ts +3 -3
  6. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +3 -3
  7. package/dist/components/alert-dialog/alert-dialog.vue.d.ts +4 -4
  8. package/dist/components/avatar/avatar.vue.d.ts +7 -7
  9. package/dist/components/badge/badge.vue.d.ts +4 -4
  10. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -3
  11. package/dist/components/button/button-group.vue.d.ts +6 -6
  12. package/dist/components/button/button-icon.vue.d.ts +3 -3
  13. package/dist/components/button/button-link.js +1 -1
  14. package/dist/components/button/button-link.vue.d.ts +5 -5
  15. package/dist/components/button/button-loading.vue.d.ts +3 -3
  16. package/dist/components/button/button.vue.d.ts +4 -4
  17. package/dist/components/card/card.vue.d.ts +3 -3
  18. package/dist/components/checkbox/checkbox-card-group.vue.d.ts +3 -3
  19. package/dist/components/checkbox/checkbox-card.vue.d.ts +8 -8
  20. package/dist/components/checkbox/checkbox-group.vue.d.ts +3 -3
  21. package/dist/components/checkbox/checkbox.vue.d.ts +12 -12
  22. package/dist/components/collapsible/collapsible.vue.d.ts +4 -4
  23. package/dist/components/command/command.vue.d.ts +8 -8
  24. package/dist/components/config-provider/config-provider.vue.d.ts +5 -5
  25. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +9 -9
  26. package/dist/components/context-menu/context-menu-radio.vue.d.ts +9 -9
  27. package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +11 -11
  28. package/dist/components/context-menu/context-menu.vue.d.ts +8 -8
  29. package/dist/components/dialog/dialog-close.vue.d.ts +2 -2
  30. package/dist/components/dialog/dialog-pure.vue.d.ts +12 -12
  31. package/dist/components/dialog/dialog.vue.d.ts +12 -12
  32. package/dist/components/drawer/drawer-close.vue.d.ts +2 -2
  33. package/dist/components/drawer/drawer.vue.d.ts +12 -12
  34. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +9 -9
  35. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +9 -9
  36. package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +12 -12
  37. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +8 -8
  38. package/dist/components/form/form.vue.d.ts +2 -2
  39. package/dist/components/form/use-form.d.ts +22 -22
  40. package/dist/components/icon/icon.vue.d.ts +2 -2
  41. package/dist/components/input/input.vue.d.ts +4 -4
  42. package/dist/components/kbd/kbd.vue.d.ts +3 -3
  43. package/dist/components/label/label.vue.d.ts +2 -2
  44. package/dist/components/layout/layout-trigger.vue.d.ts +2 -2
  45. package/dist/components/layout/layout.vue.d.ts +4 -4
  46. package/dist/components/link/link.js +1 -1
  47. package/dist/components/link/link.vue.d.ts +1 -1
  48. package/dist/components/list/list-item.vue.d.ts +2 -2
  49. package/dist/components/list/list.vue.d.ts +2 -2
  50. package/dist/components/menu/menu-checkbox-options.vue.d.ts +3 -3
  51. package/dist/components/menu/menu-option.vue.d.ts +3 -3
  52. package/dist/components/menu/menu-options.vue.d.ts +3 -3
  53. package/dist/components/menu/menu-radio-options.vue.d.ts +3 -3
  54. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +6 -6
  55. package/dist/components/page-tabs/index.d.ts +3 -0
  56. package/dist/components/page-tabs/page-tabs.js +1 -0
  57. package/dist/components/page-tabs/page-tabs.vue.d.ts +27 -0
  58. package/dist/components/page-tabs/types.d.ts +32 -0
  59. package/dist/components/pagination/pagination.vue.d.ts +4 -4
  60. package/dist/components/password/password.vue.d.ts +4 -4
  61. package/dist/components/popover/popover.vue.d.ts +11 -11
  62. package/dist/components/radio-group/radio-card-group.vue.d.ts +3 -3
  63. package/dist/components/radio-group/radio-card.vue.d.ts +2 -2
  64. package/dist/components/radio-group/radio-group.vue.d.ts +3 -3
  65. package/dist/components/radio-group/radio.vue.d.ts +2 -2
  66. package/dist/components/segment/segment.vue.d.ts +3 -3
  67. package/dist/components/select/select.vue.d.ts +8 -8
  68. package/dist/components/separator/separator.vue.d.ts +5 -5
  69. package/dist/components/switch/switch.vue.d.ts +25 -25
  70. package/dist/components/tabs/tabs.vue.d.ts +3 -3
  71. package/dist/components/tag/tag.vue.d.ts +4 -4
  72. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  73. package/dist/components/tooltip/tooltip.vue.d.ts +7 -7
  74. package/dist/components/tree/tree-virtualizer.vue.d.ts +5 -5
  75. package/dist/components/tree/tree.vue.d.ts +5 -5
  76. package/dist/components/tree-menu/tree-menu-option.js +1 -1
  77. package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -3
  78. package/dist/components/virtualizer/virtualizer.vue.d.ts +3 -3
  79. package/dist/constants/components.d.ts +1 -0
  80. package/dist/constants/components.js +1 -1
  81. package/dist/index.d.ts +26 -22
  82. package/dist/index.js +1 -1
  83. package/dist/styles.css +24 -4
  84. package/dist/variants/alert.d.ts +3 -3
  85. package/dist/variants/badge.d.ts +3 -3
  86. package/dist/variants/button.d.ts +3 -3
  87. package/dist/variants/checkbox.d.ts +3 -3
  88. package/dist/variants/page-tabs.d.ts +183 -0
  89. package/dist/variants/page-tabs.js +1 -0
  90. package/dist/variants/pagination.d.ts +3 -3
  91. package/dist/variants/separator.d.ts +3 -3
  92. package/dist/variants/switch.d.ts +3 -3
  93. package/dist/variants/tag.d.ts +3 -3
  94. package/dist/variants/textarea.d.ts +3 -3
  95. package/dist/variants/toast.d.ts +3 -3
  96. package/package.json +5 -3
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import e from"./components/alert-dialog/alert-dialog.js";import t from"./components/button/button.js";import n from"./components/alert-dialog/alert-dialog-cancel.js";import r from"./components/alert-dialog/alert-dialog-action.js";import{useDialog as i}from"./components/dialog/context.js";import{useConfigProvider as a}from"./components/config-provider/context.js";import{useToast as o}from"./components/toast/context.js";import s from"./components/button/button-icon.js";import c from"./components/toast/toast.js";import l from"./components/config-provider/config-provider.js";import u from"./components/icon/icon.js";import d from"./components/accordion/accordion.js";import f from"./components/alert/alert.js";import{SArrow as p}from"./components/arrow/index.js";import{SAspectRatio as m}from"./components/aspect-ratio/index.js";import h from"./components/avatar/avatar.js";import g from"./components/badge/badge.js";import _ from"./components/breadcrumb/breadcrumb.js";import{SBreadcrumbEllipsis as v,SBreadcrumbPage as y}from"./components/breadcrumb/index.js";import b from"./components/button/button-loading.js";import x from"./components/link/link.js";import S from"./components/button/button-link.js";import C from"./components/button/button-group.js";import w from"./components/card/card.js";import T from"./components/checkbox/checkbox.js";import E from"./components/checkbox/checkbox-group.js";import D from"./components/checkbox/checkbox-card.js";import O from"./components/checkbox/checkbox-card-group.js";import k from"./components/collapsible/collapsible.js";import{SCollapsibleContent as A,SCollapsibleTrigger as j}from"./components/collapsible/index.js";import M from"./components/kbd/kbd.js";import N from"./components/command/command.js";import P from"./components/menu/menu-option.js";import F from"./components/menu/menu-options.js";import I from"./components/context-menu/context-menu-wrapper.js";import L from"./components/context-menu/context-menu.js";import R from"./components/menu/menu-checkbox-options.js";import z from"./components/context-menu/context-menu-checkbox.js";import B from"./components/menu/menu-radio-options.js";import V from"./components/context-menu/context-menu-radio.js";import H from"./components/dialog/dialog.js";import U from"./components/dialog/dialog-close.js";import W from"./components/dialog/dialog-pure.js";import G from"./components/drawer/drawer.js";import K from"./components/drawer/drawer-close.js";import q from"./components/dropdown-menu/dropdown-menu-wrapper.js";import J from"./components/dropdown-menu/dropdown-menu.js";import Y from"./components/dropdown-menu/dropdown-menu-checkbox.js";import X from"./components/dropdown-menu/dropdown-menu-radio.js";import Z from"./components/form/form.js";import{useForm as Q}from"./components/form/use-form.js";import $ from"./components/input/input.js";import ee from"./components/label/label.js";import te from"./components/layout/layout.js";import ne from"./components/layout/layout-trigger.js";import re from"./components/list/list.js";import ie from"./components/list/list-item.js";import ae from"./components/navigation-menu/navigation-menu.js";import oe from"./components/number-input/number-input.js";import se from"./components/pagination/pagination.js";import ce from"./components/password/password.js";import le from"./components/popover/popover.js";import ue from"./components/radio-group/radio.js";import de from"./components/radio-group/radio-group.js";import fe from"./components/radio-group/radio-card.js";import pe from"./components/radio-group/radio-card-group.js";import me from"./components/segment/segment.js";import he from"./components/select/select.js";import ge from"./components/separator/separator.js";import _e from"./components/switch/switch.js";import ve from"./components/tabs/tabs.js";import ye from"./components/tag/tag.js";import be from"./components/textarea/textarea.js";import{SToastAction as xe,SToastClose as Se}from"./components/toast/index.js";import Ce from"./components/tooltip/tooltip.js";import we from"./components/tree/tree.js";import Te from"./components/tree/tree-virtualizer.js";import{STreeItem as Ee,STreeVirtualizerItem as De}from"./components/tree/index.js";import Oe from"./components/tree-menu/tree-menu.js";import ke from"./components/tree-menu/tree-menu-styled-item.js";import Ae from"./components/virtualizer/virtualizer.js";import{SVirtualizerItem as je}from"./components/virtualizer/index.js";export{d as SAccordion,f as SAlert,e as SAlertDialog,r as SAlertDialogAction,n as SAlertDialogCancel,p as SArrow,m as SAspectRatio,h as SAvatar,g as SBadge,_ as SBreadcrumb,v as SBreadcrumbEllipsis,y as SBreadcrumbPage,t as SButton,C as SButtonGroup,s as SButtonIcon,S as SButtonLink,b as SButtonLoading,w as SCard,T as SCheckbox,D as SCheckboxCard,O as SCheckboxCardGroup,E as SCheckboxGroup,k as SCollapsible,A as SCollapsibleContent,j as SCollapsibleTrigger,N as SCommand,l as SConfigProvider,L as SContextMenu,z as SContextMenuCheckbox,V as SContextMenuRadio,I as SContextMenuWrapper,H as SDialog,U as SDialogClose,W as SDialogPure,G as SDrawer,K as SDrawerClose,J as SDropdownMenu,Y as SDropdownMenuCheckbox,X as SDropdownMenuRadio,q as SDropdownMenuWrapper,Z as SForm,u as SIcon,$ as SInput,M as SKbd,ee as SLabel,te as SLayout,ne as SLayoutTrigger,x as SLink,re as SList,ie as SListItem,R as SMenuCheckboxOptions,P as SMenuOption,F as SMenuOptions,B as SMenuRadioOptions,ae as SNavigationMenu,oe as SNumberInput,se as SPagination,ce as SPassword,le as SPopover,ue as SRadio,fe as SRadioCard,pe as SRadioCardGroup,de as SRadioGroup,me as SSegment,he as SSelect,ge as SSeparator,_e as SSwitch,ve as STabs,ye as STag,be as STextarea,c as SToast,xe as SToastAction,Se as SToastClose,Ce as STooltip,we as STree,Ee as STreeItem,Oe as STreeMenu,ke as STreeMenuStyledItem,Te as STreeVirtualizer,De as STreeVirtualizerItem,Ae as SVirtualizer,je as SVirtualizerItem,a as useConfigProvider,i as useDialog,Q as useForm,o as useToast};
1
+ import e from"./components/alert-dialog/alert-dialog.js";import t from"./components/button/button.js";import n from"./components/alert-dialog/alert-dialog-cancel.js";import r from"./components/alert-dialog/alert-dialog-action.js";import{useDialog as i}from"./components/dialog/context.js";import{useConfigProvider as a}from"./components/config-provider/context.js";import{useToast as o}from"./components/toast/context.js";import s from"./components/button/button-icon.js";import c from"./components/toast/toast.js";import l from"./components/config-provider/config-provider.js";import u from"./components/icon/icon.js";import d from"./components/accordion/accordion.js";import f from"./components/alert/alert.js";import{SArrow as p}from"./components/arrow/index.js";import{SAspectRatio as m}from"./components/aspect-ratio/index.js";import h from"./components/avatar/avatar.js";import g from"./components/badge/badge.js";import _ from"./components/breadcrumb/breadcrumb.js";import{SBreadcrumbEllipsis as v,SBreadcrumbPage as y}from"./components/breadcrumb/index.js";import b from"./components/button/button-loading.js";import x from"./components/link/link.js";import S from"./components/button/button-link.js";import C from"./components/button/button-group.js";import w from"./components/card/card.js";import T from"./components/checkbox/checkbox.js";import E from"./components/checkbox/checkbox-group.js";import D from"./components/checkbox/checkbox-card.js";import O from"./components/checkbox/checkbox-card-group.js";import k from"./components/collapsible/collapsible.js";import{SCollapsibleContent as A,SCollapsibleTrigger as j}from"./components/collapsible/index.js";import M from"./components/kbd/kbd.js";import N from"./components/command/command.js";import P from"./components/menu/menu-option.js";import F from"./components/menu/menu-options.js";import I from"./components/context-menu/context-menu-wrapper.js";import L from"./components/context-menu/context-menu.js";import R from"./components/menu/menu-checkbox-options.js";import z from"./components/context-menu/context-menu-checkbox.js";import B from"./components/menu/menu-radio-options.js";import V from"./components/context-menu/context-menu-radio.js";import H from"./components/dialog/dialog.js";import U from"./components/dialog/dialog-close.js";import W from"./components/dialog/dialog-pure.js";import G from"./components/drawer/drawer.js";import K from"./components/drawer/drawer-close.js";import q from"./components/dropdown-menu/dropdown-menu-wrapper.js";import J from"./components/dropdown-menu/dropdown-menu.js";import Y from"./components/dropdown-menu/dropdown-menu-checkbox.js";import X from"./components/dropdown-menu/dropdown-menu-radio.js";import Z from"./components/form/form.js";import{useForm as Q}from"./components/form/use-form.js";import $ from"./components/input/input.js";import ee from"./components/label/label.js";import te from"./components/layout/layout.js";import ne from"./components/layout/layout-trigger.js";import re from"./components/list/list.js";import ie from"./components/list/list-item.js";import ae from"./components/navigation-menu/navigation-menu.js";import oe from"./components/number-input/number-input.js";import se from"./components/page-tabs/page-tabs.js";import ce from"./components/pagination/pagination.js";import le from"./components/password/password.js";import ue from"./components/popover/popover.js";import de from"./components/radio-group/radio.js";import fe from"./components/radio-group/radio-group.js";import pe from"./components/radio-group/radio-card.js";import me from"./components/radio-group/radio-card-group.js";import he from"./components/segment/segment.js";import ge from"./components/select/select.js";import _e from"./components/separator/separator.js";import ve from"./components/switch/switch.js";import ye from"./components/tabs/tabs.js";import be from"./components/tag/tag.js";import xe from"./components/textarea/textarea.js";import{SToastAction as Se,SToastClose as Ce}from"./components/toast/index.js";import we from"./components/tooltip/tooltip.js";import Te from"./components/tree/tree.js";import Ee from"./components/tree/tree-virtualizer.js";import{STreeItem as De,STreeVirtualizerItem as Oe}from"./components/tree/index.js";import ke from"./components/tree-menu/tree-menu.js";import Ae from"./components/tree-menu/tree-menu-styled-item.js";import je from"./components/virtualizer/virtualizer.js";import{SVirtualizerItem as Me}from"./components/virtualizer/index.js";export{d as SAccordion,f as SAlert,e as SAlertDialog,r as SAlertDialogAction,n as SAlertDialogCancel,p as SArrow,m as SAspectRatio,h as SAvatar,g as SBadge,_ as SBreadcrumb,v as SBreadcrumbEllipsis,y as SBreadcrumbPage,t as SButton,C as SButtonGroup,s as SButtonIcon,S as SButtonLink,b as SButtonLoading,w as SCard,T as SCheckbox,D as SCheckboxCard,O as SCheckboxCardGroup,E as SCheckboxGroup,k as SCollapsible,A as SCollapsibleContent,j as SCollapsibleTrigger,N as SCommand,l as SConfigProvider,L as SContextMenu,z as SContextMenuCheckbox,V as SContextMenuRadio,I as SContextMenuWrapper,H as SDialog,U as SDialogClose,W as SDialogPure,G as SDrawer,K as SDrawerClose,J as SDropdownMenu,Y as SDropdownMenuCheckbox,X as SDropdownMenuRadio,q as SDropdownMenuWrapper,Z as SForm,u as SIcon,$ as SInput,M as SKbd,ee as SLabel,te as SLayout,ne as SLayoutTrigger,x as SLink,re as SList,ie as SListItem,R as SMenuCheckboxOptions,P as SMenuOption,F as SMenuOptions,B as SMenuRadioOptions,ae as SNavigationMenu,oe as SNumberInput,se as SPageTabs,ce as SPagination,le as SPassword,ue as SPopover,de as SRadio,pe as SRadioCard,me as SRadioCardGroup,fe as SRadioGroup,he as SSegment,ge as SSelect,_e as SSeparator,ve as SSwitch,ye as STabs,be as STag,xe as STextarea,c as SToast,Se as SToastAction,Ce as SToastClose,we as STooltip,Te as STree,De as STreeItem,ke as STreeMenu,Ae as STreeMenuStyledItem,Ee as STreeVirtualizer,Oe as STreeVirtualizerItem,je as SVirtualizer,Me as SVirtualizerItem,a as useConfigProvider,i as useDialog,Q as useForm,o as useToast};
package/dist/styles.css CHANGED
@@ -100,7 +100,8 @@
100
100
  .bottom-3\.5{bottom:0.875rem;}
101
101
  .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--soybean-sidebar-width\)\*-1\)\]{left:calc(var(--soybean-sidebar-width) * -1);}
102
102
  .group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--soybean-sidebar-width\)\*-1\)\]{right:calc(var(--soybean-sidebar-width) * -1);}
103
- .group[data-orientation=vertical] .group-data-\[orientation\=vertical\]\:left-full{left:100%;}
103
+ .group[data-orientation=vertical] .group-data-\[orientation\=vertical\]\:left-full,
104
+ .left-full{left:100%;}
104
105
  .group[data-orientation=vertical] .group-data-\[orientation\=vertical\]\:top-\[calc\(var\(--soybean-navigation-menu-indicator-size\)\/2\)\]{top:calc(var(--soybean-navigation-menu-indicator-size) / 2);}
105
106
  .group[data-orientation=vertical] .group-data-\[orientation\=vertical\]\:top-0,
106
107
  .top-0{top:0;}
@@ -148,6 +149,7 @@
148
149
  .right-3{right:0.75rem;}
149
150
  .right-3\.5{right:0.875rem;}
150
151
  .right-4{right:1rem;}
152
+ .right-full{right:100%;}
151
153
  .top-\[50\%\],
152
154
  .top-1\/2{top:50%;}
153
155
  .top-\[calc\(1\.5rem\+4px\)\]{top:calc(1.5rem + 4px);}
@@ -180,10 +182,12 @@
180
182
  .after\:left-1\/2::after{left:50%;}
181
183
  .after\:left-full::after{left:100%;}
182
184
  .line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;}
185
+ .data-\[active\=true\]\:z-2[data-active=true],
186
+ .group\/item[data-active=true] .group-data-\[active\=true\]\/item\:z-2,
187
+ .z-2{z-index:2;}
183
188
  .z-1{z-index:1;}
184
189
  .z-10{z-index:10;}
185
190
  .z-100{z-index:100;}
186
- .z-2{z-index:2;}
187
191
  .z-20{z-index:20;}
188
192
  .z-3{z-index:3;}
189
193
  .z-50{z-index:50;}
@@ -353,7 +357,8 @@
353
357
  .h-\[--soybean-select-trigger-height\]{height:var(--soybean-select-trigger-height);}
354
358
  .h-\[--soybean-tabs-indicator-size\]{height:var(--soybean-tabs-indicator-size);}
355
359
  .h-\[calc\(100\%-8px\)\]{height:calc(100% - 8px);}
356
- .h-0\.125rem{height:0.125rem;}
360
+ .h-0\.125rem,
361
+ .h-0\.5{height:0.125rem;}
357
362
  .h-0\.5em{height:0.5em;}
358
363
  .h-1\.25{height:0.3125rem;}
359
364
  .h-1\.5{height:0.375rem;}
@@ -387,6 +392,12 @@
387
392
  .max-h-screen{max-height:100vh;}
388
393
  .max-w-2xl{max-width:42rem;}
389
394
  .max-w-3xl{max-width:48rem;}
395
+ .max-w-50{max-width:12.5rem;}
396
+ .max-w-55{max-width:13.75rem;}
397
+ .max-w-60{max-width:15rem;}
398
+ .max-w-65{max-width:16.25rem;}
399
+ .max-w-70{max-width:17.5rem;}
400
+ .max-w-75{max-width:18.75rem;}
390
401
  .max-w-lg{max-width:32rem;}
391
402
  .max-w-md{max-width:28rem;}
392
403
  .max-w-xl{max-width:36rem;}
@@ -684,6 +695,7 @@
684
695
  .rounded-t-3{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem;}
685
696
  .rounded-t-3\.5{border-top-left-radius:0.875rem;border-top-right-radius:0.875rem;}
686
697
  .rounded-t-4{border-top-left-radius:1rem;border-top-right-radius:1rem;}
698
+ .rounded-t-md{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px);}
687
699
  .first\:\[\&\>\*\]\:rd-b-0>*:first-child{border-bottom-left-radius:0;border-bottom-right-radius:0;}
688
700
  .first\:\[\&\>\*\]\:rd-r-0>*:first-child{border-top-right-radius:0;border-bottom-right-radius:0;}
689
701
  .first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);}
@@ -743,7 +755,8 @@
743
755
  .data-\[state\=checked\]\:bg-primary[data-state=checked],
744
756
  .data-\[state\=indeterminate\]\:bg-primary[data-state=indeterminate],
745
757
  .group[data-state=active] .group-data-\[state\=active\]\:bg-primary,
746
- .group[data-state=completed] .group-data-\[state\=completed\]\:bg-primary{--un-bg-opacity:1;background-color:hsl(var(--primary) / var(--un-bg-opacity)) /* hsl(var(--primary)) */;}
758
+ .group[data-state=completed] .group-data-\[state\=completed\]\:bg-primary,
759
+ .group\/item[data-active=true] .group-data-\[active\=true\]\/item\:bg-primary{--un-bg-opacity:1;background-color:hsl(var(--primary) / var(--un-bg-opacity)) /* hsl(var(--primary)) */;}
747
760
  .bg-primary-100{--un-bg-opacity:1;background-color:hsl(var(--primary-100) / var(--un-bg-opacity)) /* hsl(var(--primary-100)) */;}
748
761
  .bg-primary\/10,
749
762
  .data-\[active\=true\]\:bg-primary\/10[data-active=true],
@@ -774,6 +787,7 @@
774
787
  .bg-warning\/20{background-color:hsl(var(--warning) / 0.2) /* hsl(var(--warning)) */;}
775
788
  .data-\[active\]\:bg-accent\/50[data-active],
776
789
  .data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / 0.5) /* hsl(var(--accent)) */;}
790
+ .data-\[active\=true\]\:bg-primary-50[data-active=true]{--un-bg-opacity:1;background-color:hsl(var(--primary-50) / var(--un-bg-opacity)) /* hsl(var(--primary-50)) */;}
777
791
  .data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--un-bg-opacity:var(--input-alpha, 1);background-color:hsl(var(--input) / var(--un-bg-opacity)) /* hsl(var(--input) / var(--input-alpha, 1)) */;}
778
792
  .data-\[active\=false\]\:hover\:bg-accent:hover[data-active=false]{--un-bg-opacity:1;background-color:hsl(var(--accent) / var(--un-bg-opacity)) /* hsl(var(--accent)) */;}
779
793
  .data-\[active\=false\]\:hover\:bg-sidebar-accent:hover[data-active=false]{--un-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--un-bg-opacity)) /* hsl(var(--sidebar-accent)) */;}
@@ -783,6 +797,8 @@
783
797
  .data-\[selected\]\:hover\:bg-transparent:hover[data-selected]{background-color:transparent /* transparent */;}
784
798
  .data-\[state\=on\]\:hover\:bg-accent:hover[data-state=on]{--un-bg-opacity:1;background-color:hsl(var(--accent) / var(--un-bg-opacity)) /* hsl(var(--accent)) */;}
785
799
  .group[data-state=collapsed] .group-data-\[state\=collapsed\]\:hover\:bg-sidebar-accent:hover{--un-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--un-bg-opacity)) /* hsl(var(--sidebar-accent)) */;}
800
+ .group\/item[data-active=false] .group-data-\[active\=false\]\/item\:hover\:bg-accent-foreground\/20:hover{background-color:hsl(var(--accent-foreground) / 0.2) /* hsl(var(--accent-foreground)) */;}
801
+ .group\/item[data-active=true] .group-data-\[active\=true\]\/item\:hover\:bg-primary\/50:hover{background-color:hsl(var(--primary) / 0.5) /* hsl(var(--primary)) */;}
786
802
  .hover\:after\:bg-sidebar-border:hover::after{--un-bg-opacity:var(--sidebar-border-alpha, 1);background-color:hsl(var(--sidebar-border) / var(--un-bg-opacity)) /* hsl(var(--sidebar-border) / var(--sidebar-border-alpha, 1)) */;}
787
803
  .hover\:bg-accent-foreground\/10:hover{background-color:hsl(var(--accent-foreground) / 0.1) /* hsl(var(--accent-foreground)) */;}
788
804
  .hover\:bg-accent:hover{--un-bg-opacity:1;background-color:hsl(var(--accent) / var(--un-bg-opacity)) /* hsl(var(--accent)) */;}
@@ -826,6 +842,9 @@
826
842
  .data-\[selected\]\:active\:bg-primary\/20:active[data-selected]{background-color:hsl(var(--primary) / 0.2) /* hsl(var(--primary)) */;}
827
843
  .file\:bg-transparent::file-selector-button{background-color:transparent /* transparent */;}
828
844
  .fill-popover{--un-fill-opacity:1;fill:hsl(var(--popover) / var(--un-fill-opacity)) /* hsl(var(--popover)) */;}
845
+ .fill-transparent{fill:transparent /* transparent */;}
846
+ .group\/item[data-active=true] .group-data-\[active\=true\]\/item\:fill-primary-50{--un-fill-opacity:1;fill:hsl(var(--primary-50) / var(--un-fill-opacity)) /* hsl(var(--primary-50)) */;}
847
+ .group\/item:hover .group-hover\/item\:fill-accent{--un-fill-opacity:1;fill:hsl(var(--accent) / var(--un-fill-opacity)) /* hsl(var(--accent)) */;}
829
848
  .stroke-border{--un-stroke-opacity:var(--border-alpha, 1);stroke:hsl(var(--border) / var(--un-stroke-opacity)) /* hsl(var(--border) / var(--border-alpha, 1)) */;}
830
849
  .object-cover{object-fit:cover;}
831
850
  .group[data-state=collapsed] .group-data-\[state\=collapsed\]\:p-0,
@@ -1020,6 +1039,7 @@
1020
1039
  .hover\:text-foreground:hover{--un-text-opacity:1;color:hsl(var(--foreground) / var(--un-text-opacity)) /* hsl(var(--foreground)) */;}
1021
1040
  .hover\:text-info:hover{--un-text-opacity:1;color:hsl(var(--info) / var(--un-text-opacity)) /* hsl(var(--info)) */;}
1022
1041
  .hover\:text-muted-foreground:hover{--un-text-opacity:1;color:hsl(var(--muted-foreground) / var(--un-text-opacity)) /* hsl(var(--muted-foreground)) */;}
1042
+ .hover\:text-muted:hover{--un-text-opacity:1;color:hsl(var(--muted) / var(--un-text-opacity)) /* hsl(var(--muted)) */;}
1023
1043
  .hover\:text-primary:hover{--un-text-opacity:1;color:hsl(var(--primary) / var(--un-text-opacity)) /* hsl(var(--primary)) */;}
1024
1044
  .hover\:text-secondary-foreground:hover{--un-text-opacity:1;color:hsl(var(--secondary-foreground) / var(--un-text-opacity)) /* hsl(var(--secondary-foreground)) */;}
1025
1045
  .hover\:text-success:hover{--un-text-opacity:1;color:hsl(var(--success) / var(--un-text-opacity)) /* hsl(var(--success)) */;}
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants9 from "tailwind-variants";
1
+ import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/alert.d.ts
5
- declare const alertVariants: tailwind_variants9.TVReturnType<{
5
+ declare const alertVariants: tailwind_variants0.TVReturnType<{
6
6
  color: {
7
7
  primary: {
8
8
  root: string;
@@ -196,7 +196,7 @@ declare const alertVariants: tailwind_variants9.TVReturnType<{
196
196
  title: string;
197
197
  description: string;
198
198
  close: string;
199
- }, tailwind_variants9.TVReturnType<{
199
+ }, tailwind_variants0.TVReturnType<{
200
200
  color: {
201
201
  primary: {
202
202
  root: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants3 from "tailwind-variants";
1
+ import * as tailwind_variants5 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/badge.d.ts
5
- declare const badgeVariants: tailwind_variants3.TVReturnType<{
5
+ declare const badgeVariants: tailwind_variants5.TVReturnType<{
6
6
  color: {
7
7
  primary: {
8
8
  content: string;
@@ -130,7 +130,7 @@ declare const badgeVariants: tailwind_variants3.TVReturnType<{
130
130
  }, {
131
131
  root: string;
132
132
  content: string;
133
- }, tailwind_variants3.TVReturnType<{
133
+ }, tailwind_variants5.TVReturnType<{
134
134
  color: {
135
135
  primary: {
136
136
  content: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants0 from "tailwind-variants";
1
+ import * as tailwind_variants7 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/button.d.ts
5
- declare const buttonVariants: tailwind_variants0.TVReturnType<{
5
+ declare const buttonVariants: tailwind_variants7.TVReturnType<{
6
6
  color: {
7
7
  primary: string;
8
8
  destructive: string;
@@ -92,7 +92,7 @@ declare const buttonVariants: tailwind_variants0.TVReturnType<{
92
92
  true: string;
93
93
  false: string;
94
94
  };
95
- }, undefined, tailwind_variants0.TVReturnType<{
95
+ }, undefined, tailwind_variants7.TVReturnType<{
96
96
  color: {
97
97
  primary: string;
98
98
  destructive: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants5 from "tailwind-variants";
1
+ import * as tailwind_variants1 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/checkbox.d.ts
5
- declare const checkboxVariants: tailwind_variants5.TVReturnType<{
5
+ declare const checkboxVariants: tailwind_variants1.TVReturnType<{
6
6
  color: {
7
7
  primary: {
8
8
  control: string;
@@ -164,7 +164,7 @@ declare const checkboxVariants: tailwind_variants5.TVReturnType<{
164
164
  control: string[];
165
165
  indicator: string;
166
166
  label: string;
167
- }, tailwind_variants5.TVReturnType<{
167
+ }, tailwind_variants1.TVReturnType<{
168
168
  color: {
169
169
  primary: {
170
170
  control: string;
@@ -0,0 +1,183 @@
1
+ import * as tailwind_variants13 from "tailwind-variants";
2
+ import { VariantProps } from "tailwind-variants";
3
+
4
+ //#region src/variants/page-tabs.d.ts
5
+ declare const pageTabsVariants: tailwind_variants13.TVReturnType<{
6
+ size: {
7
+ xs: {
8
+ root: string;
9
+ item: string;
10
+ itemText: string;
11
+ };
12
+ sm: {
13
+ root: string;
14
+ item: string;
15
+ itemText: string;
16
+ };
17
+ md: {
18
+ root: string;
19
+ item: string;
20
+ itemText: string;
21
+ chromeBgLeft: string;
22
+ chromeBgRight: string;
23
+ };
24
+ lg: {
25
+ root: string;
26
+ item: string;
27
+ itemText: string;
28
+ };
29
+ xl: {
30
+ root: string;
31
+ item: string;
32
+ itemText: string;
33
+ };
34
+ '2xl': {
35
+ root: string;
36
+ item: string;
37
+ itemText: string;
38
+ };
39
+ };
40
+ variant: {
41
+ chrome: {
42
+ root: string;
43
+ item: string;
44
+ };
45
+ card: {
46
+ root: string;
47
+ item: string;
48
+ };
49
+ slider: {
50
+ root: string;
51
+ item: string;
52
+ };
53
+ };
54
+ }, {
55
+ root: string;
56
+ item: string[];
57
+ itemText: string;
58
+ close: string[];
59
+ pin: string;
60
+ chromeBgLeft: string[];
61
+ chromeBgRight: string[];
62
+ sliderIndicator: string;
63
+ }, undefined, {
64
+ size: {
65
+ xs: {
66
+ root: string;
67
+ item: string;
68
+ itemText: string;
69
+ };
70
+ sm: {
71
+ root: string;
72
+ item: string;
73
+ itemText: string;
74
+ };
75
+ md: {
76
+ root: string;
77
+ item: string;
78
+ itemText: string;
79
+ chromeBgLeft: string;
80
+ chromeBgRight: string;
81
+ };
82
+ lg: {
83
+ root: string;
84
+ item: string;
85
+ itemText: string;
86
+ };
87
+ xl: {
88
+ root: string;
89
+ item: string;
90
+ itemText: string;
91
+ };
92
+ '2xl': {
93
+ root: string;
94
+ item: string;
95
+ itemText: string;
96
+ };
97
+ };
98
+ variant: {
99
+ chrome: {
100
+ root: string;
101
+ item: string;
102
+ };
103
+ card: {
104
+ root: string;
105
+ item: string;
106
+ };
107
+ slider: {
108
+ root: string;
109
+ item: string;
110
+ };
111
+ };
112
+ }, {
113
+ root: string;
114
+ item: string[];
115
+ itemText: string;
116
+ close: string[];
117
+ pin: string;
118
+ chromeBgLeft: string[];
119
+ chromeBgRight: string[];
120
+ sliderIndicator: string;
121
+ }, tailwind_variants13.TVReturnType<{
122
+ size: {
123
+ xs: {
124
+ root: string;
125
+ item: string;
126
+ itemText: string;
127
+ };
128
+ sm: {
129
+ root: string;
130
+ item: string;
131
+ itemText: string;
132
+ };
133
+ md: {
134
+ root: string;
135
+ item: string;
136
+ itemText: string;
137
+ chromeBgLeft: string;
138
+ chromeBgRight: string;
139
+ };
140
+ lg: {
141
+ root: string;
142
+ item: string;
143
+ itemText: string;
144
+ };
145
+ xl: {
146
+ root: string;
147
+ item: string;
148
+ itemText: string;
149
+ };
150
+ '2xl': {
151
+ root: string;
152
+ item: string;
153
+ itemText: string;
154
+ };
155
+ };
156
+ variant: {
157
+ chrome: {
158
+ root: string;
159
+ item: string;
160
+ };
161
+ card: {
162
+ root: string;
163
+ item: string;
164
+ };
165
+ slider: {
166
+ root: string;
167
+ item: string;
168
+ };
169
+ };
170
+ }, {
171
+ root: string;
172
+ item: string[];
173
+ itemText: string;
174
+ close: string[];
175
+ pin: string;
176
+ chromeBgLeft: string[];
177
+ chromeBgRight: string[];
178
+ sliderIndicator: string;
179
+ }, undefined, unknown, unknown, undefined>>;
180
+ type PageTabsVariants = VariantProps<typeof pageTabsVariants>;
181
+ type PageTabsVariant = NonNullable<PageTabsVariants['variant']>;
182
+ //#endregion
183
+ export { PageTabsVariant };
@@ -0,0 +1 @@
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex`,item:[`group/item relative flex items-center cursor-pointer select-none outline-none`,`data-[active=true]:bg-primary-50 data-[active=true]:text-primary data-[active=true]:z-2`,`data-[active=false]:hover:bg-accent data-[active=false]:focus:bg-accent`],itemText:`grow truncate`,close:[`rounded-full hover:text-muted group-data-[active=true]/item:hover:bg-primary/50`,`group-data-[active=false]/item:hover:bg-accent-foreground/20`],pin:``,chromeBgLeft:[`absolute right-full bottom-0 fill-transparent`,`group-hover/item:fill-accent group-data-[active=true]/item:fill-primary-50 group-data-[active=true]/item:z-2`],chromeBgRight:[`absolute left-full bottom-0 fill-transparent`,`group-hover/item:fill-accent group-data-[active=true]/item:fill-primary-50 group-data-[active=true]/item:z-2`],sliderIndicator:`absolute bottom-0 left-0 w-full h-0.5 group-data-[active=true]/item:bg-primary`},variants:{size:{xs:{root:`text-2xs`,item:`gap-2 px-1 py-1`,itemText:`max-w-50`},sm:{root:`text-xs`,item:`gap-2.5 px-1.5 py-1`,itemText:`max-w-55`},md:{root:`text-sm`,item:`gap-3 px-2 py-1.5`,itemText:`max-w-60`,chromeBgLeft:`w-2 h-2`,chromeBgRight:`w-2 h-2`},lg:{root:`text-base`,item:`gap-3.5 px-2.5 py-1.5`,itemText:`max-w-65`},xl:{root:`text-lg`,item:`gap-4 px-3 py-2`,itemText:`max-w-70`},"2xl":{root:`text-xl`,item:`gap-4.5 px-3.5 py-2.5`,itemText:`max-w-75`}},variant:{chrome:{root:`items-end`,item:`rounded-t-md`},card:{root:`items-center gap-2`,item:`rounded-md shadow-sm border border-border`},slider:{root:`items-end`,item:`rounded-t-md`}}},defaultVariants:{size:`md`,variant:`chrome`}});export{t as pageTabsVariants};
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants13 from "tailwind-variants";
1
+ import * as tailwind_variants15 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/pagination.d.ts
5
- declare const paginationVariants: tailwind_variants13.TVReturnType<{
5
+ declare const paginationVariants: tailwind_variants15.TVReturnType<{
6
6
  size: {
7
7
  xs: {
8
8
  list: string;
@@ -150,7 +150,7 @@ declare const paginationVariants: tailwind_variants13.TVReturnType<{
150
150
  ellipsis: string;
151
151
  button: string[];
152
152
  navigationButton: string[];
153
- }, tailwind_variants13.TVReturnType<{
153
+ }, tailwind_variants15.TVReturnType<{
154
154
  size: {
155
155
  xs: {
156
156
  list: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants31 from "tailwind-variants";
1
+ import * as tailwind_variants23 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/separator.d.ts
5
- declare const separatorVariants: tailwind_variants31.TVReturnType<{
5
+ declare const separatorVariants: tailwind_variants23.TVReturnType<{
6
6
  size: {
7
7
  xs: {
8
8
  label: string;
@@ -114,7 +114,7 @@ declare const separatorVariants: tailwind_variants31.TVReturnType<{
114
114
  }, {
115
115
  root: string;
116
116
  label: string;
117
- }, tailwind_variants31.TVReturnType<{
117
+ }, tailwind_variants23.TVReturnType<{
118
118
  size: {
119
119
  xs: {
120
120
  label: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants23 from "tailwind-variants";
1
+ import * as tailwind_variants27 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/switch.d.ts
5
- declare const switchVariants: tailwind_variants23.TVReturnType<{
5
+ declare const switchVariants: tailwind_variants27.TVReturnType<{
6
6
  color: {
7
7
  primary: {
8
8
  control: string;
@@ -136,7 +136,7 @@ declare const switchVariants: tailwind_variants23.TVReturnType<{
136
136
  root: string;
137
137
  control: string[];
138
138
  thumb: string;
139
- }, tailwind_variants23.TVReturnType<{
139
+ }, tailwind_variants27.TVReturnType<{
140
140
  color: {
141
141
  primary: {
142
142
  control: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants15 from "tailwind-variants";
1
+ import * as tailwind_variants25 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/tag.d.ts
5
- declare const tagVariants: tailwind_variants15.TVReturnType<{
5
+ declare const tagVariants: tailwind_variants25.TVReturnType<{
6
6
  color: {
7
7
  primary: string;
8
8
  destructive: string;
@@ -64,7 +64,7 @@ declare const tagVariants: tailwind_variants15.TVReturnType<{
64
64
  auto: string;
65
65
  rounded: string;
66
66
  };
67
- }, undefined, tailwind_variants15.TVReturnType<{
67
+ }, undefined, tailwind_variants25.TVReturnType<{
68
68
  color: {
69
69
  primary: string;
70
70
  destructive: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants25 from "tailwind-variants";
1
+ import * as tailwind_variants33 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/textarea.d.ts
5
- declare const textareaVariants: tailwind_variants25.TVReturnType<{
5
+ declare const textareaVariants: tailwind_variants33.TVReturnType<{
6
6
  size: {
7
7
  xs: {
8
8
  root: string;
@@ -118,7 +118,7 @@ declare const textareaVariants: tailwind_variants25.TVReturnType<{
118
118
  control: string[];
119
119
  counter: string;
120
120
  clearable: string;
121
- }, tailwind_variants25.TVReturnType<{
121
+ }, tailwind_variants33.TVReturnType<{
122
122
  size: {
123
123
  xs: {
124
124
  root: string;
@@ -1,9 +1,9 @@
1
- import * as tailwind_variants27 from "tailwind-variants";
1
+ import * as tailwind_variants29 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/toast.d.ts
5
5
 
6
- declare const toastViewportVariants: tailwind_variants27.TVReturnType<{
6
+ declare const toastViewportVariants: tailwind_variants29.TVReturnType<{
7
7
  size: {
8
8
  xs: string;
9
9
  sm: string;
@@ -37,7 +37,7 @@ declare const toastViewportVariants: tailwind_variants27.TVReturnType<{
37
37
  'bottom-left': string;
38
38
  'bottom-right': string;
39
39
  };
40
- }, undefined, tailwind_variants27.TVReturnType<{
40
+ }, undefined, tailwind_variants29.TVReturnType<{
41
41
  size: {
42
42
  xs: string;
43
43
  sm: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soybeanjs/ui",
3
- "version": "0.3.2",
3
+ "version": "0.4.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": {
@@ -55,7 +55,7 @@
55
55
  "tailwind-variants": "^3.2.2",
56
56
  "valibot": "^1.2.0",
57
57
  "zod": "^4.3.6",
58
- "@soybeanjs/headless": "^0.3.2"
58
+ "@soybeanjs/headless": "^0.4.0"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@soybeanjs/cli": "^1.4.4",
@@ -75,13 +75,15 @@
75
75
  "typescript": "^5.9.3",
76
76
  "unocss": "^66.6.0",
77
77
  "unocss-preset-animations": "^1.3.0",
78
+ "unplugin-auto-import": "^21.0.0",
78
79
  "unplugin-vue": "^7.1.1",
79
80
  "unplugin-vue-components": "^31.0.0",
80
81
  "unplugin-vue-jsx": "^0.8.1",
81
82
  "vite": "^7.3.1",
83
+ "vite-plugin-vue-meta-layouts": "^0.6.1",
82
84
  "vitest": "^4.0.18",
83
85
  "vue": "^3.5.27",
84
- "vue-router": "^4.6.4",
86
+ "vue-router": "^5.0.0",
85
87
  "vue-tsc": "^3.2.4"
86
88
  },
87
89
  "simple-git-hooks": {