@lumal/core 0.0.2-beta → 0.0.3-beta

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 (65) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +9 -0
  3. package/dist/auth.cjs +1 -1
  4. package/dist/auth.js +13 -29
  5. package/dist/{components-DVnNb4-n.js → components-DCp2KGvo.js} +1 -1
  6. package/dist/{components-CYwpPqgm.cjs → components-oqKxhgFp.cjs} +1 -1
  7. package/dist/components.cjs +1 -1
  8. package/dist/components.js +3 -3
  9. package/dist/{composables-DrGkFGvy.js → composables-BxZG0_RZ.js} +15 -9
  10. package/dist/composables-Dsl-todB.cjs +1 -0
  11. package/dist/composables.cjs +1 -1
  12. package/dist/composables.js +1 -1
  13. package/dist/context-Bdx-ZJbt.js +13 -0
  14. package/dist/context-CWQ1OO16.cjs +1 -0
  15. package/dist/core.css +1 -1
  16. package/dist/createLumalApp-BxQL77Qt.js +38 -0
  17. package/dist/createLumalApp-C5o7gAlu.cjs +1 -0
  18. package/dist/{dictionary-CKEqfCLG.js → dictionary-DnRiNaKi.js} +1 -1
  19. package/dist/{dictionary-BtPCmrLY.cjs → dictionary-Dt70z10M.cjs} +1 -1
  20. package/dist/dictionary.cjs +1 -1
  21. package/dist/dictionary.js +2 -2
  22. package/dist/index.cjs +1 -1
  23. package/dist/index.js +37 -80
  24. package/dist/{layout-CuuRkGBF.js → layout-B7yJhQXN.js} +450 -416
  25. package/dist/layout-BgyM9WJi.cjs +1 -0
  26. package/dist/layout.cjs +1 -1
  27. package/dist/layout.js +1 -1
  28. package/dist/minimal.cjs +1 -0
  29. package/dist/minimal.js +10 -0
  30. package/dist/{permission-CCkqvnWg.js → permission-CHw9eXd8.js} +24 -34
  31. package/dist/permission-CoqteYAi.cjs +1 -0
  32. package/dist/permission.cjs +1 -1
  33. package/dist/permission.js +4 -3
  34. package/dist/request.cjs +1 -1
  35. package/dist/request.js +98 -78
  36. package/dist/src/app/createLumalAdmin.d.ts +1 -1
  37. package/dist/src/app/createLumalAdmin.d.ts.map +1 -1
  38. package/dist/src/app/createLumalApp.d.ts +7 -0
  39. package/dist/src/app/createLumalApp.d.ts.map +1 -0
  40. package/dist/src/app/types.d.ts +5 -0
  41. package/dist/src/app/types.d.ts.map +1 -1
  42. package/dist/src/auth/createAuthSession.d.ts.map +1 -1
  43. package/dist/src/dictionary/store.d.ts.map +1 -1
  44. package/dist/src/layout/LumalGlobalSearch.vue.d.ts.map +1 -1
  45. package/dist/src/layout/LumalLayout.vue.d.ts +6 -2
  46. package/dist/src/layout/LumalLayout.vue.d.ts.map +1 -1
  47. package/dist/src/layout/LumalRouterView.vue.d.ts +2 -0
  48. package/dist/src/layout/LumalRouterView.vue.d.ts.map +1 -1
  49. package/dist/src/minimal/index.d.ts +5 -0
  50. package/dist/src/minimal/index.d.ts.map +1 -0
  51. package/dist/src/request/client.d.ts.map +1 -1
  52. package/dist/src/request/types.d.ts +8 -2
  53. package/dist/src/request/types.d.ts.map +1 -1
  54. package/dist/src/utils/index.d.ts +1 -1
  55. package/dist/src/utils/index.d.ts.map +1 -1
  56. package/dist/src/utils/storage.d.ts +2 -0
  57. package/dist/src/utils/storage.d.ts.map +1 -1
  58. package/dist/storage-CCBa7Qh8.cjs +1 -0
  59. package/dist/storage-CorgkMJU.js +41 -0
  60. package/dist/utils.cjs +1 -1
  61. package/dist/utils.js +32 -54
  62. package/package.json +9 -3
  63. package/dist/composables-edipbw70.cjs +0 -1
  64. package/dist/layout-7345ntRV.cjs +0 -1
  65. package/dist/permission-6sXtjGMS.cjs +0 -1
package/dist/utils.js CHANGED
@@ -1,80 +1,81 @@
1
- import { isProxy as e, toRaw as t } from "vue";
1
+ import { n as e, t } from "./storage-CorgkMJU.js";
2
+ import { isProxy as n, toRaw as r } from "vue";
2
3
  //#region src/utils/clone.ts
