@done-coding/admin-core 0.3.1-alpha.0 → 0.5.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.
Files changed (81) hide show
  1. package/es/bridge/index.mjs +83 -27
  2. package/es/components/app-layout/AppBody.vue.mjs +7 -0
  3. package/es/components/app-layout/AppBody.vue2.mjs +89 -0
  4. package/es/components/app-layout/AppBreadcrumb.vue.mjs +7 -0
  5. package/es/components/app-layout/AppBreadcrumb.vue2.mjs +58 -0
  6. package/es/components/app-layout/AppFooter.vue.mjs +7 -0
  7. package/es/components/app-layout/AppFooter.vue2.mjs +17 -0
  8. package/es/components/app-layout/AppHeader.vue.mjs +7 -0
  9. package/es/components/app-layout/AppHeader.vue2.mjs +99 -0
  10. package/es/components/app-layout/AppLayout.vue.mjs +7 -0
  11. package/es/components/app-layout/AppLayout.vue2.mjs +130 -0
  12. package/es/components/app-layout/AppPage.vue.mjs +7 -0
  13. package/es/components/app-layout/AppPage.vue2.mjs +39 -0
  14. package/es/components/app-layout/AppSidebar.vue.mjs +7 -0
  15. package/es/components/app-layout/AppSidebar.vue2.mjs +97 -0
  16. package/es/components/app-layout/index.mjs +32 -0
  17. package/es/components/display/ActionBtnGroup.vue.mjs +61 -0
  18. package/es/components/display/ActionBtnGroup.vue2.mjs +4 -0
  19. package/es/components/display/index.mjs +13 -11
  20. package/es/components/misc/ActionBtn.vue.mjs +84 -65
  21. package/es/components/misc/ActionConfirm.vue.mjs +1 -1
  22. package/es/components/misc/ActionConfirm.vue2.mjs +77 -71
  23. package/es/components/misc/SelectModule.vue.mjs +55 -0
  24. package/es/components/misc/SelectModule.vue2.mjs +4 -0
  25. package/es/components/modal/ConfirmModal.vue.mjs +1 -1
  26. package/es/components/modal/ConfirmModal.vue2.mjs +13 -12
  27. package/es/components/modal/modal-shelf-hierarchy.mjs +4 -6
  28. package/es/components/table/ToolbarButtons.vue.mjs +10 -40
  29. package/es/index.mjs +165 -132
  30. package/es/inject/key.mjs +15 -6
  31. package/es/router/guard/index.mjs +31 -0
  32. package/es/router/guard/login.mjs +4 -0
  33. package/es/router/guard/permission.mjs +4 -0
  34. package/es/store/app.mjs +103 -0
  35. package/es/store/router-permission.mjs +65 -0
  36. package/es/store/user.mjs +52 -52
  37. package/es/style.css +1 -1
  38. package/package.json +2 -2
  39. package/types/bridge/index.d.ts +180 -76
  40. package/types/components/app-layout/AppBody.vue.d.ts +45 -0
  41. package/types/components/app-layout/AppBreadcrumb.vue.d.ts +25 -0
  42. package/types/components/app-layout/AppFooter.vue.d.ts +2 -0
  43. package/types/components/app-layout/AppHeader.vue.d.ts +55 -0
  44. package/types/components/app-layout/AppLayout.vue.d.ts +76 -0
  45. package/types/components/app-layout/AppPage.vue.d.ts +54 -0
  46. package/types/components/app-layout/AppSidebar.vue.d.ts +51 -0
  47. package/types/components/app-layout/index.d.ts +27 -0
  48. package/types/components/app-layout/types.d.ts +43 -0
  49. package/types/components/display/ActionBtnGroup.vue.d.ts +16 -0
  50. package/types/components/display/TabsHeader.vue.d.ts +8 -8
  51. package/types/components/display/index.d.ts +10 -1
  52. package/types/components/display/types.d.ts +42 -1
  53. package/types/components/form/types.d.ts +2 -2
  54. package/types/components/misc/ActionBtn.vue.d.ts +17 -23
  55. package/types/components/misc/ActionConfirm.vue.d.ts +56 -27
  56. package/types/components/misc/SelectModule.vue.d.ts +2 -0
  57. package/types/components/misc/index.d.ts +2 -1
  58. package/types/components/misc/types.d.ts +35 -26
  59. package/types/components/modal/ConfirmModal.vue.d.ts +19 -2
  60. package/types/components/modal/modal-shelf-hierarchy.d.ts +1 -1
  61. package/types/components/table/TableToolbar.vue.d.ts +8 -8
  62. package/types/components/table/types.d.ts +10 -12
  63. package/types/config/list-model.d.ts +2 -0
  64. package/types/helpers/index.d.ts +10 -3
  65. package/types/index.d.ts +4 -1
  66. package/types/inject/key.d.ts +25 -0
  67. package/types/router/guard/index.d.ts +21 -0
  68. package/types/router/guard/login.d.ts +5 -0
  69. package/types/router/guard/permission.d.ts +5 -0
  70. package/types/router/guard/types.d.ts +15 -0
  71. package/types/router/index.d.ts +1 -0
  72. package/types/store/app.d.ts +149 -0
  73. package/types/store/index.d.ts +2 -0
  74. package/types/store/router-permission.d.ts +80 -0
  75. package/types/store/user.d.ts +11 -9
  76. /package/es/{helpers → bridge}/route.mjs +0 -0
  77. /package/es/{helpers → bridge}/state.mjs +0 -0
  78. /package/es/{helpers → bridge}/storage.mjs +0 -0
  79. /package/types/{helpers → bridge}/route.d.ts +0 -0
  80. /package/types/{helpers → bridge}/state.d.ts +0 -0
  81. /package/types/{helpers → bridge}/storage.d.ts +0 -0
