@lumal/core 0.0.1-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.
- package/LICENSE +21 -0
- package/README.md +16 -0
- package/dist/LumalThemeSettingsPanel-BFkZzwEW.js +685 -0
- package/dist/LumalThemeSettingsPanel-C6aPhgUX.cjs +1 -0
- package/dist/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
- package/dist/_plugin-vue_export-helper-BTmtiIyf.cjs +1 -0
- package/dist/auth.cjs +1 -0
- package/dist/auth.js +127 -0
- package/dist/components-DJiHYQQB.cjs +2 -0
- package/dist/components-DYmKh-eF.js +2206 -0
- package/dist/components.cjs +1 -0
- package/dist/components.js +3 -0
- package/dist/composables-C4twj5Ov.cjs +1 -0
- package/dist/composables-C9EuCUjj.js +130 -0
- package/dist/composables.cjs +1 -0
- package/dist/composables.js +148 -0
- package/dist/core.css +2 -0
- package/dist/dictionary-B7tsaVqB.js +19 -0
- package/dist/dictionary-ClEWtQCU.cjs +1 -0
- package/dist/dictionary.cjs +1 -0
- package/dist/dictionary.js +3 -0
- package/dist/directive-D-fB5qbY.js +16 -0
- package/dist/directive-DSVr7QvO.cjs +1 -0
- package/dist/directives.cjs +1 -0
- package/dist/directives.js +11 -0
- package/dist/index.cjs +1 -0
- package/dist/index.js +88 -0
- package/dist/layout-C8H9wuQa.js +2075 -0
- package/dist/layout-ZnyG9X3N.cjs +1 -0
- package/dist/layout.cjs +1 -0
- package/dist/layout.js +2 -0
- package/dist/permission-6sXtjGMS.cjs +1 -0
- package/dist/permission-CCkqvnWg.js +104 -0
- package/dist/permission.cjs +1 -0
- package/dist/permission.js +3 -0
- package/dist/request.cjs +1 -0
- package/dist/request.js +277 -0
- package/dist/router.cjs +1 -0
- package/dist/router.js +510 -0
- package/dist/src/app/createLumalAdmin.d.ts +4 -0
- package/dist/src/app/createLumalAdmin.d.ts.map +1 -0
- package/dist/src/app/default-components.d.ts +4 -0
- package/dist/src/app/default-components.d.ts.map +1 -0
- package/dist/src/app/index.d.ts +3 -0
- package/dist/src/app/index.d.ts.map +1 -0
- package/dist/src/app/types.d.ts +41 -0
- package/dist/src/app/types.d.ts.map +1 -0
- package/dist/src/auth/adapter.d.ts +3 -0
- package/dist/src/auth/adapter.d.ts.map +1 -0
- package/dist/src/auth/createAuthSession.d.ts +8 -0
- package/dist/src/auth/createAuthSession.d.ts.map +1 -0
- package/dist/src/auth/index.d.ts +8 -0
- package/dist/src/auth/index.d.ts.map +1 -0
- package/dist/src/auth/redirect.d.ts +8 -0
- package/dist/src/auth/redirect.d.ts.map +1 -0
- package/dist/src/auth/session-expired.d.ts +5 -0
- package/dist/src/auth/session-expired.d.ts.map +1 -0
- package/dist/src/auth/session.d.ts +10 -0
- package/dist/src/auth/session.d.ts.map +1 -0
- package/dist/src/auth/storage.d.ts +7 -0
- package/dist/src/auth/storage.d.ts.map +1 -0
- package/dist/src/auth/types.d.ts +68 -0
- package/dist/src/auth/types.d.ts.map +1 -0
- package/dist/src/components/crud-table/LumalCrudEditor.vue.d.ts +41 -0
- package/dist/src/components/crud-table/LumalCrudEditor.vue.d.ts.map +1 -0
- package/dist/src/components/crud-table/LumalCrudTable.vue.d.ts +151 -0
- package/dist/src/components/crud-table/LumalCrudTable.vue.d.ts.map +1 -0
- package/dist/src/components/crud-table/index.d.ts +4 -0
- package/dist/src/components/crud-table/index.d.ts.map +1 -0
- package/dist/src/components/crud-table/schema.d.ts +4 -0
- package/dist/src/components/crud-table/schema.d.ts.map +1 -0
- package/dist/src/components/crud-table/types.d.ts +165 -0
- package/dist/src/components/crud-table/types.d.ts.map +1 -0
- package/dist/src/components/crud-table/useCrudData.d.ts +20 -0
- package/dist/src/components/crud-table/useCrudData.d.ts.map +1 -0
- package/dist/src/components/crud-table/useCrudDialog.d.ts +19 -0
- package/dist/src/components/crud-table/useCrudDialog.d.ts.map +1 -0
- package/dist/src/components/crud-table/useCrudQuery.d.ts +18 -0
- package/dist/src/components/crud-table/useCrudQuery.d.ts.map +1 -0
- package/dist/src/components/crud-table/useCrudSelection.d.ts +9 -0
- package/dist/src/components/crud-table/useCrudSelection.d.ts.map +1 -0
- package/dist/src/components/info-table/LumalInfoTable.vue.d.ts +12 -0
- package/dist/src/components/info-table/LumalInfoTable.vue.d.ts.map +1 -0
- package/dist/src/components/info-table/index.d.ts +3 -0
- package/dist/src/components/info-table/index.d.ts.map +1 -0
- package/dist/src/components/info-table/types.d.ts +15 -0
- package/dist/src/components/info-table/types.d.ts.map +1 -0
- package/dist/src/components/page/LumalPage.vue.d.ts +36 -0
- package/dist/src/components/page/LumalPage.vue.d.ts.map +1 -0
- package/dist/src/components/page/index.d.ts +2 -0
- package/dist/src/components/page/index.d.ts.map +1 -0
- package/dist/src/components/page-layout/LumalPageLayout.vue.d.ts +38 -0
- package/dist/src/components/page-layout/LumalPageLayout.vue.d.ts.map +1 -0
- package/dist/src/components/page-layout/index.d.ts +3 -0
- package/dist/src/components/page-layout/index.d.ts.map +1 -0
- package/dist/src/components/page-layout/types.d.ts +9 -0
- package/dist/src/components/page-layout/types.d.ts.map +1 -0
- package/dist/src/components/pagination/LumalPagination.vue.d.ts +31 -0
- package/dist/src/components/pagination/LumalPagination.vue.d.ts.map +1 -0
- package/dist/src/components/pagination/index.d.ts +3 -0
- package/dist/src/components/pagination/index.d.ts.map +1 -0
- package/dist/src/components/pagination/types.d.ts +5 -0
- package/dist/src/components/pagination/types.d.ts.map +1 -0
- package/dist/src/components/schema-form/LumalSchemaForm.vue.d.ts +78 -0
- package/dist/src/components/schema-form/LumalSchemaForm.vue.d.ts.map +1 -0
- package/dist/src/components/schema-form/index.d.ts +4 -0
- package/dist/src/components/schema-form/index.d.ts.map +1 -0
- package/dist/src/components/schema-form/normalize.d.ts +11 -0
- package/dist/src/components/schema-form/normalize.d.ts.map +1 -0
- package/dist/src/components/schema-form/types.d.ts +103 -0
- package/dist/src/components/schema-form/types.d.ts.map +1 -0
- package/dist/src/components/schema-form/types.type-test.d.ts +2 -0
- package/dist/src/components/schema-form/types.type-test.d.ts.map +1 -0
- package/dist/src/components/schema-table/LumalSchemaTable.vue.d.ts +108 -0
- package/dist/src/components/schema-table/LumalSchemaTable.vue.d.ts.map +1 -0
- package/dist/src/components/schema-table/LumalSchemaTableCell.vue.d.ts +8 -0
- package/dist/src/components/schema-table/LumalSchemaTableCell.vue.d.ts.map +1 -0
- package/dist/src/components/schema-table/cell.d.ts +13 -0
- package/dist/src/components/schema-table/cell.d.ts.map +1 -0
- package/dist/src/components/schema-table/index.d.ts +6 -0
- package/dist/src/components/schema-table/index.d.ts.map +1 -0
- package/dist/src/components/schema-table/normalize.d.ts +8 -0
- package/dist/src/components/schema-table/normalize.d.ts.map +1 -0
- package/dist/src/components/schema-table/types.d.ts +66 -0
- package/dist/src/components/schema-table/types.d.ts.map +1 -0
- package/dist/src/components/schema-table/types.type-test.d.ts +2 -0
- package/dist/src/components/schema-table/types.type-test.d.ts.map +1 -0
- package/dist/src/composables/index.d.ts +11 -0
- package/dist/src/composables/index.d.ts.map +1 -0
- package/dist/src/composables/useConfirmAction.d.ts +21 -0
- package/dist/src/composables/useConfirmAction.d.ts.map +1 -0
- package/dist/src/composables/useFullscreen.d.ts +14 -0
- package/dist/src/composables/useFullscreen.d.ts.map +1 -0
- package/dist/src/composables/usePagination.d.ts +36 -0
- package/dist/src/composables/usePagination.d.ts.map +1 -0
- package/dist/src/composables/usePersistentState.d.ts +9 -0
- package/dist/src/composables/usePersistentState.d.ts.map +1 -0
- package/dist/src/composables/useSelection.d.ts +20 -0
- package/dist/src/composables/useSelection.d.ts.map +1 -0
- package/dist/src/dictionary/composables.d.ts +15 -0
- package/dist/src/dictionary/composables.d.ts.map +1 -0
- package/dist/src/dictionary/context.d.ts +10 -0
- package/dist/src/dictionary/context.d.ts.map +1 -0
- package/dist/src/dictionary/fetcher.d.ts +4 -0
- package/dist/src/dictionary/fetcher.d.ts.map +1 -0
- package/dist/src/dictionary/index.d.ts +8 -0
- package/dist/src/dictionary/index.d.ts.map +1 -0
- package/dist/src/dictionary/normalize.d.ts +5 -0
- package/dist/src/dictionary/normalize.d.ts.map +1 -0
- package/dist/src/dictionary/store.d.ts +4 -0
- package/dist/src/dictionary/store.d.ts.map +1 -0
- package/dist/src/dictionary/types.d.ts +53 -0
- package/dist/src/dictionary/types.d.ts.map +1 -0
- package/dist/src/directives/index.d.ts +16 -0
- package/dist/src/directives/index.d.ts.map +1 -0
- package/dist/src/exports/components.d.ts +16 -0
- package/dist/src/exports/components.d.ts.map +1 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/layout/LumalBreadcrumb.vue.d.ts +28 -0
- package/dist/src/layout/LumalBreadcrumb.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalContent.vue.d.ts +18 -0
- package/dist/src/layout/LumalContent.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalGlobalSearch.vue.d.ts +25 -0
- package/dist/src/layout/LumalGlobalSearch.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalHeader.vue.d.ts +43 -0
- package/dist/src/layout/LumalHeader.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalLayout.vue.d.ts +98 -0
- package/dist/src/layout/LumalLayout.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalMenuBadge.vue.d.ts +16 -0
- package/dist/src/layout/LumalMenuBadge.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalRouterView.vue.d.ts +24 -0
- package/dist/src/layout/LumalRouterView.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalSidebar.vue.d.ts +29 -0
- package/dist/src/layout/LumalSidebar.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalSidebarMenuItem.vue.d.ts +16 -0
- package/dist/src/layout/LumalSidebarMenuItem.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalTabs.vue.d.ts +76 -0
- package/dist/src/layout/LumalTabs.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalTopNav.vue.d.ts +27 -0
- package/dist/src/layout/LumalTopNav.vue.d.ts.map +1 -0
- package/dist/src/layout/LumalTopNavMenuItem.vue.d.ts +15 -0
- package/dist/src/layout/LumalTopNavMenuItem.vue.d.ts.map +1 -0
- package/dist/src/layout/index.d.ts +18 -0
- package/dist/src/layout/index.d.ts.map +1 -0
- package/dist/src/layout/state/menu-layout.d.ts +35 -0
- package/dist/src/layout/state/menu-layout.d.ts.map +1 -0
- package/dist/src/layout/state/tab-storage.d.ts +51 -0
- package/dist/src/layout/state/tab-storage.d.ts.map +1 -0
- package/dist/src/layout/state/tab-strategy.d.ts +73 -0
- package/dist/src/layout/state/tab-strategy.d.ts.map +1 -0
- package/dist/src/layout/types.d.ts +29 -0
- package/dist/src/layout/types.d.ts.map +1 -0
- package/dist/src/permission/LumalAccessControl.vue.d.ts +26 -0
- package/dist/src/permission/LumalAccessControl.vue.d.ts.map +1 -0
- package/dist/src/permission/context.d.ts +6 -0
- package/dist/src/permission/context.d.ts.map +1 -0
- package/dist/src/permission/directive.d.ts +3 -0
- package/dist/src/permission/directive.d.ts.map +1 -0
- package/dist/src/permission/guard.d.ts +4 -0
- package/dist/src/permission/guard.d.ts.map +1 -0
- package/dist/src/permission/helpers.d.ts +4 -0
- package/dist/src/permission/helpers.d.ts.map +1 -0
- package/dist/src/permission/index.d.ts +8 -0
- package/dist/src/permission/index.d.ts.map +1 -0
- package/dist/src/permission/store.d.ts +4 -0
- package/dist/src/permission/store.d.ts.map +1 -0
- package/dist/src/permission/types.d.ts +67 -0
- package/dist/src/permission/types.d.ts.map +1 -0
- package/dist/src/request/cache.d.ts +8 -0
- package/dist/src/request/cache.d.ts.map +1 -0
- package/dist/src/request/client.d.ts +4 -0
- package/dist/src/request/client.d.ts.map +1 -0
- package/dist/src/request/error.d.ts +19 -0
- package/dist/src/request/error.d.ts.map +1 -0
- package/dist/src/request/index.d.ts +8 -0
- package/dist/src/request/index.d.ts.map +1 -0
- package/dist/src/request/standard.d.ts +61 -0
- package/dist/src/request/standard.d.ts.map +1 -0
- package/dist/src/request/types.d.ts +102 -0
- package/dist/src/request/types.d.ts.map +1 -0
- package/dist/src/router/index.d.ts +36 -0
- package/dist/src/router/index.d.ts.map +1 -0
- package/dist/src/router/types.d.ts +231 -0
- package/dist/src/router/types.d.ts.map +1 -0
- package/dist/src/theme/LumalThemeSettingsPanel.vue.d.ts +33 -0
- package/dist/src/theme/LumalThemeSettingsPanel.vue.d.ts.map +1 -0
- package/dist/src/theme/dom.d.ts +6 -0
- package/dist/src/theme/dom.d.ts.map +1 -0
- package/dist/src/theme/index.d.ts +11 -0
- package/dist/src/theme/index.d.ts.map +1 -0
- package/dist/src/theme/preferences-store.d.ts +4 -0
- package/dist/src/theme/preferences-store.d.ts.map +1 -0
- package/dist/src/theme/preferences.d.ts +18 -0
- package/dist/src/theme/preferences.d.ts.map +1 -0
- package/dist/src/theme/store.d.ts +3 -0
- package/dist/src/theme/store.d.ts.map +1 -0
- package/dist/src/theme/theme-color-presets.d.ts +13 -0
- package/dist/src/theme/theme-color-presets.d.ts.map +1 -0
- package/dist/src/theme/tokens.d.ts +5 -0
- package/dist/src/theme/tokens.d.ts.map +1 -0
- package/dist/src/theme/types.d.ts +103 -0
- package/dist/src/theme/types.d.ts.map +1 -0
- package/dist/src/utils/clone.d.ts +12 -0
- package/dist/src/utils/clone.d.ts.map +1 -0
- package/dist/src/utils/color.d.ts +6 -0
- package/dist/src/utils/color.d.ts.map +1 -0
- package/dist/src/utils/display.d.ts +10 -0
- package/dist/src/utils/display.d.ts.map +1 -0
- package/dist/src/utils/download.d.ts +10 -0
- package/dist/src/utils/download.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +12 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/object.d.ts +6 -0
- package/dist/src/utils/object.d.ts.map +1 -0
- package/dist/src/utils/path.d.ts +6 -0
- package/dist/src/utils/path.d.ts.map +1 -0
- package/dist/src/utils/query.d.ts +9 -0
- package/dist/src/utils/query.d.ts.map +1 -0
- package/dist/src/utils/storage.d.ts +7 -0
- package/dist/src/utils/storage.d.ts.map +1 -0
- package/dist/src/utils/types.d.ts +13 -0
- package/dist/src/utils/types.d.ts.map +1 -0
- package/dist/src/utils/with-install.d.ts +11 -0
- package/dist/src/utils/with-install.d.ts.map +1 -0
- package/dist/theme.cjs +1 -0
- package/dist/theme.js +187 -0
- package/dist/utils.cjs +1 -0
- package/dist/utils.js +130 -0
- package/package.json +124 -0
- package/theme-chalk/index.scss +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./permission-6sXtjGMS.cjs"),t=require("./components-DJiHYQQB.cjs");let n=require("@lumal/icons-vue");exports.LumalAccessControl=e.n,exports.LumalCrudTable=t.i,Object.defineProperty(exports,"LumalIcon",{enumerable:!0,get:function(){return n.LumalIcon}}),Object.defineProperty(exports,"LumalIconPicker",{enumerable:!0,get:function(){return n.LumalIconPicker}}),Object.defineProperty(exports,"LumalIconPickerDialog",{enumerable:!0,get:function(){return n.LumalIconPickerDialog}}),exports.LumalInfoTable=t.r,exports.LumalPage=t.n,exports.LumalPageLayout=t.t,exports.LumalPagination=t.c,exports.LumalSchemaForm=t.s,exports.LumalSchemaTable=t.o,exports.deriveCrudFormSchemas=t.a;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { n as e } from "./permission-CCkqvnWg.js";
|
|
2
|
+
import { a as t, c as n, d as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "./components-DYmKh-eF.js";
|
|
3
|
+
export { e as LumalAccessControl, l as LumalCrudTable, u as LumalIcon, o as LumalIconPicker, c as LumalIconPickerDialog, s as LumalInfoTable, t as LumalPage, i as LumalPageLayout, r as LumalPagination, d as LumalSchemaForm, a as LumalSchemaTable, n as deriveCrudFormSchemas };
|
|
@@ -0,0 +1 @@
|
|
|
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){if(t==null)return`-`;let n=Array.isArray(t)?t:[t];return n.length===0?`-`:n.map(t=>e.find(e=>String(e.value)===String(t))?.label??String(t)).join(`, `)}function l(e,t){return c(e,t)}function u(e){return e instanceof Error?e.message:String(e)}function d(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]=u(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 d(){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:d,errors:i,loadDictionary:c,loading:r,records:n,removeDictionary:l,setDictionary:o}}var f=Symbol(`lumal-dictionary-context`),p=null;function m(e){p=e}function h(){return p}function g(t=!1){let n=(0,e.inject)(f,p);if(!n&&!t)throw Error(`Lumal dictionary context is not installed.`);return n}function _(t){p=t,(0,e.provide)(f,t)}function v(e,t={}){let n={store:d(t)};return m(n),e.provide(f,n),n}function y(e){return Array.from(new Set(e.filter(e=>!!e)))}function b(...e){return x(()=>e).dictionaryRefs}function x(t){let n=g(!0),r={};return(0,e.watch)(()=>y(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(y(t()).map(e=>[e,n?.store.records[e]??[]]))),dictionaryRefs:r}}function S(e){return h()?.store.records[e]??[]}function C(e,t){return l(S(e),t)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return f}});
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { computed as e, inject as t, provide as n, reactive as r, watch as i } from "vue";
|
|
2
|
+
//#region src/dictionary/normalize.ts
|
|
3
|
+
function a(e) {
|
|
4
|
+
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
5
|
+
}
|
|
6
|
+
function o(e, t) {
|
|
7
|
+
return Object.hasOwn(e, t);
|
|
8
|
+
}
|
|
9
|
+
function s(e, t) {
|
|
10
|
+
return t ? e[t] : void 0;
|
|
11
|
+
}
|
|
12
|
+
function c(e) {
|
|
13
|
+
return typeof e == "boolean" || typeof e == "number" || typeof e == "string" ? e : e == null ? "" : String(e);
|
|
14
|
+
}
|
|
15
|
+
function l(e, t = {}) {
|
|
16
|
+
if (!a(e)) return;
|
|
17
|
+
let n = t.label ?? "label", r = t.value ?? "value", i = t.disabled ?? "disabled", l = t.children ?? "children", d = t.color ?? "color", f = c(s(e, r)), p = s(e, n), m = s(e, l), h = Array.isArray(m) ? u(m, t) : void 0, g = {
|
|
18
|
+
label: String(p ?? f),
|
|
19
|
+
value: f
|
|
20
|
+
};
|
|
21
|
+
return o(e, i) && (g.disabled = !!s(e, i)), typeof s(e, d) == "string" && (g.color = String(s(e, d))), h?.length && (g.children = h), a(e.meta) && (g.meta = e.meta), g;
|
|
22
|
+
}
|
|
23
|
+
function u(e, t = {}) {
|
|
24
|
+
return e.map((e) => l(e, t)).filter((e) => !!e);
|
|
25
|
+
}
|
|
26
|
+
function d(e, t = {}, n) {
|
|
27
|
+
if (t.parseResponse) return u(t.parseResponse(e, n), t.fieldNames);
|
|
28
|
+
if (!a(e)) return [];
|
|
29
|
+
let r = e[t.fieldNames?.items ?? "items"];
|
|
30
|
+
return Array.isArray(r) ? u(r, t.fieldNames) : [];
|
|
31
|
+
}
|
|
32
|
+
function f(e, t) {
|
|
33
|
+
if (t == null) return "-";
|
|
34
|
+
let n = Array.isArray(t) ? t : [t];
|
|
35
|
+
return n.length === 0 ? "-" : n.map((t) => e.find((e) => String(e.value) === String(t))?.label ?? String(t)).join(", ");
|
|
36
|
+
}
|
|
37
|
+
function p(e, t) {
|
|
38
|
+
return f(e, t);
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/dictionary/store.ts
|
|
42
|
+
function m(e) {
|
|
43
|
+
return e instanceof Error ? e.message : String(e);
|
|
44
|
+
}
|
|
45
|
+
function h(e = {}) {
|
|
46
|
+
let t = r({}), n = r({}), i = r({}), a = /* @__PURE__ */ new Map();
|
|
47
|
+
function o(e, n) {
|
|
48
|
+
e && (t[e] = n);
|
|
49
|
+
}
|
|
50
|
+
async function s(r) {
|
|
51
|
+
if (!r) return [];
|
|
52
|
+
if (Object.hasOwn(t, r)) return t[r] ?? [];
|
|
53
|
+
let s = a.get(r);
|
|
54
|
+
if (s) return s;
|
|
55
|
+
if (!e.fetcher) return o(r, []), [];
|
|
56
|
+
n[r] = !0, i[r] = null;
|
|
57
|
+
let c = e.fetcher(r).then((t) => {
|
|
58
|
+
let n = d(t, e, r);
|
|
59
|
+
return o(r, n), n;
|
|
60
|
+
}).catch((e) => {
|
|
61
|
+
throw i[r] = m(e), e;
|
|
62
|
+
}).finally(() => {
|
|
63
|
+
n[r] = !1, a.delete(r);
|
|
64
|
+
});
|
|
65
|
+
return a.set(r, c), c;
|
|
66
|
+
}
|
|
67
|
+
function c(e) {
|
|
68
|
+
delete t[e], delete n[e], delete i[e];
|
|
69
|
+
}
|
|
70
|
+
function l() {
|
|
71
|
+
Object.keys(t).forEach((e) => delete t[e]), Object.keys(n).forEach((e) => delete n[e]), Object.keys(i).forEach((e) => delete i[e]), a.clear();
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
clearDictionary: l,
|
|
75
|
+
errors: i,
|
|
76
|
+
loadDictionary: s,
|
|
77
|
+
loading: n,
|
|
78
|
+
records: t,
|
|
79
|
+
removeDictionary: c,
|
|
80
|
+
setDictionary: o
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region src/dictionary/types.ts
|
|
85
|
+
var g = Symbol("lumal-dictionary-context"), _ = null;
|
|
86
|
+
function v(e) {
|
|
87
|
+
_ = e;
|
|
88
|
+
}
|
|
89
|
+
function y() {
|
|
90
|
+
return _;
|
|
91
|
+
}
|
|
92
|
+
function b(e = !1) {
|
|
93
|
+
let n = t(g, _);
|
|
94
|
+
if (!n && !e) throw Error("Lumal dictionary context is not installed.");
|
|
95
|
+
return n;
|
|
96
|
+
}
|
|
97
|
+
function x(e) {
|
|
98
|
+
_ = e, n(g, e);
|
|
99
|
+
}
|
|
100
|
+
function S(e, t = {}) {
|
|
101
|
+
let n = { store: h(t) };
|
|
102
|
+
return v(n), e.provide(g, n), n;
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/dictionary/composables.ts
|
|
106
|
+
function C(e) {
|
|
107
|
+
return Array.from(new Set(e.filter((e) => !!e)));
|
|
108
|
+
}
|
|
109
|
+
function w(...e) {
|
|
110
|
+
return T(() => e).dictionaryRefs;
|
|
111
|
+
}
|
|
112
|
+
function T(t) {
|
|
113
|
+
let n = b(!0), r = {};
|
|
114
|
+
return i(() => C(t()), (t) => {
|
|
115
|
+
t.forEach((t) => {
|
|
116
|
+
r[t] || (r[t] = e(() => n?.store.records[t] ?? [])), n?.store.loadDictionary(t).catch(() => []);
|
|
117
|
+
});
|
|
118
|
+
}, { immediate: !0 }), {
|
|
119
|
+
dictionaryMap: e(() => Object.fromEntries(C(t()).map((e) => [e, n?.store.records[e] ?? []]))),
|
|
120
|
+
dictionaryRefs: r
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function E(e) {
|
|
124
|
+
return y()?.store.records[e] ?? [];
|
|
125
|
+
}
|
|
126
|
+
function D(e, t) {
|
|
127
|
+
return p(E(e), t);
|
|
128
|
+
}
|
|
129
|
+
//#endregion
|
|
130
|
+
export { y as a, v as c, h as d, p as f, T as i, b as l, d as m, D as n, S as o, u as p, w as r, x as s, E as t, g as u };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./composables-C4twj5Ov.cjs");let t=require("vue");var n={title:`提示`,message:`确定执行此操作?`,confirmButtonText:`确定`,cancelButtonText:`取消`};function r(e={}){let t=e.confirm,r={...n,...e.defaults};async function i(e,n={}){let i={...r,...n};if(t)try{await t(i)}catch{return}return await e()}return{confirmAction:i}}function i(e){let n=(0,t.ref)(!1);function r(t){return t??e?.()??(typeof document<`u`?document.documentElement:void 0)}function i(){n.value=typeof document<`u`&&!!document.fullscreenElement}async function a(e){let t=r(e);t?.requestFullscreen&&(await t.requestFullscreen(),i())}async function o(){typeof document>`u`||!document.exitFullscreen||!document.fullscreenElement||(await document.exitFullscreen(),i())}async function s(e){if(n.value){await o();return}await a(e)}return typeof document<`u`&&(document.addEventListener(`fullscreenchange`,i),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`fullscreenchange`,i)})),{isFullscreen:n,enter:a,exit:o,toggle:s}}function a(e){let t=e;return{items:t?.items??[],total:t?.total??0}}function o(e,n,r={}){let i=typeof r==`number`?{initialPageSize:r}:r,o=i.parser??a,s=i.pageKey??`page`,c=i.pageSizeKey??`pageSize`,l=(0,t.ref)([]),u=(0,t.ref)(0),d=(0,t.ref)(i.initialPage??1),f=(0,t.ref)(i.initialPageSize??10),p=(0,t.ref)(!1);async function m(){p.value=!0;try{let t=await e({...n?.()??{},[s]:d.value,[c]:f.value}),r=o(t);l.value=r.items,u.value=r.total}finally{p.value=!1}}async function h(){d.value=1,await m()}async function g(e){f.value=e,await m()}async function _(e){d.value=e,await m()}return{items:l,total:u,page:d,pageSize:f,loading:p,fetchData:m,query:h,setPageSize:g,setPage:_}}function s(e,n,r){let i=(0,t.ref)(e.get(n)??r);return(0,t.watch)(i,t=>{e.set(n,t)},{deep:!0}),i}function c(e={}){let n=e.rowKey??(e=>e.id),r=(0,t.ref)([]),i=(0,t.computed)(()=>r.value.map(n)),a=(0,t.computed)(()=>r.value.length>0);function o(e){let t=n(e);return r.value.some(e=>n(e)===t)}function s(e){if(o(e)){let t=n(e);r.value=r.value.filter(e=>n(e)!==t);return}r.value=[...r.value,e]}function c(e){r.value=[...e]}function l(){r.value=[]}return{selected:r,selectedKeys:i,hasSelection:a,isSelected:o,toggle:s,setSelected:c,clear:l}}exports.useConfirmAction=r,exports.useDictionary=e.r,exports.useDictionaryMap=e.i,exports.useFullscreen=i,exports.usePagination=o,exports.usePersistentState=s,exports.useSelection=c;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { i as e, r as t } from "./composables-C9EuCUjj.js";
|
|
2
|
+
import { computed as n, onBeforeUnmount as r, ref as i, watch as a } from "vue";
|
|
3
|
+
//#region src/composables/useConfirmAction.ts
|
|
4
|
+
var o = {
|
|
5
|
+
title: "提示",
|
|
6
|
+
message: "确定执行此操作?",
|
|
7
|
+
confirmButtonText: "确定",
|
|
8
|
+
cancelButtonText: "取消"
|
|
9
|
+
};
|
|
10
|
+
function s(e = {}) {
|
|
11
|
+
let t = e.confirm, n = {
|
|
12
|
+
...o,
|
|
13
|
+
...e.defaults
|
|
14
|
+
};
|
|
15
|
+
async function r(e, r = {}) {
|
|
16
|
+
let i = {
|
|
17
|
+
...n,
|
|
18
|
+
...r
|
|
19
|
+
};
|
|
20
|
+
if (t) try {
|
|
21
|
+
await t(i);
|
|
22
|
+
} catch {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
return await e();
|
|
26
|
+
}
|
|
27
|
+
return { confirmAction: r };
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/composables/useFullscreen.ts
|
|
31
|
+
function c(e) {
|
|
32
|
+
let t = i(!1);
|
|
33
|
+
function n(t) {
|
|
34
|
+
return t ?? e?.() ?? (typeof document < "u" ? document.documentElement : void 0);
|
|
35
|
+
}
|
|
36
|
+
function a() {
|
|
37
|
+
t.value = typeof document < "u" && !!document.fullscreenElement;
|
|
38
|
+
}
|
|
39
|
+
async function o(e) {
|
|
40
|
+
let t = n(e);
|
|
41
|
+
t?.requestFullscreen && (await t.requestFullscreen(), a());
|
|
42
|
+
}
|
|
43
|
+
async function s() {
|
|
44
|
+
typeof document > "u" || !document.exitFullscreen || !document.fullscreenElement || (await document.exitFullscreen(), a());
|
|
45
|
+
}
|
|
46
|
+
async function c(e) {
|
|
47
|
+
if (t.value) {
|
|
48
|
+
await s();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
await o(e);
|
|
52
|
+
}
|
|
53
|
+
return typeof document < "u" && (document.addEventListener("fullscreenchange", a), r(() => {
|
|
54
|
+
document.removeEventListener("fullscreenchange", a);
|
|
55
|
+
})), {
|
|
56
|
+
isFullscreen: t,
|
|
57
|
+
enter: o,
|
|
58
|
+
exit: s,
|
|
59
|
+
toggle: c
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
//#region src/composables/usePagination.ts
|
|
64
|
+
function l(e) {
|
|
65
|
+
let t = e;
|
|
66
|
+
return {
|
|
67
|
+
items: t?.items ?? [],
|
|
68
|
+
total: t?.total ?? 0
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function u(e, t, n = {}) {
|
|
72
|
+
let r = typeof n == "number" ? { initialPageSize: n } : n, a = r.parser ?? l, o = r.pageKey ?? "page", s = r.pageSizeKey ?? "pageSize", c = i([]), u = i(0), d = i(r.initialPage ?? 1), f = i(r.initialPageSize ?? 10), p = i(!1);
|
|
73
|
+
async function m() {
|
|
74
|
+
p.value = !0;
|
|
75
|
+
try {
|
|
76
|
+
let n = await e({
|
|
77
|
+
...t?.() ?? {},
|
|
78
|
+
[o]: d.value,
|
|
79
|
+
[s]: f.value
|
|
80
|
+
}), r = a(n);
|
|
81
|
+
c.value = r.items, u.value = r.total;
|
|
82
|
+
} finally {
|
|
83
|
+
p.value = !1;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async function h() {
|
|
87
|
+
d.value = 1, await m();
|
|
88
|
+
}
|
|
89
|
+
async function g(e) {
|
|
90
|
+
f.value = e, await m();
|
|
91
|
+
}
|
|
92
|
+
async function _(e) {
|
|
93
|
+
d.value = e, await m();
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
items: c,
|
|
97
|
+
total: u,
|
|
98
|
+
page: d,
|
|
99
|
+
pageSize: f,
|
|
100
|
+
loading: p,
|
|
101
|
+
fetchData: m,
|
|
102
|
+
query: h,
|
|
103
|
+
setPageSize: g,
|
|
104
|
+
setPage: _
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/composables/usePersistentState.ts
|
|
109
|
+
function d(e, t, n) {
|
|
110
|
+
let r = i(e.get(t) ?? n);
|
|
111
|
+
return a(r, (n) => {
|
|
112
|
+
e.set(t, n);
|
|
113
|
+
}, { deep: !0 }), r;
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
//#region src/composables/useSelection.ts
|
|
117
|
+
function f(e = {}) {
|
|
118
|
+
let t = e.rowKey ?? ((e) => e.id), r = i([]), a = n(() => r.value.map(t)), o = n(() => r.value.length > 0);
|
|
119
|
+
function s(e) {
|
|
120
|
+
let n = t(e);
|
|
121
|
+
return r.value.some((e) => t(e) === n);
|
|
122
|
+
}
|
|
123
|
+
function c(e) {
|
|
124
|
+
if (s(e)) {
|
|
125
|
+
let n = t(e);
|
|
126
|
+
r.value = r.value.filter((e) => t(e) !== n);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
r.value = [...r.value, e];
|
|
130
|
+
}
|
|
131
|
+
function l(e) {
|
|
132
|
+
r.value = [...e];
|
|
133
|
+
}
|
|
134
|
+
function u() {
|
|
135
|
+
r.value = [];
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
selected: r,
|
|
139
|
+
selectedKeys: a,
|
|
140
|
+
hasSelection: o,
|
|
141
|
+
isSelected: s,
|
|
142
|
+
toggle: c,
|
|
143
|
+
setSelected: l,
|
|
144
|
+
clear: u
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
//#endregion
|
|
148
|
+
export { s as useConfirmAction, t as useDictionary, e as useDictionaryMap, c as useFullscreen, u as usePagination, d as usePersistentState, f as useSelection };
|
package/dist/core.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.lumal-pagination[data-v-e5a835aa]{flex-wrap:wrap;justify-content:flex-end;row-gap:8px;width:100%;min-width:0;display:flex}@media (width<=640px){.lumal-pagination[data-v-e5a835aa]{justify-content:flex-start;row-gap:4px}.lumal-pagination[data-v-e5a835aa] .el-pagination__jump{display:none}.lumal-pagination[data-v-e5a835aa] .el-pagination__sizes{margin-left:0}}.lumal-schema-form[data-v-5c24440d]{gap:18px;width:100%;min-width:0;display:grid}.lumal-schema-form__row[data-v-5c24440d]{row-gap:18px;min-width:0}.lumal-schema-form__item[data-v-5c24440d]{width:100%;margin-bottom:0}.lumal-schema-form__item[data-v-5c24440d] .el-form-item__content{min-width:0}.lumal-schema-form.is-compact .lumal-schema-form__row[data-v-5c24440d]{row-gap:10px}.lumal-schema-form__description[data-v-5c24440d],.lumal-schema-form__help[data-v-5c24440d]{width:100%;color:var(--el-text-color-secondary);font-size:calc(var(--lumal-font-size-base,14px) - 2px);margin:6px 0 0;line-height:1.5}.lumal-schema-form__help[data-v-5c24440d]{color:var(--el-color-info)}.lumal-schema-form__item[data-v-5c24440d] .el-input,.lumal-schema-form__item[data-v-5c24440d] .el-input-number,.lumal-schema-form__item[data-v-5c24440d] .el-select,.lumal-schema-form__item[data-v-5c24440d] .el-cascader,.lumal-schema-form__item[data-v-5c24440d] .el-date-editor,.lumal-schema-form__item[data-v-5c24440d] .el-tree-select{width:100%;min-width:0}.lumal-schema-form__readonly-value[data-v-5c24440d]{min-height:32px;color:var(--el-text-color-regular);overflow-wrap:anywhere;line-height:32px}.lumal-schema-form__actions[data-v-5c24440d]{border-top:1px solid var(--el-border-color-lighter);justify-content:flex-end;padding-top:16px;display:flex}.lumal-schema-form__actions.is-left[data-v-5c24440d]{justify-content:flex-start}.lumal-schema-form__actions.is-center[data-v-5c24440d]{justify-content:center}.lumal-schema-form__actions.is-inline[data-v-5c24440d]{border-top:0;padding-top:0}.lumal-schema-form__actions.is-newLine[data-v-5c24440d]{margin-top:4px}@media (width<=1024px){.lumal-schema-form__row[data-v-5c24440d] .el-col:not(.is-full-span){flex:0 0 50%;max-width:50%}}@media (width<=768px){.lumal-schema-form[data-v-5c24440d]{gap:12px}.lumal-schema-form__row[data-v-5c24440d]{row-gap:10px}.lumal-schema-form__row[data-v-5c24440d] .el-col.el-col{flex:0 0 100%;max-width:100%}.lumal-schema-form[data-v-5c24440d] .el-input__wrapper,.lumal-schema-form[data-v-5c24440d] .el-select__wrapper,.lumal-schema-form[data-v-5c24440d] .el-input-number,.lumal-schema-form[data-v-5c24440d] .el-date-editor{min-height:32px}.lumal-schema-form__actions[data-v-5c24440d]{justify-content:stretch;padding-top:12px}.lumal-schema-form__actions[data-v-5c24440d] .el-button{flex:auto;min-height:32px}}@media (width<=480px){.lumal-schema-form__item[data-v-5c24440d]{display:block}.lumal-schema-form__item[data-v-5c24440d] .el-form-item__label{justify-content:flex-start;height:auto;padding:0 0 6px;line-height:20px;width:100%!important}.lumal-schema-form__item[data-v-5c24440d] .el-form-item__content{width:100%;margin-left:0!important}}.lumal-schema-table__dictionary-tags[data-v-ad0cf9f4]{flex-wrap:wrap;align-items:center;gap:4px;max-width:100%;display:inline-flex}.lumal-schema-table__dictionary-tag[data-v-ad0cf9f4]{border:1px solid;border-color:color-mix(in srgb, var(--lumal-dictionary-color,var(--el-border-color)) 32%, var(--el-border-color-lighter));max-width:100%;min-height:24px;color:color-mix(in srgb, var(--lumal-dictionary-color,var(--el-text-color-regular)) 82%, var(--el-text-color-primary));background:color-mix(in srgb, var(--lumal-dictionary-color,var(--el-fill-color)) 10%, var(--el-bg-color));border-radius:999px;align-items:center;gap:6px;padding:2px 8px;display:inline-flex}.lumal-schema-table__dictionary-dot[data-v-ad0cf9f4]{background:var(--lumal-dictionary-color);width:7px;height:7px;box-shadow:0 0 0 1px color-mix(in srgb, var(--lumal-dictionary-color) 70%, transparent);border-radius:50%;flex:none;display:inline-block}.lumal-schema-table[data-v-0cb1dbee]{gap:16px;width:100%;min-width:0;display:grid}.lumal-schema-table__toolbar[data-v-0cb1dbee],.lumal-schema-table__pagination[data-v-0cb1dbee]{justify-content:flex-end;display:flex}.lumal-schema-table__toolbar[data-v-0cb1dbee]{align-items:center;gap:8px;min-height:40px}.lumal-schema-table__toolbar-content[data-v-0cb1dbee]{flex:auto;justify-content:flex-start;min-width:0;display:flex}.lumal-schema-table__toolbar-title[data-v-0cb1dbee]{min-width:0;color:var(--el-text-color-primary);font-size:calc(var(--lumal-font-size-base,14px) + 2px);flex:none;font-weight:600;line-height:1.5}.lumal-schema-table__toolbar-tools[data-v-0cb1dbee]{flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.lumal-schema-table__toolbar-tools[data-v-0cb1dbee] .el-button{margin-left:0}.lumal-schema-table__toolbar-tools[data-v-0cb1dbee] .el-button.is-circle{flex:0 0 30px;width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.lumal-schema-table__column-options[data-v-0cb1dbee]{z-index:var(--lumal-z-dropdown);border:1px solid var(--el-border-color-lighter);border-radius:var(--el-border-radius-base);background:var(--el-bg-color-overlay);width:max-content;min-width:200px;box-shadow:var(--lumal-shadow-base);flex-direction:column;gap:6px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.lumal-schema-table__column-options-header[data-v-0cb1dbee],.lumal-schema-table__column-option[data-v-0cb1dbee]{justify-content:space-between;align-items:center;gap:12px;display:flex}.lumal-schema-table__column-options-header[data-v-0cb1dbee]{border-bottom:1px solid var(--el-border-color-lighter);padding-bottom:8px}.lumal-schema-table__column-options-header button[data-v-0cb1dbee],.lumal-schema-table__column-order-actions button[data-v-0cb1dbee],.lumal-schema-table__error button[data-v-0cb1dbee]{border:1px solid var(--el-border-color);border-radius:var(--el-border-radius-small);min-height:32px;color:var(--el-text-color-regular);background:var(--el-fill-color-blank);cursor:pointer;padding:0 8px}.lumal-schema-table__column-option[draggable=true][data-v-0cb1dbee]{cursor:grab}.lumal-schema-table__column-order-actions[data-v-0cb1dbee]{gap:4px;display:inline-flex}.lumal-schema-table__column-order-actions button[data-v-0cb1dbee]{min-width:32px;padding:0}.lumal-schema-table__column-order-actions button[data-v-0cb1dbee]:disabled{cursor:not-allowed;opacity:.45}.lumal-schema-table__error[data-v-0cb1dbee]{border:1px dashed var(--el-color-danger-light-5);border-radius:var(--el-border-radius-base);min-height:160px;color:var(--el-color-danger);background:var(--el-color-danger-light-9);justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.lumal-schema-table__column-settings[data-v-0cb1dbee]{position:relative}.lumal-schema-table__column-settings-trigger[data-v-0cb1dbee] .lumal-icon{width:16px;height:16px}.lumal-schema-table__column-settings-trigger[data-v-0cb1dbee]{box-sizing:border-box;border:1px solid var(--el-border-color);width:30px;height:30px;color:var(--el-text-color-regular);background:var(--el-fill-color-blank);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;list-style:none;display:inline-flex}.lumal-schema-table__column-settings-trigger[data-v-0cb1dbee]::-webkit-details-marker{display:none}.lumal-schema-table__scroll[data-v-0cb1dbee]{width:100%;min-width:0;overflow-x:auto}.lumal-schema-table__body[data-v-0cb1dbee]{width:100%;min-width:720px}.lumal-schema-table__actions[data-v-0cb1dbee]{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.lumal-schema-table__mobile-actions[data-v-0cb1dbee]{box-sizing:border-box;border-radius:var(--el-border-radius-small);color:var(--el-color-primary);font:inherit;cursor:pointer;background:0 0;border:0;display:none}.lumal-schema-table__mobile-actions-menu[data-v-0cb1dbee]{gap:6px;min-width:112px;display:grid}.lumal-schema-table__mobile-actions-menu[data-v-0cb1dbee] .el-button{justify-content:flex-start;width:100%;margin-left:0}@media (width<=768px){.lumal-schema-table[data-v-0cb1dbee]{gap:12px}.lumal-schema-table__toolbar[data-v-0cb1dbee]{flex-wrap:wrap;justify-content:flex-start;align-items:center;row-gap:8px}.lumal-schema-table__toolbar-content[data-v-0cb1dbee]{flex:auto;justify-content:flex-start;min-width:0}.lumal-schema-table__toolbar-tools[data-v-0cb1dbee]{flex:0 auto;justify-content:flex-end;gap:6px;min-width:0;margin-left:auto}.lumal-schema-table__toolbar-tools[data-v-0cb1dbee] .el-button.is-circle{flex-basis:28px;width:28px;min-width:28px;height:28px;min-height:28px}.lumal-schema-table__column-settings-trigger[data-v-0cb1dbee]{width:28px;min-width:28px;height:28px;min-height:28px}.lumal-schema-table__pagination[data-v-0cb1dbee]{justify-content:flex-start;overflow-x:auto}.lumal-schema-table__actions--desktop[data-v-0cb1dbee]{display:none}.lumal-schema-table__mobile-actions[data-v-0cb1dbee]{justify-content:center;align-items:center;min-width:48px;height:32px;min-height:32px;padding:0 8px;display:inline-flex}.lumal-schema-table__mobile-actions[data-v-0cb1dbee]:hover,.lumal-schema-table__mobile-actions[data-v-0cb1dbee]:focus-visible,.lumal-schema-table__mobile-actions[aria-expanded=true][data-v-0cb1dbee]{background:var(--el-color-primary-light-9);outline:none}.lumal-schema-table__body[data-v-0cb1dbee] .el-table__body .el-table__cell{padding:8px 0}.lumal-schema-table__body[data-v-0cb1dbee] .el-table__body .cell{min-height:32px;line-height:32px}}.lumal-crud-table[data-v-68c1d18f]{box-sizing:border-box;flex-direction:column;flex:auto;gap:16px;width:100%;min-width:0;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.lumal-crud-table[data-v-68c1d18f]:fullscreen{box-sizing:border-box;background:var(--el-bg-color-page);height:100dvh;padding:16px;overflow:auto}.lumal-crud-table__query[data-v-68c1d18f]{gap:var(--lumal-space-3,12px);border:1px solid var(--el-border-color-lighter);border-radius:calc(8px * var(--lumal-radius-scale,1));background:var(--el-fill-color-light);flex:none;padding:16px;display:grid}.lumal-crud-table__query-form[data-v-68c1d18f] .lumal-schema-form__row{row-gap:14px}.lumal-crud-table__query-form[data-v-68c1d18f] .el-form-item__label{color:var(--el-text-color-regular);font-weight:500}.lumal-crud-table__query-actions[data-v-68c1d18f],.lumal-crud-table__toolbar[data-v-68c1d18f],.lumal-crud-table__toolbar-tools[data-v-68c1d18f]{gap:var(--lumal-space-2,8px);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.lumal-crud-table__toolbar[data-v-68c1d18f]{justify-content:flex-start;width:100%}.lumal-crud-table__toolbar.is-right[data-v-68c1d18f]{justify-content:flex-end}.lumal-crud-table__toolbar-tools[data-v-68c1d18f]{flex:none;justify-content:flex-end}.lumal-crud-table__toolbar-tools[data-v-68c1d18f] [data-action=toggle-query-panel].is-active{border-color:var(--el-color-primary-light-5);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.lumal-crud-table__query-actions[data-v-68c1d18f]{justify-content:flex-end}.lumal-crud-table__error[data-v-68c1d18f],.lumal-crud-table__dialog-error[data-v-68c1d18f]{gap:var(--lumal-space-3,12px);border:1px solid var(--el-color-danger-light-7);border-radius:var(--el-border-radius-base);color:var(--el-color-danger-dark-2);background:var(--el-color-danger-light-9);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.lumal-crud-table__table-panel[data-v-68c1d18f],.lumal-crud-table__body[data-v-68c1d18f],.lumal-crud-table__extra[data-v-68c1d18f]{width:100%;min-width:0}.lumal-crud-table__table-panel[data-v-68c1d18f]{box-sizing:border-box;border:1px solid var(--el-border-color-lighter);border-radius:calc(8px * var(--lumal-radius-scale,1));background:var(--el-bg-color);flex-direction:column;flex:auto;min-height:0;padding:16px;display:flex}.lumal-crud-table__body[data-v-68c1d18f]{flex:auto;min-height:0;display:flex}.lumal-crud-table__body[data-v-68c1d18f] .lumal-schema-table{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}.lumal-crud-table__body[data-v-68c1d18f] .lumal-schema-table__scroll{height:100%;min-height:0}.lumal-crud-table__pagination[data-v-68c1d18f]{flex:none;min-width:0;padding-top:12px}@media (width>=960px){.lumal-crud-table__query.is-collapsed[data-v-68c1d18f]{grid-template-columns:minmax(0,1fr) auto;align-items:end}.lumal-crud-table__query.is-collapsed .lumal-crud-table__query-actions[data-v-68c1d18f]{white-space:nowrap;align-self:end}}.lumal-crud-table__dialog-error[data-v-68c1d18f]{margin-bottom:var(--lumal-space-4,16px)}.lumal-crud-table__dialog-footer[data-v-68c1d18f]{justify-content:flex-end;gap:8px;display:flex}.lumal-crud-table__dialog .el-dialog__header{border-bottom:1px solid var(--el-border-color-lighter);margin-right:0;padding:20px 24px 16px}.lumal-crud-table__dialog .el-dialog__body{padding:24px}.lumal-crud-table__dialog .el-dialog__footer{border-top:1px solid var(--el-border-color-lighter);padding:16px 24px}@media (width<=768px){.lumal-crud-table[data-v-68c1d18f]{gap:12px;height:auto;max-height:none;overflow:visible}.lumal-crud-table__query[data-v-68c1d18f]{gap:10px;padding:12px}.lumal-crud-table__query-form[data-v-68c1d18f] .lumal-schema-form__row{row-gap:10px}.lumal-crud-table__table-panel[data-v-68c1d18f]{flex:none;padding:12px}.lumal-crud-table__body[data-v-68c1d18f]{flex:none;min-height:0}.lumal-crud-table__body[data-v-68c1d18f] .lumal-schema-table{grid-template-rows:auto auto;height:auto;min-height:0}.lumal-crud-table__body[data-v-68c1d18f] .lumal-schema-table__scroll{height:auto;min-height:160px;max-height:min(56dvh,480px);overflow:auto}.lumal-crud-table__query-actions[data-v-68c1d18f]{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lumal-crud-table__query-actions[data-v-68c1d18f] .el-button{min-height:32px;margin-left:0}.lumal-crud-table__query-actions[data-v-68c1d18f] [data-action=toggle-query]{grid-column:1/-1}.lumal-crud-table__toolbar[data-v-68c1d18f] .el-button{min-height:32px;margin-left:0}.lumal-crud-table__toolbar-tools[data-v-68c1d18f] .el-button{margin-left:0}.lumal-crud-table__dialog.el-dialog{flex-direction:column;max-height:calc(100dvh - 24px);margin:12px auto;display:flex;width:calc(100vw - 24px)!important}.lumal-crud-table__dialog .el-dialog__header{padding:12px}.lumal-crud-table__dialog .el-dialog__body{min-height:0;padding:12px;overflow-y:auto}.lumal-crud-table__dialog .el-dialog__footer{padding:10px 12px 12px}.lumal-crud-table__dialog-footer[data-v-68c1d18f] .el-button{min-height:32px;margin-left:0}}@media (width<=480px){.lumal-crud-table__dialog-footer[data-v-68c1d18f] .el-button{flex:1 1 0}}.lumal-info-table[data-v-4066d619]{grid-template-columns:repeat(var(--lumal-info-table-columns), minmax(0, 1fr));border-radius:8px;margin:0;display:grid;overflow:hidden}.lumal-info-table--bordered[data-v-4066d619]{border:1px solid var(--el-border-color-lighter)}.lumal-info-table__item[data-v-4066d619]{border-bottom:1px solid var(--el-border-color-lighter);background:var(--el-bg-color);min-width:0;display:flex}.lumal-info-table__label[data-v-4066d619]{box-sizing:border-box;color:var(--el-text-color-regular);background:var(--el-fill-color-light);font-size:calc(var(--lumal-font-size-base,14px) - 1px);flex:none;margin:0;padding:10px 12px;font-weight:600;line-height:1.5}.lumal-info-table__value[data-v-4066d619]{min-width:0;color:var(--el-text-color-primary);font-size:calc(var(--lumal-font-size-base,14px) - 1px);overflow-wrap:anywhere;flex:auto;margin:0;padding:10px 12px;line-height:1.5}@media (width<=760px){.lumal-info-table[data-v-4066d619]{grid-template-columns:1fr}.lumal-info-table__item[data-v-4066d619]{grid-column:span 1!important}}.lumal-page[data-v-07931bf6]{box-sizing:border-box;border:1px solid var(--el-border-color-lighter);border-radius:calc(10px * var(--lumal-radius-scale,1));background:var(--el-bg-color);min-width:0;box-shadow:var(--lumal-shadow-light);align-content:start;gap:16px;padding:20px;display:grid;position:relative}.lumal-page.is-fill[data-v-07931bf6]{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}.lumal-page.is-no-padding[data-v-07931bf6]{box-shadow:none;background:0 0;border:0;padding:0}.lumal-page__header[data-v-07931bf6]{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.lumal-page__heading[data-v-07931bf6]{min-width:0}.lumal-page__title[data-v-07931bf6]{color:var(--el-text-color-primary);font-size:calc(var(--lumal-font-size-base,14px) + 4px);margin:0;line-height:1.4}.lumal-page__description[data-v-07931bf6]{color:var(--el-text-color-secondary);font-size:var(--lumal-font-size-base,14px);margin:4px 0 0;line-height:1.5}.lumal-page__actions[data-v-07931bf6]{flex:none;align-items:center;gap:8px;display:flex}.lumal-page__body[data-v-07931bf6]{min-width:0;min-height:0}.lumal-page.is-fill .lumal-page__body[data-v-07931bf6]{overflow:auto}.lumal-page__loading[data-v-07931bf6]{color:var(--el-text-color-regular);background:color-mix(in srgb, var(--el-bg-color) 82%, transparent);font-size:var(--lumal-font-size-base,14px);place-items:center;display:grid;position:absolute;inset:0}@media (width<=768px){.lumal-page[data-v-07931bf6]{gap:12px;padding:12px}.lumal-page__header[data-v-07931bf6]{flex-direction:column}.lumal-page__actions[data-v-07931bf6]{flex-wrap:wrap;width:100%}}.lumal-page-layout[data-v-8e09ec3e]{gap:16px;min-width:0;display:grid}.lumal-page-layout.is-fill[data-v-8e09ec3e]{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0}.lumal-page-layout__query[data-v-8e09ec3e],.lumal-page-layout__toolbar[data-v-8e09ec3e],.lumal-page-layout__content[data-v-8e09ec3e],.lumal-page-layout__pagination[data-v-8e09ec3e]{min-width:0}.lumal-page-layout.is-surface .lumal-page-layout__query[data-v-8e09ec3e]{border:1px solid var(--el-border-color-lighter);border-radius:var(--el-border-radius-base);background:var(--el-fill-color-blank);gap:12px;padding:16px;display:grid}.lumal-page-layout__query-body[data-v-8e09ec3e]{min-width:0}.lumal-page-layout__query-actions[data-v-8e09ec3e]{justify-content:flex-end;gap:8px;display:flex}.lumal-page-layout.is-surface .lumal-page-layout__toolbar[data-v-8e09ec3e]{border:1px solid var(--el-border-color-lighter);border-radius:var(--el-border-radius-base);background:var(--el-fill-color-blank);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.lumal-page-layout__content[data-v-8e09ec3e]{min-width:0;min-height:0;overflow:hidden}.lumal-page-layout.is-content-scrollable .lumal-page-layout__content[data-v-8e09ec3e]{overflow:auto}.lumal-page-layout.is-surface .lumal-page-layout__content[data-v-8e09ec3e]{border:1px solid var(--el-border-color-lighter);border-radius:var(--el-border-radius-base);background:var(--el-fill-color-blank)}.lumal-page-layout__pagination[data-v-8e09ec3e]{justify-content:flex-end;padding:12px 16px;display:flex}.lumal-page-layout.is-surface .lumal-page-layout__pagination[data-v-8e09ec3e]{border:1px solid var(--el-border-color-lighter);border-radius:var(--el-border-radius-base);background:var(--el-fill-color-blank)}@media (width<=768px){.lumal-page-layout[data-v-8e09ec3e]{gap:12px}.lumal-page-layout__query[data-v-8e09ec3e],.lumal-page-layout__toolbar[data-v-8e09ec3e],.lumal-page-layout__pagination[data-v-8e09ec3e]{padding:12px}.lumal-page-layout__query-actions[data-v-8e09ec3e],.lumal-page-layout__pagination[data-v-8e09ec3e]{justify-content:flex-start}.lumal-page-layout__query-actions[data-v-8e09ec3e] .el-button{min-height:32px;padding-inline:12px}}.lumal-breadcrumb[data-v-53a036d9]{min-height:40px;padding:0 var(--lumal-page-gutter,20px);border-bottom:1px solid var(--el-border-color-lighter);background:var(--el-bg-color);flex:none;align-items:center;display:flex}.lumal-breadcrumb__list[data-v-53a036d9],.lumal-breadcrumb__item[data-v-53a036d9],.lumal-breadcrumb__current[data-v-53a036d9],.lumal-breadcrumb__link[data-v-53a036d9]{align-items:center;min-width:0;display:flex}.lumal-breadcrumb__list[data-v-53a036d9]{margin:0;padding:0;list-style:none;overflow:hidden}.lumal-breadcrumb__item[data-v-53a036d9]{flex:none;gap:8px}.lumal-breadcrumb__separator[data-v-53a036d9]{color:var(--el-text-color-placeholder);flex:none}.lumal-breadcrumb__link[data-v-53a036d9]{color:var(--el-text-color-regular);cursor:pointer;font:inherit;background:0 0;border:0;gap:5px;padding:4px 0}.lumal-breadcrumb__link[data-v-53a036d9]:hover{color:var(--el-color-primary)}.lumal-breadcrumb__link[data-v-53a036d9]:focus-visible{border-radius:var(--el-border-radius-small);outline:2px solid var(--el-color-primary);outline-offset:2px}.lumal-breadcrumb__current[data-v-53a036d9]{max-width:240px;color:var(--el-text-color-primary);text-overflow:ellipsis;white-space:nowrap;gap:5px;font-weight:500;overflow:hidden}@media (width<=768px){.lumal-breadcrumb[data-v-53a036d9]{display:none}}.lumal-content[data-v-50b337c5]{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--el-bg-color-page);flex-direction:column;flex:auto;min-width:0;min-height:0;padding:14px;display:flex;overflow:hidden auto}@media (width<=1024px){.lumal-content[data-v-50b337c5]{padding:10px}}@media (width<=768px){.lumal-content[data-v-50b337c5]{padding:6px}}.lumal-global-search__trigger[data-v-a433539f]{border:1px solid var(--el-border-color-lighter);border-radius:var(--el-border-radius-base);min-width:44px;height:36px;color:var(--el-text-color-regular);cursor:pointer;background:var(--el-fill-color-light);font:inherit;justify-content:center;align-items:center;gap:7px;padding:0 9px;display:inline-flex}.lumal-global-search__trigger[data-v-a433539f]:hover{border-color:var(--el-color-primary-light-5);color:var(--el-color-primary)}.lumal-global-search__trigger[data-v-a433539f]:focus-visible,.lumal-global-search__dialog button[data-v-a433539f]:focus-visible,.lumal-global-search__dialog input[data-v-a433539f]:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.lumal-global-search__trigger-label[data-v-a433539f]{font-size:calc(var(--lumal-font-size-base,14px) - 1px)}.lumal-global-search__trigger kbd[data-v-a433539f]{border:1px solid var(--el-border-color);color:var(--el-text-color-secondary);background:var(--el-bg-color);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:calc(var(--lumal-font-size-base,14px) - 3px);border-radius:4px;padding:2px 5px;line-height:1.2}.lumal-global-search__backdrop[data-v-a433539f]{z-index:calc(var(--lumal-z-drawer,1200) + 20);background:color-mix(in srgb, var(--el-color-black) 48%, transparent);justify-content:center;align-items:flex-start;padding:min(14vh,120px) 16px 24px;display:flex;position:fixed;inset:0}.lumal-global-search__dialog[data-v-a433539f]{border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-base);background:var(--el-bg-color);width:min(640px,100%);max-height:min(640px,76vh);box-shadow:var(--el-box-shadow-dark);flex-direction:column;display:flex;overflow:hidden}.lumal-global-search__header[data-v-a433539f]{border-bottom:1px solid var(--el-border-color-lighter);justify-content:space-between;align-items:center;min-height:52px;padding:0 14px 0 18px;display:flex}.lumal-global-search__header h2[data-v-a433539f]{font-size:calc(var(--lumal-font-size-base,14px) + 2px);margin:0;font-weight:600}.lumal-global-search__header button[data-v-a433539f]{border-radius:var(--el-border-radius-base);width:40px;height:40px;color:var(--el-text-color-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.lumal-global-search__input-wrap[data-v-a433539f]{border:1px solid var(--el-border-color);border-radius:var(--el-border-radius-base);min-height:52px;color:var(--el-text-color-placeholder);background:var(--el-fill-color-lighter);align-items:center;gap:10px;margin:14px;padding:0 14px;display:flex}.lumal-global-search__input-wrap[data-v-a433539f]:focus-within{border-color:var(--el-color-primary)}.lumal-global-search__input-wrap input[data-v-a433539f]{width:100%;min-width:0;height:48px;color:var(--el-text-color-primary);font:inherit;background:0 0;border:0;outline:0;padding:0}.lumal-global-search__results[data-v-a433539f]{min-height:0;margin:0;padding:0 10px 12px;list-style:none;overflow-y:auto}.lumal-global-search__results button[data-v-a433539f]{border-radius:var(--el-border-radius-base);width:100%;min-height:52px;color:var(--el-text-color-regular);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.lumal-global-search__results button[data-v-a433539f]:hover,.lumal-global-search__results button.is-active[data-v-a433539f]{color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.lumal-global-search__results button>span[data-v-a433539f]{flex-direction:column;gap:2px;min-width:0;display:flex}.lumal-global-search__results strong[data-v-a433539f],.lumal-global-search__results small[data-v-a433539f]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lumal-global-search__results strong[data-v-a433539f]{font-size:var(--lumal-font-size-base,14px);font-weight:600}.lumal-global-search__results small[data-v-a433539f],.lumal-global-search__results code[data-v-a433539f]{color:var(--el-text-color-secondary);font-size:calc(var(--lumal-font-size-base,14px) - 2px)}.lumal-global-search__results code[data-v-a433539f]{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.lumal-global-search__empty[data-v-a433539f]{color:var(--el-text-color-secondary);text-align:center;margin:0;padding:28px 20px 36px}.lumal-global-search__sr-only[data-v-a433539f]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=1024px){.lumal-global-search__trigger-label[data-v-a433539f],.lumal-global-search__trigger kbd[data-v-a433539f]{display:none}}@media (prefers-reduced-motion:reduce){.lumal-global-search[data-v-a433539f] *{scroll-behavior:auto!important}}.lumal-header[data-v-e9574860]{z-index:var(--lumal-z-header);border-bottom:1px solid var(--el-border-color-lighter);background:var(--el-bg-color);flex:none;justify-content:space-between;align-items:center;min-width:0;padding:0 12px;display:flex;position:relative}.lumal-header__left[data-v-e9574860]{align-items:center;gap:8px;min-width:0;display:flex}.lumal-header__toggle[data-v-e9574860]{width:32px;height:32px;color:var(--el-text-color-regular);border-radius:6px;flex:none;order:-1;margin-left:-4px;padding:0}.lumal-header__toggle[data-v-e9574860]:hover{color:var(--el-text-color-primary);background:var(--el-fill-color-light)}.lumal-header__toggle.is-after-title[data-v-e9574860]{order:initial;margin-left:0;margin-right:-4px}.lumal-header__toggle.is-mobile-only[data-v-e9574860]{display:none}.lumal-header__toggle svg[data-v-e9574860]{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:16px;height:16px}.lumal-header__title[data-v-e9574860]{min-width:0;color:var(--el-text-color-primary);font-size:var(--lumal-font-size-base,14px);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2;overflow:hidden}.lumal-header__navigation[data-v-e9574860]{flex:auto;align-self:stretch;align-items:center;min-width:0;margin-left:12px;display:flex;overflow:hidden}.lumal-header__breadcrumb[data-v-e9574860]{flex:auto;align-items:center;min-width:0;margin-left:12px;display:flex;overflow:hidden}.lumal-header__actions[data-v-e9574860]{flex:none;align-items:center;gap:4px;margin-left:8px;display:flex}@media (width<=1024px){.lumal-header[data-v-e9574860]{padding:0 10px}.lumal-header__navigation[data-v-e9574860],.lumal-header__breadcrumb[data-v-e9574860]{margin-left:8px}}@media (width<=768px){.lumal-header[data-v-e9574860]{padding:0 10px}.lumal-header__navigation[data-v-e9574860],.lumal-header__breadcrumb[data-v-e9574860]{display:none}.lumal-header__toggle.is-mobile-only[data-v-e9574860]{display:inline-flex}.lumal-header__left[data-v-e9574860]{flex:auto}}.lumal-menu-badge[data-v-0ca73e4b]{--lumal-menu-badge-color:var(--el-color-primary);min-width:18px;height:18px;color:var(--el-color-white);background:var(--lumal-menu-badge-color);font-size:calc(var(--lumal-font-size-base,14px) - 3px);font-variant-numeric:tabular-nums;border-radius:9px;flex:none;justify-content:center;align-items:center;padding:0 5px;line-height:18px;display:inline-flex}.lumal-menu-badge.is-dot[data-v-0ca73e4b]{width:8px;min-width:8px;height:8px;padding:0}.lumal-menu-badge.is-success[data-v-0ca73e4b]{--lumal-menu-badge-color:var(--el-color-success)}.lumal-menu-badge.is-warning[data-v-0ca73e4b]{--lumal-menu-badge-color:var(--el-color-warning)}.lumal-menu-badge.is-danger[data-v-0ca73e4b]{--lumal-menu-badge-color:var(--el-color-danger)}.lumal-menu-badge.is-info[data-v-0ca73e4b]{--lumal-menu-badge-color:var(--el-color-info)}.lumal-sidebar-menu-item__icon[data-v-a5f8c946]{flex:none;justify-content:center;align-items:center;margin-right:8px;font-style:normal;display:inline-flex}.lumal-sidebar-menu-item__label[data-v-a5f8c946]{align-items:center;gap:6px;min-width:0;display:flex}.lumal-sidebar-menu-item__title[data-v-a5f8c946]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lumal-sidebar-menu-item__external[data-v-a5f8c946]{color:var(--el-text-color-placeholder);font-size:calc(var(--lumal-font-size-base,14px) - 2px);margin-left:auto}.lumal-sidebar[data-v-59a9bda5]{border-right:1px solid var(--el-border-color-lighter);background:var(--el-bg-color);min-height:0;transition:width var(--lumal-motion-duration-base) var(--lumal-easing-standard), transform var(--lumal-motion-duration-base) var(--lumal-easing-standard);flex:none}.lumal-sidebar__scrollbar[data-v-59a9bda5]{height:100%}.lumal-sidebar__menu[data-v-59a9bda5]{border-right:0;min-height:100%;padding:12px 8px}.lumal-sidebar__menu[data-v-59a9bda5] .el-menu-item,.lumal-sidebar__menu[data-v-59a9bda5] .el-sub-menu__title{border-radius:var(--el-border-radius-base);height:44px;margin:2px 0}.lumal-sidebar__menu[data-v-59a9bda5] .el-menu-item.is-active{background:var(--el-color-primary-light-9);font-weight:600}.lumal-sidebar__menu.el-menu--collapse[data-v-59a9bda5] .el-menu-item,.lumal-sidebar__menu.el-menu--collapse[data-v-59a9bda5] .el-sub-menu__title{justify-content:center;padding-left:0!important;padding-right:0!important}.lumal-sidebar__menu.el-menu--collapse[data-v-59a9bda5] .lumal-sidebar-menu-item__icon{justify-content:center;align-items:center;width:20px;height:20px;margin:0;display:inline-flex}.lumal-tabs[data-v-e1921025]{width:100%;min-width:0;height:var(--lumal-tabbar-height);border-bottom:1px solid var(--el-border-color-lighter);background:var(--el-bg-color);flex:none;display:flex;position:relative}.lumal-tabs__viewport[data-v-e1921025]{scrollbar-width:none;flex:auto;min-width:0;overflow:auto hidden}.lumal-tabs__viewport[data-v-e1921025]::-webkit-scrollbar{display:none}.lumal-tabs__list[data-v-e1921025]{box-sizing:border-box;align-items:stretch;gap:2px;width:max-content;min-width:100%;height:100%;padding:3px 6px 0;display:flex}.lumal-tabs__item[data-v-e1921025]{border-radius:var(--lumal-radius-small) var(--lumal-radius-small) 0 0;min-width:88px;max-width:min(240px,32vw);color:var(--el-text-color-regular);transition:color var(--lumal-motion-duration-fast) var(--lumal-easing-standard), background-color var(--lumal-motion-duration-fast) var(--lumal-easing-standard);align-items:center;display:flex;position:relative}.lumal-tabs__item[data-v-e1921025]:hover{background:var(--el-fill-color-light)}.lumal-tabs__tab[data-v-e1921025]{min-width:0;height:100%;color:inherit;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:5px;padding:0 26px 0 10px;display:flex}.lumal-tabs__tab[data-v-e1921025]:focus-visible,.lumal-tabs__tool[data-v-e1921025]:focus-visible,.lumal-tabs__close[data-v-e1921025]:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:-2px}.lumal-tabs__label[data-v-e1921025]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lumal-tabs__close[data-v-e1921025]{width:18px;height:18px;color:var(--el-text-color-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.lumal-tabs__close[data-v-e1921025]:hover{color:var(--el-text-color-primary);background:var(--el-fill-color)}.lumal-tabs__tool[data-v-e1921025]{border:0;border-left:1px solid var(--el-border-color-lighter);width:36px;height:100%;color:var(--el-text-color-secondary);cursor:pointer;background:0 0;flex:0 0 36px;place-items:center;padding:0;display:grid}.lumal-tabs__tool[data-v-e1921025]:hover:not(:disabled){color:var(--el-text-color-primary);background:var(--el-fill-color-light)}.lumal-tabs__tool[data-v-e1921025]:disabled{cursor:default;opacity:.35}.lumal-tabs__item--ghost[data-v-e1921025]{opacity:.4}.lumal-tabs__item--chosen[data-v-e1921025]{box-shadow:inset 0 0 0 1px var(--el-color-primary-light-5)}.lumal-tabs.is-style-chrome .lumal-tabs__item.is-active[data-v-e1921025]{color:var(--el-color-primary);background:var(--el-color-primary-light-9);box-shadow:inset 0 -2px var(--el-color-primary);position:relative}.lumal-tabs.is-style-chrome .lumal-tabs__item.is-active[data-v-e1921025]:before,.lumal-tabs.is-style-chrome .lumal-tabs__item.is-active[data-v-e1921025]:after{content:"";pointer-events:none;width:8px;height:8px;position:absolute;bottom:0}.lumal-tabs.is-style-chrome .lumal-tabs__item.is-active[data-v-e1921025]:before{box-shadow:2px 2px 0 0 var(--el-color-primary-light-9);border-bottom-right-radius:8px;left:-8px}.lumal-tabs.is-style-chrome .lumal-tabs__item.is-active[data-v-e1921025]:after{box-shadow:-2px 2px 0 0 var(--el-color-primary-light-9);border-bottom-left-radius:8px;right:-8px}.lumal-tabs.is-style-chrome .lumal-tabs__list>.lumal-tabs__item.is-active+.lumal-tabs__item .lumal-tabs__tab[data-v-e1921025]:before{display:none}.lumal-tabs.is-style-chrome .lumal-tabs__list>.lumal-tabs__item+.lumal-tabs__item .lumal-tabs__tab[data-v-e1921025]:before{content:"";background:var(--el-border-color-light);width:1px;position:absolute;top:12px;bottom:10px;left:-3px}.lumal-tabs.is-style-chrome .lumal-tabs__list>.lumal-tabs__item.is-active+.lumal-tabs__item .lumal-tabs__tab[data-v-e1921025]:before,.lumal-tabs.is-style-chrome .lumal-tabs__list>.lumal-tabs__item+.lumal-tabs__item.is-active .lumal-tabs__tab[data-v-e1921025]:before{display:none}.lumal-tabs.is-style-plain .lumal-tabs__item.is-active[data-v-e1921025]{color:var(--el-color-primary);border-bottom:2px solid var(--el-color-primary)}.lumal-tabs.is-style-plain .lumal-tabs__list>.lumal-tabs__item+.lumal-tabs__item[data-v-e1921025]{border-left:1px solid var(--el-border-color-lighter)}.lumal-tabs.is-style-card .lumal-tabs__item[data-v-e1921025]{border-radius:var(--lumal-radius-small);border:1px solid #0000}.lumal-tabs.is-style-card .lumal-tabs__item.is-active[data-v-e1921025]{border-color:var(--el-border-color-light);color:var(--el-color-primary);background:var(--el-bg-color);box-shadow:0 1px 3px color-mix(in srgb, var(--el-color-primary) 12%, transparent)}.lumal-tabs.is-style-card .lumal-tabs__item[data-v-e1921025]:not(.is-active){background:var(--el-fill-color-light)}.lumal-tabs.is-style-card .lumal-tabs__list[data-v-e1921025]{gap:4px;padding-top:4px}.lumal-tabs.is-style-brisk .lumal-tabs__item.is-active[data-v-e1921025]{color:var(--el-color-primary)}.lumal-tabs.is-style-brisk .lumal-tabs__item.is-active[data-v-e1921025]:after{content:"";background:var(--el-color-primary);transform-origin:50%;height:2px;animation:lumal-tab-brisk-underline-e1921025 .16s var(--lumal-easing-standard);border-radius:2px;position:absolute;bottom:4px;left:14px;right:14px}@keyframes lumal-tab-brisk-underline-e1921025{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}.lumal-tabs__item.is-pinned .lumal-tabs__tab[data-v-e1921025],.lumal-tabs__item.is-not-draggable[data-v-e1921025]{cursor:default}@media (pointer:coarse){.lumal-tabs__item.is-not-draggable[data-v-e1921025],.lumal-tabs__item[data-v-e1921025]{cursor:default}}@media (width<=768px){.lumal-tabs[data-v-e1921025]{height:40px}.lumal-tabs__list[data-v-e1921025]{gap:1px;padding:3px 4px 0}.lumal-tabs__item[data-v-e1921025]{min-width:72px;max-width:min(180px,42vw)}.lumal-tabs__tab[data-v-e1921025]{gap:4px;padding:0 22px 0 8px}.lumal-tabs__close[data-v-e1921025]{right:5px}.lumal-tabs__tool[data-v-e1921025]{flex-basis:32px;width:32px}.lumal-tabs__tool--refresh[data-v-e1921025],.lumal-tabs__tool--maximize[data-v-e1921025]{display:none}}@media (prefers-reduced-motion:reduce){.lumal-tabs__item[data-v-e1921025]{transition:none}.lumal-tabs.is-style-brisk .lumal-tabs__item.is-active[data-v-e1921025]:after{animation:none}}.lumal-tab-enter-active[data-v-e1921025],.lumal-tab-leave-active[data-v-e1921025]{transition:opacity .16s var(--lumal-easing-standard), transform .16s var(--lumal-easing-standard)}.lumal-tab-enter-from[data-v-e1921025]{opacity:0;transform:translate(-8px)}.lumal-tab-leave-to[data-v-e1921025]{opacity:0;transform:translate(8px)}.lumal-tab-move[data-v-e1921025]{transition:transform .16s var(--lumal-easing-standard)}@media (prefers-reduced-motion:reduce){.lumal-tab-enter-active[data-v-e1921025],.lumal-tab-leave-active[data-v-e1921025],.lumal-tab-move[data-v-e1921025]{transition:none}}.lumal-tabs-context-menu{z-index:var(--lumal-z-context-menu);border:1px solid var(--el-border-color-lighter);border-radius:var(--lumal-radius-base);background:var(--el-bg-color-overlay);min-width:168px;box-shadow:var(--lumal-shadow-base);transform-origin:0 0;animation:lumal-tab-menu-in .14s var(--lumal-easing-standard);padding:4px;display:grid;position:fixed}@keyframes lumal-tab-menu-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lumal-tabs-context-menu button{border-radius:var(--lumal-radius-small);color:var(--el-text-color-regular);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.lumal-tabs-context-menu button:hover:not(:disabled){color:var(--el-text-color-primary);background:var(--el-fill-color-light)}.lumal-tabs-context-menu button:disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.lumal-tabs-context-menu button:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:-2px}.lumal-tabs-context-menu__divider{background:var(--el-border-color-lighter);height:1px;margin:4px 6px}@media (prefers-reduced-motion:reduce){.lumal-tabs-context-menu{animation:none}}.lumal-top-nav-menu-item__label[data-v-f78b5b43]{align-items:center;gap:6px;min-width:0;display:inline-flex}.lumal-top-nav-menu-item__external[data-v-f78b5b43]{color:var(--el-text-color-placeholder);font-size:calc(var(--lumal-font-size-base,14px) - 2px);margin-left:4px}.lumal-top-nav[data-v-1c664f72]{--lumal-top-nav-item-height:36px;--lumal-top-nav-item-radius:6px;--lumal-top-nav-item-gap:2px;--lumal-top-nav-item-padding-x:12px;width:100%;max-width:var(--lumal-top-nav-max-width);flex:auto;align-items:center;min-width:0;height:100%;display:flex;background:0 0!important;border-bottom:0!important}.lumal-top-nav.is-align-left[data-v-1c664f72]{justify-content:flex-start;margin-right:auto}.lumal-top-nav.is-align-center[data-v-1c664f72]{justify-content:center;margin-left:auto;margin-right:auto}.lumal-top-nav.is-align-right[data-v-1c664f72]{justify-content:flex-end;margin-left:auto}.lumal-top-nav[data-v-1c664f72] .el-menu-item,.lumal-top-nav[data-v-1c664f72] .el-sub-menu__title{margin:0 var(--lumal-top-nav-item-gap);border-radius:var(--lumal-top-nav-item-radius);color:var(--el-text-color-regular);font-size:calc(var(--lumal-font-size-base,14px) - 1px);justify-content:center;align-items:center;gap:6px;font-weight:500;line-height:1;transition:color .15s,background-color .15s;display:inline-flex;height:var(--lumal-top-nav-item-height)!important;min-height:var(--lumal-top-nav-item-height)!important;padding:0 var(--lumal-top-nav-item-padding-x)!important;border-bottom:0!important}.lumal-top-nav[data-v-1c664f72] .el-sub-menu{height:var(--lumal-top-nav-item-height);margin:0}.lumal-top-nav[data-v-1c664f72] .el-sub-menu .el-sub-menu__icon-arrow{margin-top:1px;margin-left:4px;font-size:10px}.lumal-top-nav[data-v-1c664f72] .el-menu-item:not(.is-disabled):hover,.lumal-top-nav[data-v-1c664f72] .el-menu-item:not(.is-disabled):focus,.lumal-top-nav[data-v-1c664f72] .el-sub-menu__title:hover{color:var(--el-text-color-primary)!important;background-color:var(--el-fill-color-light)!important}.lumal-top-nav[data-v-1c664f72] .el-menu-item.is-active,.lumal-top-nav[data-v-1c664f72] .el-sub-menu.is-active>.el-sub-menu__title,.lumal-top-nav[data-v-1c664f72] .el-sub-menu.is-active>.el-tooltip__trigger>.el-sub-menu__title{font-weight:600;color:var(--el-color-primary)!important;background-color:color-mix(in srgb, var(--el-color-primary) 12%, transparent)!important;border-bottom:0!important}.lumal-top-nav[data-v-1c664f72] .el-menu--horizontal>.el-menu-item.is-active,.lumal-top-nav[data-v-1c664f72] .el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:0!important}.lumal-top-nav[data-v-1c664f72] .el-menu--popup .el-menu-item,.lumal-top-nav[data-v-1c664f72] .el-menu--popup .el-sub-menu__title{border-radius:var(--lumal-top-nav-item-radius);justify-content:flex-start;margin:2px 6px;height:36px!important;min-height:36px!important}.lumal-top-nav__external[data-v-1c664f72]{color:var(--el-text-color-placeholder);font-size:calc(var(--lumal-font-size-base,14px) - 2px)}.lumal-top-nav__label[data-v-1c664f72]{align-items:center;gap:4px;min-width:0;display:inline-flex}.lumal-layout[data-v-c4a60970]{background:var(--el-bg-color-page);min-width:0;height:100dvh;min-height:100dvh;position:relative;overflow:hidden}.lumal-layout__body[data-v-c4a60970]{flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}.lumal-layout__main[data-v-c4a60970]{background:var(--el-bg-color-page);flex:auto;width:0;min-width:0;min-height:0;overflow:hidden}.lumal-layout__sidebar-scrim[data-v-c4a60970],.lumal-layout__mobile-sidebar[data-v-c4a60970]{display:none}.lumal-layout__header-breadcrumb[data-v-c4a60970]{background:0 0;border-bottom:0;width:100%;min-height:0;padding:0}.lumal-layout.is-content-maximized .lumal-layout__main[data-v-c4a60970]{z-index:var(--lumal-z-scrim);background:var(--el-bg-color-page);position:absolute;inset:0}.lumal-layout-sidebar-enter-active[data-v-c4a60970],.lumal-layout-sidebar-leave-active[data-v-c4a60970]{transition:width var(--lumal-motion-duration-base) var(--lumal-easing-standard), opacity var(--lumal-motion-duration-fast) ease, transform var(--lumal-motion-duration-base) var(--lumal-easing-standard), border-color var(--lumal-motion-duration-fast) ease;overflow:hidden}.lumal-layout-sidebar-leave-active[data-v-c4a60970]{pointer-events:none}.lumal-layout-sidebar-enter-from[data-v-c4a60970],.lumal-layout-sidebar-leave-to[data-v-c4a60970]{opacity:0;border-right-color:#0000;transform:translate(-12px);width:0!important}@media (width<=768px){.lumal-layout__desktop-sidebar[data-v-c4a60970]{display:none}.lumal-layout__mobile-sidebar[data-v-c4a60970]{z-index:var(--lumal-z-drawer);box-shadow:var(--lumal-shadow-base);display:block;position:absolute;inset:0 auto 0 0;transform:translate(0);width:min(var(--lumal-sidebar-width,248px), 84vw)!important}.lumal-layout.is-mobile-menu-hidden .lumal-layout__mobile-sidebar[data-v-c4a60970]{pointer-events:none;transform:translate(-100%)}.lumal-layout__sidebar-scrim[data-v-c4a60970]{z-index:var(--lumal-z-scrim);background:color-mix(in srgb, var(--lumal-color-text-primary) 42%, transparent);cursor:pointer;border:0;padding:0;display:block;position:absolute;inset:0}.lumal-layout.is-mobile-menu-hidden .lumal-layout__sidebar-scrim[data-v-c4a60970]{display:none}.lumal-layout__main[data-v-c4a60970]{width:100%}}@media (prefers-reduced-motion:reduce){.lumal-layout__body[data-v-c4a60970] .lumal-sidebar,.lumal-layout-sidebar-enter-active[data-v-c4a60970],.lumal-layout-sidebar-leave-active[data-v-c4a60970]{transition:none}}.lumal-router-view[data-v-3ad5cc30]{flex-direction:column;flex:auto;width:100%;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden visible}.lumal-router-view[data-v-3ad5cc30]>*{box-sizing:border-box;flex:auto;width:100%;min-width:0}.lumal-router-view__progress[data-v-3ad5cc30]{z-index:3000;background:color-mix(in srgb, var(--el-color-primary) 14%, transparent);height:2px;position:fixed;top:0;left:0;right:0;overflow:hidden}.lumal-router-view__progress-bar[data-v-3ad5cc30]{background:var(--el-color-primary);transform-origin:0;width:100%;height:100%;animation:.32s ease-out both lumal-router-view-progress-3ad5cc30;display:block}.lumal-router-view__loading[data-v-3ad5cc30]{z-index:19;background:color-mix(in srgb, var(--el-bg-color-page) 72%, transparent);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lumal-router-view__loading-dot[data-v-3ad5cc30]{border:3px solid color-mix(in srgb, var(--el-color-primary) 18%, transparent);border-top-color:var(--el-color-primary);border-radius:999px;width:28px;height:28px;animation:.72s linear infinite lumal-router-view-loading-3ad5cc30}.fade-side-enter-active[data-v-3ad5cc30],.fade-side-leave-active[data-v-3ad5cc30]{transition:opacity var(--lumal-motion-duration-slow) var(--lumal-easing-standard), transform var(--lumal-motion-duration-slow) var(--lumal-easing-standard)}.fade-side-enter-from[data-v-3ad5cc30]{opacity:0;transform:translate(-30px)}.fade-side-leave-to[data-v-3ad5cc30]{opacity:0;transform:translate(30px)}.fade-enter-active[data-v-3ad5cc30],.fade-leave-active[data-v-3ad5cc30]{transition:opacity var(--lumal-motion-duration-base) var(--lumal-easing-standard)}.fade-enter-from[data-v-3ad5cc30],.fade-leave-to[data-v-3ad5cc30]{opacity:0}.fade-bottom-enter-active[data-v-3ad5cc30],.fade-bottom-leave-active[data-v-3ad5cc30]{transition:opacity var(--lumal-motion-duration-base) var(--lumal-easing-standard), transform var(--lumal-motion-duration-slow) var(--lumal-easing-standard)}.fade-bottom-enter-from[data-v-3ad5cc30]{opacity:0;transform:translateY(10%)}.fade-bottom-leave-to[data-v-3ad5cc30]{opacity:0;transform:translateY(-10%)}.zoom-fade-enter-active[data-v-3ad5cc30],.zoom-fade-leave-active[data-v-3ad5cc30]{transition:opacity var(--lumal-motion-duration-slow) var(--lumal-easing-standard), transform var(--lumal-motion-duration-slow) var(--lumal-easing-standard)}.zoom-fade-enter-from[data-v-3ad5cc30]{opacity:0;transform:scale(1.2)}.zoom-fade-leave-to[data-v-3ad5cc30]{opacity:0;transform:scale(.8)}@keyframes lumal-router-view-progress-3ad5cc30{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes lumal-router-view-loading-3ad5cc30{to{transform:rotate(360deg)}}.lumal-theme-settings[data-v-e1228cb0]{height:100%;min-height:0;color:var(--el-text-color-primary);flex-direction:column;display:flex;overflow:hidden;container-type:inline-size}.lumal-theme-settings__tabs[data-v-e1228cb0]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color);border-radius:9px;flex:none;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:12px;padding:4px;display:grid}.lumal-theme-settings__tab[data-v-e1228cb0]{min-height:34px;color:var(--el-text-color-secondary);cursor:pointer;font-size:calc(var(--lumal-font-size-base,14px) - 1px);background:0 0;border:0;border-radius:6px;padding:0 8px;font-weight:600;transition:color .2s,background-color .2s,box-shadow .2s}.lumal-theme-settings__tab[data-v-e1228cb0]:hover{color:var(--el-text-color-primary)}.lumal-theme-settings__tab.is-active[data-v-e1228cb0]{color:var(--el-color-primary);background:var(--el-bg-color);box-shadow:0 1px 3px color-mix(in srgb, var(--el-color-black) 12%, transparent)}.lumal-theme-settings__scroll[data-v-e1228cb0]{scrollbar-width:thin;flex:1;min-height:0;padding:18px 4px 22px;overflow-y:auto}.lumal-theme-settings__pane[data-v-e1228cb0]{gap:26px;display:grid}.lumal-theme-settings__section[data-v-e1228cb0]{gap:12px;display:grid}.lumal-theme-settings__section+.lumal-theme-settings__section[data-v-e1228cb0]{border-top:0;padding-top:0}h4[data-v-e1228cb0]{color:var(--el-text-color-primary);font-size:var(--lumal-font-size-base,14px);letter-spacing:.01em;margin:0;font-weight:700}.lumal-theme-settings__row[data-v-e1228cb0]{min-height:34px;font-size:calc(var(--lumal-font-size-base,14px) - 1px);justify-content:space-between;align-items:center;gap:12px;padding:0 4px;display:flex}.lumal-theme-settings__row.is-stacked[data-v-e1228cb0]{grid-template-columns:1fr auto;display:grid}.lumal-theme-settings__row.is-stacked[data-v-e1228cb0] .el-slider{grid-column:1;width:100%}.lumal-theme-settings__row.is-stacked[data-v-e1228cb0] .el-input-number{grid-area:2/2;width:112px}.is-disabled[data-v-e1228cb0]{opacity:.48}.lumal-theme-settings__card-grid[data-v-e1228cb0],.lumal-theme-settings__layout-grid[data-v-e1228cb0],.lumal-theme-settings__transition-grid[data-v-e1228cb0]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lumal-theme-settings__card-grid.is-three[data-v-e1228cb0],.lumal-theme-settings__layout-grid[data-v-e1228cb0]{grid-template-columns:repeat(3,minmax(0,1fr))}.lumal-theme-settings__transition-grid[data-v-e1228cb0]{grid-template-columns:repeat(4,minmax(0,1fr))}button[data-v-e1228cb0]{font:inherit}.lumal-theme-settings__mode-card[data-v-e1228cb0],.lumal-theme-settings__layout-card[data-v-e1228cb0],.lumal-theme-settings__transition-card[data-v-e1228cb0]{border:1px solid var(--el-border-color-lighter);min-width:0;min-height:62px;color:var(--el-text-color-secondary);cursor:pointer;background:var(--el-bg-color);box-shadow:0 1px 2px color-mix(in srgb, var(--el-color-black) 4%, transparent);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px;transition:border-color .2s,color .2s,background-color .2s,box-shadow .2s;display:flex}.lumal-theme-settings__mode-card[data-v-e1228cb0]:hover,.lumal-theme-settings__layout-card[data-v-e1228cb0]:hover,.lumal-theme-settings__transition-card[data-v-e1228cb0]:hover{border-color:var(--el-color-primary-light-5);color:var(--el-text-color-primary);box-shadow:0 3px 8px color-mix(in srgb, var(--el-color-black) 8%, transparent)}.lumal-theme-settings__mode-card.is-active[data-v-e1228cb0],.lumal-theme-settings__layout-card.is-active[data-v-e1228cb0],.lumal-theme-settings__transition-card.is-active[data-v-e1228cb0]{border-color:var(--el-color-primary);color:var(--el-color-primary);background:color-mix(in srgb, var(--el-color-primary) 8%, var(--el-bg-color));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--el-color-primary) 30%, transparent)}.lumal-theme-settings__mode-card[data-v-e1228cb0]:focus-visible,.lumal-theme-settings__layout-card[data-v-e1228cb0]:focus-visible,.lumal-theme-settings__transition-card[data-v-e1228cb0]:focus-visible,.lumal-theme-settings__tab[data-v-e1228cb0]:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.lumal-theme-settings__mode-icon[data-v-e1228cb0]{flex:none}.lumal-theme-settings__mode-card>span[data-v-e1228cb0]:last-child{white-space:nowrap;word-break:keep-all}.lumal-theme-settings__color-grid[data-v-e1228cb0]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.lumal-theme-settings__color-card[data-v-e1228cb0]{border:1px solid var(--el-border-color-lighter);min-width:0;min-height:68px;color:var(--el-text-color-secondary);cursor:pointer;background:var(--el-bg-color);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:8px 6px;transition:border-color .2s,color .2s,background-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.lumal-theme-settings__color-card[data-v-e1228cb0]:hover{border-color:var(--el-color-primary-light-5);color:var(--el-text-color-primary)}.lumal-theme-settings__color-card.is-active[data-v-e1228cb0]{border-color:var(--el-color-primary);color:var(--el-color-primary);background:color-mix(in srgb, var(--el-color-primary) 6%, var(--el-bg-color));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--el-color-primary) 25%, transparent)}.lumal-theme-settings__color-card i[data-v-e1228cb0]{width:28px;height:20px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--el-color-black) 8%, transparent);border-radius:6px;flex:none}.lumal-theme-settings__color-card i.is-custom[data-v-e1228cb0]{background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#ef4444)}.lumal-theme-settings__color-card>span[data-v-e1228cb0]{min-width:0;max-width:100%;font-size:calc(var(--lumal-font-size-base,14px) - 2px);text-overflow:ellipsis;white-space:nowrap;word-break:keep-all;overflow:hidden}.lumal-theme-settings__color-card input[data-v-e1228cb0]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.lumal-theme-settings__radius-grid[data-v-e1228cb0],.lumal-theme-settings__segments[data-v-e1228cb0]{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.lumal-theme-settings__radius-grid button[data-v-e1228cb0],.lumal-theme-settings__segments button[data-v-e1228cb0]{border:1px solid var(--el-border-color-lighter);min-height:32px;color:var(--el-text-color-secondary);cursor:pointer;background:var(--el-bg-color);border-radius:6px}.lumal-theme-settings__radius-grid button.is-active[data-v-e1228cb0],.lumal-theme-settings__segments button.is-active[data-v-e1228cb0]{border-color:var(--el-color-primary);color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.lumal-theme-settings__segments[data-v-e1228cb0]{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.lumal-theme-settings__tab-style[data-v-e1228cb0]{grid-template-columns:repeat(4,1fr)}.lumal-theme-settings__layout-preview[data-v-e1228cb0]{width:100%;max-height:48px;color:var(--el-color-primary)}.lumal-theme-settings__layout-preview rect[data-v-e1228cb0]{fill:var(--el-fill-color);stroke:color-mix(in srgb, var(--el-border-color) 80%, transparent);stroke-width:1px}.lumal-theme-settings__layout-preview rect.is-background[data-v-e1228cb0]{fill:var(--el-fill-color-lighter)}.lumal-theme-settings__layout-preview rect.is-medium[data-v-e1228cb0]{fill:var(--el-color-primary-light-7);stroke:var(--el-color-primary-light-5)}.lumal-theme-settings__layout-preview rect.is-strong[data-v-e1228cb0]{fill:var(--el-color-primary-light-5);stroke:var(--el-color-primary-light-3)}.lumal-theme-settings__transition-card[data-v-e1228cb0]{min-height:64px;font-size:calc(var(--lumal-font-size-base,14px) - 2px);padding:7px 4px}.lumal-theme-settings__transition-preview[data-v-e1228cb0]{background:var(--el-fill-color-light);border-radius:6px;width:42px;height:30px;position:relative}.lumal-theme-settings__transition-preview i[data-v-e1228cb0]{background:var(--el-color-primary-light-5);opacity:.3;border-radius:5px;position:absolute;inset:7px 10px}.lumal-theme-settings__transition-preview i[data-v-e1228cb0]:last-child{opacity:1}.lumal-theme-settings__transition-card:not(:disabled).is-fade-side i[data-v-e1228cb0]:last-child{animation:2.4s infinite lumal-settings-side-e1228cb0}.lumal-theme-settings__transition-card:not(:disabled).is-fade i[data-v-e1228cb0]:last-child{animation:2.4s infinite lumal-settings-fade-e1228cb0}.lumal-theme-settings__transition-card:not(:disabled).is-fade-bottom i[data-v-e1228cb0]:last-child{animation:2.4s infinite lumal-settings-bottom-e1228cb0}.lumal-theme-settings__transition-card:not(:disabled).is-zoom-fade i[data-v-e1228cb0]:last-child{animation:2.4s infinite lumal-settings-zoom-e1228cb0}.lumal-theme-settings__transition-card[data-v-e1228cb0]:disabled{cursor:not-allowed;opacity:.45}.lumal-theme-settings__actions[data-v-e1228cb0]{border-top:1px solid var(--el-border-color-lighter);background:var(--el-bg-color-page);flex:none;padding:12px 4px 0}.lumal-theme-settings__reset[data-v-e1228cb0]{border-color:var(--el-border-color);background:var(--el-bg-color);gap:8px;width:100%;min-height:38px}@keyframes lumal-settings-side-e1228cb0{0%,20%,to{opacity:0;transform:translate(-10px)}40%,80%{opacity:1;transform:translate(0)}}@keyframes lumal-settings-fade-e1228cb0{0%,20%,to{opacity:0}40%,80%{opacity:1}}@keyframes lumal-settings-bottom-e1228cb0{0%,20%,to{opacity:0;transform:translateY(8px)}40%,80%{opacity:1;transform:translateY(0)}}@keyframes lumal-settings-zoom-e1228cb0{0%,20%,to{opacity:0;transform:scale(.82)}40%,80%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.lumal-theme-settings[data-v-e1228cb0] *,.lumal-theme-settings[data-v-e1228cb0] :before,.lumal-theme-settings[data-v-e1228cb0] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}@container (width<=320px){.lumal-theme-settings__transition-grid[data-v-e1228cb0]{grid-template-columns:repeat(2,minmax(0,1fr))}}
|
|
2
|
+
/*$vite$:1*/
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { m as e } from "./composables-C9EuCUjj.js";
|
|
2
|
+
//#region src/dictionary/fetcher.ts
|
|
3
|
+
async function t(e, t) {
|
|
4
|
+
return e ? typeof e == "function" ? e(t) : e : [];
|
|
5
|
+
}
|
|
6
|
+
function n(n) {
|
|
7
|
+
let r = n.warnOnRemoteFailure ?? !0;
|
|
8
|
+
return async (i) => {
|
|
9
|
+
let a = [];
|
|
10
|
+
try {
|
|
11
|
+
a = e(await n.remote(i));
|
|
12
|
+
} catch (e) {
|
|
13
|
+
r && console.warn(`[dictionary] remote fetcher failed for "${i}":`, e);
|
|
14
|
+
}
|
|
15
|
+
return a.length > 0 ? { items: a } : { items: await t(n.fallback, i) };
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { n as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./composables-C4twj5Ov.cjs");async function t(e,t){return e?typeof e==`function`?e(t):e:[]}function n(n){let r=n.warnOnRemoteFailure??!0;return async i=>{let a=[];try{a=e.m(await n.remote(i))}catch(e){r&&console.warn(`[dictionary] remote fetcher failed for "${i}":`,e)}return a.length>0?{items:a}:{items:await t(n.fallback,i)}}}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./composables-C4twj5Ov.cjs"),t=require("./dictionary-ClEWtQCU.cjs");exports.createDictionaryFetcherWithFallback=t.t,exports.createDictionaryStore=e.d,exports.dictionaryContextKey=e.u,exports.getActiveDictionaryContext=e.a,exports.getDictionaryLabel=e.f,exports.getDictionaryOptions=e.t,exports.getDictionaryValueLabel=e.n,exports.installDictionary=e.o,exports.normalizeDictionaryOptionList=e.p,exports.normalizeDictionaryOptions=e.m,exports.provideDictionaryContext=e.s,exports.setActiveDictionaryContext=e.c,exports.useDictionary=e.r,exports.useDictionaryContext=e.l,exports.useDictionaryMap=e.i;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "./composables-C9EuCUjj.js";
|
|
2
|
+
import { t as m } from "./dictionary-B7tsaVqB.js";
|
|
3
|
+
export { m as createDictionaryFetcherWithFallback, n as createDictionaryStore, p as dictionaryContextKey, e as getActiveDictionaryContext, r as getDictionaryLabel, f as getDictionaryOptions, s as getDictionaryValueLabel, c as installDictionary, l as normalizeDictionaryOptionList, o as normalizeDictionaryOptions, d as provideDictionaryContext, t as setActiveDictionaryContext, u as useDictionary, a as useDictionaryContext, i as useDictionaryMap };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/permission/directive.ts
|
|
2
|
+
function e(e, t, n, r) {
|
|
3
|
+
e.style.display = n.hasPermission(t.value, r.mode) ? "" : "none";
|
|
4
|
+
}
|
|
5
|
+
function t(t, n = {}) {
|
|
6
|
+
return {
|
|
7
|
+
mounted(r, i) {
|
|
8
|
+
e(r, i, t, n);
|
|
9
|
+
},
|
|
10
|
+
updated(r, i) {
|
|
11
|
+
e(r, i, t, n);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t,n,r){e.style.display=n.hasPermission(t.value,r.mode)?``:`none`}function t(t,n={}){return{mounted(r,i){e(r,i,t,n)},updated(r,i){e(r,i,t,n)}}}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./directive-DSVr7QvO.cjs");function t(t,n={}){return e.t(t,n)}function n(e,n,r={}){let i=t(n,r);e.directive(`authority`,i),e.directive(`permission`,i)}exports.createAuthorityDirective=t,exports.createPermissionDirective=e.t,exports.registerAuthorityDirectives=n;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { t as e } from "./directive-D-fB5qbY.js";
|
|
2
|
+
//#region src/directives/index.ts
|
|
3
|
+
function t(t, n = {}) {
|
|
4
|
+
return e(t, n);
|
|
5
|
+
}
|
|
6
|
+
function n(e, n, r = {}) {
|
|
7
|
+
let i = t(n, r);
|
|
8
|
+
e.directive("authority", i), e.directive("permission", i);
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { t as createAuthorityDirective, e as createPermissionDirective, n as registerAuthorityDirectives };
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./layout-ZnyG9X3N.cjs"),t=require("./composables-C4twj5Ov.cjs"),n=require("./dictionary-ClEWtQCU.cjs"),r=require("./permission-6sXtjGMS.cjs"),i=require("./components-DJiHYQQB.cjs"),a=require("./LumalThemeSettingsPanel-C6aPhgUX.cjs"),o=require("./router.cjs");let s=require("@lumal/icons"),c=require("vue"),l=require("@lumal/icons-vue");var u={LumalAccessControl:r.n,LumalBreadcrumb:e.P,LumalContent:e.N,LumalCrudTable:i.i,LumalHeader:e.j,LumalIcon:l.LumalIcon,LumalIconPicker:l.LumalIconPicker,LumalIconPickerDialog:l.LumalIconPickerDialog,LumalInfoTable:i.r,LumalGlobalSearch:e.M,LumalLayout:e.n,LumalPage:i.n,LumalPageLayout:i.t,LumalPagination:i.c,LumalRouterView:e.t,LumalSchemaForm:i.s,LumalSchemaTable:i.o,LumalSidebar:e.A,LumalTabs:e.k,LumalThemeSettingsPanel:a.t,LumalTopNav:e.O};function d(e){let t=e.preset??`admin-default`;return t===`minimal`?{...e,components:e.components??!0,dictionary:e.dictionary??!1,preset:t}:{...e,components:e.components??!0,preset:t}}function f(e){return!!(e&&typeof e==`object`&&`plugin`in e)}function p(e,n){n.dictionary!==!1&&t.o(e,n.dictionary),n.router&&e.use(n.router),n.pinia&&e.use(n.pinia),n.elementPlus&&(f(n.elementPlus)?e.use(n.elementPlus.plugin,n.elementPlus.options):e.use(n.elementPlus))}function m(e,t){let n=t.components;if(n===!1)return;let r=n===!0||n===void 0?u:Array.isArray(n)?Object.fromEntries(n.filter(e=>!!u[e]).map(e=>[e,u[e]])):n;Object.entries(r).forEach(([t,n])=>{e.component(t,n)})}function h(e){let t=d(e),n=(0,c.createApp)(t.rootComponent,t.rootProps);t.permissionStore&&n.provide(r.o,t.permissionStore),t.icons?.localSvg?.length&&(0,s.registerStaticLocalSvgIcons)(t.icons.localSvg),p(n,t),m(n,t);let i={app:n,permissionStore:t.permissionStore,pinia:t.pinia,router:t.router},a;function o(){return a??=Promise.resolve().then(()=>t.setup?.(i)).then(()=>t.router?.isReady?.()),a}let l={...i,async mount(e){return await o(),n.mount(e)},use(e,...t){return n.use(e,...t),l}};return l}exports.LumalAccessControl=r.n,exports.LumalCrudTable=i.i,Object.defineProperty(exports,"LumalIcon",{enumerable:!0,get:function(){return l.LumalIcon}}),Object.defineProperty(exports,"LumalIconPicker",{enumerable:!0,get:function(){return l.LumalIconPicker}}),Object.defineProperty(exports,"LumalIconPickerDialog",{enumerable:!0,get:function(){return l.LumalIconPickerDialog}}),exports.LumalInfoTable=i.r,exports.LumalPage=i.n,exports.LumalPageLayout=i.t,exports.LumalPagination=i.c,exports.LumalSchemaForm=i.s,exports.LumalSchemaTable=i.o,exports.MenuRouteConflictError=o.MenuRouteConflictError,exports.createDictionaryFetcherWithFallback=n.t,exports.createDictionaryStore=t.d,exports.createGlobComponentResolver=o.createGlobComponentResolver,exports.createLumalAdmin=h,exports.createMenuRouteRuntime=o.createMenuRouteRuntime,exports.createRouteRecords=o.createRouteRecords,exports.createRouteRegistry=o.createRouteRegistry,exports.createSidebarMenus=o.createSidebarMenus,exports.createTopMenus=o.createTopMenus,exports.deriveCrudFormSchemas=i.a,exports.dictionaryContextKey=t.u,exports.findFirstAccessibleMenu=o.findFirstAccessibleMenu,exports.getActiveDictionaryContext=t.a,exports.getDictionaryLabel=t.f,exports.getDictionaryOptions=t.t,exports.getDictionaryValueLabel=t.n,exports.installDictionary=t.o,exports.normalizeDictionaryOptionList=t.p,exports.normalizeDictionaryOptions=t.m,exports.normalizeMenuNodes=o.normalizeMenuNodes,exports.normalizeMenuRecords=o.normalizeMenuRecords,exports.provideDictionaryContext=t.s,exports.setActiveDictionaryContext=t.c,exports.useDictionary=t.r,exports.useDictionaryContext=t.l,exports.useDictionaryMap=t.i;
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "./composables-C9EuCUjj.js";
|
|
2
|
+
import { t as m } from "./dictionary-B7tsaVqB.js";
|
|
3
|
+
import { n as h, o as g } from "./permission-CCkqvnWg.js";
|
|
4
|
+
import { a as _, c as v, d as y, i as b, l as x, n as S, o as C, r as w, s as T, t as E, u as D } from "./components-DYmKh-eF.js";
|
|
5
|
+
import { A as O, M as k, N as A, O as j, P as M, j as N, k as P, n as F, t as I } from "./layout-C8H9wuQa.js";
|
|
6
|
+
import { t as L } from "./LumalThemeSettingsPanel-BFkZzwEW.js";
|
|
7
|
+
import { MenuRouteConflictError as ee, createGlobComponentResolver as R, createMenuRouteRuntime as z, createRouteRecords as B, createRouteRegistry as V, createSidebarMenus as H, createTopMenus as U, findFirstAccessibleMenu as W, normalizeMenuNodes as G, normalizeMenuRecords as K } from "./router.js";
|
|
8
|
+
import { registerStaticLocalSvgIcons as q } from "@lumal/icons";
|
|
9
|
+
import { createApp as J } from "vue";
|
|
10
|
+
import { LumalIcon as Y, LumalIconPicker as X, LumalIconPickerDialog as Z } from "@lumal/icons-vue";
|
|
11
|
+
//#region src/app/default-components.ts
|
|
12
|
+
var Q = {
|
|
13
|
+
LumalAccessControl: h,
|
|
14
|
+
LumalBreadcrumb: M,
|
|
15
|
+
LumalContent: A,
|
|
16
|
+
LumalCrudTable: T,
|
|
17
|
+
LumalHeader: N,
|
|
18
|
+
LumalIcon: Y,
|
|
19
|
+
LumalIconPicker: X,
|
|
20
|
+
LumalIconPickerDialog: Z,
|
|
21
|
+
LumalInfoTable: C,
|
|
22
|
+
LumalGlobalSearch: k,
|
|
23
|
+
LumalLayout: F,
|
|
24
|
+
LumalPage: _,
|
|
25
|
+
LumalPageLayout: b,
|
|
26
|
+
LumalPagination: y,
|
|
27
|
+
LumalRouterView: I,
|
|
28
|
+
LumalSchemaForm: D,
|
|
29
|
+
LumalSchemaTable: x,
|
|
30
|
+
LumalSidebar: O,
|
|
31
|
+
LumalTabs: P,
|
|
32
|
+
LumalThemeSettingsPanel: L,
|
|
33
|
+
LumalTopNav: j
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/app/createLumalAdmin.ts
|
|
37
|
+
function $(e) {
|
|
38
|
+
let t = e.preset ?? "admin-default";
|
|
39
|
+
return t === "minimal" ? {
|
|
40
|
+
...e,
|
|
41
|
+
components: e.components ?? !0,
|
|
42
|
+
dictionary: e.dictionary ?? !1,
|
|
43
|
+
preset: t
|
|
44
|
+
} : {
|
|
45
|
+
...e,
|
|
46
|
+
components: e.components ?? !0,
|
|
47
|
+
preset: t
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function te(e) {
|
|
51
|
+
return !!(e && typeof e == "object" && "plugin" in e);
|
|
52
|
+
}
|
|
53
|
+
function ne(e, t) {
|
|
54
|
+
t.dictionary !== !1 && c(e, t.dictionary), t.router && e.use(t.router), t.pinia && e.use(t.pinia), t.elementPlus && (te(t.elementPlus) ? e.use(t.elementPlus.plugin, t.elementPlus.options) : e.use(t.elementPlus));
|
|
55
|
+
}
|
|
56
|
+
function re(e, t) {
|
|
57
|
+
let n = t.components;
|
|
58
|
+
if (n === !1) return;
|
|
59
|
+
let r = n === !0 || n === void 0 ? Q : Array.isArray(n) ? Object.fromEntries(n.filter((e) => !!Q[e]).map((e) => [e, Q[e]])) : n;
|
|
60
|
+
Object.entries(r).forEach(([t, n]) => {
|
|
61
|
+
e.component(t, n);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function ie(e) {
|
|
65
|
+
let t = $(e), n = J(t.rootComponent, t.rootProps);
|
|
66
|
+
t.permissionStore && n.provide(g, t.permissionStore), t.icons?.localSvg?.length && q(t.icons.localSvg), ne(n, t), re(n, t);
|
|
67
|
+
let r = {
|
|
68
|
+
app: n,
|
|
69
|
+
permissionStore: t.permissionStore,
|
|
70
|
+
pinia: t.pinia,
|
|
71
|
+
router: t.router
|
|
72
|
+
}, i;
|
|
73
|
+
function a() {
|
|
74
|
+
return i ??= Promise.resolve().then(() => t.setup?.(r)).then(() => t.router?.isReady?.()), i;
|
|
75
|
+
}
|
|
76
|
+
let o = {
|
|
77
|
+
...r,
|
|
78
|
+
async mount(e) {
|
|
79
|
+
return await a(), n.mount(e);
|
|
80
|
+
},
|
|
81
|
+
use(e, ...t) {
|
|
82
|
+
return n.use(e, ...t), o;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return o;
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
export { h as LumalAccessControl, T as LumalCrudTable, E as LumalIcon, S as LumalIconPicker, w as LumalIconPickerDialog, C as LumalInfoTable, _ as LumalPage, b as LumalPageLayout, y as LumalPagination, D as LumalSchemaForm, x as LumalSchemaTable, ee as MenuRouteConflictError, m as createDictionaryFetcherWithFallback, n as createDictionaryStore, R as createGlobComponentResolver, ie as createLumalAdmin, z as createMenuRouteRuntime, B as createRouteRecords, V as createRouteRegistry, H as createSidebarMenus, U as createTopMenus, v as deriveCrudFormSchemas, p as dictionaryContextKey, W as findFirstAccessibleMenu, e as getActiveDictionaryContext, r as getDictionaryLabel, f as getDictionaryOptions, s as getDictionaryValueLabel, c as installDictionary, l as normalizeDictionaryOptionList, o as normalizeDictionaryOptions, G as normalizeMenuNodes, K as normalizeMenuRecords, d as provideDictionaryContext, t as setActiveDictionaryContext, u as useDictionary, a as useDictionaryContext, i as useDictionaryMap };
|