3
- function n(n) {
4
- return e(n) ? t(n) : n;
4
+ function i(e) {
5
+ return n(e) ? r(e) : e;
5
6
  }
6
- function r(e, t = /* @__PURE__ */ new WeakMap()) {
7
- let i = n(e);
8
- if (typeof i != "object" || !i) return i;
9
- if (i instanceof Date) return new Date(i.getTime());
10
- if (i instanceof RegExp) return new RegExp(i);
11
- if (t.has(i)) return t.get(i);
12
- if (Array.isArray(i)) {
7
+ function a(e, t = /* @__PURE__ */ new WeakMap()) {
8
+ let n = i(e);
9
+ if (typeof n != "object" || !n) return n;
10
+ if (n instanceof Date) return new Date(n.getTime());
11
+ if (n instanceof RegExp) return new RegExp(n);
12
+ if (t.has(n)) return t.get(n);
13
+ if (Array.isArray(n)) {
13
14
  let e = [];
14
- return t.set(i, e), i.forEach((n, i) => {
15
- e[i] = r(n, t);
15
+ return t.set(n, e), n.forEach((n, r) => {
16
+ e[r] = a(n, t);
16
17
  }), e;
17
18
  }
18
- let a = {};
19
- return t.set(i, a), Object.entries(i).forEach(([e, n]) => {
20
- a[e] = r(n, t);
21
- }), a;
19
+ let r = {};
20
+ return t.set(n, r), Object.entries(n).forEach(([e, n]) => {
21
+ r[e] = a(n, t);
22
+ }), r;
22
23
  }
23
- function i(e) {
24
- let t = n(e);
24
+ function o(e) {
25
+ let t = i(e);
25
26
  if (typeof structuredClone == "function") try {
26
27
  return structuredClone(t);
27
28
  } catch (e) {
28
29
  if (!(e instanceof DOMException) || e.name !== "DataCloneError") throw e;
29
30
  }
30
- return r(t);
31
+ return a(t);
31
32
  }
32
- function a(e) {
33
+ function s(e) {
33
34
  return e.map((e) => ({
34
35
  ...e,
35
- children: e.children?.length ? a(e.children) : void 0
36
+ children: e.children?.length ? s(e.children) : void 0
36
37
  }));
37
38
  }
38
39
  //#endregion
39
40
  //#region src/utils/color.ts
40
- function o(e, t) {
41
+ function c(e, t) {
41
42
  let n = e.trim().replace(/^#/, "");
42
43
  return /^[\da-f]{6}$/i.test(n) ? `rgba(${Number.parseInt(n.slice(0, 2), 16)}, ${Number.parseInt(n.slice(2, 4), 16)}, ${Number.parseInt(n.slice(4, 6), 16)}, ${Math.min(1, Math.max(0, t))})` : e;
43
44
  }
44
45
  //#endregion
45
46
  //#region src/utils/display.ts
46
- async function s(e) {
47
+ async function l(e) {
47
48
  try {
48
49
  return JSON.parse(await e.text()), !1;
49
50
  } catch {
50
51
  return !0;
51
52
  }
52
53
  }
53
- function c(e) {
54
+ function u(e) {
54
55
  return !e || e.length <= 7 ? e : `${e.slice(0, 3)}${"*".repeat(Math.min(4, e.length - 7))}${e.slice(-4)}`;
55
56
  }
56
57
  //#endregion
57
58
  //#region src/utils/download.ts
58
- function l(e, t) {
59
+ function d(e, t) {
59
60
  let n = URL.createObjectURL(e), r = document.createElement("a");
60
61
  r.href = n, r.download = t, document.body.appendChild(r), r.click(), document.body.removeChild(r), URL.revokeObjectURL(n);
61
62
  }
62
- function u(e, t, n = "application/octet-stream") {
63
- l(new Blob([e], { type: `${n};charset=utf-8` }), t);
63
+ function f(e, t, n = "application/octet-stream") {
64
+ d(new Blob([e], { type: `${n};charset=utf-8` }), t);
64
65
  }
65
66
  //#endregion
66
67
  //#region src/utils/object.ts
67
- function d(e) {
68
+ function p(e) {
68
69
  return Object.fromEntries(Object.entries(e).filter(([, e]) => e !== void 0));
69
70
  }
70
71
  //#endregion
71
72
  //#region src/utils/path.ts
72
- function f(...e) {
73
+ function m(...e) {
73
74
  return `/${e.filter(Boolean).map((e) => String(e).replace(/^\/+|\/+$/g, "")).filter(Boolean).join("/")}`;
74
75
  }
75
76
  //#endregion
76
77
  //#region src/utils/query.ts
77
- function p(e) {
78
+ function h(e) {
78
79
  let t = [];
79
80
  return Object.entries(e).forEach(([e, n]) => {
80
81
  if (n != null) {
@@ -95,29 +96,6 @@ function p(e) {
95
96
  }), t.join("&");
96
97
  }
97
98
  //#endregion
98
- //#region src/utils/storage.ts
99
- function m(e, t) {
100
- return e ? `${e}:${t}` : t;
101
- }
102
- function h(e, t = "") {
103
- return {
104
- get(n) {
105
- let r = e.getItem(m(t, n));
106
- if (r !== null) try {
107
- return JSON.parse(r);
108
- } catch {
109
- throw Error(`无法解析存储键 "${m(t, n)}" 的值`);
110
- }
111
- },
112
- set(n, r) {
113
- e.setItem(m(t, n), JSON.stringify(r));
114
- },
115
- remove(n) {
116
- e.removeItem(m(t, n));
117
- }
118
- };
119
- }
120
- //#endregion
121
99
  //#region src/utils/with-install.ts
122
100
  function g(e, t) {
123
101
  let n = e;
@@ -127,4 +105,4 @@ function g(e, t) {
127
105
  }, n;
128
106
  }
129
107
  //#endregion
130
- export { i as cloneDeep, a as cloneTree, h as createStorage, l as downloadBlob, u as downloadFile, s as isBlobResponse, f as joinPath, c as maskPhone, d as omitUndefined, p as serializeQuery, o as withAlpha, g as withInstall };
108
+ export { o as cloneDeep, s as cloneTree, t as createMemoryStorage, e as createStorage, d as downloadBlob, f as downloadFile, l as isBlobResponse, m as joinPath, u as maskPhone, p as omitUndefined, h as serializeQuery, c as withAlpha, g as withInstall };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lumal/core",
3
3
  "type": "module",
4
- "version": "0.0.2-beta",
4
+ "version": "0.0.3-beta",
5
5
  "description": "Lumal lightweight Vue admin core components and services.",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -35,6 +35,11 @@
35
35
  "import": "./dist/auth.js",
36
36
  "require": "./dist/auth.cjs"
37
37
  },
38
+ "./minimal": {
39
+ "types": "./dist/src/minimal/index.d.ts",
40
+ "import": "./dist/minimal.js",
41
+ "require": "./dist/minimal.cjs"
42
+ },
38
43
  "./composables": {
39
44
  "types": "./dist/src/composables/index.d.ts",
40
45
  "import": "./dist/composables.js",
@@ -87,6 +92,7 @@
87
92
  "module": "./dist/index.js",
88
93
  "types": "./dist/src/index.d.ts",
89
94
  "files": [
95
+ "CHANGELOG.md",
90
96
  "README.md",
91
97
  "dist",
92
98
  "theme-chalk"
@@ -109,8 +115,8 @@
109
115
  }
110
116
  },
111
117
  "dependencies": {
112
- "@lumal/icons": "0.0.2-beta",
113
- "@lumal/icons-vue": "0.0.2-beta",
118
+ "@lumal/icons": "0.0.3-beta",
119
+ "@lumal/icons-vue": "0.0.3-beta",
114
120
  "sortablejs": "^1.15.7"
115
121
  },
116
122
  "devDependencies": {
@@ -1 +0,0 @@
1
- let e=require("vue");function t(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function n(e,t){return Object.hasOwn(e,t)}function r(e,t){return t?e[t]:void 0}function i(e){return typeof e==`boolean`||typeof e==`number`||typeof e==`string`?e:e==null?``:String(e)}function a(e,a={}){if(!t(e))return;let s=a.label??`label`,c=a.value??`value`,l=a.disabled??`disabled`,u=a.children??`children`,d=a.color??`color`,f=i(r(e,c)),p=r(e,s),m=r(e,u),h=Array.isArray(m)?o(m,a):void 0,g={label:String(p??f),value:f};return n(e,l)&&(g.disabled=!!r(e,l)),typeof r(e,d)==`string`&&(g.color=String(r(e,d))),h?.length&&(g.children=h),t(e.meta)&&(g.meta=e.meta),g}function o(e,t={}){return e.map(e=>a(e,t)).filter(e=>!!e)}function s(e,n={},r){if(n.parseResponse)return o(n.parseResponse(e,r),n.fieldNames);if(!t(e))return[];let i=e[n.fieldNames?.items??`items`];return Array.isArray(i)?o(i,n.fieldNames):[]}function c(e,t,n=l(e)){if(t==null)return`-`;let r=Array.isArray(t)?t:[t];return r.length===0?`-`:r.map(e=>n.get(String(e))?.label??String(e)).join(`, `)}function l(e){let t=new Map;return e.forEach(e=>{let n=String(e.value);t.has(n)||t.set(n,e)}),t}function u(e,t,n){return c(e,t,n)}function d(e){return e instanceof Error?e.message:String(e)}function f(t={}){let n=(0,e.reactive)({}),r=(0,e.reactive)({}),i=(0,e.reactive)({}),a=new Map;function o(e,t){e&&(n[e]=t)}async function c(e){if(!e)return[];if(Object.hasOwn(n,e))return n[e]??[];let c=a.get(e);if(c)return c;if(!t.fetcher)return o(e,[]),[];r[e]=!0,i[e]=null;let l=t.fetcher(e).then(n=>{let r=s(n,t,e);return o(e,r),r}).catch(t=>{throw i[e]=d(t),t}).finally(()=>{r[e]=!1,a.delete(e)});return a.set(e,l),l}function l(e){delete n[e],delete r[e],delete i[e]}function u(){Object.keys(n).forEach(e=>delete n[e]),Object.keys(r).forEach(e=>delete r[e]),Object.keys(i).forEach(e=>delete i[e]),a.clear()}return{clearDictionary:u,errors:i,loadDictionary:c,loading:r,records:n,removeDictionary:l,setDictionary:o}}var p=Symbol(`lumal-dictionary-context`),m=null;function h(e){m=e}function g(){return m}function _(t=!1){let n=(0,e.inject)(p,m);if(!n&&!t)throw Error(`Lumal dictionary context is not installed.`);return n}function v(t){m=t,(0,e.provide)(p,t)}function y(e,t={}){let n={store:f(t)};return h(n),e.provide(p,n),n}function b(e){return Array.from(new Set(e.filter(e=>!!e)))}function x(...e){return S(()=>e).dictionaryRefs}function S(t){let n=_(!0),r={};return(0,e.watch)(()=>b(t()),t=>{t.forEach(t=>{r[t]||(r[t]=(0,e.computed)(()=>n?.store.records[t]??[])),n?.store.loadDictionary(t).catch(()=>[])})},{immediate:!0}),{dictionaryMap:(0,e.computed)(()=>Object.fromEntries(b(t()).map(e=>[e,n?.store.records[e]??[]]))),dictionaryRefs:r}}function C(e){return g()?.store.records[e]??[]}function w(e,t){return u(C(e),t)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return p}});
@@ -1 +0,0 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require("./_plugin-vue_export-helper-BTmtiIyf.cjs");let l=require("vue"),u=require("@lumal/icons-vue"),d=require("element-plus"),f=require("vue-router"),p=require("sortablejs");p=s(p,1);function m(e,t){return e.hidden?!1:e.path===t?!0:e.children?.some(e=>m(e,t))??!1}function h(e,t){for(let n of e){if(n.hidden)continue;if(n.path===t)return n;let e=h(n.children??[],t);if(e)return e}}function g(e,t){for(let n of e){if(n.hidden)continue;if(n.path===t)return[n];let e=g(n.children??[],t);if(e.length>0)return[n,...e]}return[]}function _(e){if(!e)return``;if(e.redirect)return e.redirect;let t=e.children?.filter(e=>!e.hidden)??[];return t.length===0?e.path:_(t[0])}function v(e,t){return e.find(e=>m(e,t))?.path??``}function y(e){let{activeTopMenuPath:t=``,layout:n}=e,r=e.menus.filter(e=>!e.hidden);return n===`sidebar-nav`?{sidebarMenus:r,topMenus:[]}:n===`top-nav`?{sidebarMenus:[],topMenus:r}:{sidebarMenus:(r.find(e=>e.path===t)??r.find(e=>m(e,t)))?.children?.filter(e=>!e.hidden)??[],topMenus:r}}var b={key:0,class:`lumal-breadcrumb`,"aria-label":`面包屑`},x={class:`lumal-breadcrumb__list`},S={key:1,class:`lumal-breadcrumb__current`,"aria-current":`page`},C=[`onClick`],w=(0,l.defineComponent)({__name:`LumalBreadcrumb`,props:{activeMenuPath:{default:``},activePath:{default:``},hideOnlyOne:{type:Boolean,default:!1},homePath:{default:``},homeTitle:{default:`首页`},menus:{default:()=>[]},showHome:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=(0,l.inject)(f.routeLocationKey,void 0);function a(e){return{icon:e.icon,path:e.path,title:e.title}}let o=(0,l.computed)(()=>{let e=i?.matched??[];return e.flatMap((t,n)=>{let r=typeof t.meta.title==`string`?t.meta.title.trim():``;if(!r||t.meta.hideInBreadcrumb===!0)return[];let a=n===e.length-1;return[{icon:typeof t.meta.icon==`string`?t.meta.icon:void 0,path:a?i?.path??t.path:t.path,title:r}]})}),s=(0,l.computed)(()=>{let e=g(n.menus,n.activePath),t=(e.length>0?e:g(n.menus,n.activeMenuPath)).map(a),r=typeof i?.meta.title==`string`?i.meta.title:``,o=typeof i?.meta.icon==`string`?i.meta.icon:void 0,s=i?.meta.hideInBreadcrumb===!0;return s&&t.at(-1)?.path===n.activePath&&t.pop(),r&&!s&&n.activePath&&n.activePath===i?.path&&!t.some(e=>e.path===n.activePath)&&t.push({icon:o,path:n.activePath,title:r}),t}),c=(0,l.computed)(()=>o.value.length>0?o.value:s.value),d=(0,l.computed)(()=>{let e=n.homePath?g(n.menus,n.homePath).at(-1):void 0,t=n.menus.find(e=>!e.hidden),r=n.homePath||_(t);if(r)return{icon:e?.icon??t?.icon,path:r,title:e?.title??n.homeTitle}}),p=(0,l.computed)(()=>{let e=[...c.value],t=d.value;return n.showHome&&t&&!e.some(e=>e.path===t.path)&&e.unshift(t),e}),m=(0,l.computed)(()=>p.value.length>0&&!(n.hideOnlyOne&&c.value.length<=1));return(t,n)=>m.value?((0,l.openBlock)(),(0,l.createElementBlock)(`nav`,b,[(0,l.createElementVNode)(`ol`,x,[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(p.value,(t,n)=>((0,l.openBlock)(),(0,l.createElementBlock)(`li`,{key:`${t.path}:${n}`,class:`lumal-breadcrumb__item`},[n>0?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:0,class:`lumal-breadcrumb__separator`,name:`lumal:chevron-right`,size:14})):(0,l.createCommentVNode)(``,!0),n===p.value.length-1?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,S,[e.showIcon&&t.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:0,name:t.icon,size:15},null,8,[`name`])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(t.title),1)])):((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:2,class:`lumal-breadcrumb__link`,type:`button`,onClick:e=>r(`select`,t.path)},[e.showIcon&&t.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:0,name:t.icon,size:15},null,8,[`name`])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(t.title),1)],8,C))]))),128))])])):(0,l.createCommentVNode)(``,!0)}}),T=c.t(w,[[`__scopeId`,`data-v-53a036d9`]]),E=(0,l.defineComponent)({__name:`LumalContent`,setup(e,{expose:t}){let n=(0,l.useTemplateRef)(`contentRef`);return t({getContentElement:()=>n.value?.$el,getContentInstance:()=>n.value}),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElMain),{ref_key:`contentRef`,ref:n,class:`lumal-content`},{default:(0,l.withCtx)(()=>[(0,l.renderSlot)(e.$slots,`default`,{},void 0,!0)]),_:3},512))}}),ee=c.t(E,[[`__scopeId`,`data-v-a0d6361c`]]),D={class:`lumal-global-search`},O={key:0},te=[`aria-labelledby`],k={class:`lumal-global-search__header`},ne=[`id`],A={class:`lumal-global-search__input-wrap`},j=[`aria-activedescendant`,`aria-controls`,`placeholder`],M=[`id`],N=[`id`,`aria-selected`],P=[`onMouseenter`,`onClick`],re={key:0,class:`lumal-global-search__empty`,role:`status`},F=`<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="11" cy="11" r="7" stroke="currentColor" stroke-width="1.8"/><path d="m16.2 16.2 4 4" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg>`,ie=(0,l.defineComponent)({__name:`LumalGlobalSearch`,props:{maxResults:{default:12},menus:{default:()=>[]},placeholder:{default:`搜索菜单`},shortcut:{type:Boolean,default:!0}},emits:[`select`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=`lumal-global-search-${(0,l.useId)()}`,o=(0,l.useTemplateRef)(`inputRef`),s=(0,l.useTemplateRef)(`triggerRef`),c=(0,l.ref)(!1),d=(0,l.ref)(``),f=(0,l.ref)(0);function p(e,t=[]){return e.flatMap(e=>{if(e.hidden)return[];let n=[...t,e.title];return[{item:e,trail:n},...p(e.children??[],n)]})}let m=(0,l.computed)(()=>p(r.menus)),h=(0,l.computed)(()=>{let e=d.value.trim().toLocaleLowerCase();return(e?m.value.filter(({item:t,trail:n})=>`${n.join(` `)} ${t.path}`.toLocaleLowerCase().includes(e)):m.value).slice(0,Math.max(1,r.maxResults))}),g=(0,l.computed)(()=>h.value[f.value]?`${a}-option-${f.value}`:void 0);function _(){c.value=!0,d.value=``,f.value=0,(0,l.nextTick)(()=>o.value?.focus())}function v(e=!0){c.value=!1,e&&(0,l.nextTick)(()=>s.value?.focus())}function y(e){e&&(i(`select`,e.item.path,e.item),v())}function b(e){if(e.key===`Escape`){e.preventDefault(),v();return}if(h.value.length!==0){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;f.value=(f.value+t+h.value.length)%h.value.length;return}e.key===`Enter`&&(e.preventDefault(),y(h.value[f.value]))}}function x(e){!r.shortcut||e.altKey||e.shiftKey||e.key.toLocaleLowerCase()!==`k`||!e.ctrlKey&&!e.metaKey||(e.preventDefault(),c.value?v(!1):_())}return(0,l.watch)(h,()=>{f.value=0}),(0,l.onMounted)(()=>{window.addEventListener(`keydown`,x)}),(0,l.onBeforeUnmount)(()=>{window.removeEventListener(`keydown`,x)}),t({close:v,open:_}),(t,n)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,D,[(0,l.createElementVNode)(`button`,{ref_key:`triggerRef`,ref:s,class:`lumal-global-search__trigger`,type:`button`,"aria-label":`打开全局搜索`,title:`全局搜索`,onClick:_},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{icon:F,size:17}),n[3]||=(0,l.createElementVNode)(`span`,{class:`lumal-global-search__trigger-label`},`搜索`,-1),e.shortcut?((0,l.openBlock)(),(0,l.createElementBlock)(`kbd`,O,`Ctrl K`)):(0,l.createCommentVNode)(``,!0)],512),((0,l.openBlock)(),(0,l.createBlock)(l.Teleport,{to:`body`},[c.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,class:`lumal-global-search__backdrop`,onMousedown:n[2]||=(0,l.withModifiers)(e=>v(),[`self`])},[(0,l.createElementVNode)(`section`,{class:`lumal-global-search__dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`${a}-title`},[(0,l.createElementVNode)(`header`,k,[(0,l.createElementVNode)(`h2`,{id:`${a}-title`},` 全局搜索 `,8,ne),(0,l.createElementVNode)(`button`,{type:`button`,"aria-label":`关闭全局搜索`,title:`关闭`,onClick:n[0]||=e=>v()},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:close`,size:17})])]),(0,l.createElementVNode)(`label`,A,[n[4]||=(0,l.createElementVNode)(`span`,{class:`lumal-global-search__sr-only`},`搜索菜单`,-1),(0,l.createVNode)((0,l.unref)(u.LumalIcon),{icon:F,size:18}),(0,l.withDirectives)((0,l.createElementVNode)(`input`,{ref_key:`inputRef`,ref:o,"onUpdate:modelValue":n[1]||=e=>d.value=e,role:`combobox`,autocomplete:`off`,"aria-activedescendant":g.value,"aria-autocomplete":`list`,"aria-controls":`${a}-results`,"aria-expanded":`true`,placeholder:e.placeholder,onKeydown:b},null,40,j),[[l.vModelText,d.value]])]),(0,l.createElementVNode)(`ul`,{id:`${a}-results`,class:`lumal-global-search__results`,role:`listbox`},[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(h.value,(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(`li`,{id:`${a}-option-${t}`,key:e.item.path,role:`option`,"aria-selected":t===f.value},[(0,l.createElementVNode)(`button`,{type:`button`,class:(0,l.normalizeClass)({"is-active":t===f.value}),onMouseenter:e=>f.value=t,onClick:t=>y(e)},[e.item.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:0,name:e.item.icon,size:18},null,8,[`name`])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,null,[(0,l.createElementVNode)(`strong`,null,(0,l.toDisplayString)(e.item.title),1),(0,l.createElementVNode)(`small`,null,(0,l.toDisplayString)(e.trail.join(` / `)),1)]),(0,l.createElementVNode)(`code`,null,(0,l.toDisplayString)(e.item.path),1)],42,P)],8,N))),128))],8,M),h.value.length===0?((0,l.openBlock)(),(0,l.createElementBlock)(`p`,re,` 未找到匹配菜单,请尝试其他关键词 `)):(0,l.createCommentVNode)(``,!0)],8,te)],32)):(0,l.createCommentVNode)(``,!0)]))]))}}),ae=c.t(ie,[[`__scopeId`,`data-v-a433539f`]]),I={class:`lumal-header__left`},L={key:0,class:`lumal-header__title`},R={key:0,class:`lumal-header__breadcrumb`},z={key:1,class:`lumal-header__navigation`,"aria-label":`主导航`},B={key:2,class:`lumal-header__actions`},V=(0,l.defineComponent)({__name:`LumalHeader`,props:{title:{},collapsed:{type:Boolean,default:!1},height:{default:`50px`},mobileOnlyToggle:{type:Boolean,default:!1},sidebarEnabled:{type:Boolean,default:!0},toggleAfterTitle:{type:Boolean,default:!1}},emits:[`toggleCollapse`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=(0,l.useTemplateRef)(`headerRef`),o=(0,l.computed)(()=>r.collapsed?`展开侧边栏`:`收起侧边栏`);function s(){i(`toggleCollapse`)}return t({getHeaderElement:()=>a.value?.$el,getHeaderInstance:()=>a.value}),(t,n)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElHeader),{ref_key:`headerRef`,ref:a,class:`lumal-header`,height:e.height},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,I,[(0,l.renderSlot)(t.$slots,`logo`,{},()=>[e.title?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,L,(0,l.toDisplayString)(e.title),1)):(0,l.createCommentVNode)(``,!0)],!0),e.sidebarEnabled?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElButton),{key:0,class:(0,l.normalizeClass)([`lumal-header__toggle`,{"is-after-title":e.toggleAfterTitle,"is-mobile-only":e.mobileOnlyToggle}]),text:``,"aria-label":o.value,"data-action":`toggle-sidebar`,onClick:s},{default:(0,l.withCtx)(()=>[...n[0]||=[(0,l.createElementVNode)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`},[(0,l.createElementVNode)(`path`,{d:`M4 7h16M4 12h16M4 17h16`})],-1)]]),_:1},8,[`class`,`aria-label`])):(0,l.createCommentVNode)(``,!0)]),t.$slots.breadcrumb?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,R,[(0,l.renderSlot)(t.$slots,`breadcrumb`,{},void 0,!0)])):(0,l.createCommentVNode)(``,!0),t.$slots.navigation?((0,l.openBlock)(),(0,l.createElementBlock)(`nav`,z,[(0,l.renderSlot)(t.$slots,`navigation`,{},void 0,!0)])):(0,l.createCommentVNode)(``,!0),t.$slots.actions?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,B,[(0,l.renderSlot)(t.$slots,`actions`,{},void 0,!0)])):(0,l.createCommentVNode)(``,!0)]),_:3},8,[`height`]))}}),oe=c.t(V,[[`__scopeId`,`data-v-e9574860`]]),H=[`aria-label`],U={key:0,"aria-hidden":`true`},W=(0,l.defineComponent)({__name:`LumalMenuBadge`,props:{badge:{default:``},label:{default:`菜单`},tone:{default:`primary`},type:{default:`text`}},setup(e){let t=e,n=(0,l.computed)(()=>t.type===`dot`||t.badge===0||!!t.badge),r=(0,l.computed)(()=>t.type===`dot`?`${t.label}有新内容`:`${t.label}:${t.badge}`);return(t,i)=>n.value?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,{key:0,class:(0,l.normalizeClass)([`lumal-menu-badge`,[`is-${e.tone}`,{"is-dot":e.type===`dot`}]]),role:`status`,"aria-label":r.value},[e.type===`text`?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,U,(0,l.toDisplayString)(e.badge),1)):(0,l.createCommentVNode)(``,!0)],10,H)):(0,l.createCommentVNode)(``,!0)}}),G=c.t(W,[[`__scopeId`,`data-v-0ca73e4b`]]),K={key:0,class:`lumal-sidebar-menu-item__icon`,"aria-hidden":`true`},q={class:`lumal-sidebar-menu-item__label`},J={class:`lumal-sidebar-menu-item__title`},Y={key:1,class:`lumal-sidebar-menu-item__external`,"aria-hidden":`true`},se=[`title`],ce={key:0,class:`lumal-sidebar-menu-item__icon`,"aria-hidden":`true`},le={class:`lumal-sidebar-menu-item__label`},X={class:`lumal-sidebar-menu-item__title`},Z={key:0,class:`lumal-sidebar-menu-item__icon`,"aria-hidden":`true`},Q={class:`lumal-sidebar-menu-item__label`},ue={class:`lumal-sidebar-menu-item__title`},de={key:1,class:`lumal-sidebar-menu-item__external`,"aria-hidden":`true`},fe=(0,l.defineComponent)({__name:`LumalSidebarMenuItem`,props:{activePath:{},collapsed:{type:Boolean},depth:{},item:{}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=(0,l.computed)(()=>n.item.children?.filter(e=>!e.hidden)??[]),a=(0,l.computed)(()=>i.value.length>0),o=(0,l.computed)(()=>!!n.item.externalLink&&n.item.externalTarget!==`_self`);function s(e){r(`select`,e)}return(t,n)=>{let r=(0,l.resolveComponent)(`LumalSidebarMenuItem`,!0);return a.value?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElSubMenu),{key:0,class:`lumal-sidebar-menu-item`,index:e.item.path,title:e.collapsed?e.item.title:void 0},{title:(0,l.withCtx)(()=>[e.item.icon?((0,l.openBlock)(),(0,l.createElementBlock)(`i`,K,[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:e.item.icon,size:16},null,8,[`name`])])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,q,[(0,l.createElementVNode)(`span`,J,(0,l.toDisplayString)(e.item.title),1),(0,l.createVNode)(G,{badge:e.item.badge,label:e.item.title,tone:e.item.badgeTone,type:e.item.badgeType},null,8,[`badge`,`label`,`tone`,`type`])]),e.item.externalLink?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,Y,`↗`)):(0,l.createCommentVNode)(``,!0)]),default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(i.value,t=>((0,l.openBlock)(),(0,l.createBlock)(r,{key:t.path,item:t,"active-path":e.activePath,collapsed:e.collapsed,depth:(e.depth??0)+1,onSelect:s},null,8,[`item`,`active-path`,`collapsed`,`depth`]))),128))]),_:1},8,[`index`,`title`])):o.value?((0,l.openBlock)(),(0,l.createElementBlock)(`li`,{key:1,class:`el-menu-item lumal-sidebar-menu-item lumal-sidebar-menu-item--external`,role:`menuitem`,tabindex:`-1`,title:e.collapsed?e.item.title:void 0,onClick:n[0]||=t=>s(e.item.path)},[e.item.icon?((0,l.openBlock)(),(0,l.createElementBlock)(`i`,ce,[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:e.item.icon,size:16},null,8,[`name`])])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,le,[(0,l.createElementVNode)(`span`,X,(0,l.toDisplayString)(e.item.title),1),(0,l.createVNode)(G,{badge:e.item.badge,label:e.item.title,tone:e.item.badgeTone,type:e.item.badgeType},null,8,[`badge`,`label`,`tone`,`type`])]),n[2]||=(0,l.createElementVNode)(`span`,{class:`lumal-sidebar-menu-item__external`,"aria-hidden":`true`},`↗`,-1)],8,se)):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElMenuItem),{key:2,class:`lumal-sidebar-menu-item`,index:e.item.path,title:e.collapsed?e.item.title:void 0,onClick:n[1]||=t=>s(e.item.path)},{default:(0,l.withCtx)(()=>[e.item.icon?((0,l.openBlock)(),(0,l.createElementBlock)(`i`,Z,[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:e.item.icon,size:16},null,8,[`name`])])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,Q,[(0,l.createElementVNode)(`span`,ue,(0,l.toDisplayString)(e.item.title),1),(0,l.createVNode)(G,{badge:e.item.badge,label:e.item.title,tone:e.item.badgeTone,type:e.item.badgeType},null,8,[`badge`,`label`,`tone`,`type`])]),e.item.externalLink?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,de,`↗`)):(0,l.createCommentVNode)(``,!0)]),_:1},8,[`index`,`title`]))}}}),pe=c.t(fe,[[`__scopeId`,`data-v-a5f8c946`]]),$=(0,l.defineComponent)({__name:`LumalSidebar`,props:{menus:{default:()=>[]},activePath:{default:``},ariaLabel:{default:`侧边导航`},collapsed:{type:Boolean,default:!1},width:{default:`280px`},collapsedWidth:{default:`64px`}},emits:[`select`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=(0,l.useTemplateRef)(`asideRef`),o=(0,l.computed)(()=>r.collapsed?r.collapsedWidth:r.width);function s(e){i(`select`,e)}return t({getAsideElement:()=>a.value?.$el,getAsideInstance:()=>a.value}),(t,n)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElAside),{ref_key:`asideRef`,ref:a,class:`lumal-sidebar`,width:o.value,"aria-label":e.ariaLabel},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ElScrollbar),{class:`lumal-sidebar__scrollbar`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(d.ElMenu),{class:`lumal-sidebar__menu`,collapse:e.collapsed,"default-active":e.activePath},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.menus.filter(e=>!e.hidden),t=>((0,l.openBlock)(),(0,l.createBlock)(pe,{key:t.path,item:t,"active-path":e.activePath,collapsed:e.collapsed,depth:0,onSelect:s},null,8,[`item`,`active-path`,`collapsed`]))),128))]),_:1},8,[`collapse`,`default-active`])]),_:1})]),_:1},8,[`width`,`aria-label`]))}}),me=c.t($,[[`__scopeId`,`data-v-d9c4d4bc`]]),he=[`disabled`],ge=[`onContextmenu`],_e=[`aria-selected`,`tabindex`,`onClick`,`onKeydown`,`onMousedown`],ve=[`title`],ye=[`aria-label`,`onClick`],be=[`disabled`],xe=[`disabled`],Se=[`aria-expanded`],Ce=[`aria-label`],we=[`disabled`],Te=[`disabled`],Ee=[`disabled`],De=[`disabled`],Oe=[`disabled`],ke=[`disabled`],Ae=[`disabled`],je=[`disabled`],Me=[`disabled`],Ne=192,Pe=220,Fe=(0,l.defineComponent)({__name:`LumalTabs`,props:(0,l.mergeModels)({activePath:{default:``},draggable:{type:Boolean,default:!0},fullscreenTarget:{default:`[data-layout-fullscreen-target]`},middleClickToClose:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},showMaximize:{type:Boolean,default:!0},showMore:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},styleType:{default:`chrome`},tabs:{default:()=>[]},visible:{type:Boolean,default:!0},wheelable:{type:Boolean,default:!0},standaloneMaximize:{type:Boolean,default:!1}},{activePath:{default:``},activePathModifiers:{}}),emits:(0,l.mergeModels)([`change`,`closeAll`,`closeLeft`,`closeOthers`,`closeRight`,`maximize`,`newWindow`,`pin`,`refresh`,`remove`,`reorder`],[`update:activePath`]),setup(e,{expose:t,emit:n}){let r=e,i=n,a=(0,l.useModel)(e,`activePath`),o=(0,l.useTemplateRef)(`tabsViewportRef`),s=(0,l.shallowRef)({path:``,style:{},visible:!1}),c=(0,l.shallowRef)({path:``,style:{},visible:!1}),d=(0,l.shallowRef)(!1),f=(0,l.shallowRef)(!1),m=(0,l.shallowRef)(!0),h=(0,l.shallowRef)(!1),g,_,v=null,y=(0,l.computed)(()=>s.value.visible?s.value:c.value),b=(0,l.computed)(()=>y.value.path),x=(0,l.shallowRef)(!0),S;function C(){x.value=!S||!S.matches}function w(){typeof window>`u`||typeof window.matchMedia!=`function`||(S=window.matchMedia(`(max-width: 768px)`),C(),typeof S.addEventListener==`function`?S.addEventListener(`change`,C):S.addListener?.(C))}function T(){typeof S?.removeEventListener==`function`?S.removeEventListener(`change`,C):S?.removeListener?.(C),S=void 0}let E=(0,l.computed)(()=>r.draggable&&x.value),ee=(0,l.computed)(()=>r.tabs.some(e=>e.closable!==!1&&e.pinned!==!0));function D(e){return r.tabs.length>1&&r.tabs.some(t=>t.path===e&&t.closable!==!1&&t.pinned!==!0)}function O(e,t){let n=r.tabs.findIndex(t=>t.path===e);return(t===`left`?r.tabs.slice(0,n):r.tabs.slice(n+1)).some(e=>e.closable!==!1&&e.pinned!==!0)}function te(e){return r.tabs.some(t=>t.path!==e&&t.closable!==!1&&t.pinned!==!0)}function k(e){return e===a.value}function ne(e){let t=r.tabs.find(t=>t.path===e);return!!t&&t.pinned!==!0&&t.closable!==!1}function A(e){let t=r.tabs.find(t=>t.path===e);return!!t&&t.pinned===!0&&t.closable!==!1}function j(e){let t=b.value;return e===`close`?!D(t):e===`close-left`||e===`close-right`?!t||!k(t)||!O(t,e===`close-left`?`left`:`right`):e===`close-others`?!t||!k(t)||!te(t):e===`close-all`?!ee.value:e===`refresh`?!t||!k(t):e===`pin`?!ne(t)&&!A(t):e===`new-window`&&!t}function M(e){return A(e)?`取消固定`:`固定`}function N(){return d.value?`还原`:`内容最大化`}function P(e){e!==a.value&&(a.value=e,i(`change`,e))}function re(e){D(e)&&i(`remove`,e)}function F(e){e&&k(e)&&i(`refresh`,e)}function ie(e,t){e.button!==1||!r.middleClickToClose||!D(t.path)||(e.preventDefault(),i(`remove`,t.path))}function ae(e,t){if(![`ArrowLeft`,`ArrowRight`,`End`,`Home`].includes(e.key)||r.tabs.length===0)return;e.preventDefault();let n=e.key===`Home`?0:e.key===`End`?r.tabs.length-1:e.key===`ArrowLeft`?(t-1+r.tabs.length)%r.tabs.length:(t+1)%r.tabs.length,i=r.tabs[n];i&&(P(i.path),(0,l.nextTick)(()=>{o.value?.querySelectorAll(`[role="tab"]`).item(n).focus()}))}function I(e,t){return{left:`${Math.max(8,Math.min(e,window.innerWidth-Ne-8))}px`,top:`${Math.max(8,Math.min(t,window.innerHeight-Pe-8))}px`}}function L(){s.value={...s.value,visible:!1},c.value={...c.value,visible:!1}}function R(e,t){e.preventDefault(),e.stopPropagation(),v=e.currentTarget,s.value={path:t,style:I(e.clientX,e.clientY),visible:!0},c.value={...c.value,visible:!1}}function z(e){e.preventDefault(),e.stopPropagation();let t=a.value||r.tabs[0]?.path||``;v=e.currentTarget,c.value={path:t,style:I(e.clientX,e.clientY),visible:!0},s.value={...s.value,visible:!1}}function B(){v&&document.body.contains(v)&&(v.focus(),v=null)}function V(e){if(j(e))return;let t=b.value;L(),e===`close`?i(`remove`,t):e===`close-left`?i(`closeLeft`,t):e===`close-right`?i(`closeRight`,t):e===`close-others`?i(`closeOthers`,t):e===`close-all`?i(`closeAll`):e===`refresh`?i(`refresh`,t):e===`pin`?i(`pin`,t,!A(t)):e===`new-window`?i(`newWindow`,t):e===`maximize`&&Y(),(0,l.nextTick)(B)}function oe(e){if(e.key===`Escape`){e.preventDefault(),L(),(0,l.nextTick)(B);return}let t=Array.from(document.querySelectorAll(`[data-menu-active="true"] [role="menuitem"]:not(:disabled)`));if(t.length!==0&&(e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Home`||e.key===`End`)){e.preventDefault();let n=t.findIndex(e=>e===document.activeElement),r;r=e.key===`ArrowDown`?n===-1?0:(n+1)%t.length:e.key===`ArrowUp`?n===-1?t.length-1:(n-1+t.length)%t.length:e.key===`Home`?0:t.length-1,t[r]?.focus()}}function H(){let e=o.value;e&&(f.value=e.scrollWidth>e.clientWidth+1,m.value=e.scrollLeft<=1,h.value=e.scrollLeft+e.clientWidth>=e.scrollWidth-1)}function U(){return window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`}function W(e){let t=o.value;t&&t.scrollBy({behavior:U(),left:(e===`left`?-1:1)*Math.max(160,t.clientWidth-120)})}function G(e){if(!r.wheelable)return;let t=o.value;!t||!f.value||(e.preventDefault(),t.scrollBy({left:Math.abs(e.deltaY)>Math.abs(e.deltaX)?e.deltaY:e.deltaX}))}async function K(){await(0,l.nextTick)(),(o.value?.querySelector(`[role="tab"][aria-selected="true"]`))?.scrollIntoView({behavior:U(),block:`nearest`,inline:`nearest`}),H()}function q(){let e=o.value?.querySelector(`.lumal-tabs__list`);if(!e||!E.value){J();return}_&&_.el===e||(J(),_=p.default.create(e,{animation:160,draggable:`.lumal-tabs__item`,filter:`.is-not-draggable`,ghostClass:`lumal-tabs__item--ghost`,chosenClass:`lumal-tabs__item--chosen`,onEnd:e=>{if(e.oldIndex===void 0||e.newIndex===void 0||e.oldIndex===e.newIndex)return;let t=r.tabs[e.oldIndex]?.path,n=r.tabs[e.newIndex]?.path;!t||!n||i(`reorder`,t,n)}}))}function J(){_?.destroy(),_=void 0}(0,l.watch)(E,e=>{e?(0,l.nextTick)(q):J()});function Y(){if(r.standaloneMaximize){se();return}d.value=!d.value,i(`maximize`,d.value)}async function se(){let e=document.querySelector(r.fullscreenTarget);e instanceof HTMLElement&&(document.fullscreenElement?await document.exitFullscreen?.():await e.requestFullscreen?.())}function ce(){d.value=!!document.fullscreenElement&&r.standaloneMaximize,r.standaloneMaximize&&i(`maximize`,d.value)}function le(e){r.standaloneMaximize||(d.value=e)}t({getTabsElement:()=>o.value,refreshCurrent:()=>F(a.value),scrollTabs:W,toggleFullscreen:Y,setMaximized:le}),(0,l.watch)(()=>[r.activePath,r.tabs.length],()=>void K(),{flush:`post`}),(0,l.watch)(()=>r.tabs,()=>void(0,l.nextTick)(H),{flush:`post`});function X(e){let t=e.target;t&&(t.closest?.(`.lumal-tabs-context-menu`)||t.closest?.(`[data-tab-menu-trigger]`)||L())}function Z(e){e.key===`Escape`&&y.value.visible&&(e.preventDefault(),L(),(0,l.nextTick)(B))}return(0,l.onMounted)(()=>{w(),document.addEventListener(`click`,X),document.addEventListener(`fullscreenchange`,ce),document.addEventListener(`keydown`,Z),H(),typeof ResizeObserver<`u`&&o.value&&(g=new ResizeObserver(H),g.observe(o.value)),E.value&&(0,l.nextTick)(q)}),(0,l.onBeforeUnmount)(()=>{T(),document.removeEventListener(`click`,X),document.removeEventListener(`fullscreenchange`,ce),document.removeEventListener(`keydown`,Z),g?.disconnect(),J()}),(t,n)=>e.visible&&e.tabs.length?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,class:(0,l.normalizeClass)([`lumal-tabs`,[`is-style-${e.styleType}`]])},[(0,l.withDirectives)((0,l.createElementVNode)(`button`,{class:`lumal-tabs__tool`,type:`button`,"aria-label":`向左滚动标签`,disabled:m.value,onClick:n[0]||=e=>W(`left`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:chevron-left`,size:16})],8,he),[[l.vShow,f.value]]),(0,l.createElementVNode)(`div`,{ref_key:`tabsViewportRef`,ref:o,class:`lumal-tabs__viewport`,onScroll:H,onWheel:G},[(0,l.createVNode)(l.TransitionGroup,{name:`lumal-tab`,tag:`div`,class:`lumal-tabs__list`,role:`tablist`,"aria-label":`页面标签`},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.tabs,(t,n)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:t.path,class:(0,l.normalizeClass)([`lumal-tabs__item`,{"is-active":t.path===a.value,"is-pinned":t.pinned===!0,"is-not-draggable":t.pinned===!0||!E.value}]),onContextmenu:e=>R(e,t.path)},[(0,l.createElementVNode)(`button`,{class:`lumal-tabs__tab`,type:`button`,role:`tab`,"aria-selected":t.path===a.value,tabindex:t.path===a.value?0:-1,onClick:e=>P(t.path),onKeydown:e=>ae(e,n),onMousedown:e=>ie(e,t)},[t.pinned===!0?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:0,class:`lumal-tabs__pin`,name:`lumal:pin`,size:14})):e.showIcon&&t.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:1,name:t.icon,size:14},null,8,[`name`])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,{class:`lumal-tabs__label`,title:t.title},(0,l.toDisplayString)(t.title),9,ve)],40,_e),D(t.path)?((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:0,class:`lumal-tabs__close`,type:`button`,"aria-label":`关闭${t.title}`,onClick:e=>re(t.path)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:close`,size:14})],8,ye)):(0,l.createCommentVNode)(``,!0)],42,ge))),128))]),_:1})],544),(0,l.withDirectives)((0,l.createElementVNode)(`button`,{class:`lumal-tabs__tool`,type:`button`,"aria-label":`向右滚动标签`,disabled:h.value,onClick:n[1]||=e=>W(`right`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:chevron-right`,size:16})],8,be),[[l.vShow,f.value]]),e.showRefresh?((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:0,class:`lumal-tabs__tool lumal-tabs__tool--refresh`,type:`button`,"aria-label":`刷新当前页面`,"data-action":`refresh-current-tab`,disabled:!a.value,onClick:n[2]||=e=>F(a.value)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:refresh`,size:16})],8,xe)):(0,l.createCommentVNode)(``,!0),e.showMore?((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:1,class:`lumal-tabs__tool`,type:`button`,"aria-label":`更多操作`,"aria-haspopup":`menu`,"aria-expanded":c.value.visible,"data-tab-menu-trigger":``,onClick:n[3]||=e=>z(e)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:more`,size:16})],8,Se)):(0,l.createCommentVNode)(``,!0),e.showMaximize?((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:2,class:`lumal-tabs__tool lumal-tabs__tool--maximize`,type:`button`,"aria-label":d.value?`退出内容最大化`:`内容最大化`,"data-action":`maximize-content`,onClick:Y},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:d.value?`lumal:restore`:`lumal:maximize`,size:16},null,8,[`name`])],8,Ce)):(0,l.createCommentVNode)(``,!0),((0,l.openBlock)(),(0,l.createBlock)(l.Teleport,{to:`body`},[s.value.visible||c.value.visible?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,class:`lumal-tabs-context-menu`,role:`menu`,"data-menu-active":!0,style:(0,l.normalizeStyle)(y.value.style),onClick:n[13]||=(0,l.withModifiers)(()=>{},[`stop`]),onKeydown:oe},[(0,l.createElementVNode)(`button`,{type:`button`,role:`menuitem`,disabled:j(`refresh`),onClick:n[4]||=e=>V(`refresh`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:refresh`,size:14}),n[14]||=(0,l.createElementVNode)(`span`,null,`重新加载`,-1)],8,we),(0,l.createElementVNode)(`button`,{type:`button`,role:`menuitem`,disabled:j(`pin`),onClick:n[5]||=e=>V(`pin`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:A(b.value)?`lumal:pin-off`:`lumal:pin`,size:14},null,8,[`name`]),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(M(b.value)),1)],8,Te),(0,l.createElementVNode)(`button`,{type:`button`,role:`menuitem`,disabled:j(`maximize`),onClick:n[6]||=e=>V(`maximize`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:d.value?`lumal:restore`:`lumal:maximize`,size:14},null,8,[`name`]),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(N()),1)],8,Ee),(0,l.createElementVNode)(`button`,{type:`button`,role:`menuitem`,disabled:j(`new-window`),onClick:n[7]||=e=>V(`new-window`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:external-link`,size:14}),n[15]||=(0,l.createElementVNode)(`span`,null,`在新窗口打开`,-1)],8,De),n[21]||=(0,l.createElementVNode)(`span`,{class:`lumal-tabs-context-menu__divider`},null,-1),(0,l.createElementVNode)(`button`,{type:`button`,role:`menuitem`,disabled:j(`close`),onClick:n[8]||=e=>V(`close`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:close`,size:14}),n[16]||=(0,l.createElementVNode)(`span`,null,`关闭`,-1)],8,Oe),(0,l.createElementVNode)(`button`,{type:`button`,role:`menuitem`,disabled:j(`close-left`),onClick:n[9]||=e=>V(`close-left`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:chevron-left`,size:14}),n[17]||=(0,l.createElementVNode)(`span`,null,`关闭左侧`,-1)],8,ke),(0,l.createElementVNode)(`button`,{type:`button`,role:`menuitem`,disabled:j(`close-right`),onClick:n[10]||=e=>V(`close-right`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:chevron-right`,size:14}),n[18]||=(0,l.createElementVNode)(`span`,null,`关闭右侧`,-1)],8,Ae),(0,l.createElementVNode)(`button`,{type:`button`,role:`menuitem`,disabled:j(`close-others`),onClick:n[11]||=e=>V(`close-others`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:close`,size:14}),n[19]||=(0,l.createElementVNode)(`span`,null,`关闭其他`,-1)],8,je),(0,l.createElementVNode)(`button`,{type:`button`,role:`menuitem`,disabled:j(`close-all`),onClick:n[12]||=e=>V(`close-all`)},[(0,l.createVNode)((0,l.unref)(u.LumalIcon),{name:`lumal:close`,size:14}),n[20]||=(0,l.createElementVNode)(`span`,null,`关闭全部`,-1)],8,Me)],36)):(0,l.createCommentVNode)(``,!0)]))],2)):(0,l.createCommentVNode)(``,!0)}}),Ie=c.t(Fe,[[`__scopeId`,`data-v-5ebf2b13`]]),Le={class:`lumal-top-nav-menu-item__label`},Re={key:1,class:`lumal-top-nav-menu-item__external`,"aria-hidden":`true`},ze={class:`lumal-top-nav-menu-item__label`},Be={class:`lumal-top-nav-menu-item__label`},Ve={key:1,class:`lumal-top-nav-menu-item__external`,"aria-hidden":`true`},He=(0,l.defineComponent)({__name:`LumalTopNavMenuItem`,props:{activePath:{default:``},item:{}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=(0,l.computed)(()=>n.item.children?.filter(e=>!e.hidden)??[]),a=(0,l.computed)(()=>!!n.item.externalLink&&n.item.externalTarget!==`_self`),o=(0,l.computed)(()=>!!n.activePath&&m(n.item,n.activePath));function s(e){r(`select`,e)}return(t,n)=>{let r=(0,l.resolveComponent)(`LumalTopNavMenuItem`,!0);return i.value.length?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElSubMenu),{key:0,index:e.item.path,class:(0,l.normalizeClass)({"is-active":o.value})},{title:(0,l.withCtx)(()=>[e.item.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:0,name:e.item.icon,size:16},null,8,[`name`])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,Le,[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.item.title),1),(0,l.createVNode)(G,{badge:e.item.badge,label:e.item.title,tone:e.item.badgeTone,type:e.item.badgeType},null,8,[`badge`,`label`,`tone`,`type`])]),e.item.externalLink?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,Re,`↗`)):(0,l.createCommentVNode)(``,!0)]),default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(i.value,t=>((0,l.openBlock)(),(0,l.createBlock)(r,{key:t.path,item:t,"active-path":e.activePath,onSelect:s},null,8,[`item`,`active-path`]))),128))]),_:1},8,[`index`,`class`])):a.value?((0,l.openBlock)(),(0,l.createElementBlock)(`li`,{key:1,class:(0,l.normalizeClass)([`el-menu-item lumal-top-nav-menu-item--external`,{"is-active":o.value}]),role:`menuitem`,tabindex:`-1`,onClick:n[0]||=t=>s(e.item.path)},[e.item.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:0,name:e.item.icon,size:16},null,8,[`name`])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,ze,[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.item.title),1),(0,l.createVNode)(G,{badge:e.item.badge,label:e.item.title,tone:e.item.badgeTone,type:e.item.badgeType},null,8,[`badge`,`label`,`tone`,`type`])]),n[2]||=(0,l.createElementVNode)(`span`,{class:`lumal-top-nav-menu-item__external`,"aria-hidden":`true`},`↗`,-1)],2)):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElMenuItem),{key:2,index:e.item.path,class:(0,l.normalizeClass)({"is-active":o.value}),onClick:n[1]||=t=>s(e.item.path)},{default:(0,l.withCtx)(()=>[e.item.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:0,name:e.item.icon,size:16},null,8,[`name`])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,Be,[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.item.title),1),(0,l.createVNode)(G,{badge:e.item.badge,label:e.item.title,tone:e.item.badgeTone,type:e.item.badgeType},null,8,[`badge`,`label`,`tone`,`type`])]),e.item.externalLink?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,Ve,`↗`)):(0,l.createCommentVNode)(``,!0)]),_:1},8,[`index`,`class`]))}}}),Ue=c.t(He,[[`__scopeId`,`data-v-f78b5b43`]]),We={class:`lumal-top-nav__label`},Ge={key:1,class:`lumal-top-nav__external`,"aria-hidden":`true`},Ke=(0,l.defineComponent)({__name:`LumalTopNav`,props:{activePath:{default:``},align:{default:`left`},maxWidth:{default:`100%`},menus:{default:()=>[]},mode:{default:`tree`}},emits:[`select`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=(0,l.useTemplateRef)(`menuRef`),o=(0,l.computed)(()=>r.menus.filter(e=>!e.hidden));function s(e){return!!e.externalLink&&e.externalTarget!==`_self`}function c(e){return r.activePath?r.mode===`flat`?e.path===r.activePath:m(e,r.activePath):!1}function f(e){let t=c(e);return s(e)?{class:[`el-menu-item`,`lumal-top-nav__external-item`,{"is-active":t}],role:`menuitem`,tabindex:-1}:{class:{"is-active":t},index:e.path}}let p=(0,l.computed)(()=>({"--lumal-top-nav-max-width":typeof r.maxWidth==`number`?`${r.maxWidth}px`:r.maxWidth}));function h(e){i(`select`,e)}return t({getMenuElement:()=>a.value?.$el,getMenuInstance:()=>a.value}),(t,n)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElMenu),{key:`top-nav:${e.mode}:${e.activePath}`,ref_key:`menuRef`,ref:a,class:(0,l.normalizeClass)([`lumal-top-nav`,`is-align-${e.align}`]),mode:`horizontal`,"default-active":e.activePath,ellipsis:!0,style:(0,l.normalizeStyle)(p.value)},{default:(0,l.withCtx)(()=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.mode===`tree`?o.value:[],t=>((0,l.openBlock)(),(0,l.createBlock)(Ue,{key:`tree:${t.path}`,item:t,"active-path":e.activePath,onSelect:h},null,8,[`item`,`active-path`]))),128)),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.mode===`flat`?o.value:[],e=>((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(s(e)?`li`:(0,l.unref)(d.ElMenuItem)),(0,l.mergeProps)({key:`flat:${e.path}`},{ref_for:!0},f(e),{onClick:t=>h(e.path)}),{default:(0,l.withCtx)(()=>[e.icon?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.LumalIcon),{key:0,name:e.icon,size:16},null,8,[`name`])):(0,l.createCommentVNode)(``,!0),(0,l.createElementVNode)(`span`,We,[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.title),1),(0,l.createVNode)(G,{badge:e.badge,label:e.title,tone:e.badgeTone,type:e.badgeType},null,8,[`badge`,`label`,`tone`,`type`])]),e.externalLink?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,Ge,`↗`)):(0,l.createCommentVNode)(``,!0)]),_:2},1040,[`onClick`]))),128))]),_:1},8,[`class`,`default-active`,`style`]))}}),qe=c.t(Ke,[[`__scopeId`,`data-v-1c664f72`]]),Je=1,Ye=50;function Xe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ze(e){return Xe(e)?typeof e.path==`string`&&typeof e.title==`string`:!1}function Qe(e){let t=Math.max(1,e.maxHistory??50),n=e.history.slice(0,t);return{v:1,tabs:e.tabs.map(e=>({closable:e.closable,icon:e.icon,path:e.path,pinned:e.pinned===!0,title:e.title})),history:n}}function $e(e){if(!e)return;let t;try{t=JSON.parse(e)}catch{return}return!Xe(t)||t.v!==1||!Array.isArray(t.tabs)||!Array.isArray(t.history)||!t.history.every(e=>typeof e==`string`)?void 0:{v:1,tabs:t.tabs.filter(Ze),history:t.history}}function et(e,t,n){try{return e.setItem(t,JSON.stringify(n)),!0}catch{return!1}}function tt(e,t){let n=null;try{n=e.getItem(t)}catch{return}let r=$e(n);if(n){if(!r){try{e.removeItem(t)}catch{}return}return r}}function nt(e,t){try{e.removeItem(t)}catch{}}function rt(e,t){let n=t.fixedTabs.map(e=>({...e,pinned:!0,closable:!1})),r=new Set(n.map(e=>e.path)),i=t.isValidPath??(()=>!0),a=[];if(e)for(let n of e.tabs){if(!n.path||!i(n.path)||r.has(n.path))continue;let e=t.resolveTab?.(n.path)??{};a.push({closable:n.closable!==!1,icon:n.icon,path:n.path,pinned:n.pinned===!0,title:n.title,...e})}let o=[...n,...a];if(t.currentPath){let e=t.resolveTab?.(t.currentPath)??{},n={closable:!0,icon:e.icon,path:t.currentPath,pinned:!1,title:e.title??t.currentTab?.title??t.currentPath,...t.currentTab??{},...e};r.has(t.currentPath)||o.some(e=>e.path===t.currentPath)||(o=[...o,n])}o=[...o].sort((e,t)=>{let n=+(e.pinned===!0);return+(t.pinned===!0)-n});let s=e?.history??[];return{tabs:o,history:s}}function it(e){return[...e].sort((e,t)=>{let n=+(e.pinned===!0);return+(t.pinned===!0)-n})}function at(e,t,n={}){let r=e.some(e=>e.path===t.path)?[...e]:[...e,t],i=n.maxCount??0;if(i<=0||r.length<=i)return r;let a=[...r];for(;a.length>i;){let e=a.findIndex(e=>e.closable!==!1&&e.pinned!==!0&&e.path!==t.path);if(e===-1)break;a.splice(e,1)}return a}function ot(e,t,n){if(t<=0||e.length<=t)return[...e];let r=[...e];for(;r.length>t;){let e=r.findIndex(e=>e.closable!==!1&&e.pinned!==!0&&e.path!==n);if(e===-1)break;r.splice(e,1)}return r}function st(e,t){return e.filter(e=>!(e.path===t&&e.closable!==!1&&e.pinned!==!0))}function ct(e,t){let n=e.findIndex(e=>e.path===t);return n<=0?[...e]:e.filter((e,t)=>t>=n||e.closable===!1||e.pinned===!0)}function lt(e,t){let n=e.findIndex(e=>e.path===t);return n===-1||n>=e.length-1?[...e]:e.filter((e,t)=>t<=n||e.closable===!1||e.pinned===!0)}function ut(e,t){return e.filter(e=>e.path===t||e.closable===!1||e.pinned===!0)}function dt(e){let t=e.filter(e=>e.closable===!1||e.pinned===!0);return t.length>0?t:e.length>0?[e[0]]:[]}function ft(e,t){let n=!1,r=e.map(e=>e.path===t?(n=!0,{...e,pinned:!0}):e);return n?it(r):r}function pt(e,t){return e.map(e=>e.path===t&&e.closable!==!1?{...e,pinned:!1}:e)}function mt(e){return e.closable===!1}function ht(e){return e.pinned===!0&&e.closable!==!1}function gt(e){return e.pinned!==!0&&e.closable!==!1}var _t=50;function vt(e,t,n={}){if(!t)return[...e];let r=n.maxCount??_t;return[t,...e.filter(e=>e!==t)].slice(0,Math.max(1,r))}function yt(e,t,n=[],r={}){if(e.length===0)return``;if(r.useHistory&&n.length>0){let r=new Set(e.map(e=>e.path));for(let e of n)if(e!==t&&r.has(e))return e}let i=r.priorClosedIndex??-1;if(i>=0){let t=e[i];if(t)return t.path;let n=e[i-1];if(n)return n.path}return e[0]?.path??``}function bt(e,t,n){let r=e.findIndex(e=>e.path===t),i=e.findIndex(e=>e.path===n);if(r===-1||i===-1||r===i||e[r].pinned===!0!=(e[i].pinned===!0))return[...e];let a=[...e],[o]=a.splice(r,1);return o&&a.splice(i,0,o),a}function xt(e,t={}){return t.enable===!1?[]:e.map(e=>e.path)}var St=(0,l.defineComponent)({__name:`LumalLayout`,props:(0,l.mergeModels)({title:{},menus:{default:()=>[]},preferences:{},tabs:{default:()=>[]},activeMenuPath:{default:``},activeTabPath:{default:``},routeDriven:{type:Boolean,default:!1},routeTabFilter:{},routeTabResolver:{},tabFallbackPath:{default:``},tabMaxCount:{},fixedTabs:{default:()=>[]},headerHeight:{default:`50px`},showHeader:{type:Boolean,default:!0},tabStorageKey:{default:``},isValidTabPath:{},resolveTabUrl:{}},{activeTabPath:{},activeTabPathModifiers:{}}),emits:(0,l.mergeModels)([`menuSelect`,`topMenuSelect`,`toggleSidebar`,`tabChange`,`tabCloseAll`,`tabCloseLeft`,`tabCloseOthers`,`tabCloseRight`,`tabRefresh`,`tabRemove`,`tabPin`,`tabReorder`,`tabMaximize`,`tabNewWindow`],[`update:activeTabPath`]),setup(e,{expose:t,emit:n}){let r=e,i=n,a=(0,l.useModel)(e,`activeTabPath`),o=(0,l.inject)(f.routeLocationKey,void 0),s=(0,l.inject)(f.routerKey,void 0),c=(0,l.useTemplateRef)(`layoutRef`),u=(0,l.useTemplateRef)(`tabsRef`),p=(0,l.shallowRef)(!1),m=(0,l.shallowRef)(!1),g=(0,l.shallowRef)(!1),b=(0,l.shallowRef)([]),x=(0,l.shallowRef)(``),S=(0,l.shallowRef)([]),C=(0,l.computed)(()=>r.tabMaxCount??r.preferences.tabbar.maxCount),w;function E(e){return e.meta.layout!==`public`&&e.meta.hideInTab!==!0&&!!e.meta.title}function D(e){let t=typeof e.meta.title==`string`?e.meta.title:void 0;if(t)return{closable:e.meta.affixTab!==!0,icon:typeof e.meta.icon==`string`?e.meta.icon:void 0,path:e.path,title:t}}function O(){return r.fixedTabs.map(e=>({...e,closable:!1,pinned:!0}))}function te(e){return{closable:e.closable!==!1,icon:e.icon,path:e.path,pinned:e.pinned===!0,title:e.title}}function k(){if(r.isValidTabPath)return r.isValidTabPath;if(!(!s||!r.routeDriven))return e=>{try{let t=s.resolve(e)?.matched??[],n=t[t.length-1];return n?n.meta?.layout!==`public`&&n.meta?.hideInTab!==!0:!1}catch{return!1}}}function ne(e){if(!(!s||!r.routeDriven))try{let t=s.resolve(e)?.matched??[],n=t[t.length-1],r=typeof n?.meta?.title==`string`?n.meta.title:void 0,i=typeof n?.meta?.icon==`string`?n.meta.icon:void 0;return!r&&!i?void 0:{icon:i,title:r}}catch{return}}function A(e){if(!r.routeDriven||!(r.routeTabFilter??E)(e))return;let t=(r.routeTabResolver??D)(e);if(!t)return;let n=O(),i=new Set(n.map(e=>e.path)),a=b.value.filter(e=>!i.has(e.path)),o=at([...n,...a],t,{maxCount:C.value});b.value=o,r.preferences.tabbar.visitHistory&&(S.value=vt(S.value,e.path)),Q()}function j(e){r.routeDriven&&s&&e&&e!==o?.path&&s.push(e)}function M(e){return r.tabFallbackPath?r.tabFallbackPath:e[0]?.path??``}let N=(0,l.computed)({get:()=>r.routeDriven?o?.path??r.activeTabPath:a.value??r.activeTabPath,set:e=>{r.routeDriven?j(e):a.value=e}}),P=(0,l.computed)(()=>r.routeDriven?b.value:r.tabs),re=(0,l.computed)(()=>P.value.length>0),F=(0,l.computed)(()=>r.preferences.sidebar.collapsed),ie=(0,l.computed)(()=>typeof o?.meta.activeMenu==`string`?o.meta.activeMenu:``),I=(0,l.computed)(()=>{let e=o?.path||N.value,t=ie.value;return t&&h(r.menus,t)?t:e&&h(r.menus,e)?e:r.activeMenuPath&&h(r.menus,r.activeMenuPath)?r.activeMenuPath:r.activeMenuPath||e}),L=(0,l.computed)(()=>o?.path||N.value||I.value),R=(0,l.computed)(()=>({enable:r.preferences.breadcrumb?.enable??!0,hideOnlyOne:r.preferences.breadcrumb?.hideOnlyOne??!1,showHome:r.preferences.breadcrumb?.showHome??!0,showIcon:r.preferences.breadcrumb?.showIcon??!0})),z=(0,l.computed)(()=>r.preferences.header.globalSearch??!0),B=(0,l.computed)(()=>r.preferences.shortcutKeys?.globalSearch??!0),V=(0,l.computed)(()=>v(r.menus,I.value)),H=(0,l.computed)(()=>r.preferences.app.layout===`mixed-nav`&&r.preferences.sidebar.enable),U=(0,l.computed)(()=>H.value?r.menus.find(e=>!e.hidden&&e.path===x.value)?.path??V.value:V.value),W=(0,l.computed)(()=>{let e=y({activeTopMenuPath:U.value,layout:r.preferences.app.layout,menus:r.menus});return{...e,sidebarMenus:r.preferences.sidebar.enable?e.sidebarMenus:[]}}),G=(0,l.computed)(()=>W.value.sidebarMenus),K=(0,l.computed)(()=>W.value.topMenus),q=(0,l.computed)(()=>G.value.length>0),J=(0,l.computed)(()=>K.value.length>0),Y=(0,l.computed)(()=>R.value.enable&&q.value&&!J.value),se=(0,l.computed)(()=>H.value?`flat`:`tree`),ce=(0,l.computed)(()=>se.value===`tree`?I.value:U.value),le=(0,l.computed)(()=>J.value?K.value:G.value),X=(0,l.computed)(()=>le.value.some(e=>!e.hidden));(0,l.watch)(()=>[o?.fullPath,I.value,r.menus,r.preferences.app.layout,r.preferences.sidebar.enable],()=>{x.value=V.value},{immediate:!0}),(0,l.watch)(()=>[r.preferences.app.dynamicTitle??!0,o?.meta.title,r.title],([e,t,n])=>{if(typeof document>`u`)return;let r=typeof t==`string`?t.trim():``,i=n?.trim()??``;if(!e){document.title=i;return}!r&&!i||(document.title=r&&i&&r!==i?`${r} - ${i}`:r||i)},{immediate:!0});function Z(){if(!(!r.tabStorageKey||!r.preferences.tabbar.persist)&&!(typeof sessionStorage>`u`))return{getItem:sessionStorage.getItem.bind(sessionStorage),removeItem:sessionStorage.removeItem.bind(sessionStorage),setItem:sessionStorage.setItem.bind(sessionStorage)}}function Q(){let e=Z();if(!e||!r.tabStorageKey||!r.routeDriven)return;let t=Qe({tabs:b.value.map(te),history:S.value});et(e,r.tabStorageKey,t)}function ue(){let e=Z();!e||!r.tabStorageKey||nt(e,r.tabStorageKey)}function de(){if(!r.routeDriven)return;let e=Z();if(!e||!r.tabStorageKey)return;let t=tt(e,r.tabStorageKey),n=o?.path??``,i=rt(t,{currentPath:n,currentTab:o?(r.routeTabResolver??D)(o):void 0,fixedTabs:O(),isValidPath:k(),resolveTab:ne});b.value=i.tabs,r.preferences.tabbar.visitHistory?(n&&i.history.unshift(n),S.value=vt(i.history,n||``)):S.value=[]}function fe(e){p.value=e?.matches??w?.matches??!1,p.value&&(m.value=!1)}(0,l.onMounted)(()=>{typeof window>`u`||typeof window.matchMedia!=`function`||(w=window.matchMedia(`(max-width: 768px)`),fe(),w.addEventListener?.(`change`,fe))}),(0,l.onBeforeUnmount)(()=>{w?.removeEventListener?.(`change`,fe)}),(0,l.watch)(()=>[r.routeDriven,C.value,r.fixedTabs],()=>{if(!r.routeDriven){b.value=[];return}let e=O(),t=new Set(e.map(e=>e.path)),n=[...e];for(let e of b.value.filter(e=>!t.has(e.path)))n=at(n,e,{maxCount:C.value});b.value=ot(it(n),C.value,N.value),Q()},{deep:!0,immediate:!0}),(0,l.watch)(()=>o?.fullPath,()=>{o&&A(o)},{immediate:!0}),(0,l.watch)(()=>[r.routeDriven,r.tabStorageKey,r.preferences.tabbar.persist],(e,t)=>{let n=e[0],r=e[2],i=t?.[1]&&t?.[2];n&&r&&!i&&de(),!r&&i&&ue()},{immediate:!1}),(0,l.onBeforeUnmount)(()=>{Q()});function pe(){if(p.value){m.value=!m.value;return}i(`toggleSidebar`)}function $(e){m.value=!1,i(`menuSelect`,e)}function he(e){let t=h(r.menus,e),n=t?.children?.filter(e=>!e.hidden)??[],a=!!t?.externalLink&&t?.externalTarget!==`_self`;H.value&&t&&(n.length>0||!a)&&(x.value=t.path),i(`topMenuSelect`,e),!(H.value&&n.length>0&&!r.preferences.sidebar.autoActivateChild)&&$(_(t)||e)}function ge(e){$(_(h(r.menus,e))||e)}function _e(e){i(`tabChange`,e)}function ve(e){if(r.routeDriven){let t=b.value.findIndex(t=>t.path===e),n=st(b.value,e);if(b.value=n,N.value===e){let i=r.preferences.tabbar.visitHistory;j(yt(n,e,S.value,{useHistory:i,priorClosedIndex:t})||M(n))}Q()}i(`tabRemove`,e)}function ye(e){r.routeDriven&&(b.value=ct(b.value,e),j(e),Q()),i(`tabCloseLeft`,e)}function be(e){r.routeDriven&&(b.value=lt(b.value,e),j(e),Q()),i(`tabCloseRight`,e)}function xe(e){r.routeDriven&&(b.value=ut(b.value,e),j(e),Q()),i(`tabCloseOthers`,e)}function Se(){r.routeDriven&&(b.value=dt(b.value),j(M(b.value)),Q()),i(`tabCloseAll`)}function Ce(e,t){r.routeDriven&&(b.value=t?ft(b.value,e):pt(b.value,e),Q()),i(`tabPin`,e,t)}function we(e,t){r.routeDriven&&(b.value=bt(b.value,e,t),Q()),i(`tabReorder`,e,t)}function Te(e){let t=r.resolveTabUrl?r.resolveTabUrl(e):(()=>{if(s)try{return s.resolve(e)?.fullPath??e}catch{return e}return e})();window.open(t,`_blank`,`noopener,noreferrer`),i(`tabNewWindow`,e)}function Ee(e){g.value=e,i(`tabMaximize`,e)}function De(e){e.key===`Escape`&&g.value&&(e.preventDefault(),u.value?.setMaximized(!1),i(`tabMaximize`,!1))}return(0,l.watch)(g,e=>{typeof document>`u`||(e?document.addEventListener(`keydown`,De):document.removeEventListener(`keydown`,De))}),(0,l.onBeforeUnmount)(()=>{typeof document<`u`&&document.removeEventListener(`keydown`,De)}),t({getLayoutElement:()=>c.value?.$el,getLayoutInstance:()=>c.value,getTabs:()=>[...P.value],getVisitHistory:()=>[...S.value],resetTabs:()=>{b.value=dt(b.value),S.value=[],j(M(b.value)),Q()},resetTabSnapshot:()=>{ue()}}),(t,n)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(d.ElContainer),{ref_key:`layoutRef`,ref:c,class:(0,l.normalizeClass)([`lumal-layout`,{"is-sidebar-collapsed":F.value,"is-sidebar-hidden":!q.value,"is-mobile-menu-hidden":!m.value,"is-content-maximized":g.value}]),"data-layout":e.preferences.app.layout,direction:`vertical`},{default:(0,l.withCtx)(()=>[e.showHeader?(0,l.withDirectives)(((0,l.openBlock)(),(0,l.createBlock)(oe,{key:0,title:e.title,collapsed:p.value?!m.value:F.value,height:e.headerHeight,"mobile-only-toggle":!q.value&&J.value,"sidebar-enabled":q.value||J.value,"toggle-after-title":q.value&&!p.value,onToggleCollapse:pe},(0,l.createSlots)({_:2},[t.$slots.logo?{name:`logo`,fn:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,`logo`,{},void 0,!0)]),key:`0`}:void 0,J.value?{name:`navigation`,fn:(0,l.withCtx)(()=>[(0,l.createVNode)(qe,{menus:K.value,"active-path":ce.value,align:e.preferences.header.menuAlign,"max-width":e.preferences.header.menuMaxWidth,mode:se.value,onSelect:he},null,8,[`menus`,`active-path`,`align`,`max-width`,`mode`])]),key:`1`}:void 0,Y.value?{name:`breadcrumb`,fn:(0,l.withCtx)(()=>[(0,l.createVNode)(T,{class:`lumal-layout__header-breadcrumb`,"active-menu-path":I.value,"active-path":L.value,"hide-only-one":R.value.hideOnlyOne,menus:e.menus,"show-home":R.value.showHome,"show-icon":R.value.showIcon,onSelect:ge},null,8,[`active-menu-path`,`active-path`,`hide-only-one`,`menus`,`show-home`,`show-icon`])]),key:`2`}:void 0,z.value||t.$slots.headerActions?{name:`actions`,fn:(0,l.withCtx)(()=>[z.value?((0,l.openBlock)(),(0,l.createBlock)(ae,{key:0,menus:e.menus,shortcut:B.value,onSelect:ge},null,8,[`menus`,`shortcut`])):(0,l.createCommentVNode)(``,!0),(0,l.renderSlot)(t.$slots,`headerActions`,{},void 0,!0)]),key:`3`}:void 0]),1032,[`title`,`collapsed`,`height`,`mobile-only-toggle`,`sidebar-enabled`,`toggle-after-title`])),[[l.vShow,!g.value]]):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(d.ElContainer),{class:`lumal-layout__body`},{default:(0,l.withCtx)(()=>[X.value&&!g.value?((0,l.openBlock)(),(0,l.createElementBlock)(`button`,{key:0,class:`lumal-layout__sidebar-scrim`,type:`button`,"aria-label":`关闭侧边栏`,onClick:n[0]||=e=>m.value=!1})):(0,l.createCommentVNode)(``,!0),g.value?(0,l.createCommentVNode)(``,!0):((0,l.openBlock)(),(0,l.createBlock)(l.Transition,{key:1,name:`lumal-layout-sidebar`,appear:``},{default:(0,l.withCtx)(()=>[q.value?((0,l.openBlock)(),(0,l.createBlock)(me,{key:0,class:`lumal-layout__desktop-sidebar`,"aria-label":`主菜单`,menus:G.value,"active-path":I.value,collapsed:F.value,width:`${e.preferences.sidebar.width}px`,"collapsed-width":`64px`,onSelect:$},null,8,[`menus`,`active-path`,`collapsed`,`width`])):(0,l.createCommentVNode)(``,!0)]),_:1})),X.value&&!g.value?((0,l.openBlock)(),(0,l.createBlock)(me,{key:2,class:`lumal-layout__mobile-sidebar`,"aria-label":`移动菜单`,"aria-hidden":!m.value,inert:!m.value||void 0,menus:le.value,"active-path":I.value,collapsed:!1,width:`${e.preferences.sidebar.width}px`,"collapsed-width":`64px`,onSelect:$},null,8,[`aria-hidden`,`inert`,`menus`,`active-path`,`width`])):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(d.ElContainer),{class:`lumal-layout__main`,direction:`vertical`,"data-layout-fullscreen-target":``},{default:(0,l.withCtx)(()=>[R.value.enable&&!Y.value&&!g.value?((0,l.openBlock)(),(0,l.createBlock)(T,{key:0,"active-menu-path":I.value,"active-path":L.value,"hide-only-one":R.value.hideOnlyOne,menus:e.menus,"show-home":R.value.showHome,"show-icon":R.value.showIcon,onSelect:ge},null,8,[`active-menu-path`,`active-path`,`hide-only-one`,`menus`,`show-home`,`show-icon`])):(0,l.createCommentVNode)(``,!0),re.value&&e.preferences.tabbar.enable?((0,l.openBlock)(),(0,l.createBlock)(Ie,{key:1,ref_key:`tabsRef`,ref:u,"active-path":N.value,"onUpdate:activePath":n[1]||=e=>N.value=e,tabs:P.value,"show-icon":e.preferences.tabbar.showIcon,"show-maximize":e.preferences.tabbar.showMaximize,"show-more":e.preferences.tabbar.showMore,"show-refresh":e.preferences.tabbar.showRefresh,draggable:e.preferences.tabbar.draggable,wheelable:e.preferences.tabbar.wheelable,"middle-click-to-close":e.preferences.tabbar.middleClickToClose,"style-type":e.preferences.tabbar.styleType,onChange:_e,onCloseAll:Se,onCloseLeft:ye,onCloseOthers:xe,onCloseRight:be,onMaximize:Ee,onNewWindow:Te,onPin:Ce,onRefresh:n[2]||=e=>i(`tabRefresh`,e),onRemove:ve,onReorder:we},null,8,[`active-path`,`tabs`,`show-icon`,`show-maximize`,`show-more`,`show-refresh`,`draggable`,`wheelable`,`middle-click-to-close`,`style-type`])):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)(ee,null,{default:(0,l.withCtx)(()=>[(0,l.renderSlot)(t.$slots,`default`,{},void 0,!0)]),_:3})]),_:3})]),_:3})]),_:3},8,[`data-layout`,`class`]))}}),Ct=c.t(St,[[`__scopeId`,`data-v-c4a60970`]]),wt={key:0,class:`lumal-router-view__progress`,"aria-hidden":`true`},Tt={key:1,class:`lumal-router-view__loading`,"aria-hidden":`true`},Et=(0,l.defineComponent)({__name:`LumalRouterView`,props:{viewKey:{default:`default`},transition:{type:Boolean,default:!1},transitionName:{default:`fade-side`},progress:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},cache:{type:Boolean,default:!1},cacheMax:{default:0}},setup(e,{expose:t}){let n=e,r=(0,l.useTemplateRef)(`routerViewRef`),i=(0,l.shallowRef)(!1),a=(0,l.shallowRef)(!1),o=new Set([n.viewKey]),s=(0,l.computed)(()=>n.cacheMax>0?n.cacheMax:void 0),c=(0,l.computed)(()=>n.transition?n.transitionName:void 0),u;function d(){u&&=(clearTimeout(u),void 0)}function p(e){return n.cache&&o.has(e)}function m(e){i.value=!1,a.value=!1,o.add(e),u=void 0}function h(e){if(d(),i.value=n.progress&&!p(e),a.value=n.loading&&!p(e),!i.value&&!a.value){o.add(e);return}u=setTimeout(m,520,e)}return(0,l.watch)(()=>n.viewKey,(e,t)=>{t!==void 0&&h(e)}),(0,l.onBeforeUnmount)(()=>{d()}),t({getRouterViewElement:()=>r.value}),(t,n)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{ref_key:`routerViewRef`,ref:r,class:`lumal-router-view`},[i.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,wt,[...n[0]||=[(0,l.createElementVNode)(`span`,{class:`lumal-router-view__progress-bar`},null,-1)]])):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(f.RouterView),null,{default:(0,l.withCtx)(({Component:t})=>[c.value?((0,l.openBlock)(),(0,l.createBlock)(l.Transition,{key:0,appear:``,mode:`out-in`,name:c.value},{default:(0,l.withCtx)(()=>[e.cache?((0,l.openBlock)(),(0,l.createBlock)(l.KeepAlive,{key:0,max:s.value},[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(t),{key:e.viewKey}))],1032,[`max`])):((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(t),{key:e.viewKey}))]),_:2},1032,[`name`])):e.cache?((0,l.openBlock)(),(0,l.createBlock)(l.KeepAlive,{key:1,max:s.value},[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(t),{key:e.viewKey}))],1032,[`max`])):((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(t),{key:e.viewKey}))]),_:1}),a.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Tt,[...n[1]||=[(0,l.createElementVNode)(`span`,{class:`lumal-router-view__loading-dot`},null,-1)]])):(0,l.createCommentVNode)(``,!0)],512))}}),Dt=c.t(Et,[[`__scopeId`,`data-v-1d1d75ee`]]);Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return qe}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return yt}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return at}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return it}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return _}});
@@ -1 +0,0 @@
1
- let e=require("vue");var t=Symbol(`lumal-permission-store`);function n(n){return(0,e.provide)(t,n),n}function r(){let n=(0,e.inject)(t,void 0);if(!n)throw Error(`[Lumal] PermissionStore 未注入,请先调用 providePermissionStore 或传入 createLumalAdmin.permissionStore。`);return n}function i(e,t,n){return(e.matched?.length?e.matched:[e]).every(e=>{let r=e.meta??{},i=r.permissions??r.permission,a=r.roles??r.role;return t.hasPermission(i,n.mode)&&t.hasRole(a,n.roleMode)})}function a(e,t){let n=e.meta?.requireLogin;return n===!1?!1:n===!0||t}function o(e,t,n){let r=e.fullPath??e.path;return{path:t,query:r?{[n]:r}:void 0}}function s(e,t,n={}){let r=new Set(n.whiteList??[]),s=n.loginPath??`/login`,c=n.redirectQueryKey??`redirect`,l=n.requireLoginByDefault??!1;e.beforeEach(e=>e.path===s||e.path&&r.has(e.path)?!0:n.isAuthenticated&&a(e,l)&&!n.isAuthenticated()?o(e,s,c):i(e,t,n)?!0:n.noAccessRedirect??!1)}function c(e){return e?Array.isArray(e)?e:[e]:[]}function l(e,t,n=`some`){let r=c(t);if(r.length===0)return!0;let i=new Set(e),a=e=>i.has(e);return n===`every`?r.every(a):r.some(a)}function u(e,t,n=`some`){return l(e,t,n)}function d(e,t,n=`some`){return l(e,t,n)}var f=(0,e.defineComponent)({__name:`LumalAccessControl`,props:{mode:{},permission:{},permissions:{},role:{},roleMode:{},roles:{},store:{}},setup(n){let r=n,i=(0,e.inject)(t,void 0),a=(0,e.computed)(()=>r.store??i),o=(0,e.computed)(()=>{let e=a.value;if(!e)return!1;let t=r.permission??r.permissions,n=r.role??r.roles;return e.hasPermission(t,r.mode)&&e.hasRole(n,r.roleMode)});return(t,n)=>o.value?(0,e.renderSlot)(t.$slots,`default`,{key:0}):(0,e.renderSlot)(t.$slots,`fallback`,{key:1})}});function p(t={}){let n=(0,e.shallowRef)([...t.permissions??[]]),r=(0,e.shallowRef)([...t.roles??[]]);return{get permissions(){return[...n.value]},get roles(){return[...r.value]},clear(){n.value=[],r.value=[]},hasPermission(e,t){return u(n.value,e,t)},hasRole(e,t){return d(r.value,e,t)},setPermissions(e){n.value=[...e]},setRoles(e){r.value=[...e]}}}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return p}});