@owocow/saber-ui 0.0.2 → 0.0.3
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 +206 -11
- package/dist/BadgeStatus.types.d.ts +1 -1
- package/dist/BadgeStatus.vue.d.ts +1 -1
- package/dist/SaberConfirmModal.vue_vue_type_script_setup_true_lang-Cqp9krYl.js +86 -0
- package/dist/SaberConfirmProvider.vue_vue_type_script_setup_true_lang-DUJ6ftNJ.js +30 -0
- package/dist/SaberDictCheckbox.vue_vue_type_script_setup_true_lang-DUbzy_C6.js +34 -0
- package/dist/SaberDictRadio.vue_vue_type_script_setup_true_lang-DR6-jSID.js +50 -0
- package/dist/SaberDictSelect.vue_vue_type_script_setup_true_lang-B8PTKNKX.js +35 -0
- package/dist/SaberDistrictSelect.vue_vue_type_script_setup_true_lang-BX8nLC35.js +257 -0
- package/dist/SaberInfo.vue_vue_type_script_setup_true_lang-B3W5VsGR.js +58 -0
- package/dist/SaberInfoProvider.vue_vue_type_script_setup_true_lang-3rF6bSCn.js +28 -0
- package/dist/SaberModal.vue_vue_type_script_setup_true_lang-DJno3jA3.js +71 -0
- package/dist/SaberModalWithMobile.vue_vue_type_script_setup_true_lang-aQlToncY.js +87 -0
- package/dist/SaberNoData.types.d.ts +11 -0
- package/dist/SaberNoData.vue.d.ts +24 -0
- package/dist/SaberPopSelect.vue_vue_type_script_setup_true_lang-BcS27NXI.js +125 -0
- package/dist/SaberStatus.vue_vue_type_script_setup_true_lang-D9aRVCow.js +38 -0
- package/dist/SaberSwitchBar.vue_vue_type_script_setup_true_lang-CDx3Dcas.js +47 -0
- package/dist/SaberUploadImage.vue_vue_type_script_setup_true_lang-CAwci2Vr.js +224 -0
- package/dist/colors.d.ts +1 -1
- package/dist/components/SaberConfirmModal.mjs +4 -0
- package/dist/components/SaberConfirmModal.vue.d.ts +28 -0
- package/dist/components/SaberConfirmProvider.mjs +4 -0
- package/dist/components/SaberConfirmProvider.vue.d.ts +2 -0
- package/dist/components/SaberInfo.mjs +4 -0
- package/dist/components/SaberInfo.types.d.ts +14 -0
- package/dist/components/SaberInfo.vue.d.ts +21 -0
- package/dist/components/SaberInfoProvider.mjs +4 -0
- package/dist/components/SaberInfoProvider.vue.d.ts +20 -0
- package/dist/components/SaberModalWithMobile.mjs +4 -0
- package/dist/components/SaberModalWithMobile.vue.d.ts +36 -0
- package/dist/components/SaberStatus.mjs +4 -0
- package/dist/components/SaberStatus.types.d.ts +1 -0
- package/dist/components/SaberStatus.vue.d.ts +8 -0
- package/dist/components/SaberSwitchBar.mjs +4 -0
- package/dist/components/SaberSwitchBar.types.d.ts +13 -0
- package/dist/components/SaberSwitchBar.vue.d.ts +18 -0
- package/dist/components/info-context.d.ts +3 -0
- package/dist/composables/index.d.ts +12 -0
- package/dist/composables/use-address-parse.d.ts +15 -0
- package/dist/composables/use-address-parse.mjs +20 -0
- package/dist/composables/use-boolean.d.ts +8 -0
- package/dist/composables/use-boolean.mjs +20 -0
- package/dist/composables/use-confirm.d.ts +34 -0
- package/dist/composables/use-confirm.mjs +28 -0
- package/dist/composables/use-delay-unmount.d.ts +7 -0
- package/dist/composables/use-delay-unmount.mjs +26 -0
- package/dist/composables/use-delete.d.ts +13 -0
- package/dist/composables/use-delete.mjs +19 -0
- package/dist/composables/use-loading.d.ts +6 -0
- package/dist/composables/use-loading.mjs +8 -0
- package/dist/composables/use-skeleton.d.ts +5 -0
- package/dist/composables/use-skeleton.mjs +23 -0
- package/dist/composables/use-table.d.ts +57 -0
- package/dist/composables/use-table.mjs +87 -0
- package/dist/composables.mjs +21 -0
- package/dist/district-service-cOu1tbQG.js +147 -0
- package/dist/district.d.ts +3 -0
- package/dist/district.mjs +8 -0
- package/dist/forms/components/SaberFilterBar.vue.d.ts +41 -0
- package/dist/forms/components/SaberFormModal.vue.d.ts +31 -0
- package/dist/forms/components/SaberModal.vue.d.ts +34 -0
- package/dist/forms/components/fields/SaberDictCheckbox.vue.d.ts +24 -0
- package/dist/forms/components/fields/SaberDictRadio.vue.d.ts +24 -0
- package/dist/forms/components/fields/SaberDictSelect.vue.d.ts +28 -0
- package/dist/forms/components/fields/SaberDistrictSelect.vue.d.ts +31 -0
- package/dist/forms/components/fields/SaberInput.vue.d.ts +16 -0
- package/dist/forms/components/fields/SaberInputNumber.vue.d.ts +11 -0
- package/dist/forms/components/fields/SaberPopSelect.vue.d.ts +25 -0
- package/dist/forms/components/fields/SaberRadioGroup.vue.d.ts +11 -0
- package/dist/forms/components/fields/SaberSelect.vue.d.ts +11 -0
- package/dist/forms/components/fields/SaberTextarea.vue.d.ts +11 -0
- package/dist/forms/components/fields/SaberUploadImage.vue.d.ts +113 -0
- package/dist/forms/dict-checkbox.mjs +4 -0
- package/dist/forms/dict-radio.mjs +4 -0
- package/dist/forms/dict-select.mjs +4 -0
- package/dist/forms/dict-source.d.ts +3 -0
- package/dist/forms/district-select.mjs +4 -0
- package/dist/forms/district-service.d.ts +46 -0
- package/dist/forms/filter-state.d.ts +4 -0
- package/dist/forms/index.d.ts +24 -0
- package/dist/forms/plugin.d.ts +20 -0
- package/dist/forms/pop-select.mjs +4 -0
- package/dist/forms/presets/basic.d.ts +5 -0
- package/dist/forms/registry.d.ts +15 -0
- package/dist/forms/types.d.ts +102 -0
- package/dist/forms/upload-image-source.d.ts +3 -0
- package/dist/forms/upload-image.mjs +4 -0
- package/dist/forms/use-dict-options.d.ts +8 -0
- package/dist/forms.mjs +45 -0
- package/dist/index.d.ts +62 -1
- package/dist/index.mjs +122 -33
- package/dist/info-context-MfOfJNDT.js +4 -0
- package/dist/plugin-Dr3z0YFg.js +396 -0
- package/dist/types/api.d.ts +30 -0
- package/dist/types/auth.d.ts +54 -0
- package/dist/types/common.d.ts +14 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.mjs +1 -0
- package/dist/upload-image-source-On8NHgmx.js +4 -0
- package/dist/use-dict-options-DjtbYYIa.js +38 -0
- package/dist/utils/addressParse.d.ts +37 -0
- package/dist/utils/addressParse.mjs +623 -0
- package/dist/utils/crypto.d.ts +11 -0
- package/dist/utils/crypto.mjs +36 -0
- package/dist/utils/filter.d.ts +20 -0
- package/dist/utils/filter.mjs +11 -0
- package/dist/utils/format.d.ts +9 -0
- package/dist/utils/format.mjs +7 -0
- package/dist/utils/http.d.ts +45 -0
- package/dist/utils/http.mjs +147 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.mjs +41 -0
- package/dist/utils/klona.d.ts +2 -0
- package/dist/utils/klona.mjs +4 -0
- package/dist/utils/nanoid.d.ts +2 -0
- package/dist/utils/nanoid.mjs +4 -0
- package/dist/utils/permission.d.ts +45 -0
- package/dist/utils/permission.mjs +38 -0
- package/dist/utils/rsa.d.ts +26 -0
- package/dist/utils/rsa.mjs +2073 -0
- package/dist/utils/storage.d.ts +29 -0
- package/dist/utils/storage.mjs +39 -0
- package/dist/utils/toast.d.ts +26 -0
- package/dist/utils/toast.mjs +17 -0
- package/dist/utils/tree.d.ts +20 -0
- package/dist/utils/tree.mjs +30 -0
- package/package.json +179 -9
- package/dist/index.cjs +0 -1
- package/dist/vite.cjs +0 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AES 加密 localStorage 模块
|
|
3
|
+
*
|
|
4
|
+
* 使用前需在 main.ts 中调用 setupStorage() 注入密钥与前缀:
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* import { setupStorage } from '@owocow/saber-ui/utils/storage'
|
|
8
|
+
*
|
|
9
|
+
* setupStorage({
|
|
10
|
+
* secret: import.meta.env.VITE_STORAGE_SECRET,
|
|
11
|
+
* prefix: import.meta.env.VITE_STORAGE_PREFIX,
|
|
12
|
+
* })
|
|
13
|
+
*
|
|
14
|
+
* // 之后任意位置直接使用
|
|
15
|
+
* import { storage } from '@owocow/saber-ui/utils/storage'
|
|
16
|
+
* storage.set('key', value)
|
|
17
|
+
*/
|
|
18
|
+
export interface StorageConfig {
|
|
19
|
+
secret: string;
|
|
20
|
+
prefix?: string;
|
|
21
|
+
}
|
|
22
|
+
/** 初始化加密存储模块 */
|
|
23
|
+
export declare function setupStorage(config: StorageConfig): void;
|
|
24
|
+
export declare const storage: {
|
|
25
|
+
set(key: string, value: unknown): void;
|
|
26
|
+
get<T>(key: string): T | null;
|
|
27
|
+
remove(key: string): void;
|
|
28
|
+
clear(): void;
|
|
29
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import c from "crypto-js";
|
|
2
|
+
let t = "", a = "";
|
|
3
|
+
function p(e) {
|
|
4
|
+
t = e.secret, a = e.prefix ?? "";
|
|
5
|
+
}
|
|
6
|
+
const n = (e) => `${a}${e}`, g = {
|
|
7
|
+
set(e, r) {
|
|
8
|
+
if (!t)
|
|
9
|
+
throw new Error("[storage] 尚未初始化,请先调用 setupStorage({ secret, prefix })");
|
|
10
|
+
try {
|
|
11
|
+
const o = JSON.stringify(r), s = c.AES.encrypt(o, t).toString();
|
|
12
|
+
localStorage.setItem(n(e), s);
|
|
13
|
+
} catch (o) {
|
|
14
|
+
console.error("[storage.set] failed", e, o);
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
get(e) {
|
|
18
|
+
if (!t)
|
|
19
|
+
throw new Error("[storage] 尚未初始化,请先调用 setupStorage({ secret, prefix })");
|
|
20
|
+
const r = localStorage.getItem(n(e));
|
|
21
|
+
if (!r) return null;
|
|
22
|
+
try {
|
|
23
|
+
const s = c.AES.decrypt(r, t).toString(c.enc.Utf8);
|
|
24
|
+
return JSON.parse(s);
|
|
25
|
+
} catch {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
remove(e) {
|
|
30
|
+
localStorage.removeItem(n(e));
|
|
31
|
+
},
|
|
32
|
+
clear() {
|
|
33
|
+
localStorage.clear();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
p as setupStorage,
|
|
38
|
+
g as storage
|
|
39
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toast 依赖注入模块
|
|
3
|
+
*
|
|
4
|
+
* 由 App.vue setup 注入 toast 实例,非组件场景(如 http 拦截器)通过 getToast() 获取。
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* // App.vue
|
|
8
|
+
* import { setToast } from '@owocow/saber-ui/utils/toast'
|
|
9
|
+
* setToast(useToast())
|
|
10
|
+
*
|
|
11
|
+
* // 任意位置
|
|
12
|
+
* import { getToast } from '@owocow/saber-ui/utils/toast'
|
|
13
|
+
* getToast().add({ title: '操作成功', color: 'success' })
|
|
14
|
+
*/
|
|
15
|
+
export interface ToastInstance {
|
|
16
|
+
add: (options: {
|
|
17
|
+
title: string;
|
|
18
|
+
color?: string;
|
|
19
|
+
duration?: number;
|
|
20
|
+
}) => void;
|
|
21
|
+
clear: () => void;
|
|
22
|
+
}
|
|
23
|
+
export declare function setToast(instance: ToastInstance): void;
|
|
24
|
+
export declare function getToast(): ToastInstance;
|
|
25
|
+
/** 安全版本:未初始化时返回 null,适用于路由守卫等早于 App.vue 执行的场景 */
|
|
26
|
+
export declare function tryGetToast(): ToastInstance | null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
let t = null;
|
|
2
|
+
function e(o) {
|
|
3
|
+
t = o;
|
|
4
|
+
}
|
|
5
|
+
function n() {
|
|
6
|
+
if (!t)
|
|
7
|
+
throw new Error("[toast] 尚未初始化,请确认 App.vue 已调用 setToast(useToast())");
|
|
8
|
+
return t;
|
|
9
|
+
}
|
|
10
|
+
function r() {
|
|
11
|
+
return t;
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
n as getToast,
|
|
15
|
+
e as setToast,
|
|
16
|
+
r as tryGetToast
|
|
17
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface TreeConfig {
|
|
2
|
+
/** id 字段名 */
|
|
3
|
+
idField: string;
|
|
4
|
+
/** 父级 id 字段名,默认 'parentId' */
|
|
5
|
+
parentIdField?: string;
|
|
6
|
+
/** 子节点字段名,默认 'children' */
|
|
7
|
+
childrenField?: string;
|
|
8
|
+
/** 过滤函数 */
|
|
9
|
+
filterFn?: (node: any) => boolean;
|
|
10
|
+
/** 需要从节点中删除的字段 */
|
|
11
|
+
omitFields?: string[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 扁平列表转树形结构
|
|
15
|
+
*
|
|
16
|
+
* @param data 数据源
|
|
17
|
+
* @param config 配置选项
|
|
18
|
+
* @returns 树形结构数据
|
|
19
|
+
*/
|
|
20
|
+
export declare function createTreeFromList<T extends Record<string, any>>(data: T[], config: TreeConfig): T[];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
function g(o, u) {
|
|
2
|
+
if (!(o != null && o.length))
|
|
3
|
+
return [];
|
|
4
|
+
const { idField: c, parentIdField: f = "parentId", childrenField: l = "children", filterFn: d = () => !0, omitFields: F = [] } = u, i = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), r = [];
|
|
5
|
+
for (const e of o) {
|
|
6
|
+
for (const s of F)
|
|
7
|
+
delete e[s];
|
|
8
|
+
const n = e[c], t = e[f];
|
|
9
|
+
p.set(n, e), i.has(t) || i.set(t, []), d(e) && i.get(t).push(e);
|
|
10
|
+
}
|
|
11
|
+
for (const e of o) {
|
|
12
|
+
const n = e[f];
|
|
13
|
+
!p.has(n) && d(e) && r.push(e);
|
|
14
|
+
}
|
|
15
|
+
const h = (e) => {
|
|
16
|
+
const n = e[c], t = i.get(n);
|
|
17
|
+
if (t != null && t.length) {
|
|
18
|
+
e[l] = t;
|
|
19
|
+
for (const s of t)
|
|
20
|
+
h(s);
|
|
21
|
+
} else
|
|
22
|
+
e[l] = void 0;
|
|
23
|
+
};
|
|
24
|
+
for (const e of r)
|
|
25
|
+
h(e);
|
|
26
|
+
return r;
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
g as createTreeFromList
|
|
30
|
+
};
|
package/package.json
CHANGED
|
@@ -1,21 +1,172 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owocow/saber-ui",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.0.3",
|
|
4
|
+
"description": "Saber application foundation for Vue 3 projects built on Nuxt UI",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"main": "./dist/index.mjs",
|
|
7
8
|
"module": "./dist/index.mjs",
|
|
8
9
|
"types": "./dist/index.d.ts",
|
|
9
10
|
"exports": {
|
|
10
11
|
".": {
|
|
11
12
|
"types": "./dist/index.d.ts",
|
|
12
|
-
"import": "./dist/index.mjs"
|
|
13
|
-
"require": "./dist/index.cjs"
|
|
13
|
+
"import": "./dist/index.mjs"
|
|
14
14
|
},
|
|
15
15
|
"./vite": {
|
|
16
16
|
"types": "./dist/vite.d.ts",
|
|
17
|
-
"import": "./dist/vite.mjs"
|
|
18
|
-
|
|
17
|
+
"import": "./dist/vite.mjs"
|
|
18
|
+
},
|
|
19
|
+
"./district": {
|
|
20
|
+
"types": "./dist/district.d.ts",
|
|
21
|
+
"import": "./dist/district.mjs"
|
|
22
|
+
},
|
|
23
|
+
"./forms": {
|
|
24
|
+
"types": "./dist/forms/index.d.ts",
|
|
25
|
+
"import": "./dist/forms.mjs"
|
|
26
|
+
},
|
|
27
|
+
"./forms/pop-select": {
|
|
28
|
+
"types": "./dist/forms/components/fields/SaberPopSelect.vue.d.ts",
|
|
29
|
+
"import": "./dist/forms/pop-select.mjs"
|
|
30
|
+
},
|
|
31
|
+
"./forms/district-select": {
|
|
32
|
+
"types": "./dist/forms/components/fields/SaberDistrictSelect.vue.d.ts",
|
|
33
|
+
"import": "./dist/forms/district-select.mjs"
|
|
34
|
+
},
|
|
35
|
+
"./forms/dict-checkbox": {
|
|
36
|
+
"types": "./dist/forms/components/fields/SaberDictCheckbox.vue.d.ts",
|
|
37
|
+
"import": "./dist/forms/dict-checkbox.mjs"
|
|
38
|
+
},
|
|
39
|
+
"./forms/dict-radio": {
|
|
40
|
+
"types": "./dist/forms/components/fields/SaberDictRadio.vue.d.ts",
|
|
41
|
+
"import": "./dist/forms/dict-radio.mjs"
|
|
42
|
+
},
|
|
43
|
+
"./forms/dict-select": {
|
|
44
|
+
"types": "./dist/forms/components/fields/SaberDictSelect.vue.d.ts",
|
|
45
|
+
"import": "./dist/forms/dict-select.mjs"
|
|
46
|
+
},
|
|
47
|
+
"./forms/upload-image": {
|
|
48
|
+
"types": "./dist/forms/components/fields/SaberUploadImage.vue.d.ts",
|
|
49
|
+
"import": "./dist/forms/upload-image.mjs"
|
|
50
|
+
},
|
|
51
|
+
"./composables": {
|
|
52
|
+
"types": "./dist/composables/index.d.ts",
|
|
53
|
+
"import": "./dist/composables.mjs"
|
|
54
|
+
},
|
|
55
|
+
"./composables/use-boolean": {
|
|
56
|
+
"types": "./dist/composables/use-boolean.d.ts",
|
|
57
|
+
"import": "./dist/composables/use-boolean.mjs"
|
|
58
|
+
},
|
|
59
|
+
"./composables/use-loading": {
|
|
60
|
+
"types": "./dist/composables/use-loading.d.ts",
|
|
61
|
+
"import": "./dist/composables/use-loading.mjs"
|
|
62
|
+
},
|
|
63
|
+
"./composables/use-confirm": {
|
|
64
|
+
"types": "./dist/composables/use-confirm.d.ts",
|
|
65
|
+
"import": "./dist/composables/use-confirm.mjs"
|
|
66
|
+
},
|
|
67
|
+
"./composables/use-delete": {
|
|
68
|
+
"types": "./dist/composables/use-delete.d.ts",
|
|
69
|
+
"import": "./dist/composables/use-delete.mjs"
|
|
70
|
+
},
|
|
71
|
+
"./composables/use-table": {
|
|
72
|
+
"types": "./dist/composables/use-table.d.ts",
|
|
73
|
+
"import": "./dist/composables/use-table.mjs"
|
|
74
|
+
},
|
|
75
|
+
"./composables/use-skeleton": {
|
|
76
|
+
"types": "./dist/composables/use-skeleton.d.ts",
|
|
77
|
+
"import": "./dist/composables/use-skeleton.mjs"
|
|
78
|
+
},
|
|
79
|
+
"./composables/use-delay-unmount": {
|
|
80
|
+
"types": "./dist/composables/use-delay-unmount.d.ts",
|
|
81
|
+
"import": "./dist/composables/use-delay-unmount.mjs"
|
|
82
|
+
},
|
|
83
|
+
"./composables/use-address-parse": {
|
|
84
|
+
"types": "./dist/composables/use-address-parse.d.ts",
|
|
85
|
+
"import": "./dist/composables/use-address-parse.mjs"
|
|
86
|
+
},
|
|
87
|
+
"./components/SaberInfo": {
|
|
88
|
+
"types": "./dist/components/SaberInfo.vue.d.ts",
|
|
89
|
+
"import": "./dist/components/SaberInfo.mjs"
|
|
90
|
+
},
|
|
91
|
+
"./components/SaberInfoProvider": {
|
|
92
|
+
"types": "./dist/components/SaberInfoProvider.vue.d.ts",
|
|
93
|
+
"import": "./dist/components/SaberInfoProvider.mjs"
|
|
94
|
+
},
|
|
95
|
+
"./components/SaberSwitchBar": {
|
|
96
|
+
"types": "./dist/components/SaberSwitchBar.vue.d.ts",
|
|
97
|
+
"import": "./dist/components/SaberSwitchBar.mjs"
|
|
98
|
+
},
|
|
99
|
+
"./components/SaberStatus": {
|
|
100
|
+
"types": "./dist/components/SaberStatus.vue.d.ts",
|
|
101
|
+
"import": "./dist/components/SaberStatus.mjs"
|
|
102
|
+
},
|
|
103
|
+
"./components/SaberConfirmModal": {
|
|
104
|
+
"types": "./dist/components/SaberConfirmModal.vue.d.ts",
|
|
105
|
+
"import": "./dist/components/SaberConfirmModal.mjs"
|
|
106
|
+
},
|
|
107
|
+
"./components/SaberConfirmProvider": {
|
|
108
|
+
"types": "./dist/components/SaberConfirmProvider.vue.d.ts",
|
|
109
|
+
"import": "./dist/components/SaberConfirmProvider.mjs"
|
|
110
|
+
},
|
|
111
|
+
"./components/SaberModalWithMobile": {
|
|
112
|
+
"types": "./dist/components/SaberModalWithMobile.vue.d.ts",
|
|
113
|
+
"import": "./dist/components/SaberModalWithMobile.mjs"
|
|
114
|
+
},
|
|
115
|
+
"./types": {
|
|
116
|
+
"types": "./dist/types/index.d.ts",
|
|
117
|
+
"import": "./dist/types/index.mjs"
|
|
118
|
+
},
|
|
119
|
+
"./utils": {
|
|
120
|
+
"types": "./dist/utils/index.d.ts",
|
|
121
|
+
"import": "./dist/utils/index.mjs"
|
|
122
|
+
},
|
|
123
|
+
"./utils/permission": {
|
|
124
|
+
"types": "./dist/utils/permission.d.ts",
|
|
125
|
+
"import": "./dist/utils/permission.mjs"
|
|
126
|
+
},
|
|
127
|
+
"./utils/format": {
|
|
128
|
+
"types": "./dist/utils/format.d.ts",
|
|
129
|
+
"import": "./dist/utils/format.mjs"
|
|
130
|
+
},
|
|
131
|
+
"./utils/filter": {
|
|
132
|
+
"types": "./dist/utils/filter.d.ts",
|
|
133
|
+
"import": "./dist/utils/filter.mjs"
|
|
134
|
+
},
|
|
135
|
+
"./utils/tree": {
|
|
136
|
+
"types": "./dist/utils/tree.d.ts",
|
|
137
|
+
"import": "./dist/utils/tree.mjs"
|
|
138
|
+
},
|
|
139
|
+
"./utils/crypto": {
|
|
140
|
+
"types": "./dist/utils/crypto.d.ts",
|
|
141
|
+
"import": "./dist/utils/crypto.mjs"
|
|
142
|
+
},
|
|
143
|
+
"./utils/toast": {
|
|
144
|
+
"types": "./dist/utils/toast.d.ts",
|
|
145
|
+
"import": "./dist/utils/toast.mjs"
|
|
146
|
+
},
|
|
147
|
+
"./utils/klona": {
|
|
148
|
+
"types": "./dist/utils/klona.d.ts",
|
|
149
|
+
"import": "./dist/utils/klona.mjs"
|
|
150
|
+
},
|
|
151
|
+
"./utils/nanoid": {
|
|
152
|
+
"types": "./dist/utils/nanoid.d.ts",
|
|
153
|
+
"import": "./dist/utils/nanoid.mjs"
|
|
154
|
+
},
|
|
155
|
+
"./utils/storage": {
|
|
156
|
+
"types": "./dist/utils/storage.d.ts",
|
|
157
|
+
"import": "./dist/utils/storage.mjs"
|
|
158
|
+
},
|
|
159
|
+
"./utils/rsa": {
|
|
160
|
+
"types": "./dist/utils/rsa.d.ts",
|
|
161
|
+
"import": "./dist/utils/rsa.mjs"
|
|
162
|
+
},
|
|
163
|
+
"./utils/http": {
|
|
164
|
+
"types": "./dist/utils/http.d.ts",
|
|
165
|
+
"import": "./dist/utils/http.mjs"
|
|
166
|
+
},
|
|
167
|
+
"./utils/addressParse": {
|
|
168
|
+
"types": "./dist/utils/addressParse.d.ts",
|
|
169
|
+
"import": "./dist/utils/addressParse.mjs"
|
|
19
170
|
}
|
|
20
171
|
},
|
|
21
172
|
"files": [
|
|
@@ -23,19 +174,38 @@
|
|
|
23
174
|
],
|
|
24
175
|
"scripts": {
|
|
25
176
|
"build": "vite build",
|
|
177
|
+
"docs:dev": "vitepress dev docs",
|
|
178
|
+
"docs:typecheck": "tsc -p docs/tsconfig.json --noEmit",
|
|
179
|
+
"docs:build": "vitepress build docs",
|
|
180
|
+
"docs:preview": "vitepress preview docs",
|
|
181
|
+
"verify": "pnpm build && pnpm docs:typecheck && pnpm docs:build",
|
|
26
182
|
"prepublishOnly": "npm run build"
|
|
27
183
|
},
|
|
184
|
+
"dependencies": {
|
|
185
|
+
"crypto-js": "^4.2.0",
|
|
186
|
+
"jsencrypt": "^3.5.4",
|
|
187
|
+
"klona": "^2.0.6",
|
|
188
|
+
"nanoid": "^5.1.9",
|
|
189
|
+
"ofetch": "^1.5.1"
|
|
190
|
+
},
|
|
28
191
|
"peerDependencies": {
|
|
29
192
|
"@nuxt/ui": "^4",
|
|
30
193
|
"vue": "^3"
|
|
31
194
|
},
|
|
32
195
|
"devDependencies": {
|
|
33
|
-
"@nuxt/ui": "
|
|
196
|
+
"@nuxt/ui": "4.8.0",
|
|
197
|
+
"@tailwindcss/vite": "^4.3.3",
|
|
198
|
+
"@types/crypto-js": "^4.2.2",
|
|
199
|
+
"@types/node": "^26.1.2",
|
|
34
200
|
"@vitejs/plugin-vue": "^5",
|
|
201
|
+
"tailwindcss": "^4.3.3",
|
|
35
202
|
"typescript": "^5",
|
|
203
|
+
"unplugin-vue-components": "^32",
|
|
36
204
|
"vite": "^6",
|
|
37
205
|
"vite-plugin-dts": "^4",
|
|
38
|
-
"
|
|
206
|
+
"vitepress": "2.0.0-alpha.19",
|
|
207
|
+
"vue": "^3.5.31",
|
|
208
|
+
"vue-router": "^4.6.4"
|
|
39
209
|
},
|
|
40
210
|
"keywords": [
|
|
41
211
|
"vue",
|
package/dist/index.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("@nuxt/ui/components/Badge.vue"),l=require("vue"),s={red:{500:"#ef4444",600:"#dc2626"},orange:{500:"#f97316",600:"#ea580c"},amber:{500:"#f59e0b",600:"#d97706"},yellow:{500:"#eab308",600:"#ca8a04"},lime:{500:"#84cc16",600:"#65a30d"},green:{500:"#22c55e",600:"#16a34a"},emerald:{500:"#10b981",600:"#059669"},teal:{500:"#14b8a6",600:"#0d9488"},cyan:{500:"#06b6d4",600:"#0891b2"},sky:{500:"#0ea5e9",600:"#0284c7"},blue:{500:"#3b82f6",600:"#2563eb"},indigo:{500:"#6366f1",600:"#4f46e5"},violet:{500:"#8b5cf6",600:"#7c3aed"},purple:{500:"#a855f7",600:"#9333ea"},fuchsia:{500:"#d946ef",600:"#c026d3"},pink:{500:"#ec4899",600:"#db2777"},rose:{500:"#f43f5e",600:"#e11d48"},slate:{500:"#64748b",600:"#475569"},gray:{500:"#6b7280",600:"#4b5563"},zinc:{500:"#71717a",600:"#52525b"},neutral:{500:"#737373",600:"#525252"},stone:{500:"#78716c",600:"#57534e"}},g=s.gray;function u(e,t){var o,c;return((o=s[e])==null?void 0:o[t])??((c=s[e])==null?void 0:c[500])??g[500]}function p(e,t){const o=parseInt(e.slice(1,3),16),c=parseInt(e.slice(3,5),16),a=parseInt(e.slice(5,7),16);return`rgba(${o}, ${c}, ${a}, ${t/100})`}const d=l.defineComponent({__name:"BadgeStatus",props:{value:{},config:{},bgOpacity:{default:20},textColorWeight:{default:500}},setup(e){const t=e,o=l.computed(()=>{const a=String(t.value);for(const n of t.config){const[r,i,f]=n.split(":");if(i===a)return{label:r,color:f||"gray"}}return{label:a,color:"gray"}}),c=l.computed(()=>{const{color:a}=o.value,n=u(a,500),r=u(a,t.textColorWeight);return{backgroundColor:p(n,t.bgOpacity),color:r}});return(a,n)=>(l.openBlock(),l.createBlock(b,{style:l.normalizeStyle(c.value),variant:"soft",label:o.value.label,class:"rounded-full border-0 pt-0.75 pb-0.75 px-2"},null,8,["style","label"]))}}),y={install(e){e.component("UBadge",b),e.component("BadgeStatus",d)}};exports.BadgeStatus=d;exports.default=y;
|
package/dist/vite.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("@nuxt/ui/vite");module.exports=e;
|