vlite3 1.1.2 → 1.1.5
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 +5 -0
- package/components/AttachmentsList/AttachmentsList.vue.d.ts +1 -1
- package/components/AttachmentsList/AttachmentsList.vue.js +237 -163
- package/components/Avatar.vue.js +1 -1
- package/components/AvatarUploader/AvatarUploader.vue.js +40 -37
- package/components/Button.vue.js +30 -28
- package/components/Carousel/Carousel.vue.d.ts +2 -2
- package/components/CategoryManager/CategoryManager.vue.d.ts +10 -2
- package/components/CategoryManager/CategoryManager.vue.js +138 -119
- package/components/CategoryManager/CategoryNode.vue.d.ts +2 -0
- package/components/CategoryManager/CategoryNode.vue.js +93 -88
- package/components/Chart/BarChart.vue.d.ts +48 -0
- package/components/Chart/CircleChart.vue.d.ts +47 -0
- package/components/Chart/LineChart.vue.d.ts +55 -0
- package/components/Chart/PieChart.vue.d.ts +49 -0
- package/components/Chart/index.d.ts +5 -0
- package/components/Chart/types.d.ts +135 -0
- package/components/Chart/utils.d.ts +40 -0
- package/components/Chat/ChatBubble.vue.js +22 -22
- package/components/CheckBox.vue.js +29 -28
- package/components/ColorPicker/ColorIro.vue3.js +2 -2
- package/components/ColorPicker/ColorPicker.vue.js +2 -2
- package/components/Comment/CommentEditor.vue.d.ts +41 -0
- package/components/Comment/CommentEditor.vue.js +221 -0
- package/components/Comment/CommentEditor.vue2.js +4 -0
- package/components/Comment/CommentItem.vue.d.ts +70 -0
- package/components/Comment/CommentItem.vue.js +7 -0
- package/components/Comment/CommentItem.vue2.js +322 -0
- package/components/Comment/CommentThread.vue.d.ts +64 -0
- package/components/Comment/CommentThread.vue.js +185 -0
- package/components/Comment/CommentThread.vue2.js +4 -0
- package/components/Comment/index.d.ts +4 -0
- package/components/Comment/types.d.ts +34 -0
- package/components/ConfirmationModal.vue.js +30 -28
- package/components/CopyButton.vue.d.ts +50 -0
- package/components/CopyButton.vue.js +69 -0
- package/components/CopyButton.vue2.js +4 -0
- package/components/DataTable/DataTable.vue.d.ts +2 -4
- package/components/DataTable/DataTable.vue.js +184 -235
- package/components/DataTable/DataTableHeader.vue.d.ts +2 -0
- package/components/DataTable/DataTableHeader.vue.js +24 -23
- package/components/DataTable/DataTableRow.vue.d.ts +2 -0
- package/components/DataTable/DataTableRow.vue.js +32 -31
- package/components/DataTable/types.d.ts +2 -9
- package/components/DatePicker.vue.js +41 -35
- package/components/DateRangePicker.vue.js +18 -17
- package/components/Dropdown/Dropdown.vue.d.ts +5 -0
- package/components/Dropdown/Dropdown.vue.js +141 -137
- package/components/Dropdown/DropdownBooleanItem.vue.js +16 -15
- package/components/Dropdown/DropdownItem.vue.js +21 -20
- package/components/Dropdown/DropdownMenu.vue.js +1 -1
- package/components/Dropdown/DropdownMenu.vue2.js +13 -12
- package/components/Dropdown/DropdownTrigger.vue.d.ts +4 -0
- package/components/Dropdown/DropdownTrigger.vue.js +12 -7
- package/components/Dropdown/composables/useDropdownHydration.d.ts +2 -0
- package/components/Dropdown/composables/useDropdownSelection.d.ts +1 -0
- package/components/Dropdown/composables/useDropdownSelection.js +46 -31
- package/components/Empty/Empty.vue.js +7 -5
- package/components/Empty/index.d.ts +1 -1
- package/components/Empty/variants/Variant12.vue.d.ts +22 -0
- package/components/Empty/variants/Variant12.vue.js +35 -0
- package/components/Empty/variants/Variant12.vue2.js +4 -0
- package/components/FilePicker/FilePicker.vue.js +93 -90
- package/components/Footer/Footer.vue.d.ts +3 -0
- package/components/Footer/Variant1.vue.d.ts +20 -0
- package/components/Footer/Variant2.vue.d.ts +20 -0
- package/components/Footer/Variant3.vue.d.ts +12 -0
- package/components/Footer/index.d.ts +2 -0
- package/components/Footer/types.d.ts +73 -0
- package/components/Form/CustomFields.vue.d.ts +2 -0
- package/components/Form/CustomFields.vue.js +1 -1
- package/components/Form/CustomFields.vue2.js +125 -122
- package/components/Form/Form.vue.js +2 -2
- package/components/Form/Form.vue2.js +68 -64
- package/components/Form/FormField.vue.js +205 -149
- package/components/Form/FormFields.vue.js +2 -2
- package/components/Form/FormFields.vue2.js +28 -27
- package/components/Form/types.d.ts +2 -2
- package/components/Form/utils/form.utils.d.ts +3 -3
- package/components/Form/utils/form.utils.js +37 -37
- package/components/Input.vue.js +64 -62
- package/components/Invoice/Invoice.vue.js +9 -7
- package/components/Invoice/InvoiceTotals.vue.d.ts +14 -0
- package/components/Invoice/InvoiceTotals.vue.js +86 -0
- package/components/Invoice/InvoiceTotals.vue2.js +4 -0
- package/components/Invoice/InvoiceVariant1.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant1.vue.js +194 -207
- package/components/Invoice/InvoiceVariant2.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant2.vue.js +109 -118
- package/components/Invoice/InvoiceVariant3.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant3.vue.js +157 -167
- package/components/Invoice/InvoiceVariant4.vue.d.ts +3 -1
- package/components/Invoice/InvoiceVariant4.vue.js +192 -202
- package/components/Invoice/index.d.ts +1 -0
- package/components/Invoice/types.d.ts +22 -0
- package/components/Masonry/Masonry.vue.d.ts +1 -1
- package/components/Modal.vue.js +1 -1
- package/components/Modal.vue2.js +60 -54
- package/components/MultiSelect/MultiSelect.vue.d.ts +2 -0
- package/components/MultiSelect/MultiSelect.vue.js +92 -90
- package/components/MultiSelect/composables/useMultiSelectHydration.d.ts +2 -0
- package/components/NumberInput.vue.js +2 -2
- package/components/NumberInput.vue2.js +127 -121
- package/components/PricingPlan/PricingPlan.vue.d.ts +1 -1
- package/components/RichTextEditor/RichTextLinkPopover.vue.d.ts +26 -0
- package/components/RichTextEditor/RichTextReader.vue.d.ts +7 -0
- package/components/RichTextEditor/RichTextToolbar.vue.d.ts +24 -0
- package/components/RichTextEditor/composables/useRichTextImageUpload.d.ts +14 -0
- package/components/RichTextEditor/composables/useRichTextLinks.d.ts +32 -0
- package/components/RichTextEditor/index.d.ts +2 -0
- package/components/Screen/Screen.vue.js +45 -46
- package/components/Screen/ScreenFilter.vue.js +1 -1
- package/components/SidePanel.vue.js +2 -2
- package/components/SidePanel.vue2.js +58 -52
- package/components/SidebarMenu/SidebarMenu.vue.d.ts +1 -1
- package/components/SidebarMenu/SidebarMenu.vue.js +192 -91
- package/components/SidebarMenu/SidebarMenu.vue3.js +5 -0
- package/components/SidebarMenu/SidebarMenuItem.vue.js +170 -157
- package/components/SidebarMenu/types.d.ts +12 -3
- package/components/{DataTable/DataTableToolbar.vue.d.ts → Splitter/Splitter.vue.d.ts} +18 -15
- package/components/Splitter/Splitter.vue.js +64 -0
- package/components/Splitter/Splitter.vue2.js +4 -0
- package/components/Splitter/index.d.ts +1 -0
- package/components/Stats/StatItem.vue.js +96 -91
- package/components/Stats/types.d.ts +1 -0
- package/components/StatusChip/status-map.js +34 -2
- package/components/Switch.vue.d.ts +6 -1
- package/components/Switch.vue.js +61 -24
- package/components/TagInput/TagInput.vue.d.ts +187 -0
- package/components/TagInput/TagInput.vue.js +113 -0
- package/components/TagInput/TagInput.vue2.js +4 -0
- package/components/TagInput/index.d.ts +1 -0
- package/components/Textarea.vue.js +19 -18
- package/components/ThumbnailSelector/ThumbnailSelector.vue.js +2 -2
- package/components/ThumbnailSelector/ThumbnailSelector.vue2.js +19 -16
- package/components/index.d.ts +4 -0
- package/core/config.d.ts +54 -0
- package/index.d.ts +4 -0
- package/index.js +300 -285
- package/package.json +1 -1
- package/style.css +657 -6
- package/types/button.d.ts +1 -1
- package/types/config.type.d.ts +2 -0
- package/types/styles.d.ts +1 -0
- package/utils/functions.js +9 -9
- package/components/DataTable/DataTableToolbar.vue.js +0 -60
- package/components/DataTable/DataTableToolbar.vue2.js +0 -4
- package/components/SidebarMenu/SidebarMenu.vue2.js +0 -4
- /package/components/ColorPicker/{ColorIro.vue2.js → ColorIro.vue.js} +0 -0
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { ButtonProps } from '../../types';
|
|
2
2
|
interface Props {
|
|
3
3
|
selectedLabel?: string;
|
|
4
|
+
selectedIcon?: string;
|
|
4
5
|
placeholder?: string;
|
|
5
6
|
isOpen?: boolean;
|
|
6
7
|
disabled?: boolean;
|
|
8
|
+
readonly?: boolean;
|
|
7
9
|
className?: string;
|
|
8
10
|
direction?: 'ltr' | 'rtl';
|
|
9
11
|
triggerProps?: ButtonProps;
|
|
10
12
|
}
|
|
11
13
|
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
14
|
+
readonly: boolean;
|
|
12
15
|
placeholder: string;
|
|
13
16
|
disabled: boolean;
|
|
14
17
|
direction: "ltr" | "rtl";
|
|
15
18
|
selectedLabel: string;
|
|
19
|
+
selectedIcon: string;
|
|
16
20
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLButtonElement>;
|
|
17
21
|
export default _default;
|
|
@@ -1,26 +1,31 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
const s = /* @__PURE__ */
|
|
1
|
+
import { defineComponent as a, openBlock as l, createBlock as d, mergeProps as n } from "vue";
|
|
2
|
+
import o from "../Button.vue.js";
|
|
3
|
+
const s = /* @__PURE__ */ a({
|
|
4
4
|
__name: "DropdownTrigger",
|
|
5
5
|
props: {
|
|
6
6
|
selectedLabel: { default: "" },
|
|
7
|
+
selectedIcon: { default: "" },
|
|
7
8
|
placeholder: { default: "Select an option" },
|
|
8
9
|
isOpen: { type: Boolean },
|
|
9
10
|
disabled: { type: Boolean, default: !1 },
|
|
11
|
+
readonly: { type: Boolean, default: !1 },
|
|
10
12
|
className: {},
|
|
11
13
|
direction: { default: "ltr" },
|
|
12
14
|
triggerProps: {}
|
|
13
15
|
},
|
|
14
16
|
setup(e) {
|
|
15
|
-
return (
|
|
17
|
+
return (t, i) => (l(), d(o, n({
|
|
16
18
|
text: e.selectedLabel || e.placeholder,
|
|
17
|
-
iconRight: "iconamoon:arrow-down-2",
|
|
19
|
+
iconRight: e.disabled || e.readonly ? void 0 : "iconamoon:arrow-down-2",
|
|
18
20
|
variant: "outline",
|
|
19
21
|
disabled: e.disabled,
|
|
20
22
|
dir: e.direction
|
|
21
23
|
}, e.triggerProps, {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
icon: e.selectedIcon || e.triggerProps?.icon,
|
|
25
|
+
class: ["w-full justify-between! font-normal px-2.5!", [e.className, e.readonly && !e.disabled ? "pointer-events-none" : ""]],
|
|
26
|
+
"icon-right-class": "ml-auto!",
|
|
27
|
+
"data-testid": t.$attrs["data-testid"] || "dropdown-trigger"
|
|
28
|
+
}), null, 16, ["text", "iconRight", "disabled", "dir", "icon", "class", "data-testid"]));
|
|
24
29
|
}
|
|
25
30
|
});
|
|
26
31
|
export {
|
|
@@ -27,6 +27,7 @@ export declare function useDropdownHydration(opts: UseDropdownHydrationOptions):
|
|
|
27
27
|
description?: string;
|
|
28
28
|
descriptionI18n?: string;
|
|
29
29
|
icon?: string;
|
|
30
|
+
badge?: string;
|
|
30
31
|
emoji?: string;
|
|
31
32
|
disabled?: {
|
|
32
33
|
valueOf: () => boolean;
|
|
@@ -67,6 +68,7 @@ export declare function useDropdownHydration(opts: UseDropdownHydrationOptions):
|
|
|
67
68
|
description?: string;
|
|
68
69
|
descriptionI18n?: string;
|
|
69
70
|
icon?: string;
|
|
71
|
+
badge?: string;
|
|
70
72
|
emoji?: string;
|
|
71
73
|
disabled?: {
|
|
72
74
|
valueOf: () => boolean;
|
|
@@ -11,6 +11,7 @@ type EmitFn = (event: 'update:modelValue' | 'onSelect', ...args: any[]) => void;
|
|
|
11
11
|
export declare function useDropdownSelection(props: UseDropdownSelectionProps, emit: EmitFn): {
|
|
12
12
|
currentValue: import('vue').ComputedRef<any>;
|
|
13
13
|
selectedLabel: import('vue').ComputedRef<string>;
|
|
14
|
+
selectedIcon: import('vue').ComputedRef<string>;
|
|
14
15
|
selectOption: (option: IDropdownOption) => any;
|
|
15
16
|
};
|
|
16
17
|
export {};
|
|
@@ -1,43 +1,58 @@
|
|
|
1
|
-
import { computed as
|
|
2
|
-
import { deepMerge as
|
|
3
|
-
import { $t as
|
|
4
|
-
function
|
|
5
|
-
const
|
|
6
|
-
for (const
|
|
7
|
-
const
|
|
8
|
-
if (
|
|
9
|
-
if (
|
|
10
|
-
if (
|
|
11
|
-
const
|
|
12
|
-
if (
|
|
1
|
+
import { computed as d } from "vue";
|
|
2
|
+
import { deepMerge as V } from "../../../utils/object.js";
|
|
3
|
+
import { $t as g } from "../../../utils/i18n.js";
|
|
4
|
+
function I(r, u) {
|
|
5
|
+
const a = d(() => r.modelValue !== void 0 ? r.modelValue : r.selected), i = (l = [], t) => {
|
|
6
|
+
for (const e of l) {
|
|
7
|
+
const c = e.labelI18n ? g(e.labelI18n) : e.label;
|
|
8
|
+
if (e.value === t) return c;
|
|
9
|
+
if (e.key && typeof t == "object" && t !== null && e.key in t) {
|
|
10
|
+
if (e.children) {
|
|
11
|
+
const n = i(e.children, t[e.key]);
|
|
12
|
+
if (n) return `${c} / ${n}`;
|
|
13
13
|
}
|
|
14
|
-
return
|
|
14
|
+
return e.value === t[e.key], c;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
return "";
|
|
18
|
-
},
|
|
18
|
+
}, f = (l = [], t) => {
|
|
19
|
+
for (const e of l) {
|
|
20
|
+
if (e.value === t) return e.icon;
|
|
21
|
+
if (e.key && typeof t == "object" && t !== null && e.key in t) {
|
|
22
|
+
if (e.children) {
|
|
23
|
+
const c = f(e.children, t[e.key]);
|
|
24
|
+
if (c) return c;
|
|
25
|
+
}
|
|
26
|
+
return e.value === t[e.key], e.icon;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}, y = d(() => !r.showSelectedLabel || !r.selectable || !r.options?.length ? "" : i(r.options, a.value)), b = d(() => {
|
|
30
|
+
if (r.showSelectedLabel && r.selectable && r.options?.length)
|
|
31
|
+
return f(r.options, a.value);
|
|
32
|
+
});
|
|
19
33
|
return {
|
|
20
|
-
currentValue:
|
|
21
|
-
selectedLabel:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
currentValue: a,
|
|
35
|
+
selectedLabel: y,
|
|
36
|
+
selectedIcon: b,
|
|
37
|
+
selectOption: (l) => {
|
|
38
|
+
if (typeof l != "string" && l?.disabled) return;
|
|
39
|
+
const t = a.value;
|
|
40
|
+
let e = l?.value ?? l?.label;
|
|
41
|
+
const c = l.data;
|
|
42
|
+
let n;
|
|
43
|
+
if (l.key && (typeof e == "object" && e !== null && l.key in e || (e = { [l.key]: e })), t && typeof t == "object" && !Array.isArray(t) && l.key) {
|
|
44
|
+
const o = l.key, k = l.value ?? l.label, v = t[o] === k;
|
|
45
|
+
if (r.toggleSelection && v) {
|
|
46
|
+
const s = { ...t };
|
|
47
|
+
return delete s[o], n = s, u("update:modelValue", n), u("onSelect", { value: n, data: c, option: l }), n;
|
|
33
48
|
}
|
|
34
|
-
|
|
49
|
+
n = V(t, e), u("update:modelValue", n), u("onSelect", { value: n, data: c, option: l });
|
|
35
50
|
} else
|
|
36
|
-
r.toggleSelection &&
|
|
37
|
-
return
|
|
51
|
+
r.toggleSelection && t === (l.value ?? l.label) ? (n = void 0, u("update:modelValue", void 0), u("onSelect", { value: void 0, data: c, option: l })) : (n = e, u("update:modelValue", n), u("onSelect", { value: n, data: c, option: l }));
|
|
52
|
+
return n;
|
|
38
53
|
}
|
|
39
54
|
};
|
|
40
55
|
}
|
|
41
56
|
export {
|
|
42
|
-
|
|
57
|
+
I as useDropdownSelection
|
|
43
58
|
};
|
|
@@ -12,7 +12,8 @@ import P from "./variants/Variant8.vue.js";
|
|
|
12
12
|
import R from "./variants/Variant9.vue.js";
|
|
13
13
|
import T from "./variants/Variant10.vue.js";
|
|
14
14
|
import j from "./variants/Variant11.vue.js";
|
|
15
|
-
|
|
15
|
+
import z from "./variants/Variant12.vue.js";
|
|
16
|
+
const N = { class: "flex items-center justify-center w-full py-2" }, rt = /* @__PURE__ */ d({
|
|
16
17
|
__name: "Empty",
|
|
17
18
|
props: {
|
|
18
19
|
title: {},
|
|
@@ -44,17 +45,18 @@ const z = { class: "flex items-center justify-center min-h-[300px] w-full py-2"
|
|
|
44
45
|
variant8: t(P),
|
|
45
46
|
variant9: t(R),
|
|
46
47
|
variant10: t(T),
|
|
47
|
-
variant11: t(j)
|
|
48
|
+
variant11: t(j),
|
|
49
|
+
variant12: t(z)
|
|
48
50
|
}, v = n(
|
|
49
51
|
() => a[p.value] || a.variant1
|
|
50
52
|
);
|
|
51
|
-
return (r,
|
|
53
|
+
return (r, q) => (m(), u("div", N, [
|
|
52
54
|
(m(), $(y(v.value), {
|
|
53
55
|
title: f.value,
|
|
54
56
|
description: l.value,
|
|
55
57
|
icon: o.icon
|
|
56
58
|
}, h({ _: 2 }, [
|
|
57
|
-
I(r.$slots, (
|
|
59
|
+
I(r.$slots, (A, s) => ({
|
|
58
60
|
name: s,
|
|
59
61
|
fn: g((_) => [
|
|
60
62
|
C(r.$slots, s, k(w(_ || {})))
|
|
@@ -65,5 +67,5 @@ const z = { class: "flex items-center justify-center min-h-[300px] w-full py-2"
|
|
|
65
67
|
}
|
|
66
68
|
});
|
|
67
69
|
export {
|
|
68
|
-
|
|
70
|
+
rt as default
|
|
69
71
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as Empty } from './Empty.vue';
|
|
2
|
-
export type EmptyVariant = 'variant1' | 'variant2' | 'variant3' | 'variant4' | 'variant5' | 'variant6' | 'variant7' | 'variant8' | 'variant9' | 'variant10' | 'variant11';
|
|
2
|
+
export type EmptyVariant = 'variant1' | 'variant2' | 'variant3' | 'variant4' | 'variant5' | 'variant6' | 'variant7' | 'variant8' | 'variant9' | 'variant10' | 'variant11' | 'variant12';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
title: string;
|
|
3
|
+
description: string;
|
|
4
|
+
icon: string;
|
|
5
|
+
};
|
|
6
|
+
declare function __VLS_template(): {
|
|
7
|
+
attrs: Partial<{}>;
|
|
8
|
+
slots: {
|
|
9
|
+
action?(_: {}): any;
|
|
10
|
+
};
|
|
11
|
+
refs: {};
|
|
12
|
+
rootEl: HTMLDivElement;
|
|
13
|
+
};
|
|
14
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
15
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
16
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
17
|
+
export default _default;
|
|
18
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
19
|
+
new (): {
|
|
20
|
+
$slots: S;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { defineComponent as s, openBlock as n, createElementBlock as r, createElementVNode as t, createVNode as i, toDisplayString as c, renderSlot as d, createCommentVNode as l } from "vue";
|
|
2
|
+
import a from "../../Icon.vue.js";
|
|
3
|
+
const m = { class: "flex w-full flex-col items-center justify-center p-8 min-h-[250px] text-center" }, u = { class: "mb-4 flex h-14 w-14 items-center justify-center rounded-2xl bg-muted/30 border border-border/40 shadow-[0_2px_10px_-4px_rgba(0,0,0,0.05)]" }, x = { class: "text-lg font-semibold text-foreground tracking-tight" }, f = ["innerHTML"], _ = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "mt-6"
|
|
6
|
+
}, b = /* @__PURE__ */ s({
|
|
7
|
+
__name: "Variant12",
|
|
8
|
+
props: {
|
|
9
|
+
title: {},
|
|
10
|
+
description: {},
|
|
11
|
+
icon: {}
|
|
12
|
+
},
|
|
13
|
+
setup(e) {
|
|
14
|
+
return (o, h) => (n(), r("div", m, [
|
|
15
|
+
t("div", u, [
|
|
16
|
+
i(a, {
|
|
17
|
+
icon: e.icon,
|
|
18
|
+
class: "h-6 w-6 text-muted-foreground",
|
|
19
|
+
"stroke-width": "1.5"
|
|
20
|
+
}, null, 8, ["icon"])
|
|
21
|
+
]),
|
|
22
|
+
t("h3", x, c(e.title), 1),
|
|
23
|
+
t("p", {
|
|
24
|
+
class: "mt-2 text-sm text-muted-foreground max-w-sm mx-auto leading-relaxed",
|
|
25
|
+
innerHTML: e.description
|
|
26
|
+
}, null, 8, f),
|
|
27
|
+
o.$slots.action ? (n(), r("div", _, [
|
|
28
|
+
d(o.$slots, "action")
|
|
29
|
+
])) : l("", !0)
|
|
30
|
+
]));
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
export {
|
|
34
|
+
b as default
|
|
35
|
+
};
|