@done-coding/admin-plugin-theme 0.1.1-alpha.0 → 0.2.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/es/assets/applied-intelligence-frame.mjs +315 -0
  2. package/es/assets/applied-intelligence-nebula.mjs +400 -0
  3. package/es/assets/aurora-mesh.mjs +350 -0
  4. package/es/assets/botanical-paper.mjs +60 -0
  5. package/es/assets/brutal-concrete.mjs +51 -0
  6. package/es/assets/cockpit-brutal-steel.mjs +300 -0
  7. package/es/assets/cockpit-liquid-ink.mjs +329 -0
  8. package/es/assets/cockpit-mono-paper.mjs +238 -0
  9. package/es/assets/cockpit-neural-field.mjs +339 -0
  10. package/es/assets/compact-rail.mjs +105 -0
  11. package/es/assets/console-horizon.mjs +98 -0
  12. package/es/assets/contrast.mjs +3 -1
  13. package/es/assets/copilot-calm.mjs +59 -0
  14. package/es/assets/copilot-stage.mjs +110 -0
  15. package/es/assets/coral-reef.mjs +60 -0
  16. package/es/assets/cyber.mjs +3 -1
  17. package/es/assets/dragon-vermilion.mjs +450 -0
  18. package/es/assets/film-grade.mjs +252 -0
  19. package/es/assets/glass.mjs +3 -1
  20. package/es/assets/graphite-mono.mjs +51 -0
  21. package/es/assets/gugong.mjs +3 -1
  22. package/es/assets/ink.mjs +3 -1
  23. package/es/assets/neon-set.mjs +316 -0
  24. package/es/assets/nordic-fjord.mjs +58 -0
  25. package/es/assets/perspective-deck.mjs +229 -0
  26. package/es/assets/quantum-ai.mjs +255 -0
  27. package/es/assets/sandstone-editorial.mjs +60 -0
  28. package/es/assets/starfield-cosmos.mjs +352 -0
  29. package/es/assets/studio-ink.mjs +308 -0
  30. package/es/assets/studio-triptych.mjs +115 -0
  31. package/es/assets/sunset-amber.mjs +61 -0
  32. package/es/assets/synapse-grid.mjs +275 -0
  33. package/es/assets/terminal-phosphor.mjs +240 -0
  34. package/es/assets/velvet-noir.mjs +60 -0
  35. package/es/chunks/CockpitShellBase.vue_vue_type_script_setup_true_lang-B6k0Utzz.mjs +238 -0
  36. package/es/chunks/FrameShellBase.vue_vue_type_script_setup_true_lang-sr56H_8-.mjs +57 -0
  37. package/es/chunks/HeaderNavMenu.vue_vue_type_script_setup_true_lang-Dfv8_Muy.mjs +31 -0
  38. package/es/chunks/_plugin-vue_export-helper-CHgC5LLL.mjs +9 -0
  39. package/es/chunks/use-frame-geometry-DPWBVziK.mjs +45 -0
  40. package/es/style.css +1 -0
  41. package/lib/assets/applied-intelligence-frame.cjs +1 -0
  42. package/lib/assets/applied-intelligence-nebula.cjs +1 -0
  43. package/lib/assets/aurora-mesh.cjs +1 -0
  44. package/lib/assets/botanical-paper.cjs +1 -0
  45. package/lib/assets/brutal-concrete.cjs +1 -0
  46. package/lib/assets/cockpit-brutal-steel.cjs +4 -0
  47. package/lib/assets/cockpit-liquid-ink.cjs +1 -0
  48. package/lib/assets/cockpit-mono-paper.cjs +1 -0
  49. package/lib/assets/cockpit-neural-field.cjs +1 -0
  50. package/lib/assets/compact-rail.cjs +1 -0
  51. package/lib/assets/console-horizon.cjs +1 -0
  52. package/lib/assets/contrast.cjs +1 -1
  53. package/lib/assets/copilot-calm.cjs +1 -0
  54. package/lib/assets/copilot-stage.cjs +1 -0
  55. package/lib/assets/coral-reef.cjs +1 -0
  56. package/lib/assets/cyber.cjs +1 -1
  57. package/lib/assets/dragon-vermilion.cjs +1 -0
  58. package/lib/assets/film-grade.cjs +1 -0
  59. package/lib/assets/glass.cjs +1 -1
  60. package/lib/assets/graphite-mono.cjs +1 -0
  61. package/lib/assets/gugong.cjs +1 -1
  62. package/lib/assets/ink.cjs +1 -1
  63. package/lib/assets/neon-set.cjs +1 -0
  64. package/lib/assets/nordic-fjord.cjs +1 -0
  65. package/lib/assets/perspective-deck.cjs +1 -0
  66. package/lib/assets/quantum-ai.cjs +1 -0
  67. package/lib/assets/sandstone-editorial.cjs +1 -0
  68. package/lib/assets/starfield-cosmos.cjs +1 -0
  69. package/lib/assets/studio-ink.cjs +1 -0
  70. package/lib/assets/studio-triptych.cjs +1 -0
  71. package/lib/assets/sunset-amber.cjs +1 -0
  72. package/lib/assets/synapse-grid.cjs +1 -0
  73. package/lib/assets/terminal-phosphor.cjs +1 -0
  74. package/lib/assets/velvet-noir.cjs +1 -0
  75. package/lib/chunks/CockpitShellBase.vue_vue_type_script_setup_true_lang-D2LEvqm8.cjs +1 -0
  76. package/lib/chunks/FrameShellBase.vue_vue_type_script_setup_true_lang-C-mttf00.cjs +1 -0
  77. package/lib/chunks/HeaderNavMenu.vue_vue_type_script_setup_true_lang-LJ3mDZkH.cjs +1 -0
  78. package/lib/chunks/_plugin-vue_export-helper-BHFhmbuH.cjs +1 -0
  79. package/lib/chunks/use-frame-geometry-5WRLC-WU.cjs +1 -0
  80. package/lib/style.css +1 -0
  81. package/package.json +3 -3
  82. package/types/assets/applied-intelligence-frame.d.ts +15 -0
  83. package/types/assets/applied-intelligence-nebula.d.ts +14 -0
  84. package/types/assets/aurora-mesh.d.ts +9 -0
  85. package/types/assets/botanical-paper.d.ts +10 -0
  86. package/types/assets/brutal-concrete.d.ts +10 -0
  87. package/types/assets/cockpit-brutal-steel.d.ts +3 -0
  88. package/types/assets/cockpit-liquid-ink.d.ts +14 -0
  89. package/types/assets/cockpit-mono-paper.d.ts +12 -0
  90. package/types/assets/cockpit-neural-field.d.ts +11 -0
  91. package/types/assets/compact-rail.d.ts +9 -0
  92. package/types/assets/console-horizon.d.ts +9 -0
  93. package/types/assets/copilot-calm.d.ts +10 -0
  94. package/types/assets/copilot-stage.d.ts +9 -0
  95. package/types/assets/coral-reef.d.ts +10 -0
  96. package/types/assets/dragon-vermilion.d.ts +9 -0
  97. package/types/assets/film-grade.d.ts +12 -0
  98. package/types/assets/graphite-mono.d.ts +10 -0
  99. package/types/assets/neon-set.d.ts +12 -0
  100. package/types/assets/nordic-fjord.d.ts +9 -0
  101. package/types/assets/perspective-deck.d.ts +10 -0
  102. package/types/assets/quantum-ai.d.ts +9 -0
  103. package/types/assets/sandstone-editorial.d.ts +10 -0
  104. package/types/assets/starfield-cosmos.d.ts +10 -0
  105. package/types/assets/studio-ink.d.ts +12 -0
  106. package/types/assets/studio-triptych.d.ts +9 -0
  107. package/types/assets/sunset-amber.d.ts +10 -0
  108. package/types/assets/synapse-grid.d.ts +9 -0
  109. package/types/assets/terminal-phosphor.d.ts +9 -0
  110. package/types/assets/velvet-noir.d.ts +10 -0
  111. package/types/shells/AppliedIntelligenceFrameShell.vue.d.ts +27 -0
  112. package/types/shells/AppliedIntelligenceNebulaShell.vue.d.ts +27 -0
  113. package/types/shells/AuroraMeshShell.vue.d.ts +26 -0
  114. package/types/shells/BrutalSteelCockpitShell.vue.d.ts +27 -0
  115. package/types/shells/CockpitShellBase.vue.d.ts +28 -0
  116. package/types/shells/CockpitStatusBar.vue.d.ts +2 -0
  117. package/types/shells/CoilingDragonShell.vue.d.ts +26 -0
  118. package/types/shells/CosmosShell.vue.d.ts +26 -0
  119. package/types/shells/FilmGradeShell.vue.d.ts +26 -0
  120. package/types/shells/FrameShellBase.vue.d.ts +28 -0
  121. package/types/shells/HeaderNavMenu.vue.d.ts +4 -0
  122. package/types/shells/IconRailShell.vue.d.ts +26 -0
  123. package/types/shells/LiquidInkCockpitShell.vue.d.ts +27 -0
  124. package/types/shells/MonoPaperCockpitShell.vue.d.ts +27 -0
  125. package/types/shells/NeonSetShell.vue.d.ts +27 -0
  126. package/types/shells/NeuralFieldCockpitShell.vue.d.ts +27 -0
  127. package/types/shells/PerspectiveDeckShell.vue.d.ts +26 -0
  128. package/types/shells/QuantumOrbitShell.vue.d.ts +26 -0
  129. package/types/shells/ScanlineShell.vue.d.ts +26 -0
  130. package/types/shells/StageChatShell.vue.d.ts +27 -0
  131. package/types/shells/StudioInkShell.vue.d.ts +27 -0
  132. package/types/shells/SynapseGridShell.vue.d.ts +26 -0
  133. package/types/shells/TopNavShell.vue.d.ts +26 -0
  134. package/types/shells/TriColumnShell.vue.d.ts +27 -0
  135. package/types/shells/decor/AuroraFrameDecor.vue.d.ts +2 -0
  136. package/types/shells/decor/AuroraMeshDecor.vue.d.ts +2 -0
  137. package/types/shells/decor/AuroraNebulaDecor.vue.d.ts +2 -0
  138. package/types/shells/decor/BrutalSteelCockpitDecor.vue.d.ts +2 -0
  139. package/types/shells/decor/CockpitFrameMatte.vue.d.ts +2 -0
  140. package/types/shells/decor/CoilingDragonDecor.vue.d.ts +2 -0
  141. package/types/shells/decor/FilmGradeDecor.vue.d.ts +2 -0
  142. package/types/shells/decor/LiquidInkCockpitDecor.vue.d.ts +2 -0
  143. package/types/shells/decor/MonoPaperCockpitDecor.vue.d.ts +2 -0
  144. package/types/shells/decor/NeonStageDecor.vue.d.ts +2 -0
  145. package/types/shells/decor/NeuralFieldCockpitDecor.vue.d.ts +2 -0
  146. package/types/shells/decor/PerspectiveDeckDecor.vue.d.ts +4 -0
  147. package/types/shells/decor/QuantumOrbitDecor.vue.d.ts +2 -0
  148. package/types/shells/decor/ScanlineDecor.vue.d.ts +2 -0
  149. package/types/shells/decor/StarfieldDecor.vue.d.ts +2 -0
  150. package/types/shells/decor/StudioGlowDecor.vue.d.ts +2 -0
  151. package/types/shells/decor/SynapseGridDecor.vue.d.ts +2 -0
  152. package/types/shells/decor/use-frame-geometry.d.ts +31 -0
  153. package/types/types.d.ts +33 -11
