@soybeanjs/ui 0.15.0 → 0.15.2

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 (33) hide show
  1. package/dist/components/anchor/anchor.vue.d.ts +1 -1
  2. package/dist/components/backtop/backtop.vue.d.ts +3 -3
  3. package/dist/components/color-area/color-area.vue.d.ts +2 -2
  4. package/dist/components/color-picker/color-picker.js +1 -1
  5. package/dist/components/color-picker/color-picker.vue.d.ts +8 -8
  6. package/dist/components/color-slider/color-slider.vue.d.ts +2 -2
  7. package/dist/components/config-provider/config-provider.js +1 -1
  8. package/dist/components/config-provider/types.d.ts +3 -6
  9. package/dist/components/dialog/dialog.vue.d.ts +1 -1
  10. package/dist/components/drawer/drawer.vue.d.ts +1 -1
  11. package/dist/components/input-otp/input-otp.vue.d.ts +2 -2
  12. package/dist/components/kbd/kbd.js +1 -1
  13. package/dist/components/kbd/kbd.vue.d.ts +1 -0
  14. package/dist/components/kbd/types.d.ts +1 -0
  15. package/dist/components/kbd/variants.d.ts +11 -2
  16. package/dist/components/kbd/variants.js +1 -1
  17. package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
  18. package/dist/components/popconfirm/popconfirm.vue.d.ts +2 -2
  19. package/dist/components/switch/switch.vue.d.ts +3 -3
  20. package/dist/components/table/table.js +1 -1
  21. package/dist/components/table/types.d.ts +3 -0
  22. package/dist/components/table/variants.d.ts +429 -0
  23. package/dist/components/table/variants.js +1 -1
  24. package/dist/components/toast/index.d.ts +2 -2
  25. package/dist/components/toast/index.js +1 -1
  26. package/dist/components/toast/toast-provider.js +1 -0
  27. package/dist/components/toast/{toaster.vue.d.ts → toast-provider.vue.d.ts} +4 -4
  28. package/dist/components/toast/types.d.ts +3 -3
  29. package/dist/index.d.ts +3 -3
  30. package/dist/index.js +1 -1
  31. package/dist/styles.css +45 -27
  32. package/package.json +4 -4
  33. package/dist/components/toast/toaster.js +0 -1
@@ -15,8 +15,8 @@ declare const __VLS_export: _$vue.DefineComponent<AnchorProps, {}, {}, {}, {}, _
15
15
  href: string;
16
16
  }) => any) | undefined;
17
17
  }>, {
18
- sticky: boolean;
19
18
  offsetTop: number;
19
+ sticky: boolean;
20
20
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
21
21
  declare const _default: typeof __VLS_export;
22
22
  //#endregion
@@ -9,19 +9,19 @@ type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_8) => any;
10
10
  };
11
11
  declare const __VLS_base: _$vue.DefineComponent<BacktopProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
12
- click: (event: MouseEvent) => any;
13
12
  change: (visible: boolean) => any;
