@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.
Files changed (271) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -0
  3. package/dist/LumalThemeSettingsPanel-BFkZzwEW.js +685 -0
  4. package/dist/LumalThemeSettingsPanel-C6aPhgUX.cjs +1 -0
  5. package/dist/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
  6. package/dist/_plugin-vue_export-helper-BTmtiIyf.cjs +1 -0
  7. package/dist/auth.cjs +1 -0
  8. package/dist/auth.js +127 -0
  9. package/dist/components-DJiHYQQB.cjs +2 -0
  10. package/dist/components-DYmKh-eF.js +2206 -0
  11. package/dist/components.cjs +1 -0
  12. package/dist/components.js +3 -0
  13. package/dist/composables-C4twj5Ov.cjs +1 -0
  14. package/dist/composables-C9EuCUjj.js +130 -0
  15. package/dist/composables.cjs +1 -0
  16. package/dist/composables.js +148 -0
  17. package/dist/core.css +2 -0
  18. package/dist/dictionary-B7tsaVqB.js +19 -0
  19. package/dist/dictionary-ClEWtQCU.cjs +1 -0
  20. package/dist/dictionary.cjs +1 -0
  21. package/dist/dictionary.js +3 -0
  22. package/dist/directive-D-fB5qbY.js +16 -0
  23. package/dist/directive-DSVr7QvO.cjs +1 -0
  24. package/dist/directives.cjs +1 -0
  25. package/dist/directives.js +11 -0
  26. package/dist/index.cjs +1 -0
  27. package/dist/index.js +88 -0
  28. package/dist/layout-C8H9wuQa.js +2075 -0
  29. package/dist/layout-ZnyG9X3N.cjs +1 -0
  30. package/dist/layout.cjs +1 -0
  31. package/dist/layout.js +2 -0
  32. package/dist/permission-6sXtjGMS.cjs +1 -0
  33. package/dist/permission-CCkqvnWg.js +104 -0
  34. package/dist/permission.cjs +1 -0
  35. package/dist/permission.js +3 -0
  36. package/dist/request.cjs +1 -0
  37. package/dist/request.js +277 -0
  38. package/dist/router.cjs +1 -0
  39. package/dist/router.js +510 -0
  40. package/dist/src/app/createLumalAdmin.d.ts +4 -0
  41. package/dist/src/app/createLumalAdmin.d.ts.map +1 -0
  42. package/dist/src/app/default-components.d.ts +4 -0
  43. package/dist/src/app/default-components.d.ts.map +1 -0
  44. package/dist/src/app/index.d.ts +3 -0
  45. package/dist/src/app/index.d.ts.map +1 -0
  46. package/dist/src/app/types.d.ts +41 -0
  47. package/dist/src/app/types.d.ts.map +1 -0
  48. package/dist/src/auth/adapter.d.ts +3 -0
  49. package/dist/src/auth/adapter.d.ts.map +1 -0
  50. package/dist/src/auth/createAuthSession.d.ts +8 -0
  51. package/dist/src/auth/createAuthSession.d.ts.map +1 -0
  52. package/dist/src/auth/index.d.ts +8 -0
  53. package/dist/src/auth/index.d.ts.map +1 -0
  54. package/dist/src/auth/redirect.d.ts +8 -0
  55. package/dist/src/auth/redirect.d.ts.map +1 -0
  56. package/dist/src/auth/session-expired.d.ts +5 -0
  57. package/dist/src/auth/session-expired.d.ts.map +1 -0
  58. package/dist/src/auth/session.d.ts +10 -0
  59. package/dist/src/auth/session.d.ts.map +1 -0
  60. package/dist/src/auth/storage.d.ts +7 -0
  61. package/dist/src/auth/storage.d.ts.map +1 -0
  62. package/dist/src/auth/types.d.ts +68 -0
  63. package/dist/src/auth/types.d.ts.map +1 -0
  64. package/dist/src/components/crud-table/LumalCrudEditor.vue.d.ts +41 -0
  65. package/dist/src/components/crud-table/LumalCrudEditor.vue.d.ts.map +1 -0
  66. package/dist/src/components/crud-table/LumalCrudTable.vue.d.ts +151 -0
  67. package/dist/src/components/crud-table/LumalCrudTable.vue.d.ts.map +1 -0
  68. package/dist/src/components/crud-table/index.d.ts +4 -0
  69. package/dist/src/components/crud-table/index.d.ts.map +1 -0
  70. package/dist/src/components/crud-table/schema.d.ts +4 -0
  71. package/dist/src/components/crud-table/schema.d.ts.map +1 -0
  72. package/dist/src/components/crud-table/types.d.ts +165 -0
  73. package/dist/src/components/crud-table/types.d.ts.map +1 -0
  74. package/dist/src/components/crud-table/useCrudData.d.ts +20 -0
  75. package/dist/src/components/crud-table/useCrudData.d.ts.map +1 -0
  76. package/dist/src/components/crud-table/useCrudDialog.d.ts +19 -0
  77. package/dist/src/components/crud-table/useCrudDialog.d.ts.map +1 -0
  78. package/dist/src/components/crud-table/useCrudQuery.d.ts +18 -0
  79. package/dist/src/components/crud-table/useCrudQuery.d.ts.map +1 -0
  80. package/dist/src/components/crud-table/useCrudSelection.d.ts +9 -0
  81. package/dist/src/components/crud-table/useCrudSelection.d.ts.map +1 -0
  82. package/dist/src/components/info-table/LumalInfoTable.vue.d.ts +12 -0
  83. package/dist/src/components/info-table/LumalInfoTable.vue.d.ts.map +1 -0
  84. package/dist/src/components/info-table/index.d.ts +3 -0
  85. package/dist/src/components/info-table/index.d.ts.map +1 -0
  86. package/dist/src/components/info-table/types.d.ts +15 -0
  87. package/dist/src/components/info-table/types.d.ts.map +1 -0
  88. package/dist/src/components/page/LumalPage.vue.d.ts +36 -0
  89. package/dist/src/components/page/LumalPage.vue.d.ts.map +1 -0
  90. package/dist/src/components/page/index.d.ts +2 -0
  91. package/dist/src/components/page/index.d.ts.map +1 -0
  92. package/dist/src/components/page-layout/LumalPageLayout.vue.d.ts +38 -0
  93. package/dist/src/components/page-layout/LumalPageLayout.vue.d.ts.map +1 -0
  94. package/dist/src/components/page-layout/index.d.ts +3 -0
  95. package/dist/src/components/page-layout/index.d.ts.map +1 -0
  96. package/dist/src/components/page-layout/types.d.ts +9 -0
  97. package/dist/src/components/page-layout/types.d.ts.map +1 -0
  98. package/dist/src/components/pagination/LumalPagination.vue.d.ts +31 -0
  99. package/dist/src/components/pagination/LumalPagination.vue.d.ts.map +1 -0
  100. package/dist/src/components/pagination/index.d.ts +3 -0
  101. package/dist/src/components/pagination/index.d.ts.map +1 -0
  102. package/dist/src/components/pagination/types.d.ts +5 -0
  103. package/dist/src/components/pagination/types.d.ts.map +1 -0
  104. package/dist/src/components/schema-form/LumalSchemaForm.vue.d.ts +78 -0
  105. package/dist/src/components/schema-form/LumalSchemaForm.vue.d.ts.map +1 -0
  106. package/dist/src/components/schema-form/index.d.ts +4 -0
  107. package/dist/src/components/schema-form/index.d.ts.map +1 -0
  108. package/dist/src/components/schema-form/normalize.d.ts +11 -0
  109. package/dist/src/components/schema-form/normalize.d.ts.map +1 -0
  110. package/dist/src/components/schema-form/types.d.ts +103 -0
  111. package/dist/src/components/schema-form/types.d.ts.map +1 -0
  112. package/dist/src/components/schema-form/types.type-test.d.ts +2 -0
  113. package/dist/src/components/schema-form/types.type-test.d.ts.map +1 -0
  114. package/dist/src/components/schema-table/LumalSchemaTable.vue.d.ts +108 -0
  115. package/dist/src/components/schema-table/LumalSchemaTable.vue.d.ts.map +1 -0
  116. package/dist/src/components/schema-table/LumalSchemaTableCell.vue.d.ts +8 -0
  117. package/dist/src/components/schema-table/LumalSchemaTableCell.vue.d.ts.map +1 -0
  118. package/dist/src/components/schema-table/cell.d.ts +13 -0
  119. package/dist/src/components/schema-table/cell.d.ts.map +1 -0
  120. package/dist/src/components/schema-table/index.d.ts +6 -0
  121. package/dist/src/components/schema-table/index.d.ts.map +1 -0
  122. package/dist/src/components/schema-table/normalize.d.ts +8 -0
  123. package/dist/src/components/schema-table/normalize.d.ts.map +1 -0
  124. package/dist/src/components/schema-table/types.d.ts +66 -0
  125. package/dist/src/components/schema-table/types.d.ts.map +1 -0
  126. package/dist/src/components/schema-table/types.type-test.d.ts +2 -0
  127. package/dist/src/components/schema-table/types.type-test.d.ts.map +1 -0
  128. package/dist/src/composables/index.d.ts +11 -0
  129. package/dist/src/composables/index.d.ts.map +1 -0
  130. package/dist/src/composables/useConfirmAction.d.ts +21 -0
  131. package/dist/src/composables/useConfirmAction.d.ts.map +1 -0
  132. package/dist/src/composables/useFullscreen.d.ts +14 -0
  133. package/dist/src/composables/useFullscreen.d.ts.map +1 -0
  134. package/dist/src/composables/usePagination.d.ts +36 -0
  135. package/dist/src/composables/usePagination.d.ts.map +1 -0
  136. package/dist/src/composables/usePersistentState.d.ts +9 -0
  137. package/dist/src/composables/usePersistentState.d.ts.map +1 -0
  138. package/dist/src/composables/useSelection.d.ts +20 -0
  139. package/dist/src/composables/useSelection.d.ts.map +1 -0
  140. package/dist/src/dictionary/composables.d.ts +15 -0
  141. package/dist/src/dictionary/composables.d.ts.map +1 -0
  142. package/dist/src/dictionary/context.d.ts +10 -0
  143. package/dist/src/dictionary/context.d.ts.map +1 -0
  144. package/dist/src/dictionary/fetcher.d.ts +4 -0
  145. package/dist/src/dictionary/fetcher.d.ts.map +1 -0
  146. package/dist/src/dictionary/index.d.ts +8 -0
  147. package/dist/src/dictionary/index.d.ts.map +1 -0
  148. package/dist/src/dictionary/normalize.d.ts +5 -0
  149. package/dist/src/dictionary/normalize.d.ts.map +1 -0
  150. package/dist/src/dictionary/store.d.ts +4 -0
  151. package/dist/src/dictionary/store.d.ts.map +1 -0
  152. package/dist/src/dictionary/types.d.ts +53 -0
  153. package/dist/src/dictionary/types.d.ts.map +1 -0
  154. package/dist/src/directives/index.d.ts +16 -0
  155. package/dist/src/directives/index.d.ts.map +1 -0
  156. package/dist/src/exports/components.d.ts +16 -0
  157. package/dist/src/exports/components.d.ts.map +1 -0
  158. package/dist/src/index.d.ts +6 -0
  159. package/dist/src/index.d.ts.map +1 -0
  160. package/dist/src/layout/LumalBreadcrumb.vue.d.ts +28 -0
  161. package/dist/src/layout/LumalBreadcrumb.vue.d.ts.map +1 -0
  162. package/dist/src/layout/LumalContent.vue.d.ts +18 -0
  163. package/dist/src/layout/LumalContent.vue.d.ts.map +1 -0
  164. package/dist/src/layout/LumalGlobalSearch.vue.d.ts +25 -0
  165. package/dist/src/layout/LumalGlobalSearch.vue.d.ts.map +1 -0
  166. package/dist/src/layout/LumalHeader.vue.d.ts +43 -0
  167. package/dist/src/layout/LumalHeader.vue.d.ts.map +1 -0
  168. package/dist/src/layout/LumalLayout.vue.d.ts +98 -0
  169. package/dist/src/layout/LumalLayout.vue.d.ts.map +1 -0
  170. package/dist/src/layout/LumalMenuBadge.vue.d.ts +16 -0
  171. package/dist/src/layout/LumalMenuBadge.vue.d.ts.map +1 -0
  172. package/dist/src/layout/LumalRouterView.vue.d.ts +24 -0
  173. package/dist/src/layout/LumalRouterView.vue.d.ts.map +1 -0
  174. package/dist/src/layout/LumalSidebar.vue.d.ts +29 -0
  175. package/dist/src/layout/LumalSidebar.vue.d.ts.map +1 -0
  176. package/dist/src/layout/LumalSidebarMenuItem.vue.d.ts +16 -0
  177. package/dist/src/layout/LumalSidebarMenuItem.vue.d.ts.map +1 -0
  178. package/dist/src/layout/LumalTabs.vue.d.ts +76 -0
  179. package/dist/src/layout/LumalTabs.vue.d.ts.map +1 -0
  180. package/dist/src/layout/LumalTopNav.vue.d.ts +27 -0
  181. package/dist/src/layout/LumalTopNav.vue.d.ts.map +1 -0
  182. package/dist/src/layout/LumalTopNavMenuItem.vue.d.ts +15 -0
  183. package/dist/src/layout/LumalTopNavMenuItem.vue.d.ts.map +1 -0
  184. package/dist/src/layout/index.d.ts +18 -0
  185. package/dist/src/layout/index.d.ts.map +1 -0
  186. package/dist/src/layout/state/menu-layout.d.ts +35 -0
  187. package/dist/src/layout/state/menu-layout.d.ts.map +1 -0
  188. package/dist/src/layout/state/tab-storage.d.ts +51 -0
  189. package/dist/src/layout/state/tab-storage.d.ts.map +1 -0
  190. package/dist/src/layout/state/tab-strategy.d.ts +73 -0
  191. package/dist/src/layout/state/tab-strategy.d.ts.map +1 -0
  192. package/dist/src/layout/types.d.ts +29 -0
  193. package/dist/src/layout/types.d.ts.map +1 -0
  194. package/dist/src/permission/LumalAccessControl.vue.d.ts +26 -0
  195. package/dist/src/permission/LumalAccessControl.vue.d.ts.map +1 -0
  196. package/dist/src/permission/context.d.ts +6 -0
  197. package/dist/src/permission/context.d.ts.map +1 -0
  198. package/dist/src/permission/directive.d.ts +3 -0
  199. package/dist/src/permission/directive.d.ts.map +1 -0
  200. package/dist/src/permission/guard.d.ts +4 -0
  201. package/dist/src/permission/guard.d.ts.map +1 -0
  202. package/dist/src/permission/helpers.d.ts +4 -0
  203. package/dist/src/permission/helpers.d.ts.map +1 -0
  204. package/dist/src/permission/index.d.ts +8 -0
  205. package/dist/src/permission/index.d.ts.map +1 -0
  206. package/dist/src/permission/store.d.ts +4 -0
  207. package/dist/src/permission/store.d.ts.map +1 -0
  208. package/dist/src/permission/types.d.ts +67 -0
  209. package/dist/src/permission/types.d.ts.map +1 -0
  210. package/dist/src/request/cache.d.ts +8 -0
  211. package/dist/src/request/cache.d.ts.map +1 -0
  212. package/dist/src/request/client.d.ts +4 -0
  213. package/dist/src/request/client.d.ts.map +1 -0
  214. package/dist/src/request/error.d.ts +19 -0
  215. package/dist/src/request/error.d.ts.map +1 -0
  216. package/dist/src/request/index.d.ts +8 -0
  217. package/dist/src/request/index.d.ts.map +1 -0
  218. package/dist/src/request/standard.d.ts +61 -0
  219. package/dist/src/request/standard.d.ts.map +1 -0
  220. package/dist/src/request/types.d.ts +102 -0
  221. package/dist/src/request/types.d.ts.map +1 -0
  222. package/dist/src/router/index.d.ts +36 -0
  223. package/dist/src/router/index.d.ts.map +1 -0
  224. package/dist/src/router/types.d.ts +231 -0
  225. package/dist/src/router/types.d.ts.map +1 -0
  226. package/dist/src/theme/LumalThemeSettingsPanel.vue.d.ts +33 -0
  227. package/dist/src/theme/LumalThemeSettingsPanel.vue.d.ts.map +1 -0
  228. package/dist/src/theme/dom.d.ts +6 -0
  229. package/dist/src/theme/dom.d.ts.map +1 -0
  230. package/dist/src/theme/index.d.ts +11 -0
  231. package/dist/src/theme/index.d.ts.map +1 -0
  232. package/dist/src/theme/preferences-store.d.ts +4 -0
  233. package/dist/src/theme/preferences-store.d.ts.map +1 -0
  234. package/dist/src/theme/preferences.d.ts +18 -0
  235. package/dist/src/theme/preferences.d.ts.map +1 -0
  236. package/dist/src/theme/store.d.ts +3 -0
  237. package/dist/src/theme/store.d.ts.map +1 -0
  238. package/dist/src/theme/theme-color-presets.d.ts +13 -0
  239. package/dist/src/theme/theme-color-presets.d.ts.map +1 -0
  240. package/dist/src/theme/tokens.d.ts +5 -0
  241. package/dist/src/theme/tokens.d.ts.map +1 -0
  242. package/dist/src/theme/types.d.ts +103 -0
  243. package/dist/src/theme/types.d.ts.map +1 -0
  244. package/dist/src/utils/clone.d.ts +12 -0
  245. package/dist/src/utils/clone.d.ts.map +1 -0
  246. package/dist/src/utils/color.d.ts +6 -0
  247. package/dist/src/utils/color.d.ts.map +1 -0
  248. package/dist/src/utils/display.d.ts +10 -0
  249. package/dist/src/utils/display.d.ts.map +1 -0
  250. package/dist/src/utils/download.d.ts +10 -0
  251. package/dist/src/utils/download.d.ts.map +1 -0
  252. package/dist/src/utils/index.d.ts +12 -0
  253. package/dist/src/utils/index.d.ts.map +1 -0
  254. package/dist/src/utils/object.d.ts +6 -0
  255. package/dist/src/utils/object.d.ts.map +1 -0
  256. package/dist/src/utils/path.d.ts +6 -0
  257. package/dist/src/utils/path.d.ts.map +1 -0
  258. package/dist/src/utils/query.d.ts +9 -0
  259. package/dist/src/utils/query.d.ts.map +1 -0
  260. package/dist/src/utils/storage.d.ts +7 -0
  261. package/dist/src/utils/storage.d.ts.map +1 -0
  262. package/dist/src/utils/types.d.ts +13 -0
  263. package/dist/src/utils/types.d.ts.map +1 -0
  264. package/dist/src/utils/with-install.d.ts +11 -0
  265. package/dist/src/utils/with-install.d.ts.map +1 -0
  266. package/dist/theme.cjs +1 -0
  267. package/dist/theme.js +187 -0
  268. package/dist/utils.cjs +1 -0
  269. package/dist/utils.js +130 -0
  270. package/package.json +124 -0
  271. package/theme-chalk/index.scss +70 -0