@@ -0,0 +1,255 @@
1
+ import { defineComponent as k, computed as p, openBlock as s, createBlock as $, Teleport as A, unref as r, createElementBlock as d, normalizeStyle as I, createElementVNode as b, createCommentVNode as g, Fragment as N, renderList as P, normalizeProps as O, guardReactiveProps as q, createSlots as F, withCtx as m, createVNode as L, renderSlot as v, markRaw as T } from "vue";
2
+ import { _ as z } from "../chunks/FrameShellBase.vue_vue_type_script_setup_true_lang-sr56H_8-.mjs";
3
+ import { ADMIN_CORE_VIEWPORT_DECOR_ZINDEX_BELOW as G } from "@done-coding/admin-core";
4
+ import { u as V } from "../chunks/use-frame-geometry-DPWBVziK.mjs";
5
+ import { _ as W } from "../chunks/_plugin-vue_export-helper-CHgC5LLL.mjs";
6
+ const H = ["width", "height", "viewBox"], Q = ["x", "y", "width", "height"], X = {
7
+ key: 0,
8
+ attributeName: "stroke-opacity",
9
+ values: "0.08;0.16;0.08",
10
+ dur: "8s",
11
+ repeatCount: "indefinite"
12
+ }, Y = ["r", "fill", "opacity"], Z = ["dur", "begin", "path"], j = ["to"], J = ["to"], K = /* @__PURE__ */ k({
13
+ __name: "QuantumOrbitDecor",
14
+ setup(x) {
15
+ const { vp: c, isDark: t, animated: f, vw: u, vh: y, hasFrame: B } = V(), l = p(
16
+ () => Math.min(
17
+ c.value.paddingTop,
18
+ c.value.paddingRight,
19
+ c.value.paddingBottom,
20
+ c.value.paddingLeft
21
+ ) / 2
22
+ ), _ = p(() => Math.max(0, u.value - l.value * 2)), w = p(() => Math.max(0, y.value - l.value * 2)), E = p(() => {
23
+ const i = l.value, o = l.value, e = _.value, a = w.value;
24
+ return `M${i},${o} h${e} v${a} h${-e} Z`;
25
+ });
26
+ function R(i) {
27
+ const o = l.value, e = l.value, a = _.value, h = w.value, S = 2 * (a + h);
28
+ let n = i * S;
29
+ return n <= a ? { x: o + n, y: e } : (n -= a, n <= h ? { x: o + a, y: e + n } : (n -= h, n <= a ? { x: o + a - n, y: e + h } : (n -= a, { x: o, y: e + h - n })));
30
+ }
31
+ const M = [
32
+ { dur: 9, t0: 0 },
33
+ { dur: 11, t0: 0.16 },
34
+ { dur: 8, t0: 0.31 },
35
+ { dur: 13, t0: 0.47 },
36
+ { dur: 10, t0: 0.62 },
37
+ { dur: 14, t0: 0.78 },
38
+ { dur: 12, t0: 0.9 }
39
+ ], C = p(
40
+ () => M.map((i, o) => {
41
+ const e = R(i.t0);
42
+ return {
43
+ r: 2.5 + o % 3,
44
+ color: o % 2 ? "#ff4dcb" : "#1fd8e8",
45
+ dur: i.dur,
46
+ // 负 begin = 从 t0 相位起播,使各粒子沿轨道均匀错开公转。
47
+ begin: -(i.t0 * i.dur),
48
+ staticX: e.x,
49
+ staticY: e.y
50
+ };
51
+ })
52
+ ), D = p(
53
+ () => t.value ? C.value : C.value.slice(0, 3)
54
+ );
55
+ return (i, o) => (s(), $(A, { to: "body" }, [
56
+ r(B) ? (s(), d("svg", {
57
+ key: 0,
58
+ class: "quantum-orbit-decor",
59
+ style: I({
60
+ position: "fixed",
61
+ left: 0,
62
+ top: 0,
63
+ pointerEvents: "none",
64
+ zIndex: r(G),
65
+ opacity: r(t) ? 0.4 : 0.18
66
+ }),
67
+ width: r(u),
68
+ height: r(y),
69
+ viewBox: `0 0 ${r(u)} ${r(y)}`,
70
+ "aria-hidden": "true"
71
+ }, [
72
+ o[0] || (o[0] = b("defs", null, [
73
+ b("filter", {
74
+ id: "quantumGlow",
75
+ x: "-80%",
76
+ y: "-80%",
77
+ width: "260%",
78
+ height: "260%"
79
+ }, [
80
+ b("feGaussianBlur", { stdDeviation: "3" })
81
+ ])
82
+ ], -1)),
83
+ b("rect", {
84
+ x: l.value,
85
+ y: l.value,
86
+ width: _.value,
87
+ height: w.value,
88
+ rx: "8",
89
+ fill: "none",
90
+ stroke: "#1fd8e8",
91
+ "stroke-width": "1",
92
+ "stroke-opacity": "0.12"
93
+ }, [
94
+ r(f) ? (s(), d("animate", X)) : g("", !0)
95
+ ], 8, Q),
96
+ (s(!0), d(N, null, P(D.value, (e, a) => (s(), d("g", {
97
+ key: `q${a}`
98
+ }, [
99
+ b("circle", {
100
+ r: e.r,
101
+ fill: e.color,
102
+ filter: "url(#quantumGlow)",
103
+ opacity: r(f) ? 1 : 0.6
104
+ }, [
105
+ r(f) ? (s(), d("animateMotion", {
106
+ key: 0,
107
+ dur: `${e.dur}s`,
108
+ begin: `${e.begin}s`,
109
+ repeatCount: "indefinite",
110
+ calcMode: "linear",
111
+ path: E.value
112
+ }, null, 8, Z)) : g("", !0),
113
+ r(f) ? g("", !0) : (s(), d("set", {
114
+ key: 1,
115
+ attributeName: "cx",
116
+ to: e.staticX
117
+ }, null, 8, j)),
118
+ r(f) ? g("", !0) : (s(), d("set", {
119
+ key: 2,
120
+ attributeName: "cy",
121
+ to: e.staticY
122
+ }, null, 8, J))
123
+ ], 8, Y)
124
+ ]))), 128))
125
+ ], 12, H)) : g("", !0)
126
+ ]));
127
+ }
128
+ }), U = /* @__PURE__ */ W(K, [["__scopeId", "data-v-b17094ed"]]), ee = /* @__PURE__ */ k({
129
+ __name: "QuantumOrbitShell",
130
+ props: {
131
+ menus: {},
132
+ menuFlatList: {},
133
+ sidebarMenus: {},
134
+ headerMenus: {},
135
+ activeMenu: {},
136
+ activeModuleMenu: {},
137
+ showHeader: { type: Boolean },
138
+ showSidebar: { type: Boolean },
139
+ showAside: { type: Boolean },
140
+ sidebarAboveHeader: { type: Boolean }
141
+ },
142
+ setup(x) {
143
+ const c = x;
144
+ return (t, f) => (s(), $(z, O(q(c)), F({
145
+ default: m((u) => [
146
+ v(t.$slots, "default", {
147
+ Footer: u.Footer
148
+ })
149
+ ]),
150
+ decor: m(() => [
151
+ L(U)
152
+ ]),
153
+ _: 2
154
+ }, [
155
+ t.$slots.brand ? {
156
+ name: "brand",
157
+ fn: m(() => [
158
+ v(t.$slots, "brand")
159
+ ]),
160
+ key: "0"
161
+ } : void 0,
162
+ t.$slots.themeSwitcher ? {
163
+ name: "themeSwitcher",
164
+ fn: m((u) => [
165
+ v(t.$slots, "themeSwitcher", {
166
+ Default: u.Default
167
+ })
168
+ ]),
169
+ key: "1"
170
+ } : void 0,
171
+ t.$slots.userEntry ? {
172
+ name: "userEntry",
173
+ fn: m(() => [
174
+ v(t.$slots, "userEntry")
175
+ ]),
176
+ key: "2"
177
+ } : void 0,
178
+ t.$slots.settings ? {
179
+ name: "settings",
180
+ fn: m(() => [
181
+ v(t.$slots, "settings")
182
+ ]),
183
+ key: "3"
184
+ } : void 0
185
+ ]), 1040));
186
+ }
187
+ }), ie = {
188
+ id: "quantum-ai",
189
+ label: "量子智能",
190
+ description: {
191
+ suitable: "前沿 AI 实验室 / 模型训练监控 / 量子计算 / 高科技 R&D 控制台;想要「最强未来科技感」的旗舰暗场 AI dashboard。",
192
+ unsuitable: "传统企业后台;需要稳重低调;强无障碍;高龄用户。"
193
+ },
194
+ config: {
195
+ light: {
196
+ bodyColor: "#eef3f6",
197
+ baseColor: "#131c26",
198
+ primaryColor: "#0f9aa8",
199
+ successColor: "#189a6e",
200
+ warningColor: "#c78a1c",
201
+ dangerColor: "#e0457a",
202
+ errorColor: "#e0457a",
203
+ infoColor: "#b03ca0",
204
+ radius: "8px",
205
+ accent: "#d8389e",
206
+ surface: "#ffffff",
207
+ borderColor: "#d6e0e6",
208
+ glow: "0 0 0 1px rgba(15,154,168,0.18)",
209
+ shadow: "0 12px 30px -16px rgba(19,28,38,0.18)",
210
+ focusRing: "0 0 0 3px rgba(15,154,168,0.28)"
211
+ },
212
+ dark: {
213
+ bodyColor: "#04070d",
214
+ baseColor: "#cfe2ec",
215
+ primaryColor: "#1fd8e8",
216
+ successColor: "#2ee0a0",
217
+ warningColor: "#f0c044",
218
+ dangerColor: "#ff5a8c",
219
+ errorColor: "#ff5a8c",
220
+ infoColor: "#ff4dcb",
221
+ radius: "8px",
222
+ accent: "#ff4dcb",
223
+ surface: "#0b1019",
224
+ borderColor: "rgba(31,216,232,0.24)",
225
+ glow: "0 0 18px rgba(31,216,232,0.34)",
226
+ shadow: "0 0 0 1px rgba(31,216,232,0.12), 0 20px 48px -20px rgba(0,0,0,0.94)",
227
+ focusRing: "0 0 0 3px rgba(255,77,203,0.4)"
228
+ }
229
+ },
230
+ layout: {
231
+ viewport: {
232
+ paddingTop: 18,
233
+ paddingRight: 18,
234
+ paddingBottom: 18,
235
+ paddingLeft: 18
236
+ },
237
+ gap: { size: 8 },
238
+ header: {
239
+ height: 54,
240
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
241
+ style: { borderRadius: "8px" }
242
+ },
243
+ sidebar: {
244
+ width: 244,
245
+ collapseWidth: 60,
246
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
247
+ style: { borderRadius: "8px" }
248
+ },
249
+ body: { shimPadding: 18 },
250
+ shell: T(ee)
251
+ }
252
+ };
253
+ export {
254
+ ie as default
255
+ };
@@ -0,0 +1,60 @@
1
+ const o = {
2
+ id: "sandstone-editorial",
3
+ label: "砂岩刊物",
4
+ description: {
5
+ suitable: "内容/媒体后台、知识库 / 文档中心 / CMS、品牌调性偏杂志出版的 SaaS;重阅读重留白。",
6
+ unsuitable: "高密度数据监控大屏;强科技/赛博定位;信息密度极高的录入表单。"
7
+ },
8
+ config: {
9
+ light: {
10
+ bodyColor: "#efe9df",
11
+ baseColor: "#23211c",
12
+ primaryColor: "#4a5c3f",
13
+ successColor: "#5a7a4a",
14
+ warningColor: "#b07426",
15
+ dangerColor: "#b1402f",
16
+ errorColor: "#b1402f",
17
+ infoColor: "#5f6b78",
18
+ radius: "10px",
19
+ accent: "#c08a3e",
20
+ surface: "#f8f4ec",
21
+ borderColor: "#ddd4c4",
22
+ borderWidth: "1px",
23
+ shadow: "0 5px 20px -12px rgba(35, 33, 28, 0.12)"
24
+ },
25
+ dark: {
26
+ bodyColor: "#1a1814",
27
+ baseColor: "#e8e2d5",
28
+ primaryColor: "#8ba074",
29
+ successColor: "#8fae73",
30
+ warningColor: "#cf9b4e",
31
+ dangerColor: "#c96a56",
32
+ errorColor: "#c96a56",
33
+ infoColor: "#8d97a4",
34
+ radius: "10px",
35
+ accent: "#d4a558",
36
+ surface: "#24211b",
37
+ borderColor: "#34302a",
38
+ borderWidth: "1px",
39
+ shadow: "0 10px 28px -16px rgba(0, 0, 0, 0.72)"
40
+ }
41
+ },
42
+ layout: {
43
+ gap: { size: 10 },
44
+ header: {
45
+ height: 60,
46
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
47
+ style: { borderRadius: "10px" }
48
+ },
49
+ sidebar: {
50
+ width: 256,
51
+ collapseWidth: 64,
52
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
53
+ style: { borderRadius: "10px" }
54
+ },
55
+ body: { shimPadding: 32 }
56
+ }
57
+ };
58
+ export {
59
+ o as default
60
+ };
@@ -0,0 +1,352 @@
1
+ import { defineComponent as D, computed as h, openBlock as f, createBlock as R, Teleport as I, unref as o, createElementBlock as p, normalizeStyle as L, createElementVNode as n, Fragment as C, renderList as k, createCommentVNode as g, normalizeProps as O, guardReactiveProps as P, createSlots as V, withCtx as m, createVNode as X, renderSlot as x, markRaw as Y } from "vue";
2
+ import { _ as Z } from "../chunks/FrameShellBase.vue_vue_type_script_setup_true_lang-sr56H_8-.mjs";
3
+ import { ADMIN_CORE_VIEWPORT_DECOR_ZINDEX_BELOW as j } from "@done-coding/admin-core";
4
+ import { u as q } from "../chunks/use-frame-geometry-DPWBVziK.mjs";
5
+ const J = ["width", "height", "viewBox"], K = {
6
+ id: "nebulaA",
7
+ cx: "50%",
8
+ cy: "50%",
9
+ r: "50%"
10
+ }, Q = ["stop-color"], U = ["stop-color"], ee = {
11
+ id: "nebulaB",
12
+ cx: "50%",
13
+ cy: "50%",
14
+ r: "50%"
15
+ }, oe = ["stop-color"], te = ["stop-color"], re = {
16
+ id: "starGlow",
17
+ x: "-200%",
18
+ y: "-200%",
19
+ width: "500%",
20
+ height: "500%"
21
+ }, le = ["stdDeviation"], ae = ["cx", "cy", "rx", "ry"], ne = ["cx", "cy", "rx", "ry"], se = ["cx", "cy", "rx", "ry"], ie = ["cx", "cy", "r", "fill", "opacity"], ue = ["values", "dur", "begin"], de = ["cx", "cy", "r", "fill", "filter", "opacity"], ce = ["values", "dur", "begin"], fe = ["x1", "y1", "x2", "y2", "stroke"], pe = ["dur", "begin"], ye = ["values", "dur", "begin"], be = /* @__PURE__ */ D({
22
+ __name: "StarfieldDecor",
23
+ setup(N) {
24
+ const {
25
+ isDark: u,
26
+ animated: a,
27
+ vw: t,
28
+ vh: r,
29
+ hasFrame: A,
30
+ hollowX: B,
31
+ hollowY: _,
32
+ hollowW: G,
33
+ hollowH: H
34
+ } = q(), F = h(() => u.value ? "#cdd6ff" : "#6b7bb0"), M = h(() => u.value ? "#ffffff" : "#9fb0e6"), E = h(() => u.value ? "#5b6cff" : "#9aa6e8"), S = h(() => u.value ? "#22d3ee" : "#8fd6e6");
35
+ function s(i) {
36
+ const d = Math.sin(i) * 43758.5453;
37
+ return d - Math.floor(d);
38
+ }
39
+ const T = h(() => {
40
+ const i = [];
41
+ if (t.value <= 0 || r.value <= 0) return i;
42
+ const d = 46, e = 30, c = t.value / d, v = r.value / e;
43
+ let l = 0;
44
+ for (let y = 0; y < e; y++)
45
+ for (let b = 0; b < d; b++) {
46
+ l++;
47
+ const w = b * c + s(l * 1.1) * c, $ = y * v + s(l * 2.3) * v;
48
+ w > B.value && w < B.value + G.value && $ > _.value && $ < _.value + H.value || s(l * 3.7) > 0.65 || i.push({
49
+ x: Number(w.toFixed(1)),
50
+ y: Number($.toFixed(1)),
51
+ // 加大星点(0.7~2.6)。
52
+ r: Number((0.7 + s(l * 4.1) * 1.9).toFixed(2)),
53
+ dur: Number((2 + s(l * 5.3) * 3).toFixed(1)),
54
+ begin: Number((s(l * 6.7) * 4).toFixed(1)),
55
+ bright: s(l * 7.9)
56
+ });
57
+ }
58
+ return i;
59
+ }), W = h(() => {
60
+ const i = [];
61
+ if (t.value <= 0 || r.value <= 0) return i;
62
+ const d = 30, e = 20, c = t.value / d, v = r.value / e;
63
+ let l = 1e3;
64
+ for (let y = 0; y < e; y++)
65
+ for (let b = 0; b < d; b++)
66
+ l++, !(s(l * 2.9) > 0.4) && i.push({
67
+ x: Number((b * c + s(l * 1.7) * c).toFixed(1)),
68
+ y: Number((y * v + s(l * 3.1) * v).toFixed(1)),
69
+ r: Number((0.4 + s(l * 4.3) * 0.7).toFixed(2)),
70
+ dur: Number((2.5 + s(l * 5.9) * 3).toFixed(1)),
71
+ begin: Number((s(l * 6.1) * 5).toFixed(1))
72
+ });
73
+ return i;
74
+ }), z = h(() => {
75
+ if (t.value <= 0) return [];
76
+ const i = Math.max(8, _.value * 0.5), d = (e) => ({
77
+ x1: t.value * e.fx,
78
+ y1: i * e.fy,
79
+ x2: t.value * e.fx + e.len,
80
+ y2: i * e.fy + e.len * 0.55,
81
+ dx: t.value * e.span,
82
+ dy: t.value * e.span * 0.55,
83
+ dur: e.dur,
84
+ begin: e.begin
85
+ });
86
+ return [
87
+ { fx: 0.16, fy: 1, len: 30, span: 0.24, dur: 6.5, begin: 1 },
88
+ { fx: 0.46, fy: 0.5, len: 24, span: 0.2, dur: 8, begin: 3.5 },
89
+ { fx: 0.7, fy: 1.1, len: 28, span: 0.22, dur: 7.5, begin: 5.5 },
90
+ { fx: 0.32, fy: 0.3, len: 20, span: 0.18, dur: 9.5, begin: 8 }
91
+ ].map(d);
92
+ });
93
+ return (i, d) => (f(), R(I, { to: "body" }, [
94
+ o(A) ? (f(), p("svg", {
95
+ key: 0,
96
+ class: "starfield-decor",
97
+ style: L({
98
+ position: "fixed",
99
+ left: 0,
100
+ top: 0,
101
+ pointerEvents: "none",
102
+ zIndex: o(j),
103
+ opacity: o(u) ? 0.95 : 0.55
104
+ }),
105
+ width: o(t),
106
+ height: o(r),
107
+ viewBox: `0 0 ${o(t)} ${o(r)}`,
108
+ "aria-hidden": "true"
109
+ }, [
110
+ n("defs", null, [
111
+ n("radialGradient", K, [
112
+ n("stop", {
113
+ offset: "0%",
114
+ "stop-color": E.value,
115
+ "stop-opacity": "0.55"
116
+ }, null, 8, Q),
117
+ n("stop", {
118
+ offset: "100%",
119
+ "stop-color": E.value,
120
+ "stop-opacity": "0"
121
+ }, null, 8, U)
122
+ ]),
123
+ n("radialGradient", ee, [
124
+ n("stop", {
125
+ offset: "0%",
126
+ "stop-color": S.value,
127
+ "stop-opacity": "0.5"
128
+ }, null, 8, oe),
129
+ n("stop", {
130
+ offset: "100%",
131
+ "stop-color": S.value,
132
+ "stop-opacity": "0"
133
+ }, null, 8, te)
134
+ ]),
135
+ n("filter", re, [
136
+ n("feGaussianBlur", {
137
+ stdDeviation: o(u) ? 1.4 : 0.6
138
+ }, null, 8, le)
139
+ ])
140
+ ]),
141
+ n("ellipse", {
142
+ cx: o(t) * 0.1,
143
+ cy: o(r) * 0.12,
144
+ rx: Math.min(o(t), o(r)) * 0.3,
145
+ ry: Math.min(o(t), o(r)) * 0.22,
146
+ fill: "url(#nebulaA)"
147
+ }, null, 8, ae),
148
+ n("ellipse", {
149
+ cx: o(t) * 0.92,
150
+ cy: o(r) * 0.88,
151
+ rx: Math.min(o(t), o(r)) * 0.28,
152
+ ry: Math.min(o(t), o(r)) * 0.2,
153
+ fill: "url(#nebulaB)"
154
+ }, null, 8, ne),
155
+ n("ellipse", {
156
+ cx: o(t) * 0.85,
157
+ cy: o(r) * 0.1,
158
+ rx: Math.min(o(t), o(r)) * 0.18,
159
+ ry: Math.min(o(t), o(r)) * 0.14,
160
+ fill: "url(#nebulaA)"
161
+ }, null, 8, se),
162
+ (f(!0), p(C, null, k(W.value, (e, c) => (f(), p("circle", {
163
+ key: `d${c}`,
164
+ cx: e.x,
165
+ cy: e.y,
166
+ r: e.r,
167
+ fill: F.value,
168
+ opacity: o(u) ? 0.18 : 0.1
169
+ }, [
170
+ o(a) ? (f(), p("animate", {
171
+ key: 0,
172
+ attributeName: "opacity",
173
+ values: `${o(u) ? 0.08 : 0.04};${o(u) ? 0.24 : 0.13};${o(u) ? 0.08 : 0.04}`,
174
+ dur: `${e.dur}s`,
175
+ begin: `${e.begin}s`,
176
+ repeatCount: "indefinite"
177
+ }, null, 8, ue)) : g("", !0)
178
+ ], 8, ie))), 128)),
179
+ (f(!0), p(C, null, k(T.value, (e, c) => (f(), p("circle", {
180
+ key: `s${c}`,
181
+ cx: e.x,
182
+ cy: e.y,
183
+ r: e.r,
184
+ fill: e.bright > 0.8 ? M.value : F.value,
185
+ filter: e.bright > 0.85 ? "url(#starGlow)" : void 0,
186
+ opacity: o(a) ? void 0 : 0.7
187
+ }, [
188
+ o(a) ? (f(), p("animate", {
189
+ key: 0,
190
+ attributeName: "opacity",
191
+ values: `${0.15 + e.bright * 0.2};${0.7 + e.bright * 0.3};${0.15 + e.bright * 0.2}`,
192
+ dur: `${e.dur}s`,
193
+ begin: `${e.begin}s`,
194
+ repeatCount: "indefinite"
195
+ }, null, 8, ce)) : g("", !0)
196
+ ], 8, de))), 128)),
197
+ o(a) ? (f(!0), p(C, { key: 0 }, k(z.value, (e, c) => (f(), p("line", {
198
+ key: `m${c}`,
199
+ x1: e.x1,
200
+ y1: e.y1,
201
+ x2: e.x2,
202
+ y2: e.y2,
203
+ stroke: M.value,
204
+ "stroke-width": "1.6",
205
+ "stroke-linecap": "round",
206
+ filter: "url(#starGlow)"
207
+ }, [
208
+ n("animate", {
209
+ attributeName: "opacity",
210
+ values: "0;0;1;0",
211
+ keyTimes: "0;0.7;0.85;1",
212
+ dur: `${e.dur}s`,
213
+ begin: `${e.begin}s`,
214
+ repeatCount: "indefinite"
215
+ }, null, 8, pe),
216
+ n("animateTransform", {
217
+ attributeName: "transform",
218
+ type: "translate",
219
+ values: `0,0; ${e.dx},${e.dy}`,
220
+ keyTimes: "0;1",
221
+ dur: `${e.dur}s`,
222
+ begin: `${e.begin}s`,
223
+ repeatCount: "indefinite"
224
+ }, null, 8, ye)
225
+ ], 8, fe))), 128)) : g("", !0)
226
+ ], 12, J)) : g("", !0)
227
+ ]));
228
+ }
229
+ }), he = /* @__PURE__ */ D({
230
+ __name: "CosmosShell",
231
+ props: {
232
+ menus: {},
233
+ menuFlatList: {},
234
+ sidebarMenus: {},
235
+ headerMenus: {},
236
+ activeMenu: {},
237
+ activeModuleMenu: {},
238
+ showHeader: { type: Boolean },
239
+ showSidebar: { type: Boolean },
240
+ showAside: { type: Boolean },
241
+ sidebarAboveHeader: { type: Boolean }
242
+ },
243
+ setup(N) {
244
+ const u = N;
245
+ return (a, t) => (f(), R(Z, O(P(u)), V({
246
+ default: m((r) => [
247
+ x(a.$slots, "default", {
248
+ Footer: r.Footer
249
+ })
250
+ ]),
251
+ decor: m(() => [
252
+ X(be)
253
+ ]),
254
+ _: 2
255
+ }, [
256
+ a.$slots.brand ? {
257
+ name: "brand",
258
+ fn: m(() => [
259
+ x(a.$slots, "brand")
260
+ ]),
261
+ key: "0"
262
+ } : void 0,
263
+ a.$slots.themeSwitcher ? {
264
+ name: "themeSwitcher",
265
+ fn: m((r) => [
266
+ x(a.$slots, "themeSwitcher", {
267
+ Default: r.Default
268
+ })
269
+ ]),
270
+ key: "1"
271
+ } : void 0,
272
+ a.$slots.userEntry ? {
273
+ name: "userEntry",
274
+ fn: m(() => [
275
+ x(a.$slots, "userEntry")
276
+ ]),
277
+ key: "2"
278
+ } : void 0,
279
+ a.$slots.settings ? {
280
+ name: "settings",
281
+ fn: m(() => [
282
+ x(a.$slots, "settings")
283
+ ]),
284
+ key: "3"
285
+ } : void 0
286
+ ]), 1040));
287
+ }
288
+ }), we = {
289
+ id: "starfield-cosmos",
290
+ label: "星空",
291
+ description: {
292
+ suitable: "暗场为主的沉浸式控制台 / 大屏 / 监控夜间台;想要静谧深空 + 闪烁星野 + 流星的氛围感。",
293
+ unsuitable: "高密度日间录入后台(深空底 + 动效分散注意);强无障碍合规(星闪 + 流星对低视力不友好)。"
294
+ },
295
+ config: {
296
+ light: {
297
+ bodyColor: "#e9edf7",
298
+ baseColor: "#1a2138",
299
+ primaryColor: "#4257d6",
300
+ successColor: "#16a34a",
301
+ warningColor: "#d97706",
302
+ dangerColor: "#dc2626",
303
+ errorColor: "#dc2626",
304
+ infoColor: "#5b6cff",
305
+ radius: "12px",
306
+ surface: "#ffffff",
307
+ borderColor: "#dce1f1",
308
+ shadow: "0 10px 28px -16px rgba(66,87,214,0.22)"
309
+ },
310
+ dark: {
311
+ bodyColor: "#050814",
312
+ baseColor: "#c8d2f0",
313
+ primaryColor: "#7c8cff",
314
+ successColor: "#34d399",
315
+ warningColor: "#f0b541",
316
+ dangerColor: "#f0656a",
317
+ errorColor: "#f0656a",
318
+ infoColor: "#8ea0ff",
319
+ radius: "12px",
320
+ surface: "#0b1024",
321
+ borderColor: "rgba(124,140,255,0.22)",
322
+ glow: "0 0 18px rgba(124,140,255,0.32)",
323
+ shadow: "0 0 0 1px rgba(124,140,255,0.12), 0 20px 48px -20px rgba(0,0,0,0.95)"
324
+ }
325
+ },
326
+ layout: {
327
+ // 较大套框拉出更宽星野边框圈(星仅落圈内不遮内容)。
328
+ viewport: {
329
+ paddingTop: 40,
330
+ paddingRight: 40,
331
+ paddingBottom: 40,
332
+ paddingLeft: 40
333
+ },
334
+ gap: { size: 8 },
335
+ header: {
336
+ height: 56,
337
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
338
+ style: { borderRadius: "12px" }
339
+ },
340
+ sidebar: {
341
+ width: 240,
342
+ collapseWidth: 64,
343
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
344
+ style: { borderRadius: "12px" }
345
+ },
346
+ body: { shimPadding: 18 },
347
+ shell: Y(he)
348
+ }
349
+ };
350
+ export {
351
+ we as default
352
+ };