@soybeanjs/ui 0.3.3 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) 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 +7 -7
  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 +8 -8
  26. package/dist/components/context-menu/context-menu-radio.vue.d.ts +8 -8
  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 +11 -11
  31. package/dist/components/dialog/dialog.vue.d.ts +11 -11
  32. package/dist/components/drawer/drawer-close.vue.d.ts +2 -2
  33. package/dist/components/drawer/drawer.vue.d.ts +11 -11
  34. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +8 -8
  35. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +8 -8
  36. package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +11 -11
  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 +5 -5
  46. package/dist/components/link/link.js +1 -1
  47. package/dist/components/link/link.vue.d.ts +4 -4
  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 +8 -8
  52. package/dist/components/menu/menu-options.vue.d.ts +8 -8
  53. package/dist/components/menu/menu-radio-options.vue.d.ts +3 -3
  54. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +11 -11
  55. package/dist/components/number-input/number-input.vue.d.ts +4 -4
  56. package/dist/components/page-tabs/index.d.ts +3 -0
  57. package/dist/components/page-tabs/page-tabs.js +1 -0
  58. package/dist/components/page-tabs/page-tabs.vue.d.ts +27 -0
  59. package/dist/components/page-tabs/types.d.ts +64 -0
  60. package/dist/components/pagination/pagination.vue.d.ts +4 -4
  61. package/dist/components/password/password.vue.d.ts +4 -4
  62. package/dist/components/popover/popover.vue.d.ts +11 -11
  63. package/dist/components/radio-group/radio-card-group.vue.d.ts +3 -3
  64. package/dist/components/radio-group/radio-card.vue.d.ts +2 -2
  65. package/dist/components/radio-group/radio-group.vue.d.ts +3 -3
  66. package/dist/components/radio-group/radio.vue.d.ts +2 -2
  67. package/dist/components/segment/segment.vue.d.ts +3 -3
  68. package/dist/components/select/select.vue.d.ts +7 -7
  69. package/dist/components/separator/separator.vue.d.ts +5 -5
  70. package/dist/components/switch/switch.vue.d.ts +25 -25
  71. package/dist/components/tabs/tabs.vue.d.ts +3 -3
  72. package/dist/components/tag/tag.vue.d.ts +4 -4
  73. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  74. package/dist/components/tooltip/tooltip.vue.d.ts +7 -7
  75. package/dist/components/tree/tree-virtualizer.vue.d.ts +5 -5
  76. package/dist/components/tree/tree.vue.d.ts +5 -5
  77. package/dist/components/tree-menu/tree-menu-styled-item.vue.d.ts +2 -2
  78. package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -3
  79. package/dist/components/virtualizer/virtualizer.vue.d.ts +3 -3
  80. package/dist/constants/components.d.ts +1 -0
  81. package/dist/constants/components.js +1 -1
  82. package/dist/index.d.ts +26 -22
  83. package/dist/index.js +1 -1
  84. package/dist/styles.css +24 -4
  85. package/dist/variants/badge.d.ts +3 -3
  86. package/dist/variants/button.d.ts +3 -3
  87. package/dist/variants/page-tabs.d.ts +183 -0
  88. package/dist/variants/page-tabs.js +1 -0
  89. package/dist/variants/pagination.d.ts +3 -3
  90. 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_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/badge.d.ts
5
- declare const badgeVariants: tailwind_variants5.TVReturnType<{
5
+ declare const badgeVariants: tailwind_variants1.TVReturnType<{
6
6
  color: {
7
7
  primary: {
8
8
  content: string;
@@ -130,7 +130,7 @@ declare const badgeVariants: tailwind_variants5.TVReturnType<{
130
130
  }, {
131
131
  root: string;
132
132
  content: string;
133
- }, tailwind_variants5.TVReturnType<{
133
+ }, tailwind_variants1.TVReturnType<{
134
134
  color: {
135
135
  primary: {
136
136
  content: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants1 from "tailwind-variants";
1
+ import * as tailwind_variants3 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_variants1.TVReturnType<{
5
+ declare const buttonVariants: tailwind_variants3.TVReturnType<{
6
6
  color: {
7
7
  primary: string;
8
8
  destructive: string;
@@ -92,7 +92,7 @@ declare const buttonVariants: tailwind_variants1.TVReturnType<{
92
92
  true: string;
93
93
  false: string;
94
94
  };
95
- }, undefined, tailwind_variants1.TVReturnType<{
95
+ }, undefined, tailwind_variants3.TVReturnType<{
96
96
  color: {
97
97
  primary: string;
98
98
  destructive: 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_variants33 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_variants33.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_variants33.TVReturnType<{
154
154
  size: {
155
155
  xs: {
156
156
  list: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soybeanjs/ui",
3
- "version": "0.3.3",
3
+ "version": "0.4.1",
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.3"
58
+ "@soybeanjs/headless": "^0.4.1"
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": {