13
+ click: (event: MouseEvent) => any;
14
14
  }, string, _$vue.PublicProps, Readonly<BacktopProps> & Readonly<{
15
- onClick?: ((event: MouseEvent) => any) | undefined;
16
15
  onChange?: ((visible: boolean) => any) | undefined;
16
+ onClick?: ((event: MouseEvent) => any) | undefined;
17
17
  }>, {
18
18
  icon: string;
19
19
  size: ThemeSize;
20
20
  variant: ButtonVariant;
21
21
  color: ThemeColor;
22
22
  shape: ButtonShape;
23
- fitContent: boolean;
24
23
  shadow: ButtonShadow;
24
+ fitContent: boolean;
25
25
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
26
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
27
  declare const _default: typeof __VLS_export;
@@ -4,13 +4,13 @@ import * as _$_soybeanjs_headless_shared0 from "@soybeanjs/headless/shared";
4
4
 
5
5
  //#region src/components/color-area/color-area.vue.d.ts
6
6
  declare const __VLS_export: _$vue.DefineComponent<ColorAreaProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
7
- "update:modelValue": (value: string) => any;
8
7
  change: (value: string) => any;
8
+ "update:modelValue": (value: string) => any;
9
9
  "update:color": (value: _$_soybeanjs_headless_shared0.NormalizedColor) => any;
10
10
  changeEnd: (value: string) => any;
11
11
  }, string, _$vue.PublicProps, Readonly<ColorAreaProps> & Readonly<{
12
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
13
12
  onChange?: ((value: string) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
14
14
  "onUpdate:color"?: ((value: _$_soybeanjs_headless_shared0.NormalizedColor) => any) | undefined;
15
15
  onChangeEnd?: ((value: string) => any) | undefined;
16
16
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../button/button.js";import n from"../color-area/color-area.js";import r from"../color-field/color-field.js";import i from"../color-slider/color-slider.js";import a from"../color-swatch-picker/color-swatch-picker.js";import o from"../color-swatch/color-swatch.js";import s from"../popover/popover.js";import c from"../segment/segment.js";import{COLOR_PICKER_FORMATS as l,DEFAULT_COLOR_PICKER_SWATCHES as u,resolveColorPickerFormat as d}from"./shared.js";import{colorPickerVariants as f}from"./variants.js";import{computed as p,createBlock as m,createCommentVNode as h,createElementBlock as g,createElementVNode as _,createVNode as v,defineComponent as y,mergeProps as b,normalizeClass as x,openBlock as S,renderSlot as C,shallowRef as w,toDisplayString as T,unref as E,watch as D,withCtx as O}from"vue";import{useControllableState as k,usePickProps as A}from"@soybeanjs/headless/composables";import{areColorsEqual as j,formatColor as M,toColorObject as N}from"@soybeanjs/headless/shared";const P=y({name:`SColorPicker`,__name:`color-picker`,props:{class:{},size:{},ui:{},modelValue:{default:void 0},defaultValue:{default:`#7f007f`},format:{default:void 0},defaultFormat:{default:void 0},disabled:{type:Boolean,default:!1},colorSpace:{default:`hsl`},showAlpha:{type:Boolean,default:!0},showFields:{type:Boolean,default:!0},showSwatches:{type:Boolean,default:!0},swatches:{default:()=>u},triggerButtonProps:{},areaProps:{},hueSliderProps:{},alphaSliderProps:{},alphaFieldProps:{},hexFieldProps:{},fieldProps:{},swatchPickerProps:{},swatchProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!1},placement:{default:`bottom`},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{}},emits:[`update:modelValue`,`update:color`,`update:format`,`update:open`,`change`],setup(u,{emit:y}){let P=u,F=y,I=k(()=>P.format,e=>{F(`update:format`,e)},d(P.defaultFormat,P.modelValue??P.defaultValue)),L=w(P.modelValue??P.defaultValue),R=w(),z=p(()=>e(f({size:P.size}),P.ui,{popup:P.class})),B=p(()=>M(L.value,`hex`)),V=p(()=>d(I.value,L.value)),H=p(()=>M(L.value,V.value)),U=p(()=>V.value.toUpperCase()),W=p(()=>V.value===`hex`?P.hexFieldProps:P.fieldProps),G=p(()=>P.alphaFieldProps??P.fieldProps),K=p(()=>l.map(e=>({value:e,label:e.toUpperCase()}))),q=p(()=>P.colorSpace===`oklch`?`chroma`:`saturation`),J=p(()=>P.colorSpace===`hsv`?`brightness`:`lightness`),Y=A(P,[`open`,`defaultOpen`,`modal`,`placement`,`showArrow`,`positionerProps`,`popupProps`,`triggerProps`,`closeProps`,`portalProps`,`arrowProps`]);D(()=>P.modelValue,e=>{e!=null&&(typeof e==`string`&&e===R.value||j(e,L.value)||(L.value=e))},{immediate:!0});function X(e){let t=P.colorSpace;return N(e,t)}function Z(e){let t=M(e,V.value);L.value=e,R.value=t,F(`update:modelValue`,t),F(`update:color`,X(e)),F(`change`,t)}function Q(e){V.value!==e&&(I.value=e)}function $(e){Z(e)}function ee(e){typeof e==`string`&&Z(e)}return(e,l)=>(S(),m(s,b(E(Y),{class:z.value.popup,size:u.size,"onUpdate:open":l[0]||=e=>F(`update:open`,e)}),{trigger:O(()=>[C(e.$slots,`trigger`,{color:L.value,hex:B.value,value:H.value,format:V.value},()=>[v(t,b(u.triggerButtonProps,{size:u.size,disabled:u.disabled,color:`accent`,variant:`pure`}),{default:O(()=>[v(o,b(u.swatchProps,{class:z.value.triggerSwatch,color:B.value,size:u.size,shape:`circle`}),null,16,[`class`,`color`,`size`]),_(`span`,{class:x(z.value.triggerValue)},T(H.value),3)]),_:1},16,[`size`,`disabled`])])]),default:O(()=>[_(`div`,{class:x(z.value.content)},[v(c,{class:x(z.value.segment),"model-value":V.value,items:K.value,size:u.size,fill:`full`,disabled:u.disabled,"onUpdate:modelValue":Q},null,8,[`class`,`model-value`,`items`,`size`,`disabled`]),v(n,b(u.areaProps,{class:z.value.area,"model-value":L.value,"color-space":u.colorSpace,"x-channel":q.value,"y-channel":J.value,disabled:u.disabled,"onUpdate:color":Z}),null,16,[`class`,`model-value`,`color-space`,`x-channel`,`y-channel`,`disabled`]),_(`div`,{class:x(z.value.sliderSwatch)},[_(`div`,{class:x(z.value.sliderRoot)},[v(i,b(u.hueSliderProps,{size:u.size,"model-value":L.value,channel:`hue`,"color-space":u.colorSpace,disabled:u.disabled,"onUpdate:color":Z}),null,16,[`size`,`model-value`,`color-space`,`disabled`]),u.showAlpha?(S(),m(i,b({key:0},u.alphaSliderProps,{size:u.size,"model-value":L.value,channel:`alpha`,"color-space":u.colorSpace,disabled:u.disabled,"onUpdate:color":Z}),null,16,[`size`,`model-value`,`color-space`,`disabled`])):h(`v-if`,!0)],2),v(o,b(u.swatchProps,{size:u.size,color:B.value,class:z.value.swatch}),null,16,[`size`,`color`,`class`])],2),u.showFields?(S(),g(`div`,{key:0,class:x(z.value.fields)},[v(r,b(W.value,{size:u.size,class:z.value.field,"model-value":B.value,format:V.value,placeholder:U.value,disabled:u.disabled,"onUpdate:modelValue":$}),null,16,[`size`,`class`,`model-value`,`format`,`placeholder`,`disabled`]),u.showAlpha?(S(),m(r,b({key:0},G.value,{size:u.size,class:z.value.alphaField,"model-value":L.value,channel:`alpha`,"color-space":u.colorSpace,disabled:u.disabled,"onUpdate:color":Z}),null,16,[`size`,`class`,`model-value`,`color-space`,`disabled`])):h(`v-if`,!0)],2)):h(`v-if`,!0),u.showSwatches&&u.swatches.length?(S(),m(a,b({key:1},u.swatchPickerProps,{size:u.size,class:z.value.swatches,colors:u.swatches,"model-value":B.value,disabled:u.disabled,"onUpdate:modelValue":ee}),null,16,[`size`,`class`,`colors`,`model-value`,`disabled`])):h(`v-if`,!0)],2)]),_:3},16,[`class`,`size`]))}});export{P as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import n from"../button/button.js";import r from"../color-area/color-area.js";import i from"../color-field/color-field.js";import a from"../color-slider/color-slider.js";import o from"../color-swatch-picker/color-swatch-picker.js";import s from"../color-swatch/color-swatch.js";import c from"../popover/popover.js";import l from"../segment/segment.js";import{COLOR_PICKER_FORMATS as u,DEFAULT_COLOR_PICKER_SWATCHES as d,resolveColorPickerFormat as f}from"./shared.js";import{colorPickerVariants as p}from"./variants.js";import{computed as m,createBlock as h,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createVNode as y,defineComponent as b,mergeProps as x,normalizeClass as S,openBlock as C,renderSlot as w,shallowRef as T,toDisplayString as E,unref as D,watch as O,withCtx as k}from"vue";import{useControllableState as A,usePickProps as j}from"@soybeanjs/headless/composables";import{areColorsEqual as M,formatColor as N,toColorObject as P}from"@soybeanjs/headless/shared";const F=b({name:`SColorPicker`,__name:`color-picker`,props:{class:{},size:{},ui:{},modelValue:{default:void 0},defaultValue:{default:`#7f007f`},format:{default:void 0},defaultFormat:{default:void 0},disabled:{type:Boolean,default:!1},colorSpace:{default:`hsl`},showAlpha:{type:Boolean,default:!0},showFields:{type:Boolean,default:!0},showSwatches:{type:Boolean,default:!0},swatches:{default:()=>d},triggerButtonProps:{},areaProps:{},hueSliderProps:{},alphaSliderProps:{},alphaFieldProps:{},hexFieldProps:{},fieldProps:{},swatchPickerProps:{},swatchProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!1},placement:{default:`bottom`},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{}},emits:[`update:modelValue`,`update:color`,`update:format`,`update:open`,`change`],setup(d,{emit:b}){let F=d,I=b,L=A(()=>F.format,e=>{I(`update:format`,e)},f(F.defaultFormat,F.modelValue??F.defaultValue)),R=T(F.modelValue??F.defaultValue),z=T(),B=m(()=>e(p({size:F.size}),F.ui,{popup:F.class})),V=m(()=>t[F.size??`md`]),H=m(()=>N(R.value,`hex`)),U=m(()=>f(L.value,R.value)),W=m(()=>N(R.value,U.value)),G=m(()=>U.value.toUpperCase()),K=m(()=>U.value===`hex`?F.hexFieldProps:F.fieldProps),q=m(()=>F.alphaFieldProps??F.fieldProps),J=m(()=>u.map(e=>({value:e,label:e.toUpperCase()}))),Y=m(()=>F.colorSpace===`oklch`?`chroma`:`saturation`),X=m(()=>F.colorSpace===`hsv`?`brightness`:`lightness`),Z=j(F,[`open`,`defaultOpen`,`modal`,`placement`,`showArrow`,`positionerProps`,`popupProps`,`triggerProps`,`closeProps`,`portalProps`,`arrowProps`]);O(()=>F.modelValue,e=>{e!=null&&(typeof e==`string`&&e===z.value||M(e,R.value)||(R.value=e))},{immediate:!0});function Q(e){let t=F.colorSpace;return P(e,t)}function $(e){let t=N(e,U.value);R.value=e,z.value=t,I(`update:modelValue`,t),I(`update:color`,Q(e)),I(`change`,t)}function ee(e){U.value!==e&&(L.value=e)}function te(e){$(e)}function ne(e){typeof e==`string`&&$(e)}return(e,t)=>(C(),h(c,x(D(Z),{class:B.value.popup,size:d.size,"onUpdate:open":t[0]||=e=>I(`update:open`,e)}),{trigger:k(()=>[w(e.$slots,`trigger`,{color:R.value,hex:H.value,value:W.value,format:U.value},()=>[y(n,x(d.triggerButtonProps,{size:d.size,disabled:d.disabled,color:`accent`,variant:`pure`}),{default:k(()=>[y(s,x(d.swatchProps,{class:B.value.triggerSwatch,color:H.value,size:V.value,shape:`circle`}),null,16,[`class`,`color`,`size`]),v(`span`,{class:S(B.value.triggerValue)},E(W.value),3)]),_:1},16,[`size`,`disabled`])])]),default:k(()=>[v(`div`,{class:S(B.value.content)},[y(l,{class:S(B.value.segment),"model-value":U.value,items:J.value,size:d.size,fill:`full`,disabled:d.disabled,"onUpdate:modelValue":ee},null,8,[`class`,`model-value`,`items`,`size`,`disabled`]),y(r,x(d.areaProps,{class:B.value.area,"model-value":R.value,"color-space":d.colorSpace,"x-channel":Y.value,"y-channel":X.value,disabled:d.disabled,"onUpdate:color":$}),null,16,[`class`,`model-value`,`color-space`,`x-channel`,`y-channel`,`disabled`]),v(`div`,{class:S(B.value.sliderSwatch)},[v(`div`,{class:S(B.value.sliderRoot)},[y(a,x(d.hueSliderProps,{size:d.size,"model-value":R.value,channel:`hue`,"color-space":d.colorSpace,disabled:d.disabled,"onUpdate:color":$}),null,16,[`size`,`model-value`,`color-space`,`disabled`]),d.showAlpha?(C(),h(a,x({key:0},d.alphaSliderProps,{size:d.size,"model-value":R.value,channel:`alpha`,"color-space":d.colorSpace,disabled:d.disabled,"onUpdate:color":$}),null,16,[`size`,`model-value`,`color-space`,`disabled`])):g(`v-if`,!0)],2),y(s,x(d.swatchProps,{size:d.size,color:H.value,class:B.value.swatch}),null,16,[`size`,`color`,`class`])],2),d.showFields?(C(),_(`div`,{key:0,class:S(B.value.fields)},[y(i,x(K.value,{size:d.size,class:B.value.field,"model-value":H.value,format:U.value,placeholder:G.value,disabled:d.disabled,"onUpdate:modelValue":te}),null,16,[`size`,`class`,`model-value`,`format`,`placeholder`,`disabled`]),d.showAlpha?(C(),h(i,x({key:0},q.value,{size:d.size,class:B.value.alphaField,"model-value":R.value,channel:`alpha`,"color-space":d.colorSpace,disabled:d.disabled,"onUpdate:color":$}),null,16,[`size`,`class`,`model-value`,`color-space`,`disabled`])):g(`v-if`,!0)],2)):g(`v-if`,!0),d.showSwatches&&d.swatches.length?(C(),h(o,x({key:1},d.swatchPickerProps,{size:d.size,class:B.value.swatches,colors:d.swatches,"model-value":H.value,disabled:d.disabled,"onUpdate:modelValue":ne}),null,16,[`size`,`class`,`colors`,`model-value`,`disabled`])):g(`v-if`,!0)],2)]),_:3},16,[`class`,`size`]))}});export{F as default};
@@ -16,28 +16,28 @@ type __VLS_Slots = {} & {
16
16
  trigger?: (props: typeof __VLS_11) => any;
17
17
  };
18
18
  declare const __VLS_base: _$vue.DefineComponent<ColorPickerProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
19
- "update:modelValue": (value: string) => any;
20
- "update:open": (value: boolean) => any;
21
19
  change: (value: string) => any;
20
+ "update:modelValue": (value: string) => any;
22
21
  "update:color": (value: _$_soybeanjs_headless_shared0.NormalizedColor) => any;
23
22
  "update:format": (value: ColorFormat) => any;
23
+ "update:open": (value: boolean) => any;
24
24
  }, string, _$vue.PublicProps, Readonly<ColorPickerProps> & Readonly<{
25
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
26
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
27
25
  onChange?: ((value: string) => any) | undefined;
26
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
28
27
  "onUpdate:color"?: ((value: _$_soybeanjs_headless_shared0.NormalizedColor) => any) | undefined;
29
28
  "onUpdate:format"?: ((value: ColorFormat) => any) | undefined;
29
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
30
30
  }>, {
31
- defaultValue: string | ColorValue;
32
- modelValue: string | ColorValue;
33
- disabled: boolean;
34
31
  open: boolean;
35
32
  defaultOpen: boolean;
33
+ modal: boolean;
36
34
  placement: _$_soybeanjs_headless0.Placement;
37
35
  showArrow: boolean;
38
- modal: boolean;
36
+ modelValue: string | ColorValue;
37
+ defaultValue: string | ColorValue;
39
38
  format: ColorFormat;
40
39
  defaultFormat: ColorFormat;
40
+ disabled: boolean;
41
41
  colorSpace: ColorSpace;
42
42
  showAlpha: boolean;
43
43
  showFields: boolean;
@@ -5,13 +5,13 @@ import * as _$_soybeanjs_headless_shared0 from "@soybeanjs/headless/shared";
5
5
 
6
6
  //#region src/components/color-slider/color-slider.vue.d.ts
7
7
  declare const __VLS_export: _$vue.DefineComponent<ColorSliderProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
8
- "update:modelValue": (value: string) => any;
9
8
  change: (value: string) => any;
9
+ "update:modelValue": (value: string) => any;
10
10
  "update:color": (value: _$_soybeanjs_headless_shared0.NormalizedColor) => any;
11
11
  changeEnd: (value: string) => any;
12
12
  }, string, _$vue.PublicProps, Readonly<ColorSliderProps> & Readonly<{
13
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
14
13
  onChange?: ((value: string) => any) | undefined;
14
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
15
15
  "onUpdate:color"?: ((value: _$_soybeanjs_headless_shared0.NormalizedColor) => any) | undefined;
16
16
  onChangeEnd?: ((value: string) => any) | undefined;
17
17
  }>, {
@@ -1 +1 @@
1
- import{themeSizes as e}from"../../constants/common.js";import t from"../dialog/dialog-provider.js";import n from"../progress/progress-provider.js";import r from"../toast/toaster.js";import{provideConfigProviderContext as i}from"./context.js";import a from"../icon/icon.js";import{createBlock as o,createCommentVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,guardReactiveProps as d,h as f,mergeProps as p,normalizeProps as m,openBlock as h,renderSlot as g,toDisplayString as _,unref as v,watch as y,watchEffect as b,withCtx as x}from"vue";import{useOmitProps as S}from"@soybeanjs/headless/composables";import{ConfigProvider as C,Primitive as w}from"@soybeanjs/headless";import{useStorage as T}from"@vueuse/core";import{isClient as E,transformPropsToContext as D}from"@soybeanjs/headless/shared";import{createShadcnTheme as O}from"@soybeanjs/shadcn-theme";const k=u({name:`SConfigProvider`,__name:`config-provider`,props:{theme:{default:()=>({})},size:{default:`md`},iconify:{default:()=>({width:`1.25em`,height:`1.25em`})},progress:{},toast:{},customToast:{type:Boolean},dir:{default:`ltr`},locale:{},nonce:{},tooltip:{},nuxt:{type:Boolean},iconRender:{}},setup(u){let k=u,A=S(k,[`iconRender`,`theme`,`size`,`iconify`,`progress`,`toast`,`customToast`]),j=k.iconRender??(e=>f(a,{icon:e}));i({...D(k),iconRender:j});let{getCss:M}=O(k.theme),N=()=>M(k.theme,k.theme.radius),P=T(`__SoybeanUI_themeVars`,N());function F(t){if(!E)return;document.documentElement.classList.add(`size-${t}`);let n=e.filter(e=>e!==t).map(e=>`size-${e}`);document.documentElement.classList.remove(...n)}return y(()=>k.size,e=>{F(e)},{immediate:!0,flush:`sync`}),b(()=>{P.value=N()}),(e,i)=>(h(),o(v(C),p(v(A),{"icon-render":v(j)}),{default:x(()=>[l(v(w),{id:`__SoybeanUI_themeVars`,as:`style`},{default:x(()=>[c(_(v(P)),1)]),_:1}),g(e.$slots,`default`),l(n,m(d(k.progress)),null,16),k.customToast?s(`v-if`,!0):(h(),o(r,m(p({key:0},k.toast)),null,16)),l(t)]),_:3},16,[`icon-render`]))}});export{k as default};
1
+ import{themeSizes as e}from"../../constants/common.js";import t from"../dialog/dialog-provider.js";import n from"../progress/progress-provider.js";import r from"../toast/toast-provider.js";import{provideConfigProviderContext as i}from"./context.js";import a from"../icon/icon.js";import{createBlock as o,createCommentVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,guardReactiveProps as d,h as f,mergeProps as p,normalizeProps as m,openBlock as h,renderSlot as g,toDisplayString as _,unref as v,watch as y,watchEffect as b,withCtx as x}from"vue";import{useOmitProps as S}from"@soybeanjs/headless/composables";import{ConfigProvider as C,Primitive as w}from"@soybeanjs/headless";import{useStorage as T}from"@vueuse/core";import{isClient as E,transformPropsToContext as D}from"@soybeanjs/headless/shared";import{createShadcnTheme as O}from"@soybeanjs/shadcn-theme";const k=u({name:`SConfigProvider`,__name:`config-provider`,props:{theme:{default:()=>({})},size:{default:`md`},iconify:{default:()=>({width:`1.25em`,height:`1.25em`})},progress:{},toast:{},customToast:{type:Boolean},dir:{default:`ltr`},locale:{},nonce:{},tooltip:{},nuxt:{type:Boolean},iconRender:{}},setup(u){let k=u,A=S(k,[`iconRender`,`theme`,`size`,`iconify`,`progress`,`toast`,`customToast`]),j=k.iconRender??(e=>f(a,{icon:e}));i({...D(k),iconRender:j});let{getCss:M}=O(k.theme),N=()=>M(k.theme,k.theme.radius),P=T(`__SoybeanUI_themeVars`,N());function F(t){if(!E)return;document.documentElement.classList.add(`size-${t}`);let n=e.filter(e=>e!==t).map(e=>`size-${e}`);document.documentElement.classList.remove(...n)}return y(()=>k.size,e=>{F(e)},{immediate:!0,flush:`sync`}),b(()=>{P.value=N()}),(e,i)=>(h(),o(v(C),p(v(A),{"icon-render":v(j)}),{default:x(()=>[l(v(w),{id:`__SoybeanUI_themeVars`,as:`style`},{default:x(()=>[c(_(v(P)),1)]),_:1}),g(e.$slots,`default`),k.customToast?s(`v-if`,!0):(h(),o(r,m(p({key:0},k.toast)),null,16)),l(t),l(n,m(d(k.progress)),null,16)]),_:3},16,[`icon-render`]))}});export{k as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import { ProgressProviderProps } from "../progress/types.js";
3
- import { ToasterProps as ToasterProps$1 } from "../toast/types.js";
3
+ import { ToastProviderProps as ToastProviderProps$1 } from "../toast/types.js";
4
4
  import { ConfigProviderProps, PropsToContext } from "@soybeanjs/headless";
5
5
  import { ThemeOptions } from "@soybeanjs/shadcn-theme";
6
6
 
@@ -28,14 +28,11 @@ interface ConfigProviderProps$1 extends ConfigProviderProps {
28
28
  /** The global top progress configuration of your application. */
29
29
  progress?: Partial<ProgressProviderProps>;
30
30
  /** The global toast configuration of your application. This will be inherited by the related components. */
31
- toast?: Partial<ToasterProps$1>;
31
+ toast?: Partial<ToastProviderProps$1>;
32
32
  /**
33
- * Whether to use custom toast rendering. If set to `true`, the `Toaster` will not render the default toast UI, and you can import `Toaster` component to render custom toast UI.
34
- *
35
- * [是否使用自定义吐司渲染。如果设置为 `true`,`Toaster` 将不会渲染默认的吐司 UI,你可以导入 `Toaster` 组件来渲染自定义的吐司 UI。]
33
+ * Whether to use custom toast rendering. If set to `true`, the `ToastProvider` will not render the default toast UI, and you can import `ToastProvider` component to render custom toast UI.
36
34
  *
37
35
  * @default false
38
- * @type boolean
39
36
  */
40
37
  customToast?: boolean;
41
38
  }
@@ -28,8 +28,8 @@ declare const __VLS_base: _$vue.DefineComponent<DialogProps, {}, {}, {}, {}, _$v
28
28
  onConfirm?: ((event: MouseEvent) => any) | undefined;
29
29
  }>, {
30
30
  open: boolean;
31
- showClose: boolean;
32
31
  modal: boolean;
32
+ showClose: boolean;
33
33
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
34
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
35
35
  declare const _default: typeof __VLS_export;
@@ -28,8 +28,8 @@ declare const __VLS_base: _$vue.DefineComponent<DrawerProps, {}, {}, {}, {}, _$v
28
28
  onConfirm?: ((event: MouseEvent) => any) | undefined;
29
29
  }>, {
30
30
  open: boolean;
31
- showClose: boolean;
32
31
  modal: boolean;
32
+ showClose: boolean;
33
33
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
34
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
35
35
  declare const _default: typeof __VLS_export;
@@ -6,9 +6,9 @@ type __VLS_Slots = InputOtpSlots;
6
6
  declare const __VLS_base: _$vue.DefineComponent<InputOtpProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
7
7
  input: (value: string) => any;
8
8
  select: (event: Event) => any;
9
+ change: (event: Event) => any;
9
10
  "update:modelValue": (value: string) => any;
10
11
  blur: (event: FocusEvent) => any;
11
- change: (event: Event) => any;
12
12
  focus: (event: FocusEvent) => any;
13
13
  mouseleave: (event: MouseEvent) => any;
14
14
  mouseover: (event: MouseEvent) => any;
@@ -17,9 +17,9 @@ declare const __VLS_base: _$vue.DefineComponent<InputOtpProps, {}, {}, {}, {}, _
17
17
  }, string, _$vue.PublicProps, Readonly<InputOtpProps> & Readonly<{
18
18
  onInput?: ((value: string) => any) | undefined;
19
19
  onSelect?: ((event: Event) => any) | undefined;
20
+ onChange?: ((event: Event) => any) | undefined;
20
21
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
21
22
  onBlur?: ((event: FocusEvent) => any) | undefined;
22
- onChange?: ((event: Event) => any) | undefined;
23
23
  onFocus?: ((event: FocusEvent) => any) | undefined;
24
24
  onMouseleave?: ((event: MouseEvent) => any) | undefined;
25
25
  onMouseover?: ((event: MouseEvent) => any) | undefined;
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{kbdVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,unref as s}from"vue";import{useOmitProps as c}from"@soybeanjs/headless/composables";import{Kbd as l}from"@soybeanjs/headless";const u=i({name:`SKbd`,__name:`kbd`,props:{class:{},size:{},variant:{},value:{},symbolize:{type:Boolean,default:!0}},setup(i){let u=i,d=c(u,[`class`,`size`,`variant`]),f=n(()=>e(t({size:u.size,variant:u.variant}),u.class));return(e,t)=>(o(),r(s(l),a(s(d),{class:f.value}),null,16,[`class`]))}});export{u as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{kbdVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,unref as s}from"vue";import{useOmitProps as c}from"@soybeanjs/headless/composables";import{Kbd as l}from"@soybeanjs/headless";const u=i({name:`SKbd`,__name:`kbd`,props:{class:{},size:{},variant:{},raised:{type:Boolean,default:!0},value:{},symbolize:{type:Boolean,default:!0}},setup(i){let u=i,d=c(u,[`class`,`size`,`variant`,`raised`]),f=n(()=>e(t({size:u.size,variant:u.variant,raised:u.raised}),u.class));return(e,t)=>(o(),r(s(l),a(s(d),{class:f.value}),null,16,[`class`]))}});export{u as default};
@@ -3,6 +3,7 @@ import * as _$vue from "vue";
3
3
 
4
4
  //#region src/components/kbd/kbd.vue.d.ts
5
5
  declare const __VLS_export: _$vue.DefineComponent<KbdProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<KbdProps> & Readonly<{}>, {
6
+ raised: boolean;
6
7
  symbolize: boolean;
7
8
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
8
9
  declare const _default: typeof __VLS_export;
@@ -7,6 +7,7 @@ interface KbdProps$1 extends KbdProps {
7
7
  class?: ClassValue;
8
8
  size?: ThemeSize;
9
9
  variant?: KbdVariant;
10
+ raised?: boolean;
10
11
  }
11
12
  //#endregion
12
13
  export { KbdProps$1 as KbdProps, type KbdValue };
@@ -16,7 +16,10 @@ declare const kbdVariants: _$tailwind_variants0.TVReturnType<{
16
16
  xl: string;
17
17
  '2xl': string;
18
18
  };
19
- }, undefined, "inline-flex items-center justify-center w-fit text-center font-medium border border-border shadow-[0_2px_0_0] rounded-sm font-inherit", {
19
+ raised: {
20
+ true: string;
21
+ };
22
+ }, undefined, "inline-flex items-center justify-center w-fit text-center font-medium border border-border rounded-sm font-inherit", {
20
23
  variant: {
21
24
  solid: string;
22
25
  outline: string;
@@ -30,6 +33,9 @@ declare const kbdVariants: _$tailwind_variants0.TVReturnType<{
30
33
  xl: string;
31
34
  '2xl': string;
32
35
  };
36
+ raised: {
37
+ true: string;
38
+ };
33
39
  }, undefined, _$tailwind_variants0.TVReturnType<{
34
40
  variant: {
35
41
  solid: string;
@@ -44,7 +50,10 @@ declare const kbdVariants: _$tailwind_variants0.TVReturnType<{
44
50
  xl: string;
45
51
  '2xl': string;
46
52
  };
47
- }, undefined, "inline-flex items-center justify-center w-fit text-center font-medium border border-border shadow-[0_2px_0_0] rounded-sm font-inherit", unknown, unknown, undefined>>;
53
+ raised: {
54
+ true: string;
55
+ };
56
+ }, undefined, "inline-flex items-center justify-center w-fit text-center font-medium border border-border rounded-sm font-inherit", unknown, unknown, undefined>>;
48
57
  type KbdVariants = VariantProps<typeof kbdVariants>;
49
58
  type KbdVariant = NonNullable<KbdVariants['variant']>;
50
59
  //#endregion
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({base:`inline-flex items-center justify-center w-fit text-center font-medium border border-border shadow-[0_2px_0_0] rounded-sm font-inherit`,variants:{variant:{solid:`border-muted-foreground bg-muted-foreground text-muted shadow-muted-foreground/50`,outline:`border-border bg-background text-muted-foreground shadow-border`,ghost:`border-border bg-muted text-muted-foreground shadow-border/50`},size:{xs:`h-4 min-w-4 px-0.5 text-3xs data-[group]:tracking-0.5`,sm:`h-4.5 min-w-4.5 px-0.625 text-2xs data-[group]:tracking-0.625`,md:`h-5 min-w-5 px-0.75 text-xs data-[group]:tracking-0.75`,lg:`h-6 min-w-6 px-1 text-sm data-[group]:tracking-1`,xl:`h-7 min-w-7 px-1.25 text-base data-[group]:tracking-1.25`,"2xl":`h-8 min-w-8 px-1.5 text-xl data-[group]:tracking-1.5`}},defaultVariants:{size:`md`,variant:`outline`}});export{t as kbdVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({base:`inline-flex items-center justify-center w-fit text-center font-medium border border-border rounded-sm font-inherit`,variants:{variant:{solid:`border-muted-foreground bg-muted-foreground text-muted shadow-muted-foreground/50`,outline:`border-border bg-background text-muted-foreground shadow-border`,ghost:`border-border bg-muted text-muted-foreground shadow-border/50`},size:{xs:`h-4 min-w-4 px-0.5 text-3xs data-[group]:tracking-0.5`,sm:`h-4.5 min-w-4.5 px-0.625 text-2xs data-[group]:tracking-0.625`,md:`h-5 min-w-5 px-0.75 text-xs data-[group]:tracking-0.75`,lg:`h-6 min-w-6 px-1 text-sm data-[group]:tracking-1`,xl:`h-7 min-w-7 px-1.25 text-base data-[group]:tracking-1.25`,"2xl":`h-8 min-w-8 px-1.5 text-xl data-[group]:tracking-1.5`},raised:{true:`shadow-[0_2px_0_0]`}},defaultVariants:{size:`md`,variant:`outline`,raised:!0}});export{t as kbdVariants};
@@ -6,9 +6,9 @@ declare const __VLS_export: <T extends PageTabsOptionData>(__VLS_props: NonNulla
6
6
  props: _$vue.PublicProps & __VLS_PrettifyLocal<PageTabsProps<T> & {
7
7
  onContextmenu?: ((tab: T) => any) | undefined;
8
8
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
9
- "onUpdate:items"?: ((items: T[]) => any) | undefined;
10
9
  onClick?: ((tab: T) => any) | undefined;
11
10
  onClose?: ((tab: T) => any) | undefined;
11
+ "onUpdate:items"?: ((items: T[]) => any) | undefined;
12
12
  onPin?: ((tab: T) => any) | undefined;
13
13
  onSelectContextMenu?: ((menu: PageTabsContextMenuOptionData, tab: T) => any) | undefined;
14
14
  }> & (typeof globalThis extends {
@@ -46,10 +46,10 @@ declare const __VLS_base: _$vue.DefineComponent<PopconfirmProps, {}, {}, {}, {},
46
46
  }>, {
47
47
  open: boolean;
48
48
  defaultOpen: boolean;
49
- showArrow: boolean;
50
- showCancel: "onlyWarning" | boolean;
51
49
  modal: boolean;
50
+ showArrow: boolean;
52
51
  showIcon: boolean;
52
+ showCancel: "onlyWarning" | boolean;
53
53
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
54
54
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
55
55
  declare const _default: typeof __VLS_export;
@@ -219,7 +219,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = boolean>(__VLS_p
219
219
  readonly modelValue: T | undefined;
220
220
  readonly trueValue: NonNullable<T> extends infer T_1 ? T_1 extends NonNullable<T> ? T_1 extends undefined ? never : T_1 : never : never;
221
221
  readonly falseValue: NonNullable<T> extends infer T_2 ? T_2 extends NonNullable<T> ? T_2 extends undefined ? never : T_2 : never : never;
222
- } & ("inlist" | "disabled" | "required" | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "defaultValue" : never) | (T | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "modelValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "trueValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "falseValue" : never) extends infer T_3 extends keyof T_4 ? { readonly [K in T_3]-?: K extends "modelValue" | "trueValue" | "falseValue" ? {
222
+ } & ("inlist" | "disabled" | "required" | (T | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "modelValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "defaultValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "trueValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "falseValue" : never) extends infer T_3 extends keyof T_4 ? { readonly [K in T_3]-?: K extends "modelValue" | "trueValue" | "falseValue" ? {
223
223
  modelValue: undefined;
224
224
  trueValue: any;
225
225
  falseValue: any;
@@ -430,7 +430,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = boolean>(__VLS_p
430
430
  readonly modelValue: T | undefined;
431
431
  readonly trueValue: NonNullable<T> extends infer T_1 ? T_1 extends NonNullable<T> ? T_1 extends undefined ? never : T_1 : never : never;
432
432
  readonly falseValue: NonNullable<T> extends infer T_2 ? T_2 extends NonNullable<T> ? T_2 extends undefined ? never : T_2 : never : never;
433
- } & ("inlist" | "disabled" | "required" | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "defaultValue" : never) | (T | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "modelValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "trueValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "falseValue" : never) extends infer T_3 extends keyof T_4 ? { readonly [K in T_3]-?: K extends "modelValue" | "trueValue" | "falseValue" ? {
433
+ } & ("inlist" | "disabled" | "required" | (T | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "modelValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "defaultValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "trueValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "falseValue" : never) extends infer T_3 extends keyof T_4 ? { readonly [K in T_3]-?: K extends "modelValue" | "trueValue" | "falseValue" ? {
434
434
  modelValue: undefined;
435
435
  trueValue: any;
436
436
  falseValue: any;
@@ -641,7 +641,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = boolean>(__VLS_p
641
641
  readonly modelValue: T | undefined;
642
642
  readonly trueValue: NonNullable<T> extends infer T_1 ? T_1 extends NonNullable<T> ? T_1 extends undefined ? never : T_1 : never : never;
643
643
  readonly falseValue: NonNullable<T> extends infer T_2 ? T_2 extends NonNullable<T> ? T_2 extends undefined ? never : T_2 : never : never;
644
- } & ("inlist" | "disabled" | "required" | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "defaultValue" : never) | (T | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "modelValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "trueValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "falseValue" : never) extends infer T_3 extends keyof T_4 ? { readonly [K in T_3]-?: K extends "modelValue" | "trueValue" | "falseValue" ? {
644
+ } & ("inlist" | "disabled" | "required" | (T | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "modelValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "defaultValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "trueValue" : never) | (NonNullable<T> | undefined extends boolean | undefined ? (boolean & T) | undefined extends undefined ? never : "falseValue" : never) extends infer T_3 extends keyof T_4 ? { readonly [K in T_3]-?: K extends "modelValue" | "trueValue" | "falseValue" ? {
645
645
  modelValue: undefined;
646
646
  trueValue: any;
647
647
  falseValue: any;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import n from"../button/button-icon.js";import r from"../checkbox/checkbox.js";import i from"./table-filter-popover.js";import{tableVariants as a}from"./variants.js";import o from"./table-radio.js";import{computed as s,createBlock as c,createCommentVNode as l,createElementVNode as u,createSlots as d,createVNode as f,defineComponent as p,guardReactiveProps as m,mergeProps as h,normalizeClass as g,normalizeProps as _,openBlock as v,renderList as y,renderSlot as b,toHandlers as x,unref as S,useSlots as C,withCtx as w}from"vue";import{useForwardListeners as T,useOmitProps as E}from"@soybeanjs/headless/composables";import{TableCompact as D,provideTableUi as O}from"@soybeanjs/headless";const k=[`aria-label`,`aria-pressed`,`data-resizing`,`onPointerdown`,`onKeydown`],A=p({name:`STable`,__name:`table`,props:{class:{},size:{},ui:{},bordered:{type:Boolean},striped:{type:Boolean},columns:{},data:{},rowKey:{type:Function},defaultSortState:{},sortState:{},defaultFilterState:{},filterState:{},defaultColumnWidths:{},columnWidths:{},getChildren:{type:Function},indent:{},virtual:{type:Boolean},height:{},estimateSize:{type:[Number,Function]},virtualizerOptions:{},defaultExpanded:{},expanded:{},defaultExpandAll:{type:Boolean},contentProps:{},headerProps:{},bodyProps:{},footerProps:{},headProps:{},rowProps:{},cellProps:{},dir:{},defaultSelected:{},selected:{},multiple:{}},emits:[`update:sortState`,`update:filterState`,`update:columnWidths`,`update:expanded`,`update:selected`],setup(p,{emit:A}){let j=p,M=A,N=C(),P=E(j,[`class`,`ui`,`size`,`bordered`,`striped`]),F=T(M),I=s(()=>Object.keys(N)),L=s(()=>e(a({size:j.size,bordered:j.bordered,striped:j.striped}),j.ui,{root:j.class})),R=s(()=>t[j.size??`md`]),z=e=>e===`asc`?`lucide:arrow-up`:e===`desc`?`lucide:arrow-down`:`lucide:arrow-up-down`;return O(L),(e,t)=>(v(),c(S(D),h(S(P),x(S(F))),d({_:2},[y(I.value,t=>({name:t,fn:w(n=>[b(e.$slots,t,_(m(n)))])})),N[`header-selection`]?void 0:{name:`header-selection`,fn:w(({checked:e,disabled:t,multiple:n,updateChecked:i})=>[n?(v(),c(r,{key:0,disabled:t,"model-value":e,class:g(L.value.selection),"control-props":{"aria-label":`Select all rows`},"onUpdate:modelValue":i},null,8,[`disabled`,`model-value`,`class`,`onUpdate:modelValue`])):l(`v-if`,!0)]),key:`0`},N.selection?void 0:{name:`selection`,fn:w(({checked:e,multiple:t,ariaLabel:n,toggleSelect:i})=>[t?(v(),c(r,{key:0,class:g(L.value.selection),"model-value":e,"control-props":{"aria-label":n},"onUpdate:modelValue":e=>i()},null,8,[`class`,`model-value`,`control-props`,`onUpdate:modelValue`])):(v(),c(o,{key:1,size:p.size,checked:e,"aria-label":n,onClick:e=>i()},null,8,[`size`,`checked`,`aria-label`,`onClick`]))]),key:`1`},N[`header-sort`]?void 0:{name:`header-sort`,fn:w(({sortOrder:e,ariaLabel:t,toggleSort:r})=>[f(n,{icon:z(e),class:g(L.value.sortTrigger),size:R.value,"aria-label":t,"data-sorted":e?``:void 0,onClick:e=>r()},null,8,[`icon`,`class`,`size`,`aria-label`,`data-sorted`,`onClick`])]),key:`2`},N[`header-filter`]?void 0:{name:`header-filter`,fn:w(e=>[f(i,h(e,{ui:L.value,size:p.size}),null,16,[`ui`,`size`])]),key:`3`},N[`header-resize`]?void 0:{name:`header-resize`,fn:w(({resizing:e,ariaLabel:t,onPointerdown:n,onKeydown:r})=>[u(`button`,{type:`button`,class:g(L.value.resizeHandle),"aria-label":t,"aria-pressed":e,"data-resizing":e||void 0,onPointerdown:n,onKeydown:r},null,42,k)]),key:`4`},N[`tree-toggle`]?void 0:{name:`tree-toggle`,fn:w(({expanded:e,ariaLabel:t,toggleExpand:r})=>[f(n,{class:g(L.value.treeToggle),size:R.value,"aria-expanded":e,"aria-label":t,icon:e?`lucide:chevron-down`:`lucide:chevron-right`,onClick:e=>r()},null,8,[`class`,`size`,`aria-expanded`,`aria-label`,`icon`,`onClick`])]),key:`5`},N.expand?void 0:{name:`expand`,fn:w(({expanded:e,ariaLabel:t,hasChildren:r,toggleExpand:i})=>[r||N[`expanded-row`]?(v(),c(n,{key:0,icon:e?`lucide:chevron-down`:`lucide:chevron-right`,class:g(L.value.treeToggle),size:R.value,"aria-expanded":e,"aria-label":t,"data-expanded":e?``:void 0,onClick:e=>i()},null,8,[`icon`,`class`,`size`,`aria-expanded`,`aria-label`,`data-expanded`,`onClick`])):l(`v-if`,!0)]),key:`6`}]),1040))}});export{A as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import n from"../button/button-icon.js";import r from"../checkbox/checkbox.js";import i from"./table-filter-popover.js";import{tableVariants as a}from"./variants.js";import o from"./table-radio.js";import{computed as s,createBlock as c,createCommentVNode as l,createElementVNode as u,createSlots as d,createVNode as f,defineComponent as p,guardReactiveProps as m,mergeProps as h,normalizeClass as g,normalizeProps as _,openBlock as v,renderList as y,renderSlot as b,toHandlers as x,unref as S,useSlots as C,withCtx as w}from"vue";import{useForwardListeners as T,useOmitProps as E}from"@soybeanjs/headless/composables";import{TableCompact as D,provideTableUi as O}from"@soybeanjs/headless";const k=[`aria-label`,`aria-pressed`,`data-resizing`,`onPointerdown`,`onKeydown`],A=p({name:`STable`,__name:`table`,props:{class:{},size:{},ui:{},variant:{},bordered:{type:Boolean},rounded:{type:Boolean,default:!0},striped:{type:Boolean},columns:{},data:{},rowKey:{},defaultSortState:{},sortState:{},defaultFilterState:{},filterState:{},defaultColumnWidths:{},columnWidths:{},getChildren:{},indent:{},virtual:{type:Boolean},height:{},estimateSize:{},virtualizerOptions:{},defaultExpanded:{},expanded:{},defaultExpandAll:{type:Boolean},contentProps:{},headerProps:{},bodyProps:{},footerProps:{},headProps:{},rowProps:{},cellProps:{},dir:{},defaultSelected:{},selected:{},multiple:{default:!0}},emits:[`update:sortState`,`update:filterState`,`update:columnWidths`,`update:expanded`,`update:selected`],setup(p,{emit:A}){let j=p,M=A,N=C(),P=E(j,[`class`,`ui`,`size`,`variant`,`bordered`,`rounded`,`striped`]),F=T(M),I=s(()=>Object.keys(N)),L=s(()=>e(a({size:j.size,variant:j.variant,bordered:j.bordered,rounded:j.rounded,striped:j.striped}),j.ui,{root:j.class})),R=s(()=>t[j.size??`md`]),z=e=>e===`asc`?`lucide:arrow-up`:e===`desc`?`lucide:arrow-down`:`lucide:arrow-up-down`;return O(L),(e,t)=>(v(),c(S(D),h(S(P),x(S(F))),d({_:2},[y(I.value,t=>({name:t,fn:w(n=>[b(e.$slots,t,_(m(n)))])})),N[`header-selection`]?void 0:{name:`header-selection`,fn:w(({checked:e,disabled:t,multiple:n,updateChecked:i})=>[n?(v(),c(r,{key:0,disabled:t,"model-value":e,class:g(L.value.selection),"control-props":{"aria-label":`Select all rows`},"onUpdate:modelValue":i},null,8,[`disabled`,`model-value`,`class`,`onUpdate:modelValue`])):l(`v-if`,!0)]),key:`0`},N.selection?void 0:{name:`selection`,fn:w(({checked:e,multiple:t,ariaLabel:n,toggleSelect:i})=>[t?(v(),c(r,{key:0,class:g(L.value.selection),"model-value":e,"control-props":{"aria-label":n},"onUpdate:modelValue":e=>i()},null,8,[`class`,`model-value`,`control-props`,`onUpdate:modelValue`])):(v(),c(o,{key:1,size:p.size,checked:e,"aria-label":n,onClick:e=>i()},null,8,[`size`,`checked`,`aria-label`,`onClick`]))]),key:`1`},N[`header-sort`]?void 0:{name:`header-sort`,fn:w(({sortOrder:e,ariaLabel:t,toggleSort:r})=>[f(n,{icon:z(e),class:g(L.value.sortTrigger),size:R.value,"aria-label":t,"data-sorted":e?``:void 0,onClick:e=>r()},null,8,[`icon`,`class`,`size`,`aria-label`,`data-sorted`,`onClick`])]),key:`2`},N[`header-filter`]?void 0:{name:`header-filter`,fn:w(e=>[f(i,h(e,{ui:L.value,size:p.size}),null,16,[`ui`,`size`])]),key:`3`},N[`header-resize`]?void 0:{name:`header-resize`,fn:w(({resizing:e,ariaLabel:t,onPointerdown:n,onKeydown:r})=>[u(`button`,{type:`button`,class:g(L.value.resizeHandle),"aria-label":t,"aria-pressed":e,"data-resizing":e||void 0,onPointerdown:n,onKeydown:r},null,42,k)]),key:`4`},N[`tree-toggle`]?void 0:{name:`tree-toggle`,fn:w(({expanded:e,ariaLabel:t,toggleExpand:r})=>[f(n,{class:g(L.value.treeToggle),size:R.value,"aria-expanded":e,"aria-label":t,icon:e?`lucide:chevron-down`:`lucide:chevron-right`,onClick:e=>r()},null,8,[`class`,`size`,`aria-expanded`,`aria-label`,`icon`,`onClick`])]),key:`5`},N.expand?void 0:{name:`expand`,fn:w(({expanded:e,ariaLabel:t,hasChildren:r,toggleExpand:i})=>[r||N[`expanded-row`]?(v(),c(n,{key:0,icon:e?`lucide:chevron-down`:`lucide:chevron-right`,class:g(L.value.treeToggle),size:R.value,"aria-expanded":e,"aria-label":t,"data-expanded":e?``:void 0,onClick:e=>i()},null,8,[`icon`,`class`,`size`,`aria-expanded`,`aria-label`,`data-expanded`,`onClick`])):l(`v-if`,!0)]),key:`6`}]),1040))}});export{A as default};
@@ -1,4 +1,5 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
+ import { TableVariant } from "./variants.js";
2
3
  import { ClassValue, UiClass } from "@soybeanjs/headless";
3
4
  import { TableBaseData, TableColumn, TableColumnFilter, TableColumnFilterOption, TableColumnFilterValue, TableColumnType, TableCompactEmits, TableCompactProps, TableCompactSlots, TableHeaderFilterSlotProps, TableSortOrder, TableUiSlot, TableUnifiedKey } from "@soybeanjs/headless/table";
4
5
 
@@ -12,7 +13,9 @@ interface TableProps<T extends TableBaseData = TableBaseData, R extends string |
12
13
  class?: ClassValue;
13
14
  size?: ThemeSize;
14
15
  ui?: Partial<TableExtendedUi>;
16
+ variant?: TableVariant;
15
17
  bordered?: boolean;
18
+ rounded?: boolean;
16
19
  striped?: boolean;
17
20
  }
18
21
  type TableEmits<R extends TableUnifiedKey = TableUnifiedKey, M extends boolean = false> = TableCompactEmits<R, M>;