@@ -0,0 +1,103 @@
1
+ import { defineStore as k } from "pinia";
2
+ import { useRoute as R } from "vue-router";
3
+ import { ref as n, computed as t, watch as U } from "vue";
4
+ function M(b) {
5
+ const { bridge: o } = b;
6
+ return k("APP", () => {
7
+ const a = o.APP_LAYOUT_HEADER_CONFIG.height, d = o.APP_LAYOUT_FOOTER_CONFIG.height, P = n(o.APP_BASE_INFO.name), s = n(!1), T = n(!1), c = n(!1), i = n(!1), S = t(() => c.value ? o.APP_LAYOUT_SIDEBAR_CONFIG.collapseWidth : o.APP_LAYOUT_SIDEBAR_CONFIG.width), C = R(), r = t(
8
+ () => s.value ? o.APP_THEME_CONFIG.dark : o.APP_THEME_CONFIG.light
9
+ ), h = t(() => C.meta), l = t(() => h.value.layout), E = t(() => h.value.keepAlive), m = t(
10
+ () => {
11
+ var e;
12
+ return ((e = l.value) == null ? void 0 : e.header) ?? o.APP_ROUTER_META_DEFAULT_CONFIG.showHeader;
13
+ }
14
+ ), g = t(
15
+ () => {
16
+ var e;
17
+ return ((e = l.value) == null ? void 0 : e.footer) ?? o.APP_ROUTER_META_DEFAULT_CONFIG.showFooter;
18
+ }
19
+ ), v = t(
20
+ () => {
21
+ var e;
22
+ return (((e = l.value) == null ? void 0 : e.sidebar) ?? o.APP_ROUTER_META_DEFAULT_CONFIG.showSidebar) && i.value;
23
+ }
24
+ ), O = t(
25
+ () => {
26
+ var e;
27
+ return ((e = l.value) == null ? void 0 : e.breadcrumb) ?? o.APP_ROUTER_META_DEFAULT_CONFIG.showBreadcrumb;
28
+ }
29
+ ), _ = t(
30
+ () => {
31
+ var e;
32
+ return ((e = l.value) == null ? void 0 : e.bodyShimPadding) ?? o.APP_LAYOUT_BODY_CONFIG.shimPadding;
33
+ }
34
+ ), u = t(() => ({
35
+ height: `${m.value ? a : 0}px`,
36
+ backgroundColor: r.value.bodyColor,
37
+ color: r.value.baseColor
38
+ })), p = t(() => ({
39
+ height: `${g.value ? d : 0}px`,
40
+ backgroundColor: r.value.bodyColor
41
+ })), A = t(() => ({
42
+ width: `${v.value ? S.value : 0}px`,
43
+ paddingTop: u.value.height,
44
+ backgroundColor: r.value.bodyColor,
45
+ color: r.value.baseColor
46
+ })), I = t(() => ({
47
+ paddingLeft: A.value.width,
48
+ paddingTop: u.value.height,
49
+ backgroundColor: r.value.bodyColor
50
+ })), F = t(() => ({
51
+ minHeight: `calc(100vh - ${u.value.height} - ${p.value.height})`,
52
+ padding: `${_.value}px`
53
+ })), f = (e) => {
54
+ c.value = e;
55
+ }, y = (e) => {
56
+ i.value = e;
57
+ }, N = (e) => {
58
+ s.value = e;
59
+ };
60
+ return U(
61
+ s,
62
+ () => {
63
+ const e = document.documentElement.className;
64
+ s.value ? document.documentElement.className = `${e} dark`.trim() : document.documentElement.className = e.replace(/\bdark\b/g, "").trim();
65
+ },
66
+ {
67
+ immediate: !0
68
+ }
69
+ ), {
70
+ name: P,
71
+ isDarkTheme: t(() => s.value),
72
+ theme: r,
73
+ extractLevel1ToHeader: T,
74
+ showHeader: m,
75
+ showFooter: g,
76
+ showSidebar: v,
77
+ showBreadcrumb: O,
78
+ keepAlive: E,
79
+ headerStyle: u,
80
+ footerStyle: p,
81
+ sidebarStyle: A,
82
+ bodyStyle: I,
83
+ bodyShimPadding: _,
84
+ bodyShimStyle: F,
85
+ sidebarIsCollapse: t(() => c.value),
86
+ changeSidebarCollapseStatus: f,
87
+ changeSidebarHasMenusStatus: y,
88
+ changeIsDarkTheme: N
89
+ };
90
+ }, {
91
+ persist: {
92
+ storage: {
93
+ getItem: (a) => o.getStorage().getItem(a),
94
+ setItem: (a, d) => o.getStorage().setItem(a, d),
95
+ removeItem: (a) => o.getStorage().removeItem(a)
96
+ },
97
+ pick: ["isDarkTheme"]
98
+ }
99
+ });
100
+ }
101
+ export {
102
+ M as createAppStore
103
+ };
@@ -0,0 +1,65 @@
1
+ import { defineStore as T } from "pinia";
2
+ import { computed as a, watch as p } from "vue";
3
+ import { useRoute as U, useRouter as C } from "vue-router";
4
+ import { getRoutePermissionKey as N } from "../utils/router.mjs";
5
+ function F(h) {
6
+ const { bridge: u, useUserStore: l, paths: o } = h;
7
+ return T("ROUTE_PERMISSION", () => {
8
+ const t = U(), i = C(), s = l(), c = a(() => s.isLogin), f = (e) => {
9
+ var r;
10
+ if (o.loginNoCheck.includes(e.path))
11
+ return !1;
12
+ const n = e.meta;
13
+ return !!N({
14
+ path: e.path,
15
+ permission: n.permission
16
+ }) || (((r = n.permission) == null ? void 0 : r.login) ?? u.APP_ROUTER_META_DEFAULT_CONFIG.needLogin);
17
+ }, m = (e) => f(e) && !c.value, P = a(() => m(t)), g = (e) => o.authNoCheck.includes(e.path) ? !1 : !s.havePermissionByPath(e.path), d = a(() => c.value && g(t)), R = (e = t, n = "replace") => {
18
+ s.noApiLogout();
19
+ const { fullPath: r, path: L } = e;
20
+ L !== o.login && t.path !== o.login && i[n]({
21
+ path: o.login,
22
+ query: {
23
+ from: encodeURIComponent(r)
24
+ }
25
+ });
26
+ };
27
+ return u.register({ goToLogin: R }), p(
28
+ P,
29
+ (e) => {
30
+ e && i.replace({
31
+ path: o.login,
32
+ query: {
33
+ from: encodeURIComponent(t.fullPath)
34
+ }
35
+ });
36
+ },
37
+ {
38
+ immediate: !0
39
+ }
40
+ ), p(
41
+ d,
42
+ (e) => {
43
+ if (e) {
44
+ const n = t.meta;
45
+ i.replace({
46
+ path: o.noPermission,
47
+ query: {
48
+ target: encodeURIComponent(t.fullPath),
49
+ title: encodeURIComponent(n.title || "")
50
+ }
51
+ });
52
+ }
53
+ },
54
+ {
55
+ immediate: !0
56
+ }
57
+ ), {
58
+ checkNeedGoToAuthPage: g,
59
+ checkNeedGoToLoginPage: m
60
+ };
61
+ });
62
+ }
63
+ export {
64
+ F as createRoutePermissionStore
65
+ };
package/es/store/user.mjs CHANGED
@@ -1,69 +1,67 @@
1
- import { defineStore as L } from "pinia";
2
- import { computed as s, watch as A } from "vue";
3
- import R from "lodash/get";
4
- import M from "lodash/set";
5
- import O from "lodash/cloneDeep";
6
- import { createUseState as H } from "../helpers/state.mjs";
7
- import { createGenerateRouteMetaRawTree as K } from "../helpers/route.mjs";
8
- import { flatRouteMetaResolveRaw as b } from "../utils/router.mjs";
9
- function Q(S) {
10
- const { bridge: o } = S;
11
- return L("USER", () => {
12
- const T = o.getUserInfoInitFn(), l = o.getUserInfoAccess(), p = (e) => typeof e == "string" ? {
13
- get: (t) => R(t, e),
14
- set: (t, f) => {
15
- const d = O(t);
16
- return M(d, e, f), d;
17
- }
18
- } : { get: e.get, set: e.set }, c = p(l.token), g = p(l.refreshToken), k = (e) => R(e, "permission"), P = o.getAppConfig().APP_CACHE_CONFIG.namespace, n = H(P)(
19
- T(),
1
+ import { defineStore as U } from "pinia";
2
+ import { computed as n, watch as f } from "vue";
3
+ import p from "lodash/get";
4
+ import _ from "lodash/set";
5
+ import L from "lodash/cloneDeep";
6
+ import { flatRouteMetaResolveRaw as E } from "../utils/router.mjs";
7
+ function D(d) {
8
+ const { bridge: o } = d;
9
+ return U("USER", () => {
10
+ const k = o.getUserInfoInitFn(), c = (e, t, m) => {
11
+ const g = L(e);
12
+ return _(g, t, m), g;
13
+ }, S = (e) => p(e, "permission"), r = o.useState(
14
+ k(),
20
15
  {
21
16
  moduleKey: "USER_STORE",
22
17
  debug: !1,
23
18
  cache: !0
24
19
  }
25
- ), r = s(() => n.state), a = s(() => c.get(r.value)), u = s(() => !!a.value), v = s(() => g.get(r.value)), h = s(() => k(r.value) || []), I = K(
26
- o.getAppConfig().APP_ROUTER_META_DEFAULT_CONFIG
27
- ), y = s(
28
- () => I(o.getRoutes(), {
20
+ ), s = n(() => r.state), a = n(
21
+ () => p(s.value, "token")
22
+ ), u = n(() => !!a.value), v = n(
23
+ () => p(s.value, "refresh_token")
24
+ ), h = n(() => S(s.value) || []), R = n(
25
+ () => o.generateRouteMetaRawTree(o.getRoutes(), {
29
26
  // 配置权限且有权限 或 (未配置权限无子路由(即末端子路由) 或 子路由有权限)
30
- filterFn: (e, t, f) => e.checkPermission ? h.value.includes(e.permissionKey) : !f || t,
27
+ filterFn: (e, t, m) => e.checkPermission ? h.value.includes(e.permissionKey) : !m || t,
31
28
  sortFn: (e, t) => e.menuSort - t.menuSort
32
29
  })
33
- ), U = s(() => b(y.value)), _ = s(() => U.value.map((e) => e.path)), m = () => {
34
- n.resetState();
35
- }, F = async () => {
30
+ ), y = n(() => E(R.value)), P = n(() => y.value.map((e) => e.path)), l = () => {
31
+ r.resetState();
32
+ }, T = async () => {
36
33
  try {
37
34
  u.value && await o.logoutApi();
38
35
  } catch (e) {
39
36
  console.error("退出登录失败", e);
40
37
  }
41
- m();
42
- }, w = async (e) => {
43
- m();
44
- const { data: t } = await o.loginApi(e);
45
- n.updateState(t);
38
+ l();
39
+ }, I = async (e) => {
40
+ l();
41
+ const t = await o.loginApi(e);
42
+ r.updateState(t);
46
43
  }, i = async () => {
47
- const { data: e } = await o.getUserInfoApi(), t = g.set(
48
- c.set(e, a.value),
44
+ const e = await o.getUserInfoApi(), t = c(
45
+ c(e, "token", a.value),
46
+ "refresh_token",
47
+ v.value
48
+ );
49
+ return r.updateState(t), e;
50
+ }, w = async () => {
51
+ const e = await o.refreshTokenApi(
49
52
  v.value
50
53
  );
51
- return n.updateState(t), e;
52
- }, E = async () => {
53
- const { data: e } = await o.refreshTokenApi({
54
- Authorization: v.value
55
- });
56
- n.updateState(
57
- c.set(r.value, e.token)
54
+ r.updateState(
55
+ c(s.value, "token", e)
58
56
  );
59
57
  };
60
58
  o.register({
61
59
  getToken: () => a.value,
62
- refreshToken: E,
60
+ refreshToken: w,
63
61
  refreshAuth: i
64
62
  });
65
- const C = (e) => _.value.includes(e), G = (e) => h.value.includes(e);
66
- return A(
63
+ const A = (e) => P.value.includes(e), F = (e) => h.value.includes(e);
64
+ return f(
67
65
  u,
68
66
  (e, t) => {
69
67
  e && (t ?? i());
@@ -71,21 +69,23 @@ function Q(S) {
71
69
  {
72
70
  immediate: !0
73
71
  }
74
- ), A(a, (e, t) => {
72
+ ), f(u, (e, t) => {
73
+ e && !t && i();
74
+ }), f(a, (e, t) => {
75
75
  e && t && i();
76
76
  }), {
77
- userInfo: r,
77
+ userInfo: s,
78
78
  token: a,
79
79
  isLogin: u,
80
- login: w,
81
- logout: F,
82
- noApiLogout: m,
80
+ login: I,
81
+ logout: T,
82
+ noApiLogout: l,
83
83
  getInfo: i,
84
- havePermissionByPath: C,
85
- havePermissionByKey: G
84
+ havePermissionByPath: A,
85
+ havePermissionByKey: F
86
86
  };
87
87
  });
88
88
  }
89
89
  export {
90
- Q as createUserStore
90
+ D as createUserStore
91
91
  };
package/es/style.css CHANGED
@@ -1 +1 @@
1
- .form-item-tip[data-v-0dd66b41]{text-align:left;line-height:1.5;font-size:12px}.form-item-label-hide[data-v-0dd66b41] .el-form-item__label-wrap{display:none}.form-search_show[data-v-996aa2dc]{margin-bottom:10px}.form-search .btn-box[data-v-996aa2dc]{display:flex;align-items:center;gap:8px;justify-content:flex-end}.form-search .btn-box-expand-icon[data-v-996aa2dc]{margin-right:2px}.form-search[data-v-996aa2dc] .el-col{padding-left:14px}.form-verify-image[data-v-a4baf877] .el-input__suffix-inner *{margin:0}.form-verify-image-suffix[data-v-a4baf877]{position:absolute;height:100%;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));top:50%;transform:translateY(-50%);overflow:hidden;cursor:pointer}.form-verify-image-suffix-main[data-v-a4baf877]{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f4f4f4}.tabs-main-bar[data-v-dbdd01cb]{position:relative;display:flex;align-items:center}.tabs-main-bar-item[data-v-dbdd01cb]{border:none;background:transparent;cursor:pointer;color:var(--el-text-color-regular);transition:background .2s,color .2s,box-shadow .2s}.tabs-main-bar-indicator[data-v-dbdd01cb]{position:absolute;left:0;background:var(--el-color-primary);transition:transform .2s,width .2s}.tabs-main-bar--l1 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:16px}.tabs-main-bar--l2 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:14px}.tabs-main-bar--l3 .tabs-main-bar-item[data-v-dbdd01cb],.tabs-main-bar--l4 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:12px}.tabs-main-bar--variant-card[data-v-dbdd01cb]{position:relative;overflow:hidden;gap:2px}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-dbdd01cb]{position:relative;padding:8px 20px;line-height:1.4;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-dbdd01cb]:hover:not(.tabs-main-bar-item_active){color:var(--el-color-primary)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary);border-color:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:before,.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:after{content:"";position:absolute;bottom:0;width:100vw;height:1px;background:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:before{right:100%}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:after{left:100%}.tabs-main-bar--variant-indicator .tabs-main-bar-item[data-v-dbdd01cb]{padding:8px 16px}.tabs-main-bar--variant-indicator .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator .tabs-main-bar-indicator[data-v-dbdd01cb]{bottom:0;height:2px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item[data-v-dbdd01cb]{padding:6px 10px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-indicator[data-v-dbdd01cb]{bottom:0;height:1px}.tabs-main-bar--variant-plain .tabs-main-bar-item[data-v-dbdd01cb]{padding:4px 8px}.tabs-main-bar--variant-plain .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary);font-weight:600}.auto-refresh[data-v-9d78ca06]{display:flex;align-items:center;gap:8px}.auto-refresh-label[data-v-9d78ca06]{font-size:13px;color:var(--el-text-color-regular)}.auto-refresh-interval[data-v-9d78ca06]{width:80px}.action-confirm__title[data-v-1003e4cb]{font-weight:600;margin-bottom:6px}.action-confirm__content[data-v-1003e4cb]{margin-bottom:12px;color:var(--el-text-color-regular)}.action-confirm__actions[data-v-1003e4cb]{display:flex;justify-content:flex-end;gap:8px}.confirm-dialog .content[data-v-2f0c870e]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 200px)}.confirm-dialog .btn[data-v-2f0c870e]{width:150px;height:40px;border-radius:4px}.confirm-dialog .main[data-v-2f0c870e]{position:relative;text-align:center}.confirm-dialog .main .close-box[data-v-2f0c870e]{position:absolute;top:0;right:0;cursor:pointer;z-index:2}.confirm-dialog .main .shim[data-v-2f0c870e]{position:relative;z-index:1}.confirm-dialog .main .shim .title[data-v-2f0c870e]{font-size:18px;font-weight:500}.confirm-dialog .main .shim .content[data-v-2f0c870e]{font-size:16px;margin-top:15px}.confirm-dialog .main .shim .footer[data-v-2f0c870e]{display:flex;justify-content:center;align-items:center;padding-top:5px}.confirm-dialog .main .shim .footer>.btn[data-v-2f0c870e]:not(:last-child){margin-right:30px}.confirm-dialog .main .shim .footer[reverse=true][data-v-2f0c870e]{flex-direction:row-reverse}.confirm-dialog .main .shim .footer[reverse=true]>.btn[data-v-2f0c870e]:not(:last-child){margin-right:0;margin-left:30px}.confirm-dialog .el-dialog__header,.confirm-dialog .el-dialog__body{padding:0;background-color:transparent}.table-toolbar[data-v-90cd7b54]{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;gap:20px}.table-toolbar-left[data-v-90cd7b54],.table-toolbar-right[data-v-90cd7b54]{display:flex;align-items:center;gap:10px}.table-toolbar-icon--rotating[data-v-90cd7b54]{animation:table-toolbar-rotating-90cd7b54 1s linear infinite}@keyframes table-toolbar-rotating-90cd7b54{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.data-list-view[data-v-4c7d7547]{width:100%}.table-main-table[data-v-feb76359]{--el-table-header-bg-color: var(--v028010cb)}.table-main-pagination[data-v-feb76359]{margin-top:10px;display:flex;justify-content:flex-end}.list-page[data-v-d8d188e5]{min-height:var(--v990abd1c)}.list-page-header[data-v-d8d188e5],.list-page-operation[data-v-d8d188e5]{margin-bottom:10px}.list-page[data-v-d8d188e5] .el-loading-mask{left:-10px;top:-10px;right:-10px;bottom:-10px}.panel-edit-switch[data-v-ea2a07d5]{position:relative}.panel-edit-switch-edit-btn[data-v-ea2a07d5]{position:absolute;top:0;right:0;z-index:1}.panel-edit-switch-actions[data-v-ea2a07d5]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
1
+ .form-item-tip[data-v-0dd66b41]{text-align:left;line-height:1.5;font-size:12px}.form-item-label-hide[data-v-0dd66b41] .el-form-item__label-wrap{display:none}.form-search_show[data-v-996aa2dc]{margin-bottom:10px}.form-search .btn-box[data-v-996aa2dc]{display:flex;align-items:center;gap:8px;justify-content:flex-end}.form-search .btn-box-expand-icon[data-v-996aa2dc]{margin-right:2px}.form-search[data-v-996aa2dc] .el-col{padding-left:14px}.form-verify-image[data-v-a4baf877] .el-input__suffix-inner *{margin:0}.form-verify-image-suffix[data-v-a4baf877]{position:absolute;height:100%;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));top:50%;transform:translateY(-50%);overflow:hidden;cursor:pointer}.form-verify-image-suffix-main[data-v-a4baf877]{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f4f4f4}.tabs-main-bar[data-v-dbdd01cb]{position:relative;display:flex;align-items:center}.tabs-main-bar-item[data-v-dbdd01cb]{border:none;background:transparent;cursor:pointer;color:var(--el-text-color-regular);transition:background .2s,color .2s,box-shadow .2s}.tabs-main-bar-indicator[data-v-dbdd01cb]{position:absolute;left:0;background:var(--el-color-primary);transition:transform .2s,width .2s}.tabs-main-bar--l1 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:16px}.tabs-main-bar--l2 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:14px}.tabs-main-bar--l3 .tabs-main-bar-item[data-v-dbdd01cb],.tabs-main-bar--l4 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:12px}.tabs-main-bar--variant-card[data-v-dbdd01cb]{position:relative;overflow:hidden;gap:2px}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-dbdd01cb]{position:relative;padding:8px 20px;line-height:1.4;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-dbdd01cb]:hover:not(.tabs-main-bar-item_active){color:var(--el-color-primary)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary);border-color:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:before,.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:after{content:"";position:absolute;bottom:0;width:100vw;height:1px;background:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:before{right:100%}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:after{left:100%}.tabs-main-bar--variant-indicator .tabs-main-bar-item[data-v-dbdd01cb]{padding:8px 16px}.tabs-main-bar--variant-indicator .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator .tabs-main-bar-indicator[data-v-dbdd01cb]{bottom:0;height:2px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item[data-v-dbdd01cb]{padding:6px 10px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-indicator[data-v-dbdd01cb]{bottom:0;height:1px}.tabs-main-bar--variant-plain .tabs-main-bar-item[data-v-dbdd01cb]{padding:4px 8px}.tabs-main-bar--variant-plain .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary);font-weight:600}.confirm-dialog .content[data-v-dfc2f447]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 200px)}.confirm-dialog .btn[data-v-dfc2f447]{width:150px;height:40px;border-radius:4px}.confirm-dialog .main[data-v-dfc2f447]{position:relative;text-align:center}.confirm-dialog .main .close-box[data-v-dfc2f447]{position:absolute;top:0;right:0;cursor:pointer;z-index:2}.confirm-dialog .main .shim[data-v-dfc2f447]{position:relative;z-index:1}.confirm-dialog .main .shim .title[data-v-dfc2f447]{font-size:18px;font-weight:500}.confirm-dialog .main .shim .content[data-v-dfc2f447]{font-size:16px;margin-top:15px}.confirm-dialog .main .shim .footer[data-v-dfc2f447]{display:flex;justify-content:center;align-items:center;padding-top:5px}.confirm-dialog .main .shim .footer>.btn[data-v-dfc2f447]:not(:last-child){margin-right:30px}.confirm-dialog .main .shim .footer[reverse=true][data-v-dfc2f447]{flex-direction:row-reverse}.confirm-dialog .main .shim .footer[reverse=true]>.btn[data-v-dfc2f447]:not(:last-child){margin-right:0;margin-left:30px}.confirm-dialog .el-dialog__header,.confirm-dialog .el-dialog__body{padding:0;background-color:transparent}.action-confirm__title[data-v-5bb407c9]{font-weight:600;margin-bottom:6px}.action-confirm__content[data-v-5bb407c9]{margin-bottom:12px;color:var(--el-text-color-regular)}.action-confirm__actions[data-v-5bb407c9]{display:flex;justify-content:flex-end;gap:8px}.auto-refresh[data-v-9d78ca06]{display:flex;align-items:center;gap:8px}.auto-refresh-label[data-v-9d78ca06]{font-size:13px;color:var(--el-text-color-regular)}.auto-refresh-interval[data-v-9d78ca06]{width:80px}.table-toolbar[data-v-90cd7b54]{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;gap:20px}.table-toolbar-left[data-v-90cd7b54],.table-toolbar-right[data-v-90cd7b54]{display:flex;align-items:center;gap:10px}.table-toolbar-icon--rotating[data-v-90cd7b54]{animation:table-toolbar-rotating-90cd7b54 1s linear infinite}@keyframes table-toolbar-rotating-90cd7b54{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.data-list-view[data-v-4c7d7547]{width:100%}.table-main-table[data-v-feb76359]{--el-table-header-bg-color: var(--v028010cb)}.table-main-pagination[data-v-feb76359]{margin-top:10px;display:flex;justify-content:flex-end}.list-page[data-v-d8d188e5]{min-height:var(--v990abd1c)}.list-page-header[data-v-d8d188e5],.list-page-operation[data-v-d8d188e5]{margin-bottom:10px}.list-page[data-v-d8d188e5] .el-loading-mask{left:-10px;top:-10px;right:-10px;bottom:-10px}.panel-edit-switch[data-v-ea2a07d5]{position:relative}.panel-edit-switch-edit-btn[data-v-ea2a07d5]{position:absolute;top:0;right:0;z-index:1}.panel-edit-switch-actions[data-v-ea2a07d5]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.app-breadcrumb[data-v-39d4ee00]{display:flex;align-items:center;justify-content:flex-start;background-color:#fff}.app-body[data-v-305d730c]{transition-duration:.3s;transition-property:padding;transition-timing-function:linear;min-height:100vh}.app-body-shim[data-v-305d730c]{width:100%;--app-viewport-max-height: var(--v078aa5b4)}.app-header[data-v-55cf55e9]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;position:fixed;left:0;top:0;width:100%;box-shadow:5px 0 5px #0000001a;z-index:1}.app-header-module[data-v-55cf55e9]{display:flex;flex:1;height:100%;overflow-x:auto}.app-header-module-item[data-v-55cf55e9]{display:flex;justify-content:center;align-items:center;padding:0 20px;white-space:nowrap;height:100%;color:var(--v4db2d700)}.app-header-module-item[data-v-55cf55e9]:hover,.app-header-module-item_active[data-v-55cf55e9]{color:var(--v23ceefd3)}.app-header-module-item_active[data-v-55cf55e9]{position:relative}.app-header-module-item_active[data-v-55cf55e9]:before{content:"";position:absolute;left:50%;top:0;width:100%;height:3px;background-color:var(--v23ceefd3);transform:translate(-50%)}.app-header-shim[data-v-55cf55e9]{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:18px;font-weight:700}.app-footer[data-v-393d9768]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;width:100%;box-shadow:-5px 0 5px #0000001a}.app-footer-shim[data-v-393d9768]{width:100%;height:100%;padding:0 20px}.app-sidebar[data-v-37ff5e0c]{transition-duration:.3s;transition-property:width;transition-timing-function:linear;position:fixed;left:0;top:0;height:100%;box-shadow:0 5px 5px #0000001a;overflow:visible;z-index:var(--ce9ef212)}.app-sidebar-top[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:0;overflow:hidden}.app-sidebar-bottom[data-v-37ff5e0c]{position:absolute;left:0;right:0;bottom:0;overflow:hidden}.app-sidebar-shim[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:var(--v309db2c2);bottom:var(--v2189b8a1);overflow-x:hidden;overflow-y:auto;--el-menu-border-color: transparent;-webkit-user-select:none;user-select:none}.app-sidebar-toggle[data-v-37ff5e0c]{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);cursor:pointer;width:22px;height:22px;border-radius:50%;background-color:var(--v65908f82);color:var(--v42a24063);border:1px solid var(--v42a24063);box-shadow:0 1px 2px #0000000f;display:flex;align-items:center;justify-content:center;font-size:12px;z-index:1;isolation:isolate;transition:color .3s,border-color .3s,box-shadow .3s}.app-sidebar-toggle[data-v-37ff5e0c]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background-color:var(--v42a24063);opacity:.18;z-index:-1;pointer-events:none;transition:opacity .3s,inset .3s}.app-sidebar-toggle[data-v-37ff5e0c]:active,.app-sidebar-toggle[data-v-37ff5e0c]:focus,.app-sidebar-toggle[data-v-37ff5e0c]:hover{box-shadow:0 2px 6px #0000001f}.app-sidebar-toggle[data-v-37ff5e0c]:active:before,.app-sidebar-toggle[data-v-37ff5e0c]:focus:before,.app-sidebar-toggle[data-v-37ff5e0c]:hover:before{opacity:.32;top:-5px;right:-5px;bottom:-5px;left:-5px}.app-sidebar-toggle-icon[data-v-37ff5e0c]{transition:transform .3s}.app-layout[data-v-2952b5fa]{position:relative}.app-layout_noLogin[data-v-2952b5fa] .app-body,.app-layout_noLogin[data-v-2952b5fa] .app-sidebar,.app-layout_noLogin[data-v-2952b5fa] .app-header,.app-layout_noLogin[data-v-2952b5fa] .app-footer{transition:none!important}.app-page-shim[data-v-fda19616]{--app-viewport-max-height: var(--v54888f0e)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@done-coding/admin-core",
3
- "version": "0.3.1-alpha.0",
3
+ "version": "0.5.0",
4
4
  "description": "后台管理核心",
5
5
  "private": false,
6
6
  "main": "lib/index.cjs",
@@ -78,5 +78,5 @@
78
78
  "node": ">=18.0.0",
79
79
  "pnpm": ">=9.0.0"
80
80
  },
81
- "gitHead": "d1b3e1f8a27692f1f54902567599849a61e1595e"
81
+ "gitHead": "1ffefdc1769cd4ce7695d74379e56139e30e1558"
82
82
  }