@soybeanjs/ui 0.0.9 → 0.0.11
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.
- package/dist/components/accordion/accordion.js +1 -1
- package/dist/components/accordion/accordion.vue.d.ts +3 -3
- package/dist/components/accordion/index.d.ts +1 -1
- package/dist/components/accordion/types.d.ts +10 -6
- package/dist/components/alert/alert.js +1 -1
- package/dist/components/alert/alert.vue.d.ts +4 -4
- package/dist/components/alert/types.d.ts +7 -3
- package/dist/components/alert-dialog/alert-dialog-action.js +1 -1
- package/dist/components/alert-dialog/alert-dialog-action.vue.d.ts +3 -3
- package/dist/components/alert-dialog/alert-dialog-cancel.js +1 -1
- package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +3 -3
- package/dist/components/alert-dialog/alert-dialog.js +1 -1
- package/dist/components/alert-dialog/alert-dialog.vue.d.ts +4 -4
- package/dist/components/avatar/avatar.js +1 -1
- package/dist/components/avatar/avatar.vue.d.ts +7 -7
- package/dist/components/avatar/types.d.ts +5 -1
- package/dist/components/badge/badge.js +1 -1
- package/dist/components/badge/badge.vue.d.ts +4 -4
- package/dist/components/badge/types.d.ts +5 -1
- package/dist/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -3
- package/dist/components/breadcrumb/types.d.ts +5 -1
- package/dist/components/button/button-group.js +1 -1
- package/dist/components/button/button-group.vue.d.ts +6 -6
- package/dist/components/button/button-icon.js +1 -1
- package/dist/components/button/button-icon.vue.d.ts +3 -3
- package/dist/components/button/button-link.js +1 -1
- package/dist/components/button/button-link.vue.d.ts +4 -4
- package/dist/components/button/button-loading.js +1 -1
- package/dist/components/button/button-loading.vue.d.ts +3 -3
- package/dist/components/button/button.js +1 -1
- package/dist/components/button/button.vue.d.ts +4 -4
- package/dist/components/button/types.d.ts +4 -3
- package/dist/components/card/card.js +1 -1
- package/dist/components/card/card.vue.d.ts +3 -3
- package/dist/components/card/types.d.ts +5 -1
- package/dist/components/checkbox/checkbox-card-group.js +1 -1
- package/dist/components/checkbox/checkbox-card-group.vue.d.ts +3 -3
- package/dist/components/checkbox/checkbox-card.js +1 -1
- package/dist/components/checkbox/checkbox-card.vue.d.ts +8 -8
- package/dist/components/checkbox/checkbox-group.vue.d.ts +3 -3
- package/dist/components/checkbox/checkbox.js +1 -1
- package/dist/components/checkbox/checkbox.vue.d.ts +12 -12
- package/dist/components/checkbox/index.d.ts +1 -1
- package/dist/components/checkbox/types.d.ts +7 -6
- package/dist/components/collapsible/collapsible.js +1 -1
- package/dist/components/collapsible/collapsible.vue.d.ts +4 -4
- package/dist/components/command/command-group-option.js +1 -1
- package/dist/components/command/command-single-option.js +1 -1
- package/dist/components/command/command.js +1 -1
- package/dist/components/command/command.vue.d.ts +7 -7
- package/dist/components/command/context.js +1 -1
- package/dist/components/command/index.d.ts +1 -1
- package/dist/components/command/types.d.ts +11 -10
- package/dist/components/config-provider/config-provider.vue.d.ts +5 -5
- package/dist/components/context-menu/context-menu-checkbox.js +1 -1
- package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +9 -9
- package/dist/components/context-menu/context-menu-radio.js +1 -1
- package/dist/components/context-menu/context-menu-radio.vue.d.ts +9 -9
- package/dist/components/context-menu/context-menu-wrapper.js +1 -1
- package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +13 -13
- package/dist/components/context-menu/context-menu.js +1 -1
- package/dist/components/context-menu/context-menu.vue.d.ts +9 -9
- package/dist/components/context-menu/types.d.ts +23 -4
- package/dist/components/dialog/dialog-close.vue.d.ts +2 -2
- package/dist/components/dialog/dialog-pure.js +1 -1
- package/dist/components/dialog/dialog-pure.vue.d.ts +12 -12
- package/dist/components/dialog/dialog.js +1 -1
- package/dist/components/dialog/dialog.vue.d.ts +12 -12
- package/dist/components/dialog/index.d.ts +1 -1
- package/dist/components/dialog/types.d.ts +5 -4
- package/dist/components/drawer/drawer-close.vue.d.ts +2 -2
- package/dist/components/drawer/drawer.js +1 -1
- package/dist/components/drawer/drawer.vue.d.ts +12 -13
- package/dist/components/drawer/index.d.ts +1 -1
- package/dist/components/drawer/types.d.ts +6 -9
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +9 -9
- package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +9 -9
- package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +13 -13
- package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +9 -9
- package/dist/components/dropdown-menu/types.d.ts +17 -3
- package/dist/components/form/form-field-base.js +1 -0
- package/dist/components/form/form.js +1 -1
- package/dist/components/form/form.vue.d.ts +2 -2
- package/dist/components/form/index.d.ts +2 -3
- package/dist/components/form/types.d.ts +28 -14
- package/dist/components/form/use-form.d.ts +44 -0
- package/dist/components/form/use-form.js +1 -0
- package/dist/components/icon/icon.vue.d.ts +4 -4
- package/dist/components/input/input.js +1 -1
- package/dist/components/input/input.vue.d.ts +4 -4
- package/dist/components/input/types.d.ts +6 -2
- package/dist/components/kbd/kbd.js +1 -1
- package/dist/components/kbd/kbd.vue.d.ts +3 -3
- package/dist/components/kbd/types.d.ts +2 -1
- package/dist/components/label/label.js +1 -1
- package/dist/components/label/label.vue.d.ts +2 -2
- package/dist/components/label/types.d.ts +2 -1
- package/dist/components/layout/layout-trigger.vue.d.ts +2 -2
- package/dist/components/layout/layout.js +1 -1
- package/dist/components/layout/layout.vue.d.ts +7 -4
- package/dist/components/layout/types.d.ts +2 -1
- package/dist/components/link/link.js +1 -1
- package/dist/components/link/link.vue.d.ts +4 -3
- package/dist/components/link/types.d.ts +8 -2
- package/dist/components/list/list-item.vue.d.ts +2 -2
- package/dist/components/list/list.js +1 -1
- package/dist/components/list/list.vue.d.ts +2 -2
- package/dist/components/list/types.d.ts +2 -1
- package/dist/components/menu/context.js +1 -1
- package/dist/components/menu/index.d.ts +1 -1
- package/dist/components/menu/menu-checkbox-options.js +1 -1
- package/dist/components/menu/menu-checkbox-options.vue.d.ts +3 -3
- package/dist/components/menu/menu-option.js +1 -1
- package/dist/components/menu/menu-option.vue.d.ts +9 -9
- package/dist/components/menu/menu-options.vue.d.ts +9 -9
- package/dist/components/menu/menu-radio-options.js +1 -1
- package/dist/components/menu/menu-radio-options.vue.d.ts +3 -3
- package/dist/components/menu/types.d.ts +6 -10
- package/dist/components/navigation-menu/context.js +1 -1
- package/dist/components/navigation-menu/index.d.ts +1 -1
- package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
- package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
- package/dist/components/navigation-menu/navigation-menu.js +1 -1
- package/dist/components/navigation-menu/navigation-menu.vue.d.ts +11 -11
- package/dist/components/navigation-menu/types.d.ts +5 -8
- package/dist/components/number-input/number-input.js +1 -1
- package/dist/components/number-input/number-input.vue.d.ts +4 -4
- package/dist/components/number-input/types.d.ts +2 -1
- package/dist/components/pagination/pagination.js +1 -1
- package/dist/components/pagination/pagination.vue.d.ts +4 -4
- package/dist/components/pagination/types.d.ts +2 -1
- package/dist/components/password/password.js +1 -1
- package/dist/components/password/password.vue.d.ts +4 -4
- package/dist/components/password/types.d.ts +3 -2
- package/dist/components/popover/popover.js +1 -1
- package/dist/components/popover/popover.vue.d.ts +11 -11
- package/dist/components/popover/types.d.ts +5 -1
- package/dist/components/radio-group/index.d.ts +1 -1
- package/dist/components/radio-group/radio-card-group.js +1 -1
- package/dist/components/radio-group/radio-card-group.vue.d.ts +3 -3
- package/dist/components/radio-group/radio-card.vue.d.ts +2 -2
- package/dist/components/radio-group/radio-group.js +1 -1
- package/dist/components/radio-group/radio-group.vue.d.ts +3 -3
- package/dist/components/radio-group/radio.vue.d.ts +2 -2
- package/dist/components/radio-group/types.d.ts +4 -3
- package/dist/components/segment/segment.js +1 -1
- package/dist/components/segment/segment.vue.d.ts +3 -3
- package/dist/components/segment/types.d.ts +2 -1
- package/dist/components/select/select.js +1 -1
- package/dist/components/select/select.vue.d.ts +7 -7
- package/dist/components/select/types.d.ts +5 -1
- package/dist/components/separator/separator.js +1 -1
- package/dist/components/separator/separator.vue.d.ts +5 -5
- package/dist/components/separator/types.d.ts +2 -1
- package/dist/components/switch/switch.js +1 -1
- package/dist/components/switch/switch.vue.d.ts +25 -25
- package/dist/components/switch/types.d.ts +2 -1
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/tabs.js +1 -1
- package/dist/components/tabs/tabs.vue.d.ts +3 -3
- package/dist/components/tabs/types.d.ts +4 -3
- package/dist/components/tag/tag.js +1 -1
- package/dist/components/tag/tag.vue.d.ts +4 -4
- package/dist/components/tag/types.d.ts +2 -1
- package/dist/components/textarea/index.d.ts +1 -1
- package/dist/components/textarea/textarea.js +1 -1
- package/dist/components/textarea/textarea.vue.d.ts +4 -4
- package/dist/components/textarea/types.d.ts +4 -3
- package/dist/components/toast/context.js +1 -1
- package/dist/components/toast/toast-provider.js +1 -1
- package/dist/components/toast/toast.js +1 -1
- package/dist/components/toast/types.d.ts +1 -0
- package/dist/components/tooltip/tooltip.js +1 -1
- package/dist/components/tooltip/tooltip.vue.d.ts +7 -7
- package/dist/components/tooltip/types.d.ts +5 -1
- package/dist/components/tree/tree-virtualizer.vue.d.ts +5 -5
- package/dist/components/tree/tree.vue.d.ts +5 -5
- package/dist/components/tree-menu/context.js +1 -1
- package/dist/components/tree-menu/index.d.ts +1 -1
- package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
- package/dist/components/tree-menu/tree-menu-option.js +1 -1
- package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
- package/dist/components/tree-menu/tree-menu-styled-item.vue.d.ts +2 -2
- package/dist/components/tree-menu/tree-menu.js +1 -1
- package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -3
- package/dist/components/tree-menu/types.d.ts +6 -6
- package/dist/components/virtualizer/virtualizer.vue.d.ts +3 -3
- package/dist/constants/components.d.ts +13 -13
- package/dist/constants/components.js +1 -1
- package/dist/index.d.ts +50 -52
- package/dist/index.js +1 -1
- package/dist/styles.css +3 -3
- package/dist/theme/shared.js +1 -1
- package/dist/variants/alert.d.ts +24 -24
- package/dist/variants/alert.js +1 -1
- package/dist/variants/avatar.js +1 -1
- package/dist/variants/badge.d.ts +3 -3
- package/dist/variants/button.d.ts +3 -3
- package/dist/variants/checkbox.d.ts +3 -3
- package/dist/variants/checkbox.js +1 -1
- package/dist/variants/drawer.js +1 -1
- package/dist/variants/form.js +1 -1
- package/dist/variants/kbd.d.ts +3 -3
- package/dist/variants/layout.js +1 -1
- package/dist/variants/navigation-menu.js +1 -1
- package/dist/variants/pagination.d.ts +3 -3
- package/dist/variants/radio-group.d.ts +3 -3
- package/dist/variants/separator.d.ts +3 -3
- package/dist/variants/switch.d.ts +3 -3
- package/dist/variants/tabs.d.ts +3 -3
- package/dist/variants/tabs.js +1 -1
- package/dist/variants/tag.d.ts +3 -3
- package/dist/variants/textarea.d.ts +3 -3
- package/dist/variants/toast.d.ts +3 -3
- package/dist/variants/tree-menu.js +1 -1
- package/package.json +8 -6
- package/dist/components/form/form-field-array.js +0 -1
- package/dist/components/form/form-field-array.vue.d.ts +0 -71
- package/dist/components/form/form-field.js +0 -1
- package/dist/components/form/form-field.vue.d.ts +0 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
import{accordionVariants as e}from"../../variants/accordion.js";import{mergeSlotVariants as t}from"../../theme/shared.js";import n from"../icon/icon.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,mergeProps as f,normalizeClass as p,openBlock as m,renderList as h,renderSlot as g,toDisplayString as _,toHandlers as v,unref as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AccordionContent as C,AccordionHeader as w,AccordionItem as T,AccordionRoot as E,AccordionTrigger as D,
|
|
1
|
+
import{accordionVariants as e}from"../../variants/accordion.js";import{mergeSlotVariants as t}from"../../theme/shared.js";import n from"../icon/icon.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,mergeProps as f,normalizeClass as p,openBlock as m,renderList as h,renderSlot as g,toDisplayString as _,toHandlers as v,unref as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AccordionContent as C,AccordionHeader as w,AccordionItem as T,AccordionRoot as E,AccordionTrigger as D,provideAccordionUi as O}from"@soybeanjs/headless";var k=d({name:`SAccordion`,__name:`accordion`,props:{class:{},size:{},ui:{},items:{},itemProps:{},headerProps:{},triggerProps:{},contentProps:{},collapsible:{type:Boolean},dir:{},disabled:{type:Boolean},orientation:{},unmountOnHide:{type:Boolean},modelValue:{},defaultValue:{},multiple:{}},emits:[`update:modelValue`],setup(d,{emit:k}){let A=d,j=k,M=S(A,[`class`,`size`,`ui`,`items`,`itemProps`,`headerProps`,`triggerProps`,`contentProps`]),N=x(j),P=i(()=>t(e({size:A.size}),A.ui,{root:A.class}));return O(P),(e,t)=>(m(),a(y(E),f(y(M),v(y(N))),{default:b(()=>[(m(!0),s(r,null,h(A.items,t=>g(e.$slots,`item`,{key:t.value,item:t,modelValue:d.modelValue},()=>[u(y(T),f({ref_for:!0},A.itemProps,{value:t.value,disabled:t.disabled}),{default:b(({open:r})=>[u(y(w),f({ref_for:!0},A.headerProps),{default:b(()=>[u(y(D),f({ref_for:!0},A.triggerProps),{default:b(()=>[g(e.$slots,`leading`,{item:t,modelValue:d.modelValue,open:r},()=>[t.icon?(m(),a(n,{key:0,icon:t.icon,class:p(P.value.triggerLeadingIcon)},null,8,[`icon`,`class`])):o(`v-if`,!0)]),g(e.$slots,`title`,{item:t,modelValue:d.modelValue,open:r},()=>[l(_(t.title),1)]),g(e.$slots,`trigger-icon`,{item:t,modelValue:d.modelValue,open:r},()=>[u(n,{icon:`lucide:chevron-down`,class:p(P.value.triggerIcon)},null,8,[`class`])])]),_:2},1040)]),_:2},1040),u(y(C),f({ref_for:!0},A.contentProps),{default:b(()=>[g(e.$slots,`content`,{item:t,modelValue:d.modelValue,open:r},()=>[c(`p`,{class:p(P.value.description)},_(t.description),3)])]),_:2},1040)]),_:2},1040,[`value`,`disabled`])])),128))]),_:3},16))}});export{k as default};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AccordionOptionData, AccordionProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as vue0 from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/accordion/accordion.vue.d.ts
|
|
5
5
|
declare const __VLS_export: <T extends AccordionOptionData = AccordionOptionData, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
6
|
-
props:
|
|
6
|
+
props: vue0.PublicProps & __VLS_PrettifyLocal<AccordionProps<T, M> & {
|
|
7
7
|
"onUpdate:modelValue"?: ((value: M extends true ? string[] : string) => any) | undefined;
|
|
8
8
|
}> & (typeof globalThis extends {
|
|
9
9
|
__VLS_PROPS_FALLBACK: infer P;
|
|
@@ -41,7 +41,7 @@ declare const __VLS_export: <T extends AccordionOptionData = AccordionOptionData
|
|
|
41
41
|
}) => any;
|
|
42
42
|
};
|
|
43
43
|
emit: (evt: "update:modelValue", value: M extends true ? string[] : string) => void;
|
|
44
|
-
}>) =>
|
|
44
|
+
}>) => vue0.VNode & {
|
|
45
45
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
46
46
|
};
|
|
47
47
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccordionEmits, AccordionExtendedUi,
|
|
1
|
+
import { AccordionEmits, AccordionExtendedUi, AccordionExtraUiSlot, AccordionOptionData, AccordionProps } from "./types.js";
|
|
2
2
|
import { _default } from "./accordion.vue.js";
|
|
3
3
|
import { AccordionContentProps, AccordionHeaderProps, AccordionItemProps, AccordionRootEmits, AccordionRootProps, AccordionTriggerProps } from "@soybeanjs/headless/accordion";
|
|
4
4
|
export { type AccordionContentProps, type AccordionHeaderProps, type AccordionItemProps, type AccordionRootEmits, type AccordionRootProps, type AccordionTriggerProps };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ThemeSize } from "../../theme/types.js";
|
|
2
2
|
import "../../theme/index.js";
|
|
3
3
|
import { IconValue } from "../icon/types.js";
|
|
4
|
-
import { AccordionContentProps, AccordionHeaderProps, AccordionItemProps, AccordionRootEmits, AccordionRootProps, AccordionTriggerProps,
|
|
4
|
+
import { AccordionContentProps, AccordionHeaderProps, AccordionItemProps, AccordionRootEmits, AccordionRootProps, AccordionTriggerProps, AccordionUiSlot, ClassValue, UiClass } from "@soybeanjs/headless";
|
|
5
5
|
|
|
6
6
|
//#region src/components/accordion/types.d.ts
|
|
7
7
|
interface AccordionOptionData extends Pick<AccordionItemProps, 'value' | 'disabled'> {
|
|
@@ -16,9 +16,13 @@ interface AccordionOptionData extends Pick<AccordionItemProps, 'value' | 'disabl
|
|
|
16
16
|
*/
|
|
17
17
|
icon?: IconValue;
|
|
18
18
|
}
|
|
19
|
-
type
|
|
20
|
-
type AccordionExtendedUi =
|
|
21
|
-
|
|
19
|
+
type AccordionExtraUiSlot = 'triggerLeadingIcon' | 'triggerIcon';
|
|
20
|
+
type AccordionExtendedUi = UiClass<AccordionUiSlot | AccordionExtraUiSlot>;
|
|
21
|
+
interface AccordionProps<T extends AccordionOptionData = AccordionOptionData, M extends boolean = false> extends AccordionRootProps<M> {
|
|
22
|
+
/**
|
|
23
|
+
* root class
|
|
24
|
+
*/
|
|
25
|
+
class?: ClassValue;
|
|
22
26
|
size?: ThemeSize;
|
|
23
27
|
ui?: Partial<AccordionExtendedUi>;
|
|
24
28
|
items: T[];
|
|
@@ -26,7 +30,7 @@ type AccordionProps<T extends AccordionOptionData = AccordionOptionData, M exten
|
|
|
26
30
|
headerProps?: AccordionHeaderProps;
|
|
27
31
|
triggerProps?: AccordionTriggerProps;
|
|
28
32
|
contentProps?: AccordionContentProps;
|
|
29
|
-
}
|
|
33
|
+
}
|
|
30
34
|
type AccordionEmits<M extends boolean = false> = AccordionRootEmits<M>;
|
|
31
35
|
//#endregion
|
|
32
|
-
export { AccordionEmits, AccordionExtendedUi,
|
|
36
|
+
export { AccordionEmits, AccordionExtendedUi, AccordionExtraUiSlot, AccordionOptionData, AccordionProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import t from"../button/button-icon.js";import n from"../icon/icon.js";import{alertVariants as r}from"../../variants/alert.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,unref as _,useSlots as v,withCtx as y}from"vue";import{AlertClose as b,AlertContent as x,AlertDescription as S,AlertRoot as C,AlertTitle as w,
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import t from"../button/button-icon.js";import n from"../icon/icon.js";import{alertVariants as r}from"../../variants/alert.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,unref as _,useSlots as v,withCtx as y}from"vue";import{AlertClose as b,AlertContent as x,AlertDescription as S,AlertRoot as C,AlertTitle as w,provideAlertUi as T}from"@soybeanjs/headless";var E=l({name:`SAlert`,__name:`alert`,props:{class:{},size:{},color:{},variant:{},ui:{},title:{},description:{},icon:{},closable:{type:Boolean},contentProps:{},titleProps:{},descriptionProps:{},closeProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(l,{emit:E}){let D=l,O=E,k=v(),A=i(()=>e(r({size:D.size,color:D.color,variant:D.variant}),D.ui,{root:D.class}));return T(A),(e,r)=>(m(),a(_(C),{open:l.open,"onUpdate:open":r[0]||=e=>O(`update:open`,e)},{default:y(()=>[h(e.$slots,`leading`,{},()=>[l.icon?(m(),a(n,{key:0,icon:l.icon,class:f(A.value.icon)},null,8,[`icon`,`class`])):o(`v-if`,!0)]),c(_(x),p(u(l.contentProps)),{default:y(()=>[_(k).title||l.title?(m(),a(_(w),p(d({key:0},l.titleProps)),{default:y(()=>[h(e.$slots,`title`,{},()=>[s(g(l.title),1)])]),_:3},16)):o(`v-if`,!0),_(k).description||l.description?(m(),a(_(S),p(d({key:1},l.descriptionProps)),{default:y(()=>[h(e.$slots,`description`,{},()=>[s(g(l.description),1)])]),_:3},16)):o(`v-if`,!0),h(e.$slots,`default`)]),_:3},16),h(e.$slots,`trailing`),l.closable?(m(),a(_(b),d({key:0},l.closeProps,{"as-child":``}),{default:y(()=>[h(e.$slots,`close`,{},()=>[c(t,{icon:`lucide:x`,size:l.size},null,8,[`size`])])]),_:3},16)):o(`v-if`,!0)]),_:3},8,[`open`]))}});export{E as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AlertProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as vue93 from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/alert/alert.vue.d.ts
|
|
5
5
|
declare var __VLS_10: {}, __VLS_29: {}, __VLS_37: {}, __VLS_39: {}, __VLS_41: {}, __VLS_49: {};
|
|
@@ -16,13 +16,13 @@ type __VLS_Slots = {} & {
|
|
|
16
16
|
} & {
|
|
17
17
|
close?: (props: typeof __VLS_49) => any;
|
|
18
18
|
};
|
|
19
|
-
declare const __VLS_base:
|
|
19
|
+
declare const __VLS_base: vue93.DefineComponent<AlertProps, {}, {}, {}, {}, vue93.ComponentOptionsMixin, vue93.ComponentOptionsMixin, {
|
|
20
20
|
"update:open": (open: boolean) => any;
|
|
21
|
-
}, string,
|
|
21
|
+
}, string, vue93.PublicProps, Readonly<AlertProps> & Readonly<{
|
|
22
22
|
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
23
23
|
}>, {
|
|
24
24
|
open: boolean;
|
|
25
|
-
}, {}, {}, {}, string,
|
|
25
|
+
}, {}, {}, {}, string, vue93.ComponentProvideOptions, false, {}, any>;
|
|
26
26
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
27
27
|
declare const _default: typeof __VLS_export;
|
|
28
28
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -2,12 +2,16 @@ import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
|
2
2
|
import "../../theme/index.js";
|
|
3
3
|
import { IconValue } from "../icon/types.js";
|
|
4
4
|
import { AlertVariant } from "../../variants/alert.js";
|
|
5
|
-
import { AlertCloseProps, AlertContentProps, AlertDescriptionProps, AlertRootEmits, AlertRootProps, AlertTitleProps,
|
|
5
|
+
import { AlertCloseProps, AlertContentProps, AlertDescriptionProps, AlertRootEmits, AlertRootProps, AlertTitleProps, AlertUiSlot, ClassValue, UiClass } from "@soybeanjs/headless";
|
|
6
6
|
|
|
7
7
|
//#region src/components/alert/types.d.ts
|
|
8
|
-
type
|
|
9
|
-
type AlertExtendedUi =
|
|
8
|
+
type AlertExtraUiSlot = 'icon';
|
|
9
|
+
type AlertExtendedUi = UiClass<AlertUiSlot | AlertExtraUiSlot>;
|
|
10
10
|
interface AlertProps extends AlertRootProps {
|
|
11
|
+
/**
|
|
12
|
+
* root class
|
|
13
|
+
*/
|
|
14
|
+
class?: ClassValue;
|
|
11
15
|
size?: ThemeSize;
|
|
12
16
|
color?: ThemeColor;
|
|
13
17
|
variant?: AlertVariant;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useSizeContext as e}from"../../theme/context.js";import t from"../button/button.js";import{createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toDisplayString as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{AlertDialogClose as p}from"@soybeanjs/headless";var m=a({name:`SAlertDialogAction`,__name:`alert-dialog-action`,props:{text:{default:`Confirm`},beforeClose:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=f(a,[`text`]),{size:h}=e(`AlertDialogAction`);return(e,f)=>(s(),n(u(p),{"as-child":``,"before-close":a.beforeClose},{default:d(()=>[c(e.$slots,`content`,{},()=>[i(t,o(u(m),{size:u(h)}),{default:d(()=>[c(e.$slots,`default`,{},()=>[r(l(a.text),1)])]),_:3},16,[`size`])])]),_:3},8,[`before-close`]))}});export{m as default};
|
|
1
|
+
import{useSizeContext as e}from"../../theme/context.js";import t from"../button/button.js";import{createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toDisplayString as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{AlertDialogClose as p}from"@soybeanjs/headless";var m=a({name:`SAlertDialogAction`,__name:`alert-dialog-action`,props:{text:{default:`Confirm`},beforeClose:{},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=f(a,[`text`]),{size:h}=e(`AlertDialogAction`);return(e,f)=>(s(),n(u(p),{"as-child":``,"before-close":a.beforeClose},{default:d(()=>[c(e.$slots,`content`,{},()=>[i(t,o(u(m),{size:u(h)}),{default:d(()=>[c(e.$slots,`default`,{},()=>[r(l(a.text),1)])]),_:3},16,[`size`])])]),_:3},8,[`before-close`]))}});export{m as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AlertDialogActionProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as vue103 from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/alert-dialog/alert-dialog-action.vue.d.ts
|
|
5
5
|
declare var __VLS_8: {}, __VLS_16: {};
|
|
@@ -8,9 +8,9 @@ type __VLS_Slots = {} & {
|
|
|
8
8
|
} & {
|
|
9
9
|
default?: (props: typeof __VLS_16) => any;
|
|
10
10
|
};
|
|
11
|
-
declare const __VLS_base:
|
|
11
|
+
declare const __VLS_base: vue103.DefineComponent<AlertDialogActionProps, {}, {}, {}, {}, vue103.ComponentOptionsMixin, vue103.ComponentOptionsMixin, {}, string, vue103.PublicProps, Readonly<AlertDialogActionProps> & Readonly<{}>, {
|
|
12
12
|
text: string;
|
|
13
|
-
}, {}, {}, {}, string,
|
|
13
|
+
}, {}, {}, {}, string, vue103.ComponentProvideOptions, false, {}, any>;
|
|
14
14
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
15
|
declare const _default: typeof __VLS_export;
|
|
16
16
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useSizeContext as e}from"../../theme/context.js";import t from"../button/button.js";import{createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toDisplayString as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{AlertDialogClose as p}from"@soybeanjs/headless";var m=a({name:`SAlertDialogCancel`,__name:`alert-dialog-cancel`,props:{text:{default:`Cancel`},beforeClose:{},color:{},size:{},variant:{default:`plain`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=f(a,[`text`]),{size:h}=e(`AlertDialogCancel`);return(e,f)=>(s(),n(u(p),{"as-child":``,"before-close":a.beforeClose},{default:d(()=>[c(e.$slots,`content`,{},()=>[i(t,o(u(m),{size:u(h)}),{default:d(()=>[c(e.$slots,`default`,{},()=>[r(l(a.text),1)])]),_:3},16,[`size`])])]),_:3},8,[`before-close`]))}});export{m as default};
|
|
1
|
+
import{useSizeContext as e}from"../../theme/context.js";import t from"../button/button.js";import{createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toDisplayString as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{AlertDialogClose as p}from"@soybeanjs/headless";var m=a({name:`SAlertDialogCancel`,__name:`alert-dialog-cancel`,props:{text:{default:`Cancel`},beforeClose:{},class:{},color:{},size:{},variant:{default:`plain`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=f(a,[`text`]),{size:h}=e(`AlertDialogCancel`);return(e,f)=>(s(),n(u(p),{"as-child":``,"before-close":a.beforeClose},{default:d(()=>[c(e.$slots,`content`,{},()=>[i(t,o(u(m),{size:u(h)}),{default:d(()=>[c(e.$slots,`default`,{},()=>[r(l(a.text),1)])]),_:3},16,[`size`])])]),_:3},8,[`before-close`]))}});export{m as default};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ButtonVariant } from "../../variants/button.js";
|
|
2
2
|
import { AlertDialogCancelProps } from "./types.js";
|
|
3
3
|
import "../button/index.js";
|
|
4
|
-
import * as
|
|
4
|
+
import * as vue108 from "vue";
|
|
5
5
|
|
|
6
6
|
//#region src/components/alert-dialog/alert-dialog-cancel.vue.d.ts
|
|
7
7
|
declare var __VLS_8: {}, __VLS_16: {};
|
|
@@ -10,10 +10,10 @@ type __VLS_Slots = {} & {
|
|
|
10
10
|
} & {
|
|
11
11
|
default?: (props: typeof __VLS_16) => any;
|
|
12
12
|
};
|
|
13
|
-
declare const __VLS_base:
|
|
13
|
+
declare const __VLS_base: vue108.DefineComponent<AlertDialogCancelProps, {}, {}, {}, {}, vue108.ComponentOptionsMixin, vue108.ComponentOptionsMixin, {}, string, vue108.PublicProps, Readonly<AlertDialogCancelProps> & Readonly<{}>, {
|
|
14
14
|
text: string;
|
|
15
15
|
variant: ButtonVariant;
|
|
16
|
-
}, {}, {}, {}, string,
|
|
16
|
+
}, {}, {}, {}, string, vue108.ComponentProvideOptions, false, {}, any>;
|
|
17
17
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
18
18
|
declare const _default: typeof __VLS_export;
|
|
19
19
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import{dialogVariants as n}from"../../variants/dialog.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AlertDialogContent as C,AlertDialogDescription as w,AlertDialogFooter as T,AlertDialogHeader as E,AlertDialogOverlay as D,AlertDialogPortal as O,AlertDialogRoot as k,AlertDialogTitle as A,AlertDialogTrigger as j,
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import{dialogVariants as n}from"../../variants/dialog.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AlertDialogContent as C,AlertDialogDescription as w,AlertDialogFooter as T,AlertDialogHeader as E,AlertDialogOverlay as D,AlertDialogPortal as O,AlertDialogRoot as k,AlertDialogTitle as A,AlertDialogTrigger as j,provideAlertDialogUi as M}from"@soybeanjs/headless";var N=l({name:`SAlertDialog`,__name:`alert-dialog`,props:{type:{},showIcon:{type:Boolean,default:!0},size:{},ui:{},title:{},description:{},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1}},emits:[`update:open`],setup(l,{emit:N}){let P=l,F=S(P,[`size`,`ui`,`type`,`title`,`description`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),I=N,L=y(),R=x(I),z=i(()=>e(n({size:P.size}),P.ui)),B={destructive:{icon:`lucide:circle-x`,class:`text-destructive`},success:{icon:`lucide:circle-check`,class:`text-success`},warning:{icon:`lucide:circle-alert`,class:`text-warning`},info:{icon:`lucide:info`,class:`text-info`}},V=i(()=>P.type?B[P.type]:null);return M(z),t(()=>P.size),(e,t)=>(m(),a(v(k),d(v(F),{"onUpdate:open":t[0]||=e=>I(`update:open`,e)}),{default:b(t=>[c(v(j),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(O),p(u(l.portalProps)),{default:b(()=>[c(v(D),p(u(l.overlayProps)),null,16),c(v(C),d(l.contentProps,_(v(R))),{default:b(()=>[c(v(E),p(u(l.headerProps)),{default:b(()=>[c(v(A),p(u(l.titleProps)),{default:b(()=>[l.showIcon&&V.value?(m(),a(r,{key:0,icon:V.value.icon,class:f(V.value.class)},null,8,[`icon`,`class`])):o(`v-if`,!0),h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(L).description||l.description?(m(),a(v(w),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(L).footer?(m(),a(v(T),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{N as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AlertDialogProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as vue98 from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/alert-dialog/alert-dialog.vue.d.ts
|
|
5
5
|
declare var __VLS_16: {}, __VLS_52: {
|
|
@@ -26,15 +26,15 @@ type __VLS_Slots = {} & {
|
|
|
26
26
|
} & {
|
|
27
27
|
footer?: (props: typeof __VLS_70) => any;
|
|
28
28
|
};
|
|
29
|
-
declare const __VLS_base:
|
|
29
|
+
declare const __VLS_base: vue98.DefineComponent<AlertDialogProps, {}, {}, {}, {}, vue98.ComponentOptionsMixin, vue98.ComponentOptionsMixin, {
|
|
30
30
|
"update:open": (value: boolean) => any;
|
|
31
|
-
}, string,
|
|
31
|
+
}, string, vue98.PublicProps, Readonly<AlertDialogProps> & Readonly<{
|
|
32
32
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
33
33
|
}>, {
|
|
34
34
|
open: boolean;
|
|
35
35
|
defaultOpen: boolean;
|
|
36
36
|
showIcon: boolean;
|
|
37
|
-
}, {}, {}, {}, string,
|
|
37
|
+
}, {}, {}, {}, string, vue98.ComponentProvideOptions, false, {}, any>;
|
|
38
38
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
39
39
|
declare const _default: typeof __VLS_export;
|
|
40
40
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import{avatarVariants as t}from"../../variants/avatar.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,withCtx as m}from"vue";import{useOmitProps as h}from"@soybeanjs/headless/composables";import{AvatarFallback as g,AvatarImage as _,AvatarRoot as v,
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import{avatarVariants as t}from"../../variants/avatar.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,withCtx as m}from"vue";import{useOmitProps as h}from"@soybeanjs/headless/composables";import{AvatarFallback as g,AvatarImage as _,AvatarRoot as v,provideAvatarUi as y}from"@soybeanjs/headless";var b=o({name:`SAvatar`,__name:`avatar`,props:{class:{},size:{},ui:{},src:{},delayMs:{},fallbackLabel:{},imageProps:{},fallbackProps:{}},emits:[`loadingStatusChange`],setup(o,{emit:b}){let x=o,S=b,C=h(x,[`class`,`size`,`ui`,`fallbackLabel`,`imageProps`,`fallbackProps`]);y(n(()=>e(t({size:x.size}),x.ui,{root:x.class})));let w=n(()=>({...x.imageProps,src:x.src})),T=n(()=>({...x.fallbackProps,delayMs:x.delayMs}));return(e,t)=>(u(),r(p(v),l(s(p(C))),{default:m(()=>[d(e.$slots,`default`,{},()=>[d(e.$slots,`image`,{},()=>[a(p(_),c(w.value,{onLoadingStatusChange:t[0]||=e=>S(`loadingStatusChange`,e)}),null,16)]),a(p(g),l(s(T.value)),{default:m(()=>[d(e.$slots,`fallback`,{},()=>[i(f(o.fallbackLabel),1)])]),_:3},16)])]),_:3},16))}});export{b as default};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AvatarProps } from "./types.js";
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
2
|
+
import * as vue1 from "vue";
|
|
3
|
+
import * as _soybeanjs_headless0 from "@soybeanjs/headless";
|
|
4
4
|
|
|
5
5
|
//#region src/components/avatar/avatar.vue.d.ts
|
|
6
6
|
declare var __VLS_8: {}, __VLS_10: {}, __VLS_25: {};
|
|
@@ -11,11 +11,11 @@ type __VLS_Slots = {} & {
|
|
|
11
11
|
} & {
|
|
12
12
|
fallback?: (props: typeof __VLS_25) => any;
|
|
13
13
|
};
|
|
14
|
-
declare const __VLS_base:
|
|
15
|
-
loadingStatusChange: (status:
|
|
16
|
-
}, string,
|
|
17
|
-
onLoadingStatusChange?: ((status:
|
|
18
|
-
}>, {}, {}, {}, {}, string,
|
|
14
|
+
declare const __VLS_base: vue1.DefineComponent<AvatarProps, {}, {}, {}, {}, vue1.ComponentOptionsMixin, vue1.ComponentOptionsMixin, {
|
|
15
|
+
loadingStatusChange: (status: _soybeanjs_headless0.ImageLoadingStatus) => any;
|
|
16
|
+
}, string, vue1.PublicProps, Readonly<AvatarProps> & Readonly<{
|
|
17
|
+
onLoadingStatusChange?: ((status: _soybeanjs_headless0.ImageLoadingStatus) => any) | undefined;
|
|
18
|
+
}>, {}, {}, {}, {}, string, vue1.ComponentProvideOptions, false, {}, any>;
|
|
19
19
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
20
20
|
declare const _default: typeof __VLS_export;
|
|
21
21
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { ThemeSize } from "../../theme/types.js";
|
|
2
2
|
import "../../theme/index.js";
|
|
3
|
-
import { AvatarFallbackProps, AvatarImageEmits, AvatarImageProps, AvatarRootProps, AvatarUi } from "@soybeanjs/headless";
|
|
3
|
+
import { AvatarFallbackProps, AvatarImageEmits, AvatarImageProps, AvatarRootProps, AvatarUi, ClassValue } from "@soybeanjs/headless";
|
|
4
4
|
|
|
5
5
|
//#region src/components/avatar/types.d.ts
|
|
6
6
|
interface AvatarProps extends AvatarRootProps {
|
|
7
|
+
/**
|
|
8
|
+
* root class
|
|
9
|
+
*/
|
|
10
|
+
class?: ClassValue;
|
|
7
11
|
size?: ThemeSize;
|
|
8
12
|
ui?: Partial<AvatarUi>;
|
|
9
13
|
/** The image source URL */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import{badgeVariants as t}from"../../variants/badge.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,normalizeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import{badgeVariants as t}from"../../variants/badge.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,normalizeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,withCtx as p}from"vue";import{BadgeContent as m,BadgeRoot as h,provideBadgeUi as g}from"@soybeanjs/headless";var _=o({name:`SBadge`,__name:`badge`,props:{class:{},color:{},size:{},ui:{},position:{},content:{},contentProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(o,{emit:_}){let v=o,y=_;return g(n(()=>e(t({color:v.color,size:v.size,position:v.position}),v.ui,{root:v.class}))),(e,t)=>(l(),r(f(h),{open:o.open,"onUpdate:open":t[0]||=e=>y(`update:open`,e)},{default:p(()=>[u(e.$slots,`default`),a(f(m),c(s(o.contentProps)),{default:p(()=>[u(e.$slots,`content`,{},()=>[i(d(o.content),1)])]),_:3},16)]),_:3},8,[`open`]))}});export{_ as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BadgeProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as vue113 from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/badge/badge.vue.d.ts
|
|
5
5
|
declare var __VLS_10: {}, __VLS_18: {};
|
|
@@ -8,13 +8,13 @@ type __VLS_Slots = {} & {
|
|
|
8
8
|
} & {
|
|
9
9
|
content?: (props: typeof __VLS_18) => any;
|
|
10
10
|
};
|
|
11
|
-
declare const __VLS_base:
|
|
11
|
+
declare const __VLS_base: vue113.DefineComponent<BadgeProps, {}, {}, {}, {}, vue113.ComponentOptionsMixin, vue113.ComponentOptionsMixin, {
|
|
12
12
|
"update:open": (open: boolean) => any;
|
|
13
|
-
}, string,
|
|
13
|
+
}, string, vue113.PublicProps, Readonly<BadgeProps> & Readonly<{
|
|
14
14
|
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
15
15
|
}>, {
|
|
16
16
|
open: boolean;
|
|
17
|
-
}, {}, {}, {}, string,
|
|
17
|
+
}, {}, {}, {}, string, vue113.ComponentProvideOptions, false, {}, any>;
|
|
18
18
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
19
19
|
declare const _default: typeof __VLS_export;
|
|
20
20
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
2
2
|
import "../../theme/index.js";
|
|
3
3
|
import { BadgePosition } from "../../variants/badge.js";
|
|
4
|
-
import { BadgeContentProps, BadgeRootEmits, BadgeRootProps, BadgeUi } from "@soybeanjs/headless";
|
|
4
|
+
import { BadgeContentProps, BadgeRootEmits, BadgeRootProps, BadgeUi, ClassValue } from "@soybeanjs/headless";
|
|
5
5
|
|
|
6
6
|
//#region src/components/badge/types.d.ts
|
|
7
7
|
interface BadgeProps extends BadgeRootProps {
|
|
8
|
+
/**
|
|
9
|
+
* root class
|
|
10
|
+
*/
|
|
11
|
+
class?: ClassValue;
|
|
8
12
|
color?: ThemeColor;
|
|
9
13
|
size?: ThemeSize;
|
|
10
14
|
ui?: Partial<BadgeUi>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import t from"../icon/icon.js";import{breadcrumbVariants as n}from"../../variants/breadcrumb.js";import{getEllipsisRange as r}from"./shared.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeProps as m,openBlock as h,renderList as g,renderSlot as _,toDisplayString as v,unref as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{BreadcrumbEllipsis as S,BreadcrumbItem as C,BreadcrumbLink as w,BreadcrumbList as T,BreadcrumbPage as E,BreadcrumbRoot as D,BreadcrumbSeparator as O,
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import t from"../icon/icon.js";import{breadcrumbVariants as n}from"../../variants/breadcrumb.js";import{getEllipsisRange as r}from"./shared.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeProps as m,openBlock as h,renderList as g,renderSlot as _,toDisplayString as v,unref as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{BreadcrumbEllipsis as S,BreadcrumbItem as C,BreadcrumbLink as w,BreadcrumbList as T,BreadcrumbPage as E,BreadcrumbRoot as D,BreadcrumbSeparator as O,provideBreadcrumbUi as k}from"@soybeanjs/headless";var A=d({name:`SBreadcrumb`,__name:`breadcrumb`,props:{class:{},size:{},ui:{},items:{},ellipsis:{type:[Boolean,Array,null]},listProps:{},itemProps:{},pageProps:{},separatorProps:{},ellipsisProps:{}},emits:[`click`],setup(d,{emit:A}){let j=d,M=A,N=x(j,[`class`,`size`,`ui`,`items`,`ellipsis`,`listProps`,`itemProps`,`pageProps`,`separatorProps`,`ellipsisProps`]),P=a(()=>e(n({size:j.size}),j.ui,{root:j.class})),F=a(()=>r(j.items,j.ellipsis)),I=a(()=>F.value?.[0]),L=a(()=>{if(!F.value)return j.items;let[e,t]=F.value;return[...j.items.slice(0,e),...j.items.slice(t)]}),R=a(()=>{if(!F.value)return[];let[e,t]=F.value;return j.items.slice(e,t)});function z(e){M(`click`,e)}return k(P),(e,n)=>(h(),o(y(D),m(f(y(N))),{default:b(()=>[u(y(T),m(f(d.listProps)),{default:b(()=>[(h(!0),c(i,null,g(L.value,(n,r)=>(h(),c(i,{key:n.value||r},[I.value&&r===I.value?(h(),c(i,{key:0},[_(e.$slots,`ellipsis`,{ellipsisItems:R.value},()=>[u(y(S),p({ref_for:!0},d.ellipsisProps),{default:b(()=>[_(e.$slots,`ellipsis-icon`,{},()=>[u(t,{icon:`lucide:ellipsis`})])]),_:3},16)]),u(y(O),p({ref_for:!0},d.separatorProps),{default:b(()=>[_(e.$slots,`separator`,{},()=>[u(t,{icon:`lucide:chevron-right`})])]),_:3},16)],64)):s(`v-if`,!0),u(y(C),p({ref_for:!0},d.itemProps,{onClick:e=>z(n)}),{default:b(()=>[_(e.$slots,`item-leading`,{item:n},()=>[n.icon?(h(),o(t,{key:0,icon:n.icon},null,8,[`icon`])):s(`v-if`,!0)]),_(e.$slots,`default`,{item:n},()=>[n.linkProps?(h(),o(y(w),p({key:0,ref_for:!0},n.linkProps),{default:b(()=>[_(e.$slots,`item-link`,{item:n},()=>[l(v(n.label),1)])]),_:2},1040)):(h(),o(y(E),p({key:1,ref_for:!0},d.pageProps),{default:b(()=>[_(e.$slots,`item-label`,{item:n},()=>[l(v(n.label),1)])]),_:2},1040))]),_(e.$slots,`item-trailing`,{item:n})]),_:2},1040,[`onClick`]),r<L.value.length-1?(h(),o(y(O),p({key:1,ref_for:!0},d.separatorProps),{default:b(()=>[_(e.$slots,`separator`,{},()=>[u(t,{icon:`lucide:chevron-right`})])]),_:3},16)):s(`v-if`,!0)],64))),128))]),_:3},16)]),_:3},16))}});export{A as default};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BreadcrumbEmits, BreadcrumbOptionData, BreadcrumbProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as vue118 from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/breadcrumb/breadcrumb.vue.d.ts
|
|
5
5
|
declare const __VLS_export: <T extends BreadcrumbOptionData = BreadcrumbOptionData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
6
|
-
props:
|
|
6
|
+
props: vue118.PublicProps & __VLS_PrettifyLocal<BreadcrumbProps<T> & {
|
|
7
7
|
onClick?: ((item: T) => any) | undefined;
|
|
8
8
|
}> & (typeof globalThis extends {
|
|
9
9
|
__VLS_PROPS_FALLBACK: infer P;
|
|
@@ -42,7 +42,7 @@ declare const __VLS_export: <T extends BreadcrumbOptionData = BreadcrumbOptionDa
|
|
|
42
42
|
separator?: (props: {}) => any;
|
|
43
43
|
};
|
|
44
44
|
emit: BreadcrumbEmits<T>;
|
|
45
|
-
}>) =>
|
|
45
|
+
}>) => vue118.VNode & {
|
|
46
46
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
47
47
|
};
|
|
48
48
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ThemeSize } from "../../theme/types.js";
|
|
2
2
|
import "../../theme/index.js";
|
|
3
3
|
import { IconValue } from "../icon/types.js";
|
|
4
|
-
import { BreadcrumbEllipsisProps, BreadcrumbItemProps, BreadcrumbLinkProps, BreadcrumbListProps, BreadcrumbPageProps, BreadcrumbRootProps, BreadcrumbSeparatorProps, BreadcrumbUi } from "@soybeanjs/headless";
|
|
4
|
+
import { BreadcrumbEllipsisProps, BreadcrumbItemProps, BreadcrumbLinkProps, BreadcrumbListProps, BreadcrumbPageProps, BreadcrumbRootProps, BreadcrumbSeparatorProps, BreadcrumbUi, ClassValue } from "@soybeanjs/headless";
|
|
5
5
|
|
|
6
6
|
//#region src/components/breadcrumb/types.d.ts
|
|
7
7
|
interface BreadcrumbOptionData {
|
|
@@ -25,6 +25,10 @@ interface BreadcrumbOptionData {
|
|
|
25
25
|
linkProps?: BreadcrumbLinkProps;
|
|
26
26
|
}
|
|
27
27
|
interface BreadcrumbProps<T extends BreadcrumbOptionData = BreadcrumbOptionData> extends Omit<BreadcrumbRootProps, 'onClick'> {
|
|
28
|
+
/**
|
|
29
|
+
* root class
|
|
30
|
+
*/
|
|
31
|
+
class?: ClassValue;
|
|
28
32
|
size?: ThemeSize;
|
|
29
33
|
ui?: Partial<BreadcrumbUi>;
|
|
30
34
|
items: T[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cn as e}from"../../theme/merge.js";import{buttonGroupVariants as t}from"../../variants/button.js";import{provideButtonGroupContext as n}from"./context.js";import{useConfigProvider as r}from"../config-provider/context.js";import{computed as i,createBlock as a,defineComponent as o,mergeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{Primitive as p}from"@soybeanjs/headless";import{transformPropsToContext as m}from"@soybeanjs/headless/shared";var h=o({name:`SButtonGroup`,__name:`button-group`,props:{orientation:{default:`horizontal`},dir:{default:`ltr`},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(o){let h=o,g=f(h,[`class`,`orientation`,`color`,`size`,`variant`,`shape`,`shadow`,`disabled`]),_=r(`ButtonGroup`),v=i(()=>e(t({orientation:h.orientation}),h.class)),y=i(()=>h.dir??_.dir.value);return n(m(h,[`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`disabled`])),(e,t)=>(c(),a(u(p),s(u(g),{class:v.value,dir:y.value}),{default:d(()=>[l(e.$slots,`default`)]),_:3},16,[`class`,`dir`]))}});export{h as default};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { ButtonGroupProps } from "./types.js";
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
2
|
+
import * as vue130 from "vue";
|
|
3
|
+
import * as _soybeanjs_headless44 from "@soybeanjs/headless";
|
|
4
4
|
|
|
5
5
|
//#region src/components/button/button-group.vue.d.ts
|
|
6
6
|
declare var __VLS_8: {};
|
|
7
7
|
type __VLS_Slots = {} & {
|
|
8
8
|
default?: (props: typeof __VLS_8) => any;
|
|
9
9
|
};
|
|
10
|
-
declare const __VLS_base:
|
|
11
|
-
dir:
|
|
12
|
-
orientation:
|
|
13
|
-
}, {}, {}, {}, string,
|
|
10
|
+
declare const __VLS_base: vue130.DefineComponent<ButtonGroupProps, {}, {}, {}, {}, vue130.ComponentOptionsMixin, vue130.ComponentOptionsMixin, {}, string, vue130.PublicProps, Readonly<ButtonGroupProps> & Readonly<{}>, {
|
|
11
|
+
dir: _soybeanjs_headless44.Direction;
|
|
12
|
+
orientation: _soybeanjs_headless44.DataOrientation;
|
|
13
|
+
}, {}, {}, {}, string, vue130.ComponentProvideOptions, false, {}, any>;
|
|
14
14
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
15
|
declare const _default: typeof __VLS_export;
|
|
16
16
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./button.js";import t from"../icon/icon.js";import{createBlock as n,createVNode as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";var f=i({name:`SButtonIcon`,__name:`button-icon`,props:{icon:{},iconProps:{},color:{default:`accent`},size:{},variant:{default:`ghost`},shape:{default:`square`},shadow:{},fitContent:{type:Boolean,default:!0},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let f=d(i,[`icon`,`iconProps`]);return(d,p)=>(c(),n(e,s(a(l(f))),{default:u(()=>[r(t,o({icon:i.icon},i.iconProps),null,16,[`icon`])]),_:1},16))}});export{f as default};
|
|
1
|
+
import e from"./button.js";import t from"../icon/icon.js";import{createBlock as n,createVNode as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";var f=i({name:`SButtonIcon`,__name:`button-icon`,props:{icon:{},iconProps:{},class:{},color:{default:`accent`},size:{},variant:{default:`ghost`},shape:{default:`square`},shadow:{},fitContent:{type:Boolean,default:!0},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let f=d(i,[`icon`,`iconProps`]);return(d,p)=>(c(),n(e,s(a(l(f))),{default:u(()=>[r(t,o({icon:i.icon},i.iconProps),null,16,[`icon`])]),_:1},16))}});export{f as default};
|
|
@@ -2,15 +2,15 @@ import { ThemeColor } from "../../theme/types.js";
|
|
|
2
2
|
import { ButtonShape, ButtonVariant } from "../../variants/button.js";
|
|
3
3
|
import { ButtonIconProps } from "./types.js";
|
|
4
4
|
import "../../index.js";
|
|
5
|
-
import * as
|
|
5
|
+
import * as vue125 from "vue";
|
|
6
6
|
|
|
7
7
|
//#region src/components/button/button-icon.vue.d.ts
|
|
8
|
-
declare const __VLS_export:
|
|
8
|
+
declare const __VLS_export: vue125.DefineComponent<ButtonIconProps, {}, {}, {}, {}, vue125.ComponentOptionsMixin, vue125.ComponentOptionsMixin, {}, string, vue125.PublicProps, Readonly<ButtonIconProps> & Readonly<{}>, {
|
|
9
9
|
color: ThemeColor;
|
|
10
10
|
variant: ButtonVariant;
|
|
11
11
|
shape: ButtonShape;
|
|
12
12
|
fitContent: boolean;
|
|
13
|
-
}, {}, {}, {}, string,
|
|
13
|
+
}, {}, {}, {}, string, vue125.ComponentProvideOptions, false, {}, any>;
|
|
14
14
|
declare const _default: typeof __VLS_export;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { _default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./button.js";import t from"../link/link.js";import{createBlock as n,createVNode as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f,usePickProps as p}from"@soybeanjs/headless/composables";var m=i({name:`SButtonLink`,__name:`button-link`,props:{color:{},size:{},variant:{default:`link`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean,default:void 0},asChild:{type:Boolean},as:{},to:{},href:{},inactiveClass:{},external:{type:Boolean,default:void 0},target:{},rel:{},noRel:{type:Boolean,default:void 0},prefetchedClass:{},prefetch:{type:Boolean,default:void 0},prefetchOn:{},noPrefetch:{type:Boolean,default:void 0},trailingSlash:{},custom:{type:Boolean},activeClass:{},exactActiveClass:{},ariaCurrentValue:{},viewTransition:{type:Boolean,default:void 0},replace:{type:Boolean,default:void 0}},setup(i){let m=i,h=
|
|
1
|
+
import e from"./button.js";import t from"../link/link.js";import{createBlock as n,createVNode as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f,usePickProps as p}from"@soybeanjs/headless/composables";var m=i({name:`SButtonLink`,__name:`button-link`,props:{class:{},color:{},size:{},variant:{default:`link`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean,default:void 0},asChild:{type:Boolean},as:{},to:{},href:{},inactiveClass:{},external:{type:Boolean,default:void 0},target:{},rel:{},noRel:{type:Boolean,default:void 0},prefetchedClass:{},prefetch:{type:Boolean,default:void 0},prefetchOn:{},noPrefetch:{type:Boolean,default:void 0},trailingSlash:{},custom:{type:Boolean},activeClass:{},exactActiveClass:{},ariaCurrentValue:{},viewTransition:{type:Boolean,default:void 0},replace:{type:Boolean,default:void 0}},setup(i){let m=i,h=[`class`,`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`],g=p(m,[...h]),_=f(m,[...h]);return(i,f)=>(c(),n(e,o(u(g),{"as-child":``}),{default:d(()=>[r(t,s(a(u(_))),{default:d(e=>[l(i.$slots,`default`,s(a(e)))]),_:3},16)]),_:3},16))}});export{m as default};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ButtonVariant } from "../../variants/button.js";
|
|
2
2
|
import { ButtonLinkProps } from "./types.js";
|
|
3
|
-
import * as
|
|
3
|
+
import * as vue120 from "vue";
|
|
4
4
|
|
|
5
5
|
//#region src/components/button/button-link.vue.d.ts
|
|
6
6
|
declare var __VLS_14: {
|
|
@@ -9,16 +9,16 @@ declare var __VLS_14: {
|
|
|
9
9
|
type __VLS_Slots = {} & {
|
|
10
10
|
default?: (props: typeof __VLS_14) => any;
|
|
11
11
|
};
|
|
12
|
-
declare const __VLS_base:
|
|
12
|
+
declare const __VLS_base: vue120.DefineComponent<ButtonLinkProps, {}, {}, {}, {}, vue120.ComponentOptionsMixin, vue120.ComponentOptionsMixin, {}, string, vue120.PublicProps, Readonly<ButtonLinkProps> & Readonly<{}>, {
|
|
13
13
|
disabled: boolean;
|
|
14
|
-
replace: boolean;
|
|
15
14
|
variant: ButtonVariant;
|
|
15
|
+
replace: boolean;
|
|
16
16
|
viewTransition: boolean;
|
|
17
17
|
external: boolean;
|
|
18
18
|
noRel: boolean;
|
|
19
19
|
prefetch: boolean;
|
|
20
20
|
noPrefetch: boolean;
|
|
21
|
-
}, {}, {}, {}, string,
|
|
21
|
+
}, {}, {}, {}, string, vue120.ComponentProvideOptions, false, {}, any>;
|
|
22
22
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
23
23
|
declare const _default: typeof __VLS_export;
|
|
24
24
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./button.js";import t from"../icon/icon.js";import{computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createVNode as s,defineComponent as c,mergeProps as l,openBlock as u,ref as d,renderSlot as f,toDisplayString as p,unref as m,useAttrs as h,watchEffect as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";const y={key:0,style:{display:`contents`}},b={style:{position:`absolute`,inset:`0`,"justify-content":`center`,"align-items":`center`,display:`flex`,gap:`0.25rem`,"z-index":`1`}},x={key:0},S={style:{visibility:`hidden`,display:`contents`}};var C=c({name:`SButtonLoading`,inheritAttrs:!1,__name:`button-loading`,props:{loading:{type:Boolean},loadingText:{},loadingDuration:{},autoLoading:{type:Boolean},loadingIcon:{default:`svg-spinners:270-ring`},loadingIconProps:{},loadingPosition:{default:`start`},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(c){let C=c,w=h(),T=d(!1),E=n(()=>C.disabled||T.value),D=async e=>{C.autoLoading&&(T.value=!0);try{(Array.isArray(w.onClick)?w.onClick:[w.onClick]).forEach(t=>t?.(e))}finally{C.autoLoading&&(C.loadingDuration&&await new Promise(e=>{setTimeout(e,C.loadingDuration)}),T.value=!1)}},O=v(C,[`loading`,`loadingText`,`loadingDuration`,`autoLoading`,`loadingIcon`,`loadingIconProps`,`loadingPosition`],w,{onClick:D});return g(()=>{T.value=C.loading}),(n,d)=>(u(),r(e,l(m(O),{disabled:E.value,style:{position:`relative`},onClick:D}),{leading:_(()=>[T.value&&c.loadingPosition===`start`?(u(),r(t,l({key:0,icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`])):f(n.$slots,`leading`,{key:1})]),trailing:_(()=>[T.value&&c.loadingPosition===`end`?(u(),r(t,l({key:0,icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`])):f(n.$slots,`trailing`,{key:1})]),default:_(()=>[T.value&&c.loadingPosition===`center`?(u(),a(`span`,y,[o(`span`,b,[s(t,l({icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`]),c.loadingText?(u(),a(`span`,x,p(c.loadingText),1)):i(`v-if`,!0)]),o(`span`,S,[f(n.$slots,`default`,{loading:T.value})])])):f(n.$slots,`default`,{key:1,loading:T.value})]),_:3},16,[`disabled`]))}});export{C as default};
|
|
1
|
+
import e from"./button.js";import t from"../icon/icon.js";import{computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createVNode as s,defineComponent as c,mergeProps as l,openBlock as u,ref as d,renderSlot as f,toDisplayString as p,unref as m,useAttrs as h,watchEffect as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";const y={key:0,style:{display:`contents`}},b={style:{position:`absolute`,inset:`0`,"justify-content":`center`,"align-items":`center`,display:`flex`,gap:`0.25rem`,"z-index":`1`}},x={key:0},S={style:{visibility:`hidden`,display:`contents`}};var C=c({name:`SButtonLoading`,inheritAttrs:!1,__name:`button-loading`,props:{loading:{type:Boolean},loadingText:{},loadingDuration:{},autoLoading:{type:Boolean},loadingIcon:{default:`svg-spinners:270-ring`},loadingIconProps:{},loadingPosition:{default:`start`},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(c){let C=c,w=h(),T=d(!1),E=n(()=>C.disabled||T.value),D=async e=>{C.autoLoading&&(T.value=!0);try{(Array.isArray(w.onClick)?w.onClick:[w.onClick]).forEach(t=>t?.(e))}finally{C.autoLoading&&(C.loadingDuration&&await new Promise(e=>{setTimeout(e,C.loadingDuration)}),T.value=!1)}},O=v(C,[`loading`,`loadingText`,`loadingDuration`,`autoLoading`,`loadingIcon`,`loadingIconProps`,`loadingPosition`],w,{onClick:D});return g(()=>{T.value=C.loading}),(n,d)=>(u(),r(e,l(m(O),{disabled:E.value,style:{position:`relative`},onClick:D}),{leading:_(()=>[T.value&&c.loadingPosition===`start`?(u(),r(t,l({key:0,icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`])):f(n.$slots,`leading`,{key:1})]),trailing:_(()=>[T.value&&c.loadingPosition===`end`?(u(),r(t,l({key:0,icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`])):f(n.$slots,`trailing`,{key:1})]),default:_(()=>[T.value&&c.loadingPosition===`center`?(u(),a(`span`,y,[o(`span`,b,[s(t,l({icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`]),c.loadingText?(u(),a(`span`,x,p(c.loadingText),1)):i(`v-if`,!0)]),o(`span`,S,[f(n.$slots,`default`,{loading:T.value})])])):f(n.$slots,`default`,{key:1,loading:T.value})]),_:3},16,[`disabled`]))}});export{C as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ButtonLoadingProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as vue135 from "vue";
|
|
3
3
|
import { Align } from "@soybeanjs/headless";
|
|
4
4
|
|
|
5
5
|
//#region src/components/button/button-loading.vue.d.ts
|
|
@@ -17,10 +17,10 @@ type __VLS_Slots = {} & {
|
|
|
17
17
|
} & {
|
|
18
18
|
trailing?: (props: typeof __VLS_33) => any;
|
|
19
19
|
};
|
|
20
|
-
declare const __VLS_base:
|
|
20
|
+
declare const __VLS_base: vue135.DefineComponent<ButtonLoadingProps, {}, {}, {}, {}, vue135.ComponentOptionsMixin, vue135.ComponentOptionsMixin, {}, string, vue135.PublicProps, Readonly<ButtonLoadingProps> & Readonly<{}>, {
|
|
21
21
|
loadingIcon: string;
|
|
22
22
|
loadingPosition: Align;
|
|
23
|
-
}, {}, {}, {}, string,
|
|
23
|
+
}, {}, {}, {}, string, vue135.ComponentProvideOptions, false, {}, any>;
|
|
24
24
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
25
25
|
declare const _default: typeof __VLS_export;
|
|
26
26
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cn as e}from"../../theme/merge.js";import{buttonVariants as t}from"../../variants/button.js";import{useButtonGroupContext as n}from"./context.js";import{computed as r,createBlock as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{Button as f}from"@soybeanjs/headless";var p=a({name:`SButton`,__name:`button`,props:{color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`click`],setup(a,{emit:p}){let m=a,h=p,g=n(),_=d(m,[`size`,`color`,`variant`,`shape`,`shadow`,`disabled`,`fitContent`]),v=r(()=>{let{size:n,color:r,variant:i,shape:a,shadow:o,fitContent:s}=g||{};return e(t({size:m.size||n?.value,color:m.color||r?.value,variant:m.variant||i?.value,shape:m.shape||a?.value,shadow:m.shadow||o?.value,fitContent:m.fitContent||s?.value}),m.class)}),y=r(()=>m.disabled||g?.disabled.value);return(e,t)=>(s(),i(l(f),o(l(_),{class:v.value,disabled:y.value,onClick:t[0]||=e=>h(`click`,e)}),{default:u(()=>[c(e.$slots,`leading`),c(e.$slots,`default`),c(e.$slots,`trailing`)]),_:3},16,[`class`,`disabled`]))}});export{p as default};
|
|
1
|
+
import{cn as e}from"../../theme/merge.js";import{buttonVariants as t}from"../../variants/button.js";import{useButtonGroupContext as n}from"./context.js";import{computed as r,createBlock as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{Button as f}from"@soybeanjs/headless";var p=a({name:`SButton`,__name:`button`,props:{class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`click`],setup(a,{emit:p}){let m=a,h=p,g=n(),_=d(m,[`class`,`size`,`color`,`variant`,`shape`,`shadow`,`disabled`,`fitContent`]),v=r(()=>{let{size:n,color:r,variant:i,shape:a,shadow:o,fitContent:s}=g||{};return e(t({size:m.size||n?.value,color:m.color||r?.value,variant:m.variant||i?.value,shape:m.shape||a?.value,shadow:m.shadow||o?.value,fitContent:m.fitContent||s?.value}),m.class)}),y=r(()=>m.disabled||g?.disabled.value);return(e,t)=>(s(),i(l(f),o(l(_),{class:v.value,disabled:y.value,onClick:t[0]||=e=>h(`click`,e)}),{default:u(()=>[c(e.$slots,`leading`),c(e.$slots,`default`),c(e.$slots,`trailing`)]),_:3},16,[`class`,`disabled`]))}});export{p as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ButtonProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as vue140 from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/button/button.vue.d.ts
|
|
5
5
|
declare var __VLS_10: {}, __VLS_12: {}, __VLS_14: {};
|
|
@@ -10,11 +10,11 @@ type __VLS_Slots = {} & {
|
|
|
10
10
|
} & {
|
|
11
11
|
trailing?: (props: typeof __VLS_14) => any;
|
|
12
12
|
};
|
|
13
|
-
declare const __VLS_base:
|
|
13
|
+
declare const __VLS_base: vue140.DefineComponent<ButtonProps, {}, {}, {}, {}, vue140.ComponentOptionsMixin, vue140.ComponentOptionsMixin, {
|
|
14
14
|
click: (event: MouseEvent) => any;
|
|
15
|
-
}, string,
|
|
15
|
+
}, string, vue140.PublicProps, Readonly<ButtonProps> & Readonly<{
|
|
16
16
|
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
17
|
-
}>, {}, {}, {}, {}, string,
|
|
17
|
+
}>, {}, {}, {}, {}, string, vue140.ComponentProvideOptions, false, {}, any>;
|
|
18
18
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
19
19
|
declare const _default: typeof __VLS_export;
|
|
20
20
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -2,11 +2,12 @@ import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
|
2
2
|
import "../../theme/index.js";
|
|
3
3
|
import { IconProps } from "../icon/types.js";
|
|
4
4
|
import { ButtonShadow, ButtonShape, ButtonVariant } from "../../variants/button.js";
|
|
5
|
-
import { LinkProps } from "../link/types.js";
|
|
6
|
-
import { Align, ButtonEmits, ButtonProps, DataOrientation, Direction, PropsToContext } from "@soybeanjs/headless";
|
|
5
|
+
import { LinkProps as LinkProps$1 } from "../link/types.js";
|
|
6
|
+
import { Align, ButtonEmits, ButtonProps, ClassValue, DataOrientation, Direction, PropsToContext } from "@soybeanjs/headless";
|
|
7
7
|
|
|
8
8
|
//#region src/components/button/types.d.ts
|
|
9
9
|
interface ButtonProps$1 extends ButtonProps {
|
|
10
|
+
class?: ClassValue;
|
|
10
11
|
color?: ThemeColor;
|
|
11
12
|
size?: ThemeSize;
|
|
12
13
|
variant?: ButtonVariant;
|
|
@@ -61,7 +62,7 @@ interface ButtonLoadingProps extends ButtonProps$1 {
|
|
|
61
62
|
*/
|
|
62
63
|
loadingPosition?: Align;
|
|
63
64
|
}
|
|
64
|
-
type ButtonLinkProps = ButtonProps$1 & LinkProps;
|
|
65
|
+
type ButtonLinkProps = ButtonProps$1 & LinkProps$1;
|
|
65
66
|
interface ButtonGroupProps extends ButtonProps$1 {
|
|
66
67
|
/**
|
|
67
68
|
* The orientation of the button group.
|