vlite3 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -0
- package/_virtual/_plugin-vue_export-helper.js +9 -0
- package/components/Accordion/Accordion.vue.d.ts +42 -0
- package/components/Accordion/Accordion.vue.js +102 -0
- package/components/Accordion/Accordion.vue2.js +4 -0
- package/components/Accordion/AccordionContent.vue.d.ts +22 -0
- package/components/Accordion/AccordionContent.vue.js +7 -0
- package/components/Accordion/AccordionContent.vue2.js +47 -0
- package/components/Accordion/AccordionItem.vue.d.ts +54 -0
- package/components/Accordion/AccordionItem.vue.js +102 -0
- package/components/Accordion/AccordionItem.vue2.js +4 -0
- package/components/Accordion/AccordionTrigger.vue.d.ts +40 -0
- package/components/Accordion/AccordionTrigger.vue.js +72 -0
- package/components/Accordion/AccordionTrigger.vue2.js +4 -0
- package/components/Accordion/index.d.ts +5 -0
- package/components/Accordion/types.d.ts +30 -0
- package/components/Alert.vue.d.ts +36 -0
- package/components/Alert.vue.js +84 -0
- package/components/Alert.vue2.js +4 -0
- package/components/Avatar.vue.d.ts +32 -0
- package/components/Avatar.vue.js +78 -0
- package/components/Avatar.vue2.js +4 -0
- package/components/AvatarUploader/AvatarUploader.vue.d.ts +31 -0
- package/components/AvatarUploader/AvatarUploader.vue.js +104 -0
- package/components/AvatarUploader/AvatarUploader.vue2.js +4 -0
- package/components/AvatarUploader/index.d.ts +2 -0
- package/components/Badge.vue.d.ts +25 -0
- package/components/Badge.vue.js +31 -0
- package/components/Badge.vue2.js +4 -0
- package/components/Button.vue.d.ts +26 -0
- package/components/Button.vue.js +108 -0
- package/components/Button.vue2.js +4 -0
- package/components/ButtonGroup.vue.d.ts +29 -0
- package/components/ButtonGroup.vue.js +7 -0
- package/components/ButtonGroup.vue2.js +33 -0
- package/components/CheckBox.vue.d.ts +28 -0
- package/components/CheckBox.vue.js +114 -0
- package/components/CheckBox.vue2.js +4 -0
- package/components/Chip/Chip.vue.d.ts +33 -0
- package/components/Chip/Chip.vue.js +118 -0
- package/components/Chip/Chip.vue2.js +4 -0
- package/components/Chip/index.d.ts +2 -0
- package/components/Chip/types.d.ts +12 -0
- package/components/ChoiceBox/ChoiceBox.vue.d.ts +32 -0
- package/components/ChoiceBox/ChoiceBox.vue.js +141 -0
- package/components/ChoiceBox/ChoiceBox.vue2.js +4 -0
- package/components/ChoiceBox/index.d.ts +2 -0
- package/components/ColorPicker/ColorIro.vue.d.ts +18 -0
- package/components/ColorPicker/ColorIro.vue.js +142 -0
- package/components/ColorPicker/ColorIro.vue3.js +5 -0
- package/components/ColorPicker/ColorPicker.vue.d.ts +22 -0
- package/components/ColorPicker/ColorPicker.vue.js +55 -0
- package/components/ColorPicker/ColorPicker.vue2.js +4 -0
- package/components/ConfirmationModal.vue.d.ts +23 -0
- package/components/ConfirmationModal.vue.js +50 -0
- package/components/ConfirmationModal.vue2.js +4 -0
- package/components/DatePicker.vue.d.ts +44 -0
- package/components/DatePicker.vue.js +88 -0
- package/components/DatePicker.vue2.js +4 -0
- package/components/Dropdown/Dropdown.vue.d.ts +104 -0
- package/components/Dropdown/Dropdown.vue.js +200 -0
- package/components/Dropdown/Dropdown.vue2.js +4 -0
- package/components/Dropdown/DropdownGroupedLayout.vue.d.ts +21 -0
- package/components/Dropdown/DropdownGroupedLayout.vue.js +73 -0
- package/components/Dropdown/DropdownGroupedLayout.vue2.js +4 -0
- package/components/Dropdown/DropdownItem.vue.d.ts +35 -0
- package/components/Dropdown/DropdownItem.vue.js +56 -0
- package/components/Dropdown/DropdownItem.vue2.js +4 -0
- package/components/Dropdown/DropdownMenu.vue.d.ts +71 -0
- package/components/Dropdown/DropdownMenu.vue.js +211 -0
- package/components/Dropdown/DropdownMenu.vue2.js +4 -0
- package/components/Dropdown/DropdownTrigger.vue.d.ts +13 -0
- package/components/Dropdown/DropdownTrigger.vue.js +24 -0
- package/components/Dropdown/DropdownTrigger.vue2.js +4 -0
- package/components/Dropdown/composables/useDropdownIds.d.ts +5 -0
- package/components/Dropdown/composables/useDropdownIds.js +20 -0
- package/components/Dropdown/composables/useDropdownNavigation.d.ts +19 -0
- package/components/Dropdown/composables/useDropdownNavigation.js +53 -0
- package/components/Dropdown/composables/useDropdownSelection.d.ts +16 -0
- package/components/Dropdown/composables/useDropdownSelection.js +41 -0
- package/components/Dropdown/index.d.ts +6 -0
- package/components/FilePicker/FilePicker.vue.d.ts +57 -0
- package/components/FilePicker/FilePicker.vue.js +205 -0
- package/components/FilePicker/FilePicker.vue2.js +4 -0
- package/components/FilePicker/index.d.ts +2 -0
- package/components/FileTree/FileTree.vue.d.ts +20 -0
- package/components/FileTree/FileTree.vue.js +143 -0
- package/components/FileTree/FileTree.vue2.js +4 -0
- package/components/FileTree/FileTreeNode.vue.d.ts +28 -0
- package/components/FileTree/FileTreeNode.vue.js +157 -0
- package/components/FileTree/FileTreeNode.vue2.js +4 -0
- package/components/FileTree/index.d.ts +2 -0
- package/components/FileTree/types.d.ts +28 -0
- package/components/FileTree/useTreeSelection.d.ts +12 -0
- package/components/Heatmap/Heatmap.vue.d.ts +26 -0
- package/components/Heatmap/Heatmap.vue.js +7 -0
- package/components/Heatmap/Heatmap.vue2.js +338 -0
- package/components/Heatmap/index.d.ts +2 -0
- package/components/Heatmap/types.d.ts +66 -0
- package/components/Icon.vue.d.ts +7 -0
- package/components/Icon.vue.js +34 -0
- package/components/Icon.vue2.js +4 -0
- package/components/IconPicker.vue.d.ts +38 -0
- package/components/IconPicker.vue.js +124 -0
- package/components/IconPicker.vue2.js +4 -0
- package/components/Input.vue.d.ts +54 -0
- package/components/Input.vue.js +250 -0
- package/components/Input.vue2.js +4 -0
- package/components/Label.vue.d.ts +23 -0
- package/components/Label.vue.js +23 -0
- package/components/Label.vue2.js +4 -0
- package/components/Logo.vue.d.ts +2 -0
- package/components/Logo.vue.js +10 -0
- package/components/Logo.vue2.js +4 -0
- package/components/Masonry/Masonry.vue.d.ts +31 -0
- package/components/Masonry/Masonry.vue.js +7 -0
- package/components/Masonry/Masonry.vue2.js +77 -0
- package/components/Masonry/index.d.ts +2 -0
- package/components/Masonry/types.d.ts +33 -0
- package/components/Masonry/types.js +10 -0
- package/components/Modal.vue.d.ts +43 -0
- package/components/Modal.vue.js +100 -0
- package/components/Modal.vue2.js +4 -0
- package/components/MultiSelect/MultiSelect.vue.d.ts +40 -0
- package/components/MultiSelect/MultiSelect.vue.js +126 -0
- package/components/MultiSelect/MultiSelect.vue2.js +4 -0
- package/components/MultiSelect/index.d.ts +1 -0
- package/components/Navbar/Navbar.vue.d.ts +50 -0
- package/components/Navbar/Navbar.vue.js +201 -0
- package/components/Navbar/Navbar.vue2.js +4 -0
- package/components/Navbar/NavbarGroup.vue.d.ts +24 -0
- package/components/Navbar/NavbarGroup.vue.js +23 -0
- package/components/Navbar/NavbarGroup.vue2.js +4 -0
- package/components/Navbar/NavbarItem.vue.d.ts +40 -0
- package/components/Navbar/NavbarItem.vue.js +92 -0
- package/components/Navbar/NavbarItem.vue2.js +4 -0
- package/components/Navbar/index.d.ts +3 -0
- package/components/OTPInput/OTPInput.vue.d.ts +33 -0
- package/components/OTPInput/OTPInput.vue.js +123 -0
- package/components/OTPInput/OTPInput.vue2.js +4 -0
- package/components/OTPInput/index.d.ts +1 -0
- package/components/Pagination/Pagination.vue.d.ts +34 -0
- package/components/Pagination/Pagination.vue.js +198 -0
- package/components/Pagination/Pagination.vue2.js +4 -0
- package/components/Pagination/index.d.ts +1 -0
- package/components/PricingPlan/PricingPlan.vue.d.ts +22 -0
- package/components/PricingPlan/PricingPlan.vue.js +55 -0
- package/components/PricingPlan/PricingPlan.vue2.js +4 -0
- package/components/PricingPlan/PricingPlanItem.vue.d.ts +17 -0
- package/components/PricingPlan/PricingPlanItem.vue.js +92 -0
- package/components/PricingPlan/PricingPlanItem.vue2.js +4 -0
- package/components/PricingPlan/index.d.ts +3 -0
- package/components/PricingPlan/types.d.ts +25 -0
- package/components/SidePanel.vue.d.ts +58 -0
- package/components/SidePanel.vue.js +7 -0
- package/components/SidePanel.vue2.js +123 -0
- package/components/SidebarMenu/SidebarMenu.vue.d.ts +9 -0
- package/components/SidebarMenu/SidebarMenu.vue.js +65 -0
- package/components/SidebarMenu/SidebarMenu.vue2.js +4 -0
- package/components/SidebarMenu/SidebarMenuItem.vue.d.ts +9 -0
- package/components/SidebarMenu/SidebarMenuItem.vue.js +7 -0
- package/components/SidebarMenu/SidebarMenuItem.vue2.js +222 -0
- package/components/SidebarMenu/index.d.ts +3 -0
- package/components/SidebarMenu/types.d.ts +52 -0
- package/components/Slider.vue.d.ts +29 -0
- package/components/Slider.vue.js +124 -0
- package/components/Slider.vue2.js +4 -0
- package/components/Switch.vue.d.ts +16 -0
- package/components/Switch.vue.js +43 -0
- package/components/Switch.vue2.js +4 -0
- package/components/Tabes/Tabes.vue.d.ts +20 -0
- package/components/Tabes/Tabes.vue.js +86 -0
- package/components/Tabes/Tabes.vue2.js +4 -0
- package/components/Tabes/index.d.ts +2 -0
- package/components/Tabes/types.d.ts +8 -0
- package/components/Textarea.vue.d.ts +22 -0
- package/components/Textarea.vue.js +34 -0
- package/components/Textarea.vue2.js +4 -0
- package/components/ThemeToggle.vue.d.ts +2 -0
- package/components/ThemeToggle.vue.js +18 -0
- package/components/ThemeToggle.vue2.js +4 -0
- package/components/Timeline.vue.d.ts +39 -0
- package/components/Timeline.vue.js +174 -0
- package/components/Timeline.vue2.js +4 -0
- package/components/ToastNotification.vue.d.ts +7 -0
- package/components/ToastNotification.vue.js +7 -0
- package/components/ToastNotification.vue2.js +163 -0
- package/components/Tooltip.vue.d.ts +25 -0
- package/components/Tooltip.vue.js +39 -0
- package/components/Tooltip.vue2.js +4 -0
- package/components/Workbook/Sheet.vue.d.ts +38 -0
- package/components/Workbook/Sheet.vue.js +141 -0
- package/components/Workbook/Sheet.vue2.js +4 -0
- package/components/Workbook/Workbook.vue.d.ts +54 -0
- package/components/Workbook/Workbook.vue.js +7 -0
- package/components/Workbook/Workbook.vue2.js +146 -0
- package/components/Workbook/WorkbookAddButton.vue.d.ts +6 -0
- package/components/Workbook/WorkbookAddButton.vue.js +20 -0
- package/components/Workbook/WorkbookAddButton.vue2.js +4 -0
- package/components/Workbook/index.d.ts +3 -0
- package/components/Workbook/types.d.ts +34 -0
- package/composables/useKeyStroke.d.ts +21 -0
- package/composables/useKeyStroke.js +37 -0
- package/composables/useNotifications.d.ts +93 -0
- package/composables/useNotifications.js +88 -0
- package/composables/useTheme.d.ts +6 -0
- package/composables/useTheme.js +32 -0
- package/directives/vRipple.d.ts +4 -0
- package/directives/vRipple.js +17 -0
- package/index.css +1 -0
- package/index.d.ts +40 -0
- package/index.js +110 -0
- package/package.json +57 -0
- package/types/alert.type.d.ts +10 -0
- package/types/avatar.type.d.ts +10 -0
- package/types/button.d.ts +15 -0
- package/types/buttongroup.type.d.ts +1 -0
- package/types/form.type.d.ts +45 -0
- package/types/index.d.ts +9 -0
- package/types/navbar.type.d.ts +26 -0
- package/types/sidepanel.type.d.ts +13 -0
- package/types/styles.d.ts +28 -0
- package/types/timeline.type.d.ts +9 -0
- package/utils/functions.d.ts +9 -0
- package/utils/functions.js +11 -0
- package/utils/index.d.ts +2 -0
- package/utils/object.d.ts +6 -0
- package/utils/object.js +14 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { defineComponent as C, ref as V, computed as a, useSlots as $, openBlock as n, createElementBlock as i, normalizeClass as r, renderSlot as d, createBlock as B, createCommentVNode as o, createElementVNode as g, toDisplayString as v, createTextVNode as N, createVNode as S } from "vue";
|
|
2
|
+
import m from "./Icon.vue.js";
|
|
3
|
+
const j = ["role"], E = {
|
|
4
|
+
key: 1,
|
|
5
|
+
class: "text-sm opacity-90 [&_p]:leading-relaxed"
|
|
6
|
+
}, A = /* @__PURE__ */ C({
|
|
7
|
+
__name: "Alert",
|
|
8
|
+
props: {
|
|
9
|
+
title: {},
|
|
10
|
+
description: {},
|
|
11
|
+
icon: {},
|
|
12
|
+
variant: { default: "primary" },
|
|
13
|
+
closable: { type: Boolean, default: !1 },
|
|
14
|
+
role: {},
|
|
15
|
+
class: { default: "" }
|
|
16
|
+
},
|
|
17
|
+
emits: ["close"],
|
|
18
|
+
setup(e, { emit: f }) {
|
|
19
|
+
const t = e, p = f, c = V(!0), y = () => {
|
|
20
|
+
c.value = !1, p("close");
|
|
21
|
+
}, b = a(() => ({
|
|
22
|
+
primary: "bg-primary-light text-primary border-primary/20",
|
|
23
|
+
success: "bg-success-light text-success-dark border-success/20",
|
|
24
|
+
warning: "bg-warning-light text-warning-dark border-warning/20",
|
|
25
|
+
danger: "bg-danger-light text-danger-dark border-danger/20"
|
|
26
|
+
})[t.variant]), k = a(() => ({
|
|
27
|
+
primary: "text-primary",
|
|
28
|
+
success: "text-success-dark",
|
|
29
|
+
warning: "text-warning-dark",
|
|
30
|
+
danger: "text-danger-dark"
|
|
31
|
+
})[t.variant]), l = a(() => !t.description && !$().default), x = a(() => [
|
|
32
|
+
"relative w-full rounded-lg border px-4 [&>svg]:absolute [&>svg]:left-4 [&>svg]:text-foreground",
|
|
33
|
+
l.value ? "py-3" : "pt-4 pb-2",
|
|
34
|
+
// Icon Position: Center vertically if title only, otherwise top-4
|
|
35
|
+
l.value ? "[&>svg]:top-1/2 [&>svg]:-translate-y-1/2" : "[&>svg]:top-4 top-4 [&>svg+div]:translate-y-[-3px]",
|
|
36
|
+
b.value,
|
|
37
|
+
t.class
|
|
38
|
+
].join(" ")), h = a(() => [
|
|
39
|
+
"font-medium leading-none tracking-tight",
|
|
40
|
+
l.value ? "" : "mb-1"
|
|
41
|
+
].join(" ")), w = a(() => t.role ? t.role : ["danger", "warning"].includes(t.variant) ? "alert" : "status");
|
|
42
|
+
return (s, u) => c.value ? (n(), i("div", {
|
|
43
|
+
key: 0,
|
|
44
|
+
class: r(x.value),
|
|
45
|
+
role: w.value
|
|
46
|
+
}, [
|
|
47
|
+
d(s.$slots, "icon", {}, () => [
|
|
48
|
+
e.icon ? (n(), B(m, {
|
|
49
|
+
key: 0,
|
|
50
|
+
icon: e.icon,
|
|
51
|
+
class: r(["h-4 w-4", k.value])
|
|
52
|
+
}, null, 8, ["icon", "class"])) : o("", !0)
|
|
53
|
+
]),
|
|
54
|
+
g("div", {
|
|
55
|
+
class: r({ "pl-7": e.icon || s.$slots.icon, "pr-6": e.closable })
|
|
56
|
+
}, [
|
|
57
|
+
e.title ? (n(), i("h5", {
|
|
58
|
+
key: 0,
|
|
59
|
+
class: r(h.value)
|
|
60
|
+
}, v(e.title), 3)) : o("", !0),
|
|
61
|
+
e.description || s.$slots.default ? (n(), i("div", E, [
|
|
62
|
+
d(s.$slots, "default", {}, () => [
|
|
63
|
+
N(v(e.description), 1)
|
|
64
|
+
])
|
|
65
|
+
])) : o("", !0)
|
|
66
|
+
], 2),
|
|
67
|
+
e.closable ? (n(), i("button", {
|
|
68
|
+
key: 0,
|
|
69
|
+
type: "button",
|
|
70
|
+
onClick: y,
|
|
71
|
+
class: r(["absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", [l.value ? "top-1/2 -translate-y-1/2" : "top-4"]])
|
|
72
|
+
}, [
|
|
73
|
+
S(m, {
|
|
74
|
+
icon: "lucide:x",
|
|
75
|
+
class: "h-4 w-4"
|
|
76
|
+
}),
|
|
77
|
+
u[0] || (u[0] = g("span", { class: "sr-only" }, "Close", -1))
|
|
78
|
+
], 2)) : o("", !0)
|
|
79
|
+
], 10, j)) : o("", !0);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
export {
|
|
83
|
+
A as default
|
|
84
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AvatarSize, AvatarRounded } from '../types';
|
|
2
|
+
interface Props {
|
|
3
|
+
src?: string;
|
|
4
|
+
alt?: string;
|
|
5
|
+
fallback?: string;
|
|
6
|
+
size?: AvatarSize;
|
|
7
|
+
rounded?: AvatarRounded;
|
|
8
|
+
class?: string;
|
|
9
|
+
}
|
|
10
|
+
declare function __VLS_template(): {
|
|
11
|
+
attrs: Partial<{}>;
|
|
12
|
+
slots: {
|
|
13
|
+
fallback?(_: {}): any;
|
|
14
|
+
};
|
|
15
|
+
refs: {};
|
|
16
|
+
rootEl: HTMLDivElement;
|
|
17
|
+
};
|
|
18
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
19
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
20
|
+
class: string;
|
|
21
|
+
src: string;
|
|
22
|
+
alt: string;
|
|
23
|
+
size: AvatarSize;
|
|
24
|
+
rounded: AvatarRounded;
|
|
25
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
26
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
27
|
+
export default _default;
|
|
28
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
29
|
+
new (): {
|
|
30
|
+
$slots: S;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { defineComponent as k, ref as c, watch as w, computed as a, openBlock as t, createElementBlock as r, normalizeClass as d, renderSlot as g, toDisplayString as b, createBlock as C } from "vue";
|
|
2
|
+
import _ from "./Icon.vue.js";
|
|
3
|
+
const y = ["src", "alt"], z = { key: 0 }, A = /* @__PURE__ */ k({
|
|
4
|
+
__name: "Avatar",
|
|
5
|
+
props: {
|
|
6
|
+
src: { default: "" },
|
|
7
|
+
alt: { default: "Avatar" },
|
|
8
|
+
fallback: {},
|
|
9
|
+
size: { default: "md" },
|
|
10
|
+
rounded: { default: "full" },
|
|
11
|
+
class: { default: "" }
|
|
12
|
+
},
|
|
13
|
+
setup(n) {
|
|
14
|
+
const e = n, s = c(!1), o = c(!1);
|
|
15
|
+
w(
|
|
16
|
+
() => e.src,
|
|
17
|
+
() => {
|
|
18
|
+
s.value = !1, o.value = !1;
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
const f = () => {
|
|
22
|
+
s.value = !0, o.value = !1;
|
|
23
|
+
}, i = () => {
|
|
24
|
+
o.value = !0, s.value = !1;
|
|
25
|
+
}, m = a(() => e.src && !s.value), u = a(() => {
|
|
26
|
+
if (e.fallback) return e.fallback;
|
|
27
|
+
if (!e.alt) return "";
|
|
28
|
+
const l = e.alt.trim().split(/\s+/);
|
|
29
|
+
return l.length === 1 ? l[0].slice(0, 2).toUpperCase() : (l[0][0] + l[l.length - 1][0]).toUpperCase();
|
|
30
|
+
}), x = {
|
|
31
|
+
xs: "h-6 w-6 text-[10px]",
|
|
32
|
+
sm: "h-8 w-8 text-xs",
|
|
33
|
+
md: "h-10 w-10 text-sm",
|
|
34
|
+
lg: "h-12 w-12 text-base",
|
|
35
|
+
xl: "h-14 w-14 text-lg",
|
|
36
|
+
"2xl": "h-16 w-16 text-xl"
|
|
37
|
+
}, h = {
|
|
38
|
+
none: "rounded-none",
|
|
39
|
+
sm: "rounded-sm",
|
|
40
|
+
md: "rounded-md",
|
|
41
|
+
lg: "rounded-lg",
|
|
42
|
+
xl: "rounded-xl",
|
|
43
|
+
"2xl": "rounded-2xl",
|
|
44
|
+
full: "rounded-full"
|
|
45
|
+
}, v = a(() => [
|
|
46
|
+
"relative flex shrink-0 overflow-hidden bg-muted",
|
|
47
|
+
x[e.size],
|
|
48
|
+
h[e.rounded],
|
|
49
|
+
e.class
|
|
50
|
+
].join(" ")), p = a(() => "flex h-full w-full items-center justify-center bg-muted text-muted-foreground font-medium");
|
|
51
|
+
return (l, j) => (t(), r("div", {
|
|
52
|
+
class: d(v.value)
|
|
53
|
+
}, [
|
|
54
|
+
m.value ? (t(), r("img", {
|
|
55
|
+
key: 0,
|
|
56
|
+
src: n.src,
|
|
57
|
+
alt: n.alt,
|
|
58
|
+
class: "aspect-square h-full w-full object-cover",
|
|
59
|
+
onError: f,
|
|
60
|
+
onLoad: i
|
|
61
|
+
}, null, 40, y)) : (t(), r("div", {
|
|
62
|
+
key: 1,
|
|
63
|
+
class: d(p.value)
|
|
64
|
+
}, [
|
|
65
|
+
g(l.$slots, "fallback", {}, () => [
|
|
66
|
+
u.value ? (t(), r("span", z, b(u.value), 1)) : (t(), C(_, {
|
|
67
|
+
key: 1,
|
|
68
|
+
icon: "lucide:user",
|
|
69
|
+
class: "h-1/2 w-1/2"
|
|
70
|
+
}))
|
|
71
|
+
])
|
|
72
|
+
], 2))
|
|
73
|
+
], 2));
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
export {
|
|
77
|
+
A as default
|
|
78
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FilePickerValue } from '../FilePicker';
|
|
2
|
+
import { AvatarSize, AvatarRounded } from '../../types';
|
|
3
|
+
export interface Props {
|
|
4
|
+
modelValue?: string | null;
|
|
5
|
+
size?: AvatarSize;
|
|
6
|
+
rounded?: AvatarRounded;
|
|
7
|
+
editable?: boolean;
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
fallback?: string;
|
|
11
|
+
alt?: string;
|
|
12
|
+
maxSize?: number;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
15
|
+
"update:modelValue": (value: string) => any;
|
|
16
|
+
change: (value: FilePickerValue) => any;
|
|
17
|
+
error: (error: string) => any;
|
|
18
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
19
|
+
"onUpdate:modelValue"?: (value: string) => any;
|
|
20
|
+
onChange?: (value: FilePickerValue) => any;
|
|
21
|
+
onError?: (error: string) => any;
|
|
22
|
+
}>, {
|
|
23
|
+
disabled: boolean;
|
|
24
|
+
alt: string;
|
|
25
|
+
modelValue: string | null;
|
|
26
|
+
size: AvatarSize;
|
|
27
|
+
loading: boolean;
|
|
28
|
+
rounded: AvatarRounded;
|
|
29
|
+
editable: boolean;
|
|
30
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
31
|
+
export default _default;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { defineComponent as w, ref as z, computed as f, openBlock as r, createElementBlock as o, normalizeClass as n, createVNode as l, unref as C, withCtx as p, createElementVNode as A, createCommentVNode as g, withModifiers as B } from "vue";
|
|
2
|
+
import u from "../Icon.vue.js";
|
|
3
|
+
import j from "../FilePicker/FilePicker.vue.js";
|
|
4
|
+
import E from "../Avatar.vue.js";
|
|
5
|
+
const $ = ["onClick"], I = /* @__PURE__ */ w({
|
|
6
|
+
__name: "AvatarUploader",
|
|
7
|
+
props: {
|
|
8
|
+
modelValue: { default: null },
|
|
9
|
+
size: { default: "xl" },
|
|
10
|
+
rounded: { default: "full" },
|
|
11
|
+
editable: { type: Boolean, default: !0 },
|
|
12
|
+
loading: { type: Boolean, default: !1 },
|
|
13
|
+
disabled: { type: Boolean, default: !1 },
|
|
14
|
+
fallback: {},
|
|
15
|
+
alt: { default: "Avatar" },
|
|
16
|
+
maxSize: {}
|
|
17
|
+
},
|
|
18
|
+
emits: ["update:modelValue", "change", "error"],
|
|
19
|
+
setup(e, { emit: v }) {
|
|
20
|
+
const s = e, t = v, i = z(null), c = f(() => i.value || s.modelValue), h = (a) => {
|
|
21
|
+
if (!a || Array.isArray(a)) {
|
|
22
|
+
Array.isArray(a) && a.length === 0 && m();
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
a.base64 && (i.value = a.base64, t("update:modelValue", a.base64)), t("change", a);
|
|
26
|
+
}, y = (a) => {
|
|
27
|
+
t("error", a);
|
|
28
|
+
}, m = () => {
|
|
29
|
+
i.value = null, t("update:modelValue", null), t("change", null);
|
|
30
|
+
}, k = f(() => [
|
|
31
|
+
"group relative inline-block",
|
|
32
|
+
// If rounded is full, we need overflow hidden on the container to clip the overlay
|
|
33
|
+
s.rounded === "full" ? "rounded-full" : ""
|
|
34
|
+
].join(" "));
|
|
35
|
+
return (a, b) => (r(), o("div", {
|
|
36
|
+
class: n(k.value)
|
|
37
|
+
}, [
|
|
38
|
+
l(C(j), {
|
|
39
|
+
disabled: !e.editable || e.disabled || e.loading,
|
|
40
|
+
"return-format": "base64",
|
|
41
|
+
"file-types": ["image/jpeg", "image/png", "image/webp", "image/gif"],
|
|
42
|
+
"max-size": e.maxSize,
|
|
43
|
+
class: "w-auto h-auto block",
|
|
44
|
+
onChange: b[0] || (b[0] = (d) => h(d)),
|
|
45
|
+
onError: y
|
|
46
|
+
}, {
|
|
47
|
+
trigger: p(({ trigger: d, isLoading: x }) => [
|
|
48
|
+
A("div", {
|
|
49
|
+
class: n(["relative cursor-pointer transition-transform active:scale-95", { "cursor-default": !e.editable || e.disabled }]),
|
|
50
|
+
onClick: (N) => e.editable && !e.disabled ? d() : null
|
|
51
|
+
}, [
|
|
52
|
+
l(E, {
|
|
53
|
+
src: c.value || void 0,
|
|
54
|
+
fallback: e.fallback,
|
|
55
|
+
alt: e.alt,
|
|
56
|
+
size: e.size,
|
|
57
|
+
rounded: e.rounded,
|
|
58
|
+
class: "ring-offset-background transition-shadow group-hover:ring-2 group-hover:ring-primary/20"
|
|
59
|
+
}, null, 8, ["src", "fallback", "alt", "size", "rounded"]),
|
|
60
|
+
e.loading || x ? (r(), o("div", {
|
|
61
|
+
key: 0,
|
|
62
|
+
class: n([
|
|
63
|
+
"absolute inset-0 flex items-center justify-center bg-black/40 backdrop-blur-[1px] text-white transition-opacity",
|
|
64
|
+
e.rounded === "full" ? "rounded-full" : "rounded-md"
|
|
65
|
+
])
|
|
66
|
+
}, [
|
|
67
|
+
l(u, {
|
|
68
|
+
icon: "lucide:loader-2",
|
|
69
|
+
class: "animate-spin w-1/3 h-1/3"
|
|
70
|
+
})
|
|
71
|
+
], 2)) : e.editable && !e.disabled ? (r(), o("div", {
|
|
72
|
+
key: 1,
|
|
73
|
+
class: n([
|
|
74
|
+
"absolute inset-0 flex items-center justify-center bg-black/40 text-white opacity-0 transition-opacity duration-200 group-hover:opacity-100",
|
|
75
|
+
e.rounded === "full" ? "rounded-full" : "rounded-md"
|
|
76
|
+
])
|
|
77
|
+
}, [
|
|
78
|
+
l(u, {
|
|
79
|
+
icon: "lucide:camera",
|
|
80
|
+
class: "w-1/3 h-1/3"
|
|
81
|
+
})
|
|
82
|
+
], 2)) : g("", !0)
|
|
83
|
+
], 10, $)
|
|
84
|
+
]),
|
|
85
|
+
_: 1
|
|
86
|
+
}, 8, ["disabled", "max-size"]),
|
|
87
|
+
c.value && e.editable && !e.disabled && !e.loading ? (r(), o("button", {
|
|
88
|
+
key: 0,
|
|
89
|
+
type: "button",
|
|
90
|
+
class: "absolute -top-1 -right-1 z-10 p-1 bg-background border border-border rounded-full text-muted-foreground shadow-sm hover:text-destructive hover:border-destructive transition-colors opacity-0 group-hover:opacity-100 scale-75 group-hover:scale-100 duration-200 transform",
|
|
91
|
+
onClick: B(m, ["stop"]),
|
|
92
|
+
title: "Remove image"
|
|
93
|
+
}, [
|
|
94
|
+
l(u, {
|
|
95
|
+
icon: "lucide:x",
|
|
96
|
+
class: "w-3 h-3"
|
|
97
|
+
})
|
|
98
|
+
])) : g("", !0)
|
|
99
|
+
], 2));
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
export {
|
|
103
|
+
I as default
|
|
104
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type BadgeVariant = 'default' | 'secondary' | 'danger' | 'outline' | 'warning' | 'info' | 'success';
|
|
2
|
+
interface Props {
|
|
3
|
+
variant?: BadgeVariant;
|
|
4
|
+
class?: string;
|
|
5
|
+
}
|
|
6
|
+
declare function __VLS_template(): {
|
|
7
|
+
attrs: Partial<{}>;
|
|
8
|
+
slots: {
|
|
9
|
+
default?(_: {}): any;
|
|
10
|
+
};
|
|
11
|
+
refs: {};
|
|
12
|
+
rootEl: HTMLDivElement;
|
|
13
|
+
};
|
|
14
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
15
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
16
|
+
class: string;
|
|
17
|
+
variant: BadgeVariant;
|
|
18
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
19
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
22
|
+
new (): {
|
|
23
|
+
$slots: S;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { defineComponent as o, computed as a, openBlock as c, createElementBlock as i, normalizeClass as d, renderSlot as u } from "vue";
|
|
2
|
+
const g = /* @__PURE__ */ o({
|
|
3
|
+
__name: "Badge",
|
|
4
|
+
props: {
|
|
5
|
+
variant: { default: "default" },
|
|
6
|
+
class: { default: "" }
|
|
7
|
+
},
|
|
8
|
+
setup(n) {
|
|
9
|
+
const e = n, t = a(() => [
|
|
10
|
+
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
11
|
+
{
|
|
12
|
+
default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
|
|
13
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
14
|
+
danger: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
|
15
|
+
warning: "border-transparent bg-warning text-warning-fg hover:bg-warning/80",
|
|
16
|
+
info: "border-transparent bg-info text-info-fg hover:bg-info/80",
|
|
17
|
+
success: "border-transparent bg-success text-success-fg hover:bg-success/80",
|
|
18
|
+
outline: "text-foreground border-border"
|
|
19
|
+
}[e.variant],
|
|
20
|
+
e.class
|
|
21
|
+
].join(" "));
|
|
22
|
+
return (r, s) => (c(), i("div", {
|
|
23
|
+
class: d(t.value)
|
|
24
|
+
}, [
|
|
25
|
+
u(r.$slots, "default")
|
|
26
|
+
], 2));
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
export {
|
|
30
|
+
g as default
|
|
31
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ButtonVariant, ButtonSize, ButtonRounded, ButtonProps } from '../types';
|
|
2
|
+
declare function __VLS_template(): {
|
|
3
|
+
attrs: Partial<{}>;
|
|
4
|
+
slots: {
|
|
5
|
+
default?(_: {}): any;
|
|
6
|
+
};
|
|
7
|
+
refs: {};
|
|
8
|
+
rootEl: HTMLButtonElement;
|
|
9
|
+
};
|
|
10
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
11
|
+
declare const __VLS_component: import('vue').DefineComponent<ButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ButtonProps> & Readonly<{}>, {
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
type: "button" | "submit" | "reset";
|
|
14
|
+
class: any;
|
|
15
|
+
variant: ButtonVariant;
|
|
16
|
+
size: ButtonSize;
|
|
17
|
+
loading: boolean;
|
|
18
|
+
rounded: ButtonRounded;
|
|
19
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLButtonElement>;
|
|
20
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
21
|
+
export default _default;
|
|
22
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
23
|
+
new (): {
|
|
24
|
+
$slots: S;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { defineComponent as m, computed as a, withDirectives as v, openBlock as n, createElementBlock as x, normalizeClass as o, createBlock as l, createCommentVNode as u, renderSlot as y, createTextVNode as p, toDisplayString as w, unref as k } from "vue";
|
|
2
|
+
import c from "./Icon.vue.js";
|
|
3
|
+
import { vRipple as z } from "../directives/vRipple.js";
|
|
4
|
+
const B = ["type", "disabled"], V = /* @__PURE__ */ m({
|
|
5
|
+
__name: "Button",
|
|
6
|
+
props: {
|
|
7
|
+
variant: { default: "primary" },
|
|
8
|
+
size: { default: "md" },
|
|
9
|
+
class: { default: "" },
|
|
10
|
+
disabled: { type: Boolean, default: !1 },
|
|
11
|
+
loading: { type: Boolean, default: !1 },
|
|
12
|
+
icon: {},
|
|
13
|
+
iconRight: {},
|
|
14
|
+
type: { default: "button" },
|
|
15
|
+
text: {},
|
|
16
|
+
rounded: { default: "md" }
|
|
17
|
+
},
|
|
18
|
+
setup(e) {
|
|
19
|
+
const t = e, i = a(() => t.icon && !t.text), g = a(() => {
|
|
20
|
+
const r = "inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-95 cursor-pointer", d = {
|
|
21
|
+
primary: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
22
|
+
"primary-light": "bg-primary-light text-primary-fg-light hover:bg-primary/20",
|
|
23
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
24
|
+
danger: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
25
|
+
"danger-light": "bg-destructive/10 text-destructive hover:bg-destructive/20",
|
|
26
|
+
warning: "bg-warning text-warning-fg hover:bg-warning/80",
|
|
27
|
+
"warning-light": "bg-warning-light text-warning-fg-light hover:bg-warning/20",
|
|
28
|
+
info: "bg-info text-info-fg hover:bg-info/80",
|
|
29
|
+
"info-light": "bg-info-light text-info-fg-light hover:bg-info/20",
|
|
30
|
+
success: "bg-success text-success-fg hover:bg-success/80",
|
|
31
|
+
"success-light": "bg-success-light text-success-fg-light hover:bg-success/20",
|
|
32
|
+
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground text-foreground",
|
|
33
|
+
"outline-primary": "border border-primary text-primary hover:bg-primary/10",
|
|
34
|
+
"outline-danger": "border border-destructive text-destructive hover:bg-destructive/10",
|
|
35
|
+
"outline-warning": "border border-warning text-warning hover:bg-warning/10",
|
|
36
|
+
"outline-info": "border border-info text-info hover:bg-info/10",
|
|
37
|
+
"outline-success": "border border-success text-success hover:bg-success/10",
|
|
38
|
+
ghost: "hover:bg-accent hover:text-accent-foreground text-foreground",
|
|
39
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
40
|
+
}, f = {
|
|
41
|
+
xs: "h-6 px-2",
|
|
42
|
+
md: "h-10 px-4 py-2",
|
|
43
|
+
sm: "h-9 px-3",
|
|
44
|
+
lg: "h-11 px-8",
|
|
45
|
+
xl: "h-12 px-10"
|
|
46
|
+
}, h = {
|
|
47
|
+
xs: "h-7 w-7",
|
|
48
|
+
md: "h-10 w-10",
|
|
49
|
+
sm: "h-9 w-9",
|
|
50
|
+
lg: "h-11 w-11",
|
|
51
|
+
xl: "h-12 w-12"
|
|
52
|
+
}, b = {
|
|
53
|
+
none: "rounded-none",
|
|
54
|
+
sm: "rounded-sm",
|
|
55
|
+
md: "rounded",
|
|
56
|
+
lg: "rounded-lg",
|
|
57
|
+
xl: "rounded-xl",
|
|
58
|
+
"2xl": "rounded-2xl",
|
|
59
|
+
full: "rounded-full"
|
|
60
|
+
};
|
|
61
|
+
return [
|
|
62
|
+
r,
|
|
63
|
+
d[t.variant],
|
|
64
|
+
b[t.rounded],
|
|
65
|
+
i.value ? h[t.size] : f[t.size],
|
|
66
|
+
t.class
|
|
67
|
+
].join(" ");
|
|
68
|
+
}), s = a(() => ({
|
|
69
|
+
xs: "w-3 h-3",
|
|
70
|
+
sm: "w-4 h-4",
|
|
71
|
+
md: "w-4 h-4",
|
|
72
|
+
lg: "w-4 h-4",
|
|
73
|
+
xl: "w-4 h-4"
|
|
74
|
+
})[t.size]);
|
|
75
|
+
return (r, d) => v((n(), x("button", {
|
|
76
|
+
type: e.type,
|
|
77
|
+
class: o(g.value),
|
|
78
|
+
disabled: e.disabled || e.loading
|
|
79
|
+
}, [
|
|
80
|
+
e.loading ? (n(), l(c, {
|
|
81
|
+
key: 0,
|
|
82
|
+
icon: "lucide:loader-2",
|
|
83
|
+
class: o(["mr-2 animate-spin", { "mr-0": i.value, [s.value]: !0 }])
|
|
84
|
+
}, null, 8, ["class"])) : e.icon ? (n(), l(c, {
|
|
85
|
+
key: 1,
|
|
86
|
+
icon: e.icon,
|
|
87
|
+
class: o({
|
|
88
|
+
"mr-2": r.$slots.default || e.text,
|
|
89
|
+
"mx-auto": i.value,
|
|
90
|
+
[s.value]: !0
|
|
91
|
+
})
|
|
92
|
+
}, null, 8, ["icon", "class"])) : u("", !0),
|
|
93
|
+
y(r.$slots, "default", {}, () => [
|
|
94
|
+
p(w(e.text), 1)
|
|
95
|
+
]),
|
|
96
|
+
e.iconRight && !e.loading ? (n(), l(c, {
|
|
97
|
+
key: 2,
|
|
98
|
+
icon: e.iconRight,
|
|
99
|
+
class: o([s.value, "ml-2 h-4 w-4"])
|
|
100
|
+
}, null, 8, ["icon", "class"])) : u("", !0)
|
|
101
|
+
], 10, B)), [
|
|
102
|
+
[k(z)]
|
|
103
|
+
]);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
export {
|
|
107
|
+
V as default
|
|
108
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ButtonGroupDirection, ButtonVariant, ButtonSize } from '../types';
|
|
2
|
+
interface Props {
|
|
3
|
+
variant?: ButtonVariant;
|
|
4
|
+
size?: ButtonSize;
|
|
5
|
+
direction?: ButtonGroupDirection;
|
|
6
|
+
attached?: boolean;
|
|
7
|
+
class?: string;
|
|
8
|
+
}
|
|
9
|
+
declare function __VLS_template(): {
|
|
10
|
+
attrs: Partial<{}>;
|
|
11
|
+
slots: {
|
|
12
|
+
default?(_: {}): any;
|
|
13
|
+
};
|
|
14
|
+
refs: {};
|
|
15
|
+
rootEl: HTMLDivElement;
|
|
16
|
+
};
|
|
17
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
19
|
+
class: string;
|
|
20
|
+
attached: boolean;
|
|
21
|
+
direction: ButtonGroupDirection;
|
|
22
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
23
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
26
|
+
new (): {
|
|
27
|
+
$slots: S;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { defineComponent as l, computed as r, openBlock as c, createElementBlock as n, normalizeClass as i, renderSlot as s } from "vue";
|
|
2
|
+
const p = /* @__PURE__ */ l({
|
|
3
|
+
__name: "ButtonGroup",
|
|
4
|
+
props: {
|
|
5
|
+
variant: {},
|
|
6
|
+
size: {},
|
|
7
|
+
direction: { default: "horizontal" },
|
|
8
|
+
attached: { type: Boolean, default: !0 },
|
|
9
|
+
class: { default: "" }
|
|
10
|
+
},
|
|
11
|
+
setup(e) {
|
|
12
|
+
const t = e, a = r(() => t.direction === "vertical");
|
|
13
|
+
return (o, u) => (c(), n("div", {
|
|
14
|
+
role: "group",
|
|
15
|
+
class: i([
|
|
16
|
+
"inline-flex",
|
|
17
|
+
a.value ? "flex-col" : "flex-row",
|
|
18
|
+
t.class,
|
|
19
|
+
// Attached Mode logic for Deep Selectors
|
|
20
|
+
// We target direct children buttons. Assuming standard <button> or .btn class structure if possible,
|
|
21
|
+
// but since we wrap `Button`, targeting `button` tag is safe.
|
|
22
|
+
e.attached ? "attached-group" : "gap-2",
|
|
23
|
+
// Vertical Attached
|
|
24
|
+
e.attached && a.value ? "vertical-group" : ""
|
|
25
|
+
])
|
|
26
|
+
}, [
|
|
27
|
+
s(o.$slots, "default", {}, void 0, !0)
|
|
28
|
+
], 2));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
export {
|
|
32
|
+
p as default
|
|
33
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CheckboxSize, CheckboxRounded } from '../types';
|
|
2
|
+
interface Props {
|
|
3
|
+
modelValue?: boolean;
|
|
4
|
+
checked?: boolean;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
indeterminate?: boolean;
|
|
7
|
+
label?: string;
|
|
8
|
+
id?: string;
|
|
9
|
+
class?: string;
|
|
10
|
+
size?: CheckboxSize;
|
|
11
|
+
rounded?: CheckboxRounded;
|
|
12
|
+
}
|
|
13
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
14
|
+
"update:modelValue": (value: boolean) => any;
|
|
15
|
+
"update:checked": (value: boolean) => any;
|
|
16
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
17
|
+
"onUpdate:modelValue"?: (value: boolean) => any;
|
|
18
|
+
"onUpdate:checked"?: (value: boolean) => any;
|
|
19
|
+
}>, {
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
class: string;
|
|
22
|
+
modelValue: boolean;
|
|
23
|
+
size: CheckboxSize;
|
|
24
|
+
rounded: CheckboxRounded;
|
|
25
|
+
checked: boolean;
|
|
26
|
+
indeterminate: boolean;
|
|
27
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
28
|
+
export default _default;
|