@guoyg578/k-ui 0.1.0
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/LICENSE +21 -0
- package/README.md +59 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/components/KAlert.js +7 -0
- package/dist/components/KAlert.vue.d.ts +40 -0
- package/dist/components/KAlert.vue_vue_type_script_setup_true_lang.js +76 -0
- package/dist/components/KAvatar.js +7 -0
- package/dist/components/KAvatar.vue.d.ts +15 -0
- package/dist/components/KAvatar.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/KAvatarGroup.js +7 -0
- package/dist/components/KAvatarGroup.vue.d.ts +18 -0
- package/dist/components/KAvatarGroup.vue_vue_type_script_setup_true_lang.js +11 -0
- package/dist/components/KBreadcrumb.js +7 -0
- package/dist/components/KBreadcrumb.vue.d.ts +12 -0
- package/dist/components/KBreadcrumb.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/KButton.js +7 -0
- package/dist/components/KButton.vue.d.ts +36 -0
- package/dist/components/KButton.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/components/KCard.js +7 -0
- package/dist/components/KCard.vue.d.ts +33 -0
- package/dist/components/KCard.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/components/KCarousel.js +7 -0
- package/dist/components/KCarousel.vue.d.ts +59 -0
- package/dist/components/KCarousel.vue_vue_type_script_setup_true_lang.js +141 -0
- package/dist/components/KCheckbox.js +7 -0
- package/dist/components/KCheckbox.vue.d.ts +26 -0
- package/dist/components/KCheckbox.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/KCheckboxGroup.js +7 -0
- package/dist/components/KCheckboxGroup.vue.d.ts +27 -0
- package/dist/components/KCheckboxGroup.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/KCombobox.js +8 -0
- package/dist/components/KCombobox.vue.d.ts +28 -0
- package/dist/components/KCombobox.vue_vue_type_script_setup_true_lang.js +120 -0
- package/dist/components/KCommandPalette.js +7 -0
- package/dist/components/KCommandPalette.vue.d.ts +31 -0
- package/dist/components/KCommandPalette.vue_vue_type_script_setup_true_lang.js +169 -0
- package/dist/components/KConfirmDialog.js +6 -0
- package/dist/components/KConfirmDialog.vue.d.ts +3 -0
- package/dist/components/KConfirmDialog.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/KDataTable.js +7 -0
- package/dist/components/KDataTable.vue.d.ts +47 -0
- package/dist/components/KDataTable.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/components/KDatePicker.js +6 -0
- package/dist/components/KDatePicker.vue.d.ts +19 -0
- package/dist/components/KDatePicker.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/components/KDialog.js +7 -0
- package/dist/components/KDialog.vue.d.ts +52 -0
- package/dist/components/KDialog.vue_vue_type_script_setup_true_lang.js +117 -0
- package/dist/components/KDiff.js +7 -0
- package/dist/components/KDiff.vue.d.ts +13 -0
- package/dist/components/KDiff.vue_vue_type_script_setup_true_lang.js +116 -0
- package/dist/components/KDrawer.js +7 -0
- package/dist/components/KDrawer.vue.d.ts +37 -0
- package/dist/components/KDrawer.vue_vue_type_script_setup_true_lang.js +81 -0
- package/dist/components/KDropdown.js +7 -0
- package/dist/components/KDropdown.vue.d.ts +56 -0
- package/dist/components/KDropdown.vue_vue_type_script_setup_true_lang.js +93 -0
- package/dist/components/KEmpty.js +5 -0
- package/dist/components/KEmpty.vue.d.ts +22 -0
- package/dist/components/KEmpty.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/KForm.js +7 -0
- package/dist/components/KForm.vue.d.ts +38 -0
- package/dist/components/KForm.vue_vue_type_script_setup_true_lang.js +69 -0
- package/dist/components/KFormField.js +7 -0
- package/dist/components/KFormField.vue.d.ts +32 -0
- package/dist/components/KFormField.vue_vue_type_script_setup_true_lang.js +84 -0
- package/dist/components/KGridSkeleton.js +5 -0
- package/dist/components/KGridSkeleton.vue.d.ts +10 -0
- package/dist/components/KGridSkeleton.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/components/KImage.js +7 -0
- package/dist/components/KImage.vue.d.ts +25 -0
- package/dist/components/KImage.vue_vue_type_script_setup_true_lang.js +97 -0
- package/dist/components/KImageViewer.js +7 -0
- package/dist/components/KImageViewer.vue.d.ts +14 -0
- package/dist/components/KImageViewer.vue_vue_type_script_setup_true_lang.js +108 -0
- package/dist/components/KInput.js +7 -0
- package/dist/components/KInput.vue.d.ts +43 -0
- package/dist/components/KInput.vue_vue_type_script_setup_true_lang.js +89 -0
- package/dist/components/KInputNumber.js +7 -0
- package/dist/components/KInputNumber.vue.d.ts +28 -0
- package/dist/components/KInputNumber.vue_vue_type_script_setup_true_lang.js +109 -0
- package/dist/components/KListSkeleton.js +5 -0
- package/dist/components/KListSkeleton.vue.d.ts +8 -0
- package/dist/components/KListSkeleton.vue_vue_type_script_setup_true_lang.js +14 -0
- package/dist/components/KLoadingOverlay.js +7 -0
- package/dist/components/KLoadingOverlay.vue.d.ts +11 -0
- package/dist/components/KLoadingOverlay.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/components/KMessage.d.ts +20 -0
- package/dist/components/KMessage.js +55 -0
- package/dist/components/KMessageContainer.js +7 -0
- package/dist/components/KMessageContainer.vue.d.ts +15 -0
- package/dist/components/KMessageContainer.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/KPagination.js +7 -0
- package/dist/components/KPagination.vue.d.ts +14 -0
- package/dist/components/KPagination.vue_vue_type_script_setup_true_lang.js +104 -0
- package/dist/components/KPopover.js +6 -0
- package/dist/components/KPopover.vue.d.ts +40 -0
- package/dist/components/KPopover.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/components/KProgress.js +7 -0
- package/dist/components/KProgress.vue.d.ts +21 -0
- package/dist/components/KProgress.vue_vue_type_script_setup_true_lang.js +108 -0
- package/dist/components/KRadio.js +7 -0
- package/dist/components/KRadio.vue.d.ts +18 -0
- package/dist/components/KRadio.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/components/KRadioGroup.js +7 -0
- package/dist/components/KRadioGroup.vue.d.ts +26 -0
- package/dist/components/KRadioGroup.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/KRefetchOverlay.js +5 -0
- package/dist/components/KRefetchOverlay.vue.d.ts +8 -0
- package/dist/components/KRefetchOverlay.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/components/KResizablePanel.js +7 -0
- package/dist/components/KResizablePanel.vue.d.ts +30 -0
- package/dist/components/KResizablePanel.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/components/KResult.js +7 -0
- package/dist/components/KResult.vue.d.ts +29 -0
- package/dist/components/KResult.vue_vue_type_script_setup_true_lang.js +82 -0
- package/dist/components/KSearchBar.js +5 -0
- package/dist/components/KSearchBar.vue.d.ts +11 -0
- package/dist/components/KSearchBar.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/KSelect.js +9 -0
- package/dist/components/KSelect.vue.d.ts +22 -0
- package/dist/components/KSelect.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/components/KSkeleton.js +7 -0
- package/dist/components/KSkeleton.vue.d.ts +14 -0
- package/dist/components/KSkeleton.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/KSteps.js +7 -0
- package/dist/components/KSteps.vue.d.ts +20 -0
- package/dist/components/KSteps.vue_vue_type_script_setup_true_lang.js +39 -0
- package/dist/components/KSwitch.js +7 -0
- package/dist/components/KSwitch.vue.d.ts +16 -0
- package/dist/components/KSwitch.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/components/KTabs.js +7 -0
- package/dist/components/KTabs.vue.d.ts +35 -0
- package/dist/components/KTabs.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/components/KTag.js +7 -0
- package/dist/components/KTag.vue.d.ts +32 -0
- package/dist/components/KTag.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/components/KTextarea.js +7 -0
- package/dist/components/KTextarea.vue.d.ts +23 -0
- package/dist/components/KTextarea.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/KThemeToggleButton.js +7 -0
- package/dist/components/KThemeToggleButton.vue.d.ts +14 -0
- package/dist/components/KThemeToggleButton.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/KTooltip.js +6 -0
- package/dist/components/KTooltip.vue.d.ts +23 -0
- package/dist/components/KTooltip.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/components/KTreeNode.js +7 -0
- package/dist/components/KTreeNode.vue.d.ts +8 -0
- package/dist/components/KTreeNode.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/components/KTreeView.js +7 -0
- package/dist/components/KTreeView.vue.d.ts +22 -0
- package/dist/components/KTreeView.vue_vue_type_script_setup_true_lang.js +45 -0
- package/dist/components/KUpload.js +7 -0
- package/dist/components/KUpload.vue.d.ts +81 -0
- package/dist/components/KUpload.vue_vue_type_script_setup_true_lang.js +181 -0
- package/dist/components/KVirtualList.js +7 -0
- package/dist/components/KVirtualList.vue.d.ts +31 -0
- package/dist/components/KVirtualList.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/form-context.d.ts +25 -0
- package/dist/components/form-context.js +4 -0
- package/dist/components/tree-context.d.ts +16 -0
- package/dist/components/tree-context.js +4 -0
- package/dist/composables/useConfirm.d.ts +17 -0
- package/dist/composables/useConfirm.js +31 -0
- package/dist/directives/index.d.ts +6 -0
- package/dist/directives/index.js +8 -0
- package/dist/directives/reveal.d.ts +20 -0
- package/dist/directives/reveal.js +18 -0
- package/dist/directives/spotlight.d.ts +22 -0
- package/dist/directives/spotlight.js +25 -0
- package/dist/index.d.ts +62 -0
- package/dist/index.js +55 -0
- package/dist/k-ui.css +2 -0
- package/dist/styles/components.css +92 -0
- package/dist/styles/index.css +2 -0
- package/dist/styles/menu.css +59 -0
- package/dist/styles/tokens.css +229 -0
- package/dist/types.d.ts +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
type KTagType = 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral';
|
|
2
|
+
type KTagSize = 'sm' | 'md';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
type?: KTagType;
|
|
5
|
+
size?: KTagSize;
|
|
6
|
+
bordered?: boolean;
|
|
7
|
+
closable?: boolean;
|
|
8
|
+
round?: boolean;
|
|
9
|
+
};
|
|
10
|
+
declare var __VLS_1: {};
|
|
11
|
+
type __VLS_Slots = {} & {
|
|
12
|
+
default?: (props: typeof __VLS_1) => any;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
15
|
+
close: (ev: MouseEvent) => any;
|
|
16
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
onClose?: ((ev: MouseEvent) => any) | undefined;
|
|
18
|
+
}>, {
|
|
19
|
+
type: KTagType;
|
|
20
|
+
size: KTagSize;
|
|
21
|
+
bordered: boolean;
|
|
22
|
+
closable: boolean;
|
|
23
|
+
round: boolean;
|
|
24
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
25
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
26
|
+
declare const _default: typeof __VLS_export;
|
|
27
|
+
export default _default;
|
|
28
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
29
|
+
new (): {
|
|
30
|
+
$slots: S;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createCommentVNode as e, createElementBlock as t, createVNode as n, defineComponent as r, normalizeClass as i, openBlock as a, renderSlot as o, unref as s } from "vue";
|
|
2
|
+
import { X as c } from "lucide-vue-next";
|
|
3
|
+
//#region components/KTag.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var l = /* @__PURE__ */ r({
|
|
5
|
+
__name: "KTag",
|
|
6
|
+
props: {
|
|
7
|
+
type: { default: "default" },
|
|
8
|
+
size: { default: "md" },
|
|
9
|
+
bordered: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: !0
|
|
12
|
+
},
|
|
13
|
+
closable: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: !1
|
|
16
|
+
},
|
|
17
|
+
round: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: !1
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
emits: ["close"],
|
|
23
|
+
setup(r) {
|
|
24
|
+
return (l, u) => (a(), t("span", { class: i(["k-tag", [
|
|
25
|
+
`k-tag--${r.type}`,
|
|
26
|
+
`k-tag--${r.size}`,
|
|
27
|
+
{
|
|
28
|
+
"k-tag--borderless": !r.bordered,
|
|
29
|
+
"k-tag--round": r.round
|
|
30
|
+
}
|
|
31
|
+
]]) }, [o(l.$slots, "default", {}, void 0, !0), r.closable ? (a(), t("button", {
|
|
32
|
+
key: 0,
|
|
33
|
+
type: "button",
|
|
34
|
+
class: "k-tag__close",
|
|
35
|
+
onClick: u[0] ||= (e) => l.$emit("close", e)
|
|
36
|
+
}, [n(s(c), { size: 10 })])) : e("", !0)], 2));
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
//#endregion
|
|
40
|
+
export { l as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./KTextarea.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region components/KTextarea.vue
|
|
5
|
+
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-1740afe2"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue?: string;
|
|
3
|
+
rows?: number;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
readonly?: boolean;
|
|
7
|
+
error?: boolean;
|
|
8
|
+
resize?: 'none' | 'vertical' | 'horizontal' | 'both';
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
11
|
+
"update:modelValue": (v: string) => any;
|
|
12
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
"onUpdate:modelValue"?: ((v: string) => any) | undefined;
|
|
14
|
+
}>, {
|
|
15
|
+
disabled: boolean;
|
|
16
|
+
modelValue: string;
|
|
17
|
+
readonly: boolean;
|
|
18
|
+
error: boolean;
|
|
19
|
+
rows: number;
|
|
20
|
+
resize: "none" | "vertical" | "horizontal" | "both";
|
|
21
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
22
|
+
declare const _default: typeof __VLS_export;
|
|
23
|
+
export default _default;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createElementBlock as e, defineComponent as t, normalizeClass as n, normalizeStyle as r, openBlock as i } from "vue";
|
|
2
|
+
//#region components/KTextarea.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var a = [
|
|
4
|
+
"value",
|
|
5
|
+
"rows",
|
|
6
|
+
"placeholder",
|
|
7
|
+
"disabled",
|
|
8
|
+
"readonly"
|
|
9
|
+
], o = /* @__PURE__ */ t({
|
|
10
|
+
__name: "KTextarea",
|
|
11
|
+
props: {
|
|
12
|
+
modelValue: { default: "" },
|
|
13
|
+
rows: { default: 3 },
|
|
14
|
+
placeholder: {},
|
|
15
|
+
disabled: {
|
|
16
|
+
type: Boolean,
|
|
17
|
+
default: !1
|
|
18
|
+
},
|
|
19
|
+
readonly: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: !1
|
|
22
|
+
},
|
|
23
|
+
error: {
|
|
24
|
+
type: Boolean,
|
|
25
|
+
default: !1
|
|
26
|
+
},
|
|
27
|
+
resize: { default: "vertical" }
|
|
28
|
+
},
|
|
29
|
+
emits: ["update:modelValue"],
|
|
30
|
+
setup(t, { emit: o }) {
|
|
31
|
+
let s = o;
|
|
32
|
+
function c(e) {
|
|
33
|
+
s("update:modelValue", e.target.value);
|
|
34
|
+
}
|
|
35
|
+
return (o, s) => (i(), e("textarea", {
|
|
36
|
+
class: n(["k-textarea", {
|
|
37
|
+
"k-textarea--error": t.error,
|
|
38
|
+
"k-textarea--disabled": t.disabled
|
|
39
|
+
}]),
|
|
40
|
+
value: t.modelValue,
|
|
41
|
+
rows: t.rows,
|
|
42
|
+
placeholder: t.placeholder,
|
|
43
|
+
disabled: t.disabled,
|
|
44
|
+
readonly: t.readonly,
|
|
45
|
+
style: r({ resize: t.resize }),
|
|
46
|
+
onInput: c
|
|
47
|
+
}, null, 46, a));
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
//#endregion
|
|
51
|
+
export { o as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./KThemeToggleButton.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region components/KThemeToggleButton.vue
|
|
5
|
+
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-88b80661"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ThemeMode } from '../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** Current theme mode. Defaults to 'auto' when unset. */
|
|
4
|
+
mode?: ThemeMode;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
7
|
+
"update:mode": (value: ThemeMode) => any;
|
|
8
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
9
|
+
"onUpdate:mode"?: ((value: ThemeMode) => any) | undefined;
|
|
10
|
+
}>, {
|
|
11
|
+
mode: ThemeMode;
|
|
12
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Transition as e, computed as t, createBlock as n, createElementBlock as r, createVNode as i, defineComponent as a, openBlock as o, resolveDynamicComponent as s, withCtx as c } from "vue";
|
|
2
|
+
import { Monitor as l, Moon as u, Sun as d } from "lucide-vue-next";
|
|
3
|
+
//#region components/KThemeToggleButton.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var f = ["title", "aria-label"], p = /* @__PURE__ */ a({
|
|
5
|
+
__name: "KThemeToggleButton",
|
|
6
|
+
props: { mode: { default: "auto" } },
|
|
7
|
+
emits: ["update:mode"],
|
|
8
|
+
setup(a, { emit: p }) {
|
|
9
|
+
let m = a, h = p, g = [
|
|
10
|
+
{
|
|
11
|
+
value: "light",
|
|
12
|
+
label: "浅色",
|
|
13
|
+
icon: d
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
value: "dark",
|
|
17
|
+
label: "深色",
|
|
18
|
+
icon: u
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
value: "auto",
|
|
22
|
+
label: "跟随系统",
|
|
23
|
+
icon: l
|
|
24
|
+
}
|
|
25
|
+
], _ = t(() => g.find((e) => e.value === m.mode) ?? g[2]);
|
|
26
|
+
function v() {
|
|
27
|
+
h("update:mode", g[(g.findIndex((e) => e.value === m.mode) + 1) % g.length].value);
|
|
28
|
+
}
|
|
29
|
+
return (t, a) => (o(), r("button", {
|
|
30
|
+
type: "button",
|
|
31
|
+
class: "grid size-9 place-items-center rounded-full text-ink-500 transition-all hover:bg-ink-100 hover:text-ink-900",
|
|
32
|
+
title: `当前: ${_.value.label} · 点击切换`,
|
|
33
|
+
"aria-label": `当前主题: ${_.value.label}`,
|
|
34
|
+
onClick: v
|
|
35
|
+
}, [i(e, {
|
|
36
|
+
name: "k-theme-icon",
|
|
37
|
+
mode: "out-in"
|
|
38
|
+
}, {
|
|
39
|
+
default: c(() => [(o(), n(s(_.value.icon), {
|
|
40
|
+
key: _.value.value,
|
|
41
|
+
class: "size-4"
|
|
42
|
+
}))]),
|
|
43
|
+
_: 1
|
|
44
|
+
})], 8, f));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
//#endregion
|
|
48
|
+
export { p as default };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
label: string;
|
|
3
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
4
|
+
delayMs?: number;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare var __VLS_20: {};
|
|
8
|
+
type __VLS_Slots = {} & {
|
|
9
|
+
default?: (props: typeof __VLS_20) => any;
|
|
10
|
+
};
|
|
11
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
side: "top" | "right" | "bottom" | "left";
|
|
14
|
+
delayMs: number;
|
|
15
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
17
|
+
declare const _default: typeof __VLS_export;
|
|
18
|
+
export default _default;
|
|
19
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
20
|
+
new (): {
|
|
21
|
+
$slots: S;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { createBlock as e, createTextVNode as t, createVNode as n, defineComponent as r, openBlock as i, renderSlot as a, toDisplayString as o, unref as s, withCtx as c } from "vue";
|
|
2
|
+
import { TooltipArrow as l, TooltipContent as u, TooltipPortal as d, TooltipProvider as f, TooltipRoot as p, TooltipTrigger as m } from "reka-ui";
|
|
3
|
+
//#region components/KTooltip.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var h = /* @__PURE__ */ r({
|
|
5
|
+
__name: "KTooltip",
|
|
6
|
+
props: {
|
|
7
|
+
label: {},
|
|
8
|
+
side: { default: "top" },
|
|
9
|
+
delayMs: { default: 350 },
|
|
10
|
+
disabled: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: !1
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
setup(r) {
|
|
16
|
+
return (h, g) => (i(), e(s(f), {
|
|
17
|
+
"delay-duration": r.delayMs,
|
|
18
|
+
"skip-delay-duration": 200
|
|
19
|
+
}, {
|
|
20
|
+
default: c(() => [n(s(p), null, {
|
|
21
|
+
default: c(() => [n(s(m), {
|
|
22
|
+
"as-child": "",
|
|
23
|
+
disabled: r.disabled
|
|
24
|
+
}, {
|
|
25
|
+
default: c(() => [a(h.$slots, "default")]),
|
|
26
|
+
_: 3
|
|
27
|
+
}, 8, ["disabled"]), n(s(d), null, {
|
|
28
|
+
default: c(() => [n(s(u), {
|
|
29
|
+
side: r.side,
|
|
30
|
+
"side-offset": 6,
|
|
31
|
+
class: "k-tooltip pointer-events-none z-50 select-none rounded-md bg-ink-900 px-2 py-1 text-[11px] font-medium text-ink-50 shadow-md will-change-[transform,opacity]"
|
|
32
|
+
}, {
|
|
33
|
+
default: c(() => [t(o(r.label) + " ", 1), n(s(l), {
|
|
34
|
+
class: "fill-ink-900",
|
|
35
|
+
width: 8,
|
|
36
|
+
height: 4
|
|
37
|
+
})]),
|
|
38
|
+
_: 1
|
|
39
|
+
}, 8, ["side"])]),
|
|
40
|
+
_: 1
|
|
41
|
+
})]),
|
|
42
|
+
_: 3
|
|
43
|
+
})]),
|
|
44
|
+
_: 3
|
|
45
|
+
}, 8, ["delay-duration"]));
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
//#endregion
|
|
49
|
+
export { h as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./KTreeNode.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region components/KTreeNode.vue
|
|
5
|
+
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-69ce0363"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type TreeNode } from './tree-context';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
node: TreeNode;
|
|
4
|
+
depth: number;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { kTreeContextKey as e } from "./tree-context.js";
|
|
2
|
+
import { Fragment as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, inject as l, normalizeClass as u, normalizeStyle as d, openBlock as f, renderList as p, resolveComponent as m, resolveDynamicComponent as h, toDisplayString as g, unref as _, withModifiers as v } from "vue";
|
|
3
|
+
import { ChevronRight as y } from "lucide-vue-next";
|
|
4
|
+
//#region components/KTreeNode.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var b = { class: "k-tree__node" }, x = {
|
|
6
|
+
key: 1,
|
|
7
|
+
class: "k-tree__toggle-placeholder"
|
|
8
|
+
}, S = { class: "k-tree__label" }, C = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "k-tree__children"
|
|
11
|
+
}, w = /* @__PURE__ */ c({
|
|
12
|
+
__name: "KTreeNode",
|
|
13
|
+
props: {
|
|
14
|
+
node: {},
|
|
15
|
+
depth: {}
|
|
16
|
+
},
|
|
17
|
+
setup(c) {
|
|
18
|
+
let w = c, T = l(e), E = n(() => !!(w.node.children && w.node.children.length > 0)), D = n(() => T.expanded.value.includes(w.node.id)), O = n(() => T.selected.value === w.node.id);
|
|
19
|
+
return (e, n) => {
|
|
20
|
+
let l = m("KTreeNode", !0);
|
|
21
|
+
return f(), a("li", b, [o("div", {
|
|
22
|
+
class: u(["k-tree__row", { "k-tree__row--selected": O.value }]),
|
|
23
|
+
style: d({ paddingLeft: c.depth * _(T).indent.value + 8 + "px" }),
|
|
24
|
+
onClick: n[1] ||= (e) => _(T).select(c.node)
|
|
25
|
+
}, [
|
|
26
|
+
E.value ? (f(), a("button", {
|
|
27
|
+
key: 0,
|
|
28
|
+
type: "button",
|
|
29
|
+
class: u(["k-tree__toggle", { "k-tree__toggle--open": D.value }]),
|
|
30
|
+
onClick: n[0] ||= v((e) => _(T).toggle(c.node.id), ["stop"])
|
|
31
|
+
}, [s(_(y), { size: 12 })], 2)) : (f(), a("span", x)),
|
|
32
|
+
c.node.icon ? (f(), r(h(c.node.icon), {
|
|
33
|
+
key: 2,
|
|
34
|
+
size: 14,
|
|
35
|
+
class: "k-tree__icon"
|
|
36
|
+
})) : i("", !0),
|
|
37
|
+
o("span", S, g(c.node.label), 1)
|
|
38
|
+
], 6), E.value && D.value ? (f(), a("ul", C, [(f(!0), a(t, null, p(c.node.children, (e) => (f(), r(l, {
|
|
39
|
+
key: e.id,
|
|
40
|
+
node: e,
|
|
41
|
+
depth: c.depth + 1
|
|
42
|
+
}, null, 8, ["node", "depth"]))), 128))])) : i("", !0)]);
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
//#endregion
|
|
47
|
+
export { w as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./KTreeView.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region components/KTreeView.vue
|
|
5
|
+
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-92c28a8c"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type TreeNode } from './tree-context';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
nodes: TreeNode[];
|
|
4
|
+
expanded?: (string | number)[];
|
|
5
|
+
selected?: string | number | null;
|
|
6
|
+
indent?: number;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
9
|
+
"update:expanded": (v: (string | number)[]) => any;
|
|
10
|
+
"update:selected": (v: string | number | null) => any;
|
|
11
|
+
nodeClick: (node: TreeNode) => any;
|
|
12
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
"onUpdate:expanded"?: ((v: (string | number)[]) => any) | undefined;
|
|
14
|
+
"onUpdate:selected"?: ((v: string | number | null) => any) | undefined;
|
|
15
|
+
onNodeClick?: ((node: TreeNode) => any) | undefined;
|
|
16
|
+
}>, {
|
|
17
|
+
expanded: (string | number)[];
|
|
18
|
+
selected: string | number | null;
|
|
19
|
+
indent: number;
|
|
20
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { kTreeContextKey as e } from "./tree-context.js";
|
|
2
|
+
import t from "./KTreeNode.js";
|
|
3
|
+
import { Fragment as n, computed as r, createBlock as i, createElementBlock as a, defineComponent as o, openBlock as s, provide as c, ref as l, renderList as u, watch as d } from "vue";
|
|
4
|
+
//#region components/KTreeView.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var f = {
|
|
6
|
+
class: "k-tree",
|
|
7
|
+
role: "tree"
|
|
8
|
+
}, p = /* @__PURE__ */ o({
|
|
9
|
+
__name: "KTreeView",
|
|
10
|
+
props: {
|
|
11
|
+
nodes: {},
|
|
12
|
+
expanded: { default: () => [] },
|
|
13
|
+
selected: { default: null },
|
|
14
|
+
indent: { default: 16 }
|
|
15
|
+
},
|
|
16
|
+
emits: [
|
|
17
|
+
"update:expanded",
|
|
18
|
+
"update:selected",
|
|
19
|
+
"nodeClick"
|
|
20
|
+
],
|
|
21
|
+
setup(o, { emit: p }) {
|
|
22
|
+
let m = o, h = p, g = l([...m.expanded]), _ = l(m.selected);
|
|
23
|
+
d(() => m.expanded, (e) => g.value = [...e]), d(() => m.selected, (e) => _.value = e);
|
|
24
|
+
function v(e) {
|
|
25
|
+
let t = g.value.indexOf(e);
|
|
26
|
+
t >= 0 ? g.value.splice(t, 1) : g.value.push(e), h("update:expanded", [...g.value]);
|
|
27
|
+
}
|
|
28
|
+
function y(e) {
|
|
29
|
+
_.value = e.id, h("update:selected", e.id), h("nodeClick", e);
|
|
30
|
+
}
|
|
31
|
+
return c(e, {
|
|
32
|
+
expanded: r(() => g.value),
|
|
33
|
+
selected: r(() => _.value),
|
|
34
|
+
indent: r(() => m.indent),
|
|
35
|
+
toggle: v,
|
|
36
|
+
select: y
|
|
37
|
+
}), (e, r) => (s(), a("ul", f, [(s(!0), a(n, null, u(o.nodes, (e) => (s(), i(t, {
|
|
38
|
+
key: e.id,
|
|
39
|
+
node: e,
|
|
40
|
+
depth: 0
|
|
41
|
+
}, null, 8, ["node"]))), 128))]));
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
//#endregion
|
|
45
|
+
export { p as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./KUpload.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region components/KUpload.vue
|
|
5
|
+
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-b4cbeb87"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export interface UploadFile {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
size: number;
|
|
5
|
+
status: 'pending' | 'uploading' | 'success' | 'error';
|
|
6
|
+
progress: number;
|
|
7
|
+
url?: string;
|
|
8
|
+
error?: string;
|
|
9
|
+
raw?: File;
|
|
10
|
+
}
|
|
11
|
+
type __VLS_Props = {
|
|
12
|
+
multiple?: boolean;
|
|
13
|
+
accept?: string;
|
|
14
|
+
/** bytes */
|
|
15
|
+
maxSize?: number;
|
|
16
|
+
/** 用户自定义上传函数; 不传则文件保持 pending */
|
|
17
|
+
uploader?: (file: File, onProgress: (p: number) => void) => Promise<{
|
|
18
|
+
url?: string;
|
|
19
|
+
}>;
|
|
20
|
+
drag?: boolean;
|
|
21
|
+
};
|
|
22
|
+
declare function addFiles(list: FileList | File[]): Promise<void>;
|
|
23
|
+
declare function remove(id: string): void;
|
|
24
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
25
|
+
files: import("vue").Ref<{
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
size: number;
|
|
29
|
+
status: "pending" | "uploading" | "success" | "error";
|
|
30
|
+
progress: number;
|
|
31
|
+
url?: string | undefined;
|
|
32
|
+
error?: string | undefined;
|
|
33
|
+
raw?: {
|
|
34
|
+
readonly lastModified: number;
|
|
35
|
+
readonly name: string;
|
|
36
|
+
readonly webkitRelativePath: string;
|
|
37
|
+
readonly size: number;
|
|
38
|
+
readonly type: string;
|
|
39
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
40
|
+
bytes: () => Promise<Uint8Array<ArrayBuffer>>;
|
|
41
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
42
|
+
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
43
|
+
text: () => Promise<string>;
|
|
44
|
+
} | undefined;
|
|
45
|
+
}[], UploadFile[] | {
|
|
46
|
+
id: string;
|
|
47
|
+
name: string;
|
|
48
|
+
size: number;
|
|
49
|
+
status: "pending" | "uploading" | "success" | "error";
|
|
50
|
+
progress: number;
|
|
51
|
+
url?: string | undefined;
|
|
52
|
+
error?: string | undefined;
|
|
53
|
+
raw?: {
|
|
54
|
+
readonly lastModified: number;
|
|
55
|
+
readonly name: string;
|
|
56
|
+
readonly webkitRelativePath: string;
|
|
57
|
+
readonly size: number;
|
|
58
|
+
readonly type: string;
|
|
59
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
60
|
+
bytes: () => Promise<Uint8Array<ArrayBuffer>>;
|
|
61
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
62
|
+
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
63
|
+
text: () => Promise<string>;
|
|
64
|
+
} | undefined;
|
|
65
|
+
}[]>;
|
|
66
|
+
remove: typeof remove;
|
|
67
|
+
addFiles: typeof addFiles;
|
|
68
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
69
|
+
error: (file: UploadFile, error: any) => any;
|
|
70
|
+
change: (files: UploadFile[]) => any;
|
|
71
|
+
success: (file: UploadFile) => any;
|
|
72
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
73
|
+
onError?: ((file: UploadFile, error: any) => any) | undefined;
|
|
74
|
+
onChange?: ((files: UploadFile[]) => any) | undefined;
|
|
75
|
+
onSuccess?: ((file: UploadFile) => any) | undefined;
|
|
76
|
+
}>, {
|
|
77
|
+
multiple: boolean;
|
|
78
|
+
drag: boolean;
|
|
79
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
80
|
+
declare const _default: typeof __VLS_export;
|
|
81
|
+
export default _default;
|