@@ -0,0 +1,685 @@
1
+ import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
2
+ import { Fragment as t, computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createStaticVNode as ee, createTextVNode as te, createVNode as o, defineComponent as s, mergeModels as c, normalizeClass as l, normalizeStyle as u, openBlock as d, ref as ne, renderList as f, toDisplayString as p, unref as m, useModel as re, vShow as h, withCtx as ie, withDirectives as g } from "vue";
3
+ import { LumalIcon as _ } from "@lumal/icons-vue";
4
+ import { ElButton as ae, ElInputNumber as v, ElSlider as y, ElSwitch as b } from "element-plus";
5
+ //#region src/theme/preferences.ts
6
+ var x = "(prefers-color-scheme: dark)";
7
+ function S(e = {}) {
8
+ let t = {
9
+ app: {
10
+ dynamicTitle: !0,
11
+ layout: "mixed-nav"
12
+ },
13
+ breadcrumb: {
14
+ enable: !0,
15
+ hideOnlyOne: !1,
16
+ showHome: !0,
17
+ showIcon: !0
18
+ },
19
+ header: {
20
+ globalSearch: !0,
21
+ menuAlign: "center",
22
+ menuMaxWidth: 1120
23
+ },
24
+ sidebar: {
25
+ autoActivateChild: !1,
26
+ collapsed: !1,
27
+ enable: !0,
28
+ width: 280
29
+ },
30
+ tabbar: {
31
+ cache: !0,
32
+ draggable: !0,
33
+ enable: !0,
34
+ maxCount: 0,
35
+ middleClickToClose: !0,
36
+ persist: !0,
37
+ showIcon: !0,
38
+ showMaximize: !0,
39
+ showMore: !0,
40
+ showRefresh: !0,
41
+ styleType: "chrome",
42
+ visitHistory: !0,
43
+ wheelable: !0
44
+ },
45
+ theme: {
46
+ colorPrimary: "#1677ff",
47
+ fontSize: 14,
48
+ mode: "system",
49
+ radiusScale: .75
50
+ },
51
+ shortcutKeys: { globalSearch: !0 },
52
+ transition: {
53
+ enable: !0,
54
+ loading: !0,
55
+ name: "fade-side",
56
+ progress: !0
57
+ }
58
+ };
59
+ return {
60
+ app: T(t.app, e.app),
61
+ breadcrumb: T(t.breadcrumb, e.breadcrumb),
62
+ header: T(t.header, e.header),
63
+ sidebar: T(t.sidebar, e.sidebar),
64
+ tabbar: T(t.tabbar, e.tabbar),
65
+ theme: C(T(t.theme, e.theme)),
66
+ shortcutKeys: T(t.shortcutKeys, e.shortcutKeys),
67
+ transition: T(t.transition, e.transition)
68
+ };
69
+ }
70
+ function C(e) {
71
+ let t = Number.isFinite(e.fontSize) ? e.fontSize : 14;
72
+ return {
73
+ ...e,
74
+ fontSize: Math.min(20, Math.max(12, Math.round(t)))
75
+ };
76
+ }
77
+ function w(e) {
78
+ return typeof e == "object" && !!e && !Array.isArray(e);
79
+ }
80
+ function T(e, t) {
81
+ return t ? Object.entries(t).reduce((e, [t, n]) => (n !== void 0 && (e[t] = n), e), { ...e }) : { ...e };
82
+ }
83
+ function E(e, t = {}) {
84
+ let n = w(e) ? e : {}, r = S(t);
85
+ return {
86
+ app: T(r.app, w(n.app) ? n.app : void 0),
87
+ breadcrumb: T(r.breadcrumb, w(n.breadcrumb) ? n.breadcrumb : void 0),
88
+ header: T(r.header, w(n.header) ? n.header : void 0),
89
+ sidebar: T(r.sidebar, w(n.sidebar) ? n.sidebar : void 0),
90
+ tabbar: T(r.tabbar, w(n.tabbar) ? n.tabbar : void 0),
91
+ theme: C(T(r.theme, w(n.theme) ? n.theme : void 0)),
92
+ shortcutKeys: T(r.shortcutKeys, w(n.shortcutKeys) ? n.shortcutKeys : void 0),
93
+ transition: T(r.transition, w(n.transition) ? n.transition : void 0)
94
+ };
95
+ }
96
+ function D(e, t = {}, n = {}) {
97
+ let r = E(e, n);
98
+ return {
99
+ app: T(r.app, t.app),
100
+ breadcrumb: T(r.breadcrumb, t.breadcrumb),
101
+ header: T(r.header, t.header),
102
+ sidebar: T(r.sidebar, t.sidebar),
103
+ tabbar: T(r.tabbar, t.tabbar),
104
+ theme: C(T(r.theme, t.theme)),
105
+ shortcutKeys: T(r.shortcutKeys, t.shortcutKeys),
106
+ transition: T(r.transition, t.transition)
107
+ };
108
+ }
109
+ function O(e) {
110
+ let t = e.app.layout !== "sidebar-nav", n = e.app.layout !== "top-nav" && e.sidebar.enable;
111
+ return {
112
+ headerMenuAlign: t,
113
+ headerMenuMaxWidth: t,
114
+ sidebarAutoActivateChild: e.app.layout === "mixed-nav" && n,
115
+ sidebarCollapsed: n,
116
+ sidebarWidth: n,
117
+ tabbarCache: e.tabbar.enable
118
+ };
119
+ }
120
+ function k(e, t = {}) {
121
+ return e === "dark" || e === "light" ? e : t.matchMedia?.(x).matches ? "dark" : "light";
122
+ }
123
+ //#endregion
124
+ //#region src/theme/theme-color-presets.ts
125
+ var A = [
126
+ {
127
+ label: "默认蓝",
128
+ value: "#1677ff"
129
+ },
130
+ {
131
+ label: "紫罗兰",
132
+ value: "#6f59f6"
133
+ },
134
+ {
135
+ label: "樱花粉",
136
+ value: "#ef6b9a"
137
+ },
138
+ {
139
+ label: "柠檬黄",
140
+ value: "#d8b400"
141
+ },
142
+ {
143
+ label: "天蓝色",
144
+ value: "#2aa7ff"
145
+ },
146
+ {
147
+ label: "浅绿色",
148
+ value: "#4dbb74"
149
+ },
150
+ {
151
+ label: "锌色灰",
152
+ value: "#8a94a6"
153
+ },
154
+ {
155
+ label: "深绿色",
156
+ value: "#0f766e"
157
+ },
158
+ {
159
+ label: "深蓝色",
160
+ value: "#1d4ed8"
161
+ },
162
+ {
163
+ label: "橙黄色",
164
+ value: "#f08c00"
165
+ },
166
+ {
167
+ label: "玫瑰红",
168
+ value: "#e11d48"
169
+ },
170
+ {
171
+ label: "中性色",
172
+ value: "#5b6472"
173
+ },
174
+ {
175
+ label: "石板灰",
176
+ value: "#475569"
177
+ },
178
+ {
179
+ label: "中灰色",
180
+ value: "#6b7280"
181
+ },
182
+ {
183
+ label: "自定义",
184
+ value: "__custom__",
185
+ custom: !0
186
+ }
187
+ ], oe = { class: "lumal-theme-settings" }, se = ["aria-selected", "onClick"], j = { class: "lumal-theme-settings__scroll" }, M = {
188
+ class: "lumal-theme-settings__pane",
189
+ role: "tabpanel"
190
+ }, N = { class: "lumal-theme-settings__section" }, P = { class: "lumal-theme-settings__row" }, F = { class: "lumal-theme-settings__row" }, I = { class: "lumal-theme-settings__section" }, L = { class: "lumal-theme-settings__row" }, R = { class: "lumal-theme-settings__section" }, z = { class: "lumal-theme-settings__row" }, B = { class: "lumal-theme-settings__row" }, V = { class: "lumal-theme-settings__row" }, H = { class: "lumal-theme-settings__transition-grid" }, U = [
191
+ "disabled",
192
+ "aria-pressed",
193
+ "onClick"
194
+ ], W = {
195
+ class: "lumal-theme-settings__pane",
196
+ role: "tabpanel"
197
+ }, G = { class: "lumal-theme-settings__section" }, K = { class: "lumal-theme-settings__card-grid is-three" }, ce = ["aria-pressed", "onClick"], le = { class: "lumal-theme-settings__section" }, ue = { class: "lumal-theme-settings__color-grid" }, de = ["aria-label", "onClick"], fe = ["value"], pe = { class: "lumal-theme-settings__section" }, me = { class: "lumal-theme-settings__radius-grid" }, he = ["onClick"], ge = { class: "lumal-theme-settings__section" }, _e = { class: "lumal-theme-settings__row is-stacked" }, ve = {
198
+ class: "lumal-theme-settings__pane",
199
+ role: "tabpanel"
200
+ }, ye = {
201
+ key: 0,
202
+ class: "lumal-theme-settings__section"
203
+ }, be = { class: "lumal-theme-settings__layout-grid" }, xe = ["aria-pressed", "onClick"], Se = {
204
+ class: "lumal-theme-settings__layout-preview",
205
+ viewBox: "0 0 160 92",
206
+ "aria-hidden": "true",
207
+ focusable: "false"
208
+ }, Ce = { class: "lumal-theme-settings__section" }, we = { class: "lumal-theme-settings__segments" }, Te = [
209
+ "disabled",
210
+ "aria-pressed",
211
+ "onClick"
212
+ ], Ee = { class: "lumal-theme-settings__section" }, De = { class: "lumal-theme-settings__row" }, Oe = { class: "lumal-theme-settings__row" }, ke = { class: "lumal-theme-settings__row" }, Ae = { class: "lumal-theme-settings__section" }, je = { class: "lumal-theme-settings__row" }, Me = { class: "lumal-theme-settings__row" }, Ne = { class: "lumal-theme-settings__row" }, Pe = { class: "lumal-theme-settings__row" }, Fe = { class: "lumal-theme-settings__row" }, Ie = { class: "lumal-theme-settings__row" }, Le = { class: "lumal-theme-settings__row" }, Re = { class: "lumal-theme-settings__row" }, ze = { class: "lumal-theme-settings__row" }, Be = { class: "lumal-theme-settings__row" }, q = { class: "lumal-theme-settings__row is-stacked" }, Ve = { class: "lumal-theme-settings__segments lumal-theme-settings__tab-style" }, He = [
213
+ "disabled",
214
+ "aria-pressed",
215
+ "onClick"
216
+ ], Ue = { class: "lumal-theme-settings__row" }, We = { class: "lumal-theme-settings__actions" }, J = /*#__PURE__*/ e(/* @__PURE__ */ s({
217
+ __name: "LumalThemeSettingsPanel",
218
+ props: /*@__PURE__*/ c({
219
+ colorPresets: { default: () => A },
220
+ defaults: {},
221
+ showLayout: {
222
+ type: Boolean,
223
+ default: !0
224
+ }
225
+ }, {
226
+ preferences: { required: !0 },
227
+ preferencesModifiers: {}
228
+ }),
229
+ emits: /*@__PURE__*/ c(["change", "reset"], ["update:preferences"]),
230
+ setup(e, { emit: s }) {
231
+ let c = e, x = s, C = re(e, "preferences"), w = ne("theme"), T = [
232
+ {
233
+ icon: "lumal:sun",
234
+ label: "浅色",
235
+ value: "light"
236
+ },
237
+ {
238
+ icon: "lumal:moon",
239
+ label: "深色",
240
+ value: "dark"
241
+ },
242
+ {
243
+ icon: "lumal:monitor",
244
+ label: "跟随系统",
245
+ value: "system"
246
+ }
247
+ ], E = [
248
+ {
249
+ label: "侧边导航",
250
+ value: "sidebar-nav"
251
+ },
252
+ {
253
+ label: "顶部导航",
254
+ value: "top-nav"
255
+ },
256
+ {
257
+ label: "混合导航",
258
+ value: "mixed-nav"
259
+ }
260
+ ], k = [
261
+ {
262
+ label: "侧滑",
263
+ value: "fade-side"
264
+ },
265
+ {
266
+ label: "淡入",
267
+ value: "fade"
268
+ },
269
+ {
270
+ label: "底部",
271
+ value: "fade-bottom"
272
+ },
273
+ {
274
+ label: "缩放",
275
+ value: "zoom-fade"
276
+ }
277
+ ], A = [
278
+ {
279
+ label: "Chrome",
280
+ value: "chrome"
281
+ },
282
+ {
283
+ label: "朴素",
284
+ value: "plain"
285
+ },
286
+ {
287
+ label: "卡片",
288
+ value: "card"
289
+ },
290
+ {
291
+ label: "动效",
292
+ value: "brisk"
293
+ }
294
+ ], J = [
295
+ 0,
296
+ .25,
297
+ .5,
298
+ .75,
299
+ 1
300
+ ], Ge = [
301
+ {
302
+ label: "左侧",
303
+ value: "left"
304
+ },
305
+ {
306
+ label: "居中",
307
+ value: "center"
308
+ },
309
+ {
310
+ label: "右侧",
311
+ value: "right"
312
+ }
313
+ ], Y = n(() => c.colorPresets.filter((e) => !e.custom)), Ke = n(() => !Y.value.some((e) => e.value === C.value.theme.colorPrimary)), X = n(() => [
314
+ {
315
+ label: "外观",
316
+ value: "theme"
317
+ },
318
+ ...c.showLayout ? [{
319
+ label: "布局",
320
+ value: "layout"
321
+ }] : [],
322
+ {
323
+ label: "通用",
324
+ value: "common"
325
+ }
326
+ ]), Z = n(() => O(C.value));
327
+ function Q(e) {
328
+ let t = D(C.value, e, c.defaults);
329
+ C.value = t, x("change", t);
330
+ }
331
+ function qe() {
332
+ let e = S(c.defaults);
333
+ C.value = e, w.value = "theme", x("change", e), x("reset", e);
334
+ }
335
+ function $(e) {
336
+ Q({ theme: { colorPrimary: e } });
337
+ }
338
+ return (n, s) => (d(), i("div", oe, [
339
+ a("div", {
340
+ class: "lumal-theme-settings__tabs",
341
+ role: "tablist",
342
+ "aria-label": "偏好设置分类",
343
+ style: u({ gridTemplateColumns: `repeat(${X.value.length}, minmax(0, 1fr))` })
344
+ }, [(d(!0), i(t, null, f(X.value, (e) => (d(), i("button", {
345
+ key: e.value,
346
+ type: "button",
347
+ role: "tab",
348
+ class: l(["lumal-theme-settings__tab", { "is-active": w.value === e.value }]),
349
+ "aria-selected": w.value === e.value,
350
+ onClick: (t) => w.value = e.value
351
+ }, p(e.label), 11, se))), 128))], 4),
352
+ a("div", j, [
353
+ g(a("div", M, [
354
+ a("section", N, [
355
+ s[34] ||= a("h4", null, "界面功能", -1),
356
+ a("div", P, [s[31] ||= a("span", null, "动态页面标题", -1), o(m(b), {
357
+ "model-value": C.value.app.dynamicTitle,
358
+ "onUpdate:modelValue": s[0] ||= (e) => Q({ app: { dynamicTitle: !!e } })
359
+ }, null, 8, ["model-value"])]),
360
+ a("div", F, [s[32] ||= a("span", null, "全局搜索", -1), o(m(b), {
361
+ "model-value": C.value.header.globalSearch,
362
+ "onUpdate:modelValue": s[1] ||= (e) => Q({ header: { globalSearch: !!e } })
363
+ }, null, 8, ["model-value"])]),
364
+ a("div", { class: l(["lumal-theme-settings__row", { "is-disabled": !C.value.header.globalSearch }]) }, [s[33] ||= a("span", null, "搜索快捷键", -1), o(m(b), {
365
+ "model-value": C.value.shortcutKeys.globalSearch,
366
+ disabled: !C.value.header.globalSearch,
367
+ "onUpdate:modelValue": s[2] ||= (e) => Q({ shortcutKeys: { globalSearch: !!e } })
368
+ }, null, 8, ["model-value", "disabled"])], 2)
369
+ ]),
370
+ a("section", I, [
371
+ s[39] ||= a("h4", null, "面包屑", -1),
372
+ a("div", L, [s[35] ||= a("span", null, "显示面包屑", -1), o(m(b), {
373
+ "model-value": C.value.breadcrumb.enable,
374
+ "onUpdate:modelValue": s[3] ||= (e) => Q({ breadcrumb: { enable: !!e } })
375
+ }, null, 8, ["model-value"])]),
376
+ a("div", { class: l(["lumal-theme-settings__row", { "is-disabled": !C.value.breadcrumb.enable }]) }, [s[36] ||= a("span", null, "仅一项时隐藏", -1), o(m(b), {
377
+ "model-value": C.value.breadcrumb.hideOnlyOne,
378
+ disabled: !C.value.breadcrumb.enable,
379
+ "onUpdate:modelValue": s[4] ||= (e) => Q({ breadcrumb: { hideOnlyOne: !!e } })
380
+ }, null, 8, ["model-value", "disabled"])], 2),
381
+ a("div", { class: l(["lumal-theme-settings__row", { "is-disabled": !C.value.breadcrumb.enable }]) }, [s[37] ||= a("span", null, "显示首页", -1), o(m(b), {
382
+ "model-value": C.value.breadcrumb.showHome,
383
+ disabled: !C.value.breadcrumb.enable,
384
+ "onUpdate:modelValue": s[5] ||= (e) => Q({ breadcrumb: { showHome: !!e } })
385
+ }, null, 8, ["model-value", "disabled"])], 2),
386
+ a("div", { class: l(["lumal-theme-settings__row", { "is-disabled": !C.value.breadcrumb.enable }]) }, [s[38] ||= a("span", null, "显示图标", -1), o(m(b), {
387
+ "model-value": C.value.breadcrumb.showIcon,
388
+ disabled: !C.value.breadcrumb.enable,
389
+ "onUpdate:modelValue": s[6] ||= (e) => Q({ breadcrumb: { showIcon: !!e } })
390
+ }, null, 8, ["model-value", "disabled"])], 2)
391
+ ]),
392
+ a("section", R, [
393
+ s[44] ||= a("h4", null, "页面反馈", -1),
394
+ a("div", z, [s[40] ||= a("span", null, "页面切换进度条", -1), o(m(b), {
395
+ "model-value": C.value.transition.progress,
396
+ "onUpdate:modelValue": s[7] ||= (e) => Q({ transition: { progress: !!e } })
397
+ }, null, 8, ["model-value"])]),
398
+ a("div", B, [s[41] ||= a("span", null, "页面切换 Loading", -1), o(m(b), {
399
+ "model-value": C.value.transition.loading,
400
+ "onUpdate:modelValue": s[8] ||= (e) => Q({ transition: { loading: !!e } })
401
+ }, null, 8, ["model-value"])]),
402
+ a("div", V, [s[42] ||= a("span", null, "页面切换动画", -1), o(m(b), {
403
+ "model-value": C.value.transition.enable,
404
+ "onUpdate:modelValue": s[9] ||= (e) => Q({ transition: { enable: !!e } })
405
+ }, null, 8, ["model-value"])]),
406
+ a("div", H, [(d(), i(t, null, f(k, (e) => a("button", {
407
+ key: e.value,
408
+ type: "button",
409
+ class: l(["lumal-theme-settings__transition-card", [{ "is-active": C.value.transition.name === e.value }, `is-${e.value}`]]),
410
+ disabled: !C.value.transition.enable,
411
+ "aria-pressed": C.value.transition.name === e.value,
412
+ onClick: (t) => Q({ transition: { name: e.value } })
413
+ }, [s[43] ||= a("span", { class: "lumal-theme-settings__transition-preview" }, [a("i"), a("i")], -1), a("span", null, p(e.label), 1)], 10, U)), 64))])
414
+ ])
415
+ ], 512), [[h, w.value === "common"]]),
416
+ g(a("div", W, [
417
+ a("section", G, [s[45] ||= a("h4", null, "主题模式", -1), a("div", K, [(d(), i(t, null, f(T, (e) => a("button", {
418
+ key: e.value,
419
+ type: "button",
420
+ class: l(["lumal-theme-settings__mode-card", { "is-active": C.value.theme.mode === e.value }]),
421
+ "aria-pressed": C.value.theme.mode === e.value,
422
+ onClick: (t) => Q({ theme: { mode: e.value } })
423
+ }, [o(m(_), {
424
+ class: "lumal-theme-settings__mode-icon",
425
+ name: e.icon,
426
+ size: 24
427
+ }, null, 8, ["name"]), a("span", null, p(e.label), 1)], 10, ce)), 64))])]),
428
+ a("section", le, [s[48] ||= a("h4", null, "内置主题", -1), a("div", ue, [(d(!0), i(t, null, f(Y.value, (e) => (d(), i("button", {
429
+ key: e.value,
430
+ type: "button",
431
+ class: l(["lumal-theme-settings__color-card", { "is-active": C.value.theme.colorPrimary === e.value }]),
432
+ "aria-label": e.label,
433
+ onClick: (t) => $(e.value)
434
+ }, [a("i", { style: u({ backgroundColor: e.value }) }, null, 4), a("span", null, p(e.label), 1)], 10, de))), 128)), a("label", { class: l(["lumal-theme-settings__color-card", { "is-active": Ke.value }]) }, [
435
+ s[46] ||= a("i", { class: "is-custom" }, null, -1),
436
+ s[47] ||= a("span", null, "自定义", -1),
437
+ a("input", {
438
+ type: "color",
439
+ value: C.value.theme.colorPrimary,
440
+ "aria-label": "自定义主题色",
441
+ onInput: s[10] ||= (e) => $(e.target.value)
442
+ }, null, 40, fe)
443
+ ], 2)])]),
444
+ a("section", pe, [s[49] ||= a("h4", null, "圆角", -1), a("div", me, [(d(), i(t, null, f(J, (e) => a("button", {
445
+ key: e,
446
+ type: "button",
447
+ class: l({ "is-active": C.value.theme.radiusScale === e }),
448
+ onClick: (t) => Q({ theme: { radiusScale: e } })
449
+ }, p(e), 11, he)), 64))])]),
450
+ a("section", ge, [s[51] ||= a("h4", null, "字体", -1), a("div", _e, [
451
+ s[50] ||= a("span", null, "全局字号", -1),
452
+ o(m(y), {
453
+ "model-value": C.value.theme.fontSize,
454
+ min: 12,
455
+ max: 20,
456
+ step: 1,
457
+ "onUpdate:modelValue": s[11] ||= (e) => Q({ theme: { fontSize: Number(e) } })
458
+ }, null, 8, ["model-value"]),
459
+ o(m(v), {
460
+ "model-value": C.value.theme.fontSize,
461
+ min: 12,
462
+ max: 20,
463
+ step: 1,
464
+ "onUpdate:modelValue": s[12] ||= (e) => Q({ theme: { fontSize: Number(e ?? 14) } })
465
+ }, null, 8, ["model-value"])
466
+ ])])
467
+ ], 512), [[h, w.value === "theme"]]),
468
+ g(a("div", ve, [
469
+ e.showLayout ? (d(), i("section", ye, [s[62] ||= a("h4", null, "布局模式", -1), a("div", be, [(d(), i(t, null, f(E, (e) => a("button", {
470
+ key: e.value,
471
+ type: "button",
472
+ class: l(["lumal-theme-settings__layout-card", [{ "is-active": C.value.app.layout === e.value }, `is-${e.value}`]]),
473
+ "aria-pressed": C.value.app.layout === e.value,
474
+ onClick: (t) => Q({ app: { layout: e.value } })
475
+ }, [(d(), i("svg", Se, [s[61] ||= a("rect", {
476
+ class: "is-background",
477
+ x: "1",
478
+ y: "1",
479
+ width: "158",
480
+ height: "90",
481
+ rx: "10"
482
+ }, null, -1), e.value === "sidebar-nav" ? (d(), i(t, { key: 0 }, [
483
+ s[52] ||= a("rect", {
484
+ class: "is-strong",
485
+ x: "8",
486
+ y: "8",
487
+ width: "30",
488
+ height: "76",
489
+ rx: "6"
490
+ }, null, -1),
491
+ s[53] ||= a("rect", {
492
+ x: "46",
493
+ y: "12",
494
+ width: "106",
495
+ height: "14",
496
+ rx: "5"
497
+ }, null, -1),
498
+ s[54] ||= a("rect", {
499
+ x: "46",
500
+ y: "36",
501
+ width: "49",
502
+ height: "40",
503
+ rx: "6"
504
+ }, null, -1),
505
+ s[55] ||= a("rect", {
506
+ x: "103",
507
+ y: "36",
508
+ width: "49",
509
+ height: "40",
510
+ rx: "6"
511
+ }, null, -1)
512
+ ], 64)) : e.value === "top-nav" ? (d(), i(t, { key: 1 }, [
513
+ s[56] ||= a("rect", {
514
+ class: "is-strong",
515
+ x: "8",
516
+ y: "8",
517
+ width: "144",
518
+ height: "14",
519
+ rx: "6"
520
+ }, null, -1),
521
+ s[57] ||= a("rect", {
522
+ x: "8",
523
+ y: "32",
524
+ width: "144",
525
+ height: "14",
526
+ rx: "5"
527
+ }, null, -1),
528
+ s[58] ||= a("rect", {
529
+ x: "8",
530
+ y: "56",
531
+ width: "68",
532
+ height: "24",
533
+ rx: "6"
534
+ }, null, -1),
535
+ s[59] ||= a("rect", {
536
+ x: "84",
537
+ y: "56",
538
+ width: "68",
539
+ height: "24",
540
+ rx: "6"
541
+ }, null, -1)
542
+ ], 64)) : (d(), i(t, { key: 2 }, [s[60] ||= ee("<rect class=\"is-strong\" x=\"8\" y=\"8\" width=\"144\" height=\"14\" rx=\"6\" data-v-e1228cb0></rect><rect class=\"is-medium\" x=\"8\" y=\"28\" width=\"26\" height=\"56\" rx=\"6\" data-v-e1228cb0></rect><rect x=\"44\" y=\"32\" width=\"108\" height=\"14\" rx=\"5\" data-v-e1228cb0></rect><rect x=\"44\" y=\"56\" width=\"50\" height=\"24\" rx=\"6\" data-v-e1228cb0></rect><rect x=\"102\" y=\"56\" width=\"50\" height=\"24\" rx=\"6\" data-v-e1228cb0></rect>", 5)], 64))])), a("span", null, p(e.label), 1)], 10, xe)), 64))])])) : r("", !0),
543
+ a("section", Ce, [
544
+ s[65] ||= a("h4", null, "顶栏", -1),
545
+ a("div", { class: l(["lumal-theme-settings__row is-stacked", { "is-disabled": !Z.value.headerMenuAlign }]) }, [s[63] ||= a("span", null, "菜单位置", -1), a("div", we, [(d(), i(t, null, f(Ge, (e) => a("button", {
546
+ key: e.value,
547
+ type: "button",
548
+ disabled: !Z.value.headerMenuAlign,
549
+ "aria-pressed": C.value.header.menuAlign === e.value,
550
+ class: l({ "is-active": C.value.header.menuAlign === e.value }),
551
+ onClick: (t) => Q({ header: { menuAlign: e.value } })
552
+ }, p(e.label), 11, Te)), 64))])], 2),
553
+ a("div", { class: l(["lumal-theme-settings__row is-stacked", { "is-disabled": !Z.value.headerMenuMaxWidth }]) }, [
554
+ s[64] ||= a("span", null, "菜单最大宽度", -1),
555
+ o(m(y), {
556
+ "model-value": C.value.header.menuMaxWidth,
557
+ disabled: !Z.value.headerMenuMaxWidth,
558
+ min: 480,
559
+ max: 1440,
560
+ step: 40,
561
+ "onUpdate:modelValue": s[13] ||= (e) => Q({ header: { menuMaxWidth: Number(e) } })
562
+ }, null, 8, ["model-value", "disabled"]),
563
+ o(m(v), {
564
+ "model-value": C.value.header.menuMaxWidth,
565
+ disabled: !Z.value.headerMenuMaxWidth,
566
+ min: 480,
567
+ max: 1440,
568
+ step: 40,
569
+ "onUpdate:modelValue": s[14] ||= (e) => Q({ header: { menuMaxWidth: Number(e) } })
570
+ }, null, 8, ["model-value", "disabled"])
571
+ ], 2)
572
+ ]),
573
+ a("section", Ee, [
574
+ s[70] ||= a("h4", null, "侧边栏", -1),
575
+ a("div", De, [s[66] ||= a("span", null, "显示侧边栏", -1), o(m(b), {
576
+ "model-value": C.value.sidebar.enable,
577
+ "onUpdate:modelValue": s[15] ||= (e) => Q({ sidebar: { enable: !!e } })
578
+ }, null, 8, ["model-value"])]),
579
+ a("div", Oe, [s[67] ||= a("span", null, "自动进入首个子菜单", -1), o(m(b), {
580
+ "model-value": C.value.sidebar.autoActivateChild,
581
+ disabled: !Z.value.sidebarAutoActivateChild,
582
+ "onUpdate:modelValue": s[16] ||= (e) => Q({ sidebar: { autoActivateChild: !!e } })
583
+ }, null, 8, ["model-value", "disabled"])]),
584
+ a("div", ke, [s[68] ||= a("span", null, "折叠菜单", -1), o(m(b), {
585
+ "model-value": C.value.sidebar.collapsed,
586
+ disabled: !Z.value.sidebarCollapsed,
587
+ "onUpdate:modelValue": s[17] ||= (e) => Q({ sidebar: { collapsed: !!e } })
588
+ }, null, 8, ["model-value", "disabled"])]),
589
+ a("div", { class: l(["lumal-theme-settings__row is-stacked", { "is-disabled": !Z.value.sidebarWidth }]) }, [
590
+ s[69] ||= a("span", null, "宽度", -1),
591
+ o(m(y), {
592
+ "model-value": C.value.sidebar.width,
593
+ disabled: !Z.value.sidebarWidth,
594
+ min: 200,
595
+ max: 320,
596
+ step: 8,
597
+ "onUpdate:modelValue": s[18] ||= (e) => Q({ sidebar: { width: Number(e) } })
598
+ }, null, 8, ["model-value", "disabled"]),
599
+ o(m(v), {
600
+ "model-value": C.value.sidebar.width,
601
+ disabled: !Z.value.sidebarWidth,
602
+ min: 200,
603
+ max: 320,
604
+ step: 8,
605
+ "onUpdate:modelValue": s[19] ||= (e) => Q({ sidebar: { width: Number(e) } })
606
+ }, null, 8, ["model-value", "disabled"])
607
+ ], 2)
608
+ ]),
609
+ a("section", Ae, [
610
+ s[83] ||= a("h4", null, "标签栏", -1),
611
+ a("div", je, [s[71] ||= a("span", null, "启用标签栏", -1), o(m(b), {
612
+ "model-value": C.value.tabbar.enable,
613
+ "onUpdate:modelValue": s[20] ||= (e) => Q({ tabbar: { enable: !!e } })
614
+ }, null, 8, ["model-value"])]),
615
+ a("div", Me, [s[72] ||= a("span", null, "页面缓存", -1), o(m(b), {
616
+ "model-value": C.value.tabbar.cache,
617
+ disabled: !Z.value.tabbarCache,
618
+ "onUpdate:modelValue": s[21] ||= (e) => Q({ tabbar: { cache: !!e } })
619
+ }, null, 8, ["model-value", "disabled"])]),
620
+ a("div", Ne, [s[73] ||= a("span", null, "持久化标签", -1), o(m(b), {
621
+ "model-value": C.value.tabbar.persist,
622
+ disabled: !Z.value.tabbarCache,
623
+ "onUpdate:modelValue": s[22] ||= (e) => Q({ tabbar: { persist: !!e } })
624
+ }, null, 8, ["model-value", "disabled"])]),
625
+ a("div", Pe, [s[74] ||= a("span", null, "记录访问历史", -1), o(m(b), {
626
+ "model-value": C.value.tabbar.visitHistory,
627
+ "onUpdate:modelValue": s[23] ||= (e) => Q({ tabbar: { visitHistory: !!e } })
628
+ }, null, 8, ["model-value"])]),
629
+ a("div", Fe, [s[75] ||= a("span", null, "允许拖拽排序", -1), o(m(b), {
630
+ "model-value": C.value.tabbar.draggable,
631
+ "onUpdate:modelValue": s[24] ||= (e) => Q({ tabbar: { draggable: !!e } })
632
+ }, null, 8, ["model-value"])]),
633
+ a("div", Ie, [s[76] ||= a("span", null, "滚轮切换", -1), o(m(b), {
634
+ "model-value": C.value.tabbar.wheelable,
635
+ "onUpdate:modelValue": s[25] ||= (e) => Q({ tabbar: { wheelable: !!e } })
636
+ }, null, 8, ["model-value"])]),
637
+ a("div", Le, [s[77] ||= a("span", null, "中键关闭", -1), o(m(b), {
638
+ "model-value": C.value.tabbar.middleClickToClose,
639
+ "onUpdate:modelValue": s[26] ||= (e) => Q({ tabbar: { middleClickToClose: !!e } })
640
+ }, null, 8, ["model-value"])]),
641
+ a("div", Re, [s[78] ||= a("span", null, "显示标签图标", -1), o(m(b), {
642
+ "model-value": C.value.tabbar.showIcon,
643
+ "onUpdate:modelValue": s[27] ||= (e) => Q({ tabbar: { showIcon: !!e } })
644
+ }, null, 8, ["model-value"])]),
645
+ a("div", ze, [s[79] ||= a("span", null, "显示更多按钮", -1), o(m(b), {
646
+ "model-value": C.value.tabbar.showMore,
647
+ "onUpdate:modelValue": s[28] ||= (e) => Q({ tabbar: { showMore: !!e } })
648
+ }, null, 8, ["model-value"])]),
649
+ a("div", Be, [s[80] ||= a("span", null, "显示最大化按钮", -1), o(m(b), {
650
+ "model-value": C.value.tabbar.showMaximize,
651
+ "onUpdate:modelValue": s[29] ||= (e) => Q({ tabbar: { showMaximize: !!e } })
652
+ }, null, 8, ["model-value"])]),
653
+ a("div", q, [s[81] ||= a("span", null, "标签风格", -1), a("div", Ve, [(d(), i(t, null, f(A, (e) => a("button", {
654
+ key: e.value,
655
+ type: "button",
656
+ disabled: !Z.value.tabbarCache,
657
+ "aria-pressed": C.value.tabbar.styleType === e.value,
658
+ class: l({ "is-active": C.value.tabbar.styleType === e.value }),
659
+ onClick: (t) => Q({ tabbar: { styleType: e.value } })
660
+ }, p(e.label), 11, He)), 64))])]),
661
+ a("div", Ue, [s[82] ||= a("span", null, "最大标签数(0 为不限制)", -1), o(m(v), {
662
+ "model-value": C.value.tabbar.maxCount,
663
+ min: 0,
664
+ max: 30,
665
+ "onUpdate:modelValue": s[30] ||= (e) => Q({ tabbar: { maxCount: Number(e ?? 0) } })
666
+ }, null, 8, ["model-value"])])
667
+ ])
668
+ ], 512), [[h, w.value === "layout"]])
669
+ ]),
670
+ a("div", We, [o(m(ae), {
671
+ class: "lumal-theme-settings__reset",
672
+ plain: "",
673
+ onClick: qe
674
+ }, {
675
+ default: ie(() => [o(m(_), {
676
+ name: "lumal:reset",
677
+ size: 16
678
+ }), s[84] ||= te("恢复默认 ", -1)]),
679
+ _: 1
680
+ })])
681
+ ]));
682
+ }
683
+ }), [["__scopeId", "data-v-e1228cb0"]]);
684
+ //#endregion
685
+ export { E as a, D as i, A as n, O as o, S as r, k as s, J as t };