@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
@@ -1,7 +1,9 @@
1
1
  const r = {
2
2
  id: "glass",
3
3
  label: "通透琉璃",
4
- description: "玻璃拟态:低饱和底色、毛玻璃模糊与轻薄悬浮感",
4
+ description: {
5
+ suitable: "玻璃拟态:低饱和底色、毛玻璃模糊与轻薄悬浮感"
6
+ },
5
7
  config: {
6
8
  light: {
7
9
  bodyColor: "#edf2fa",
@@ -0,0 +1,51 @@
1
+ const o = {
2
+ id: "graphite-mono",
3
+ label: "石墨极简",
4
+ description: {
5
+ suitable: "数据密集型后台、专业分析工具、需高密度 + 单点强调 + 不分心的 power-user 场景。",
6
+ unsuitable: "需丰富色彩引导的 C 端;活泼/温暖调性;新手友好弱引导场景。"
7
+ },
8
+ config: {
9
+ light: {
10
+ bodyColor: "#eceef0",
11
+ baseColor: "#1a1d21",
12
+ primaryColor: "#2f6bff",
13
+ successColor: "#1f9d57",
14
+ warningColor: "#c2820e",
15
+ dangerColor: "#d83a3a",
16
+ errorColor: "#d83a3a",
17
+ infoColor: "#4a5560",
18
+ radius: "6px",
19
+ surface: "#ffffff",
20
+ borderColor: "#dcdfe3",
21
+ borderWidth: "1px",
22
+ shadow: "0 4px 14px -8px rgba(26, 29, 33, 0.1)",
23
+ focusRing: "0 0 0 2px rgba(47, 107, 255, 0.32)"
24
+ },
25
+ dark: {
26
+ bodyColor: "#0e1012",
27
+ baseColor: "#dde0e3",
28
+ primaryColor: "#5b8bff",
29
+ successColor: "#34c074",
30
+ warningColor: "#d6a850",
31
+ dangerColor: "#e64f4f",
32
+ errorColor: "#e64f4f",
33
+ infoColor: "#8a949e",
34
+ radius: "6px",
35
+ surface: "#17191c",
36
+ borderColor: "#262a2e",
37
+ borderWidth: "1px",
38
+ shadow: "0 8px 22px -12px rgba(0, 0, 0, 0.7)",
39
+ focusRing: "0 0 0 2px rgba(91, 139, 255, 0.4)"
40
+ }
41
+ },
42
+ layout: {
43
+ gap: { size: 0 },
44
+ header: { height: 48 },
45
+ sidebar: { width: 224, collapseWidth: 56 },
46
+ body: { shimPadding: 14 }
47
+ }
48
+ };
49
+ export {
50
+ o as default
51
+ };
@@ -1,7 +1,9 @@
1
1
  const o = {
2
2
  id: "gugong",
3
3
  label: "朱墙鎏金",
4
- description: "文博东方庄重:红墙琉璃黄、暖纸底色与方正仪态",
4
+ description: {
5
+ suitable: "文博东方庄重:红墙琉璃黄、暖纸底色与方正仪态"
6
+ },
5
7
  config: {
6
8
  light: {
7
9
  bodyColor: "#f8f2e4",
package/es/assets/ink.mjs CHANGED
@@ -1,7 +1,9 @@
1
1
  const o = {
2
2
  id: "ink",
3
3
  label: "水墨留白",
4
- description: "水墨东方极简:黑白灰主调、墨青点睛与大量留白",
4
+ description: {
5
+ suitable: "水墨东方极简:黑白灰主调、墨青点睛与大量留白"
6
+ },
5
7
  config: {
6
8
  light: {
7
9
  bodyColor: "#f8f8f5",
@@ -0,0 +1,316 @@
1
+ import { defineComponent as x, computed as y, openBlock as l, createBlock as $, Teleport as M, unref as e, createElementBlock as d, normalizeStyle as N, createElementVNode as t, Fragment as v, createCommentVNode as p, renderSlot as i, createVNode as u, withCtx as _, markRaw as F } from "vue";
2
+ import { ADMIN_CORE_VIEWPORT_DECOR_ZINDEX_BELOW as B, AppFooter as k, AppAside as A, AppHeader as T, AppTheme as C } from "@done-coding/admin-core";
3
+ import { _ as E } from "../chunks/HeaderNavMenu.vue_vue_type_script_setup_true_lang-Dfv8_Muy.mjs";
4
+ import { u as L } from "../chunks/use-frame-geometry-DPWBVziK.mjs";
5
+ import { _ as R } from "../chunks/_plugin-vue_export-helper-CHgC5LLL.mjs";
6
+ const S = ["width", "height", "viewBox"], D = {
7
+ id: "nsMagenta",
8
+ cx: "50%",
9
+ cy: "50%",
10
+ r: "50%"
11
+ }, G = ["stop-color", "stop-opacity"], I = ["stop-color", "stop-opacity"], O = ["stop-color"], H = {
12
+ id: "nsCyan",
13
+ cx: "50%",
14
+ cy: "50%",
15
+ r: "50%"
16
+ }, V = ["stop-color", "stop-opacity"], z = ["stop-color", "stop-opacity"], W = ["stop-color"], P = {
17
+ id: "nsBeam",
18
+ x1: "0%",
19
+ y1: "0%",
20
+ x2: "0%",
21
+ y2: "100%"
22
+ }, q = ["stop-color"], X = ["stop-color", "stop-opacity"], Z = ["stop-color"], j = ["cx", "cy", "rx", "ry"], J = ["values"], K = ["values"], Q = ["values"], U = ["cx", "cy", "rx", "ry"], Y = ["values"], ee = ["values"], te = ["values"], oe = ["width", "height"], ae = ["values"], se = ["width", "height", "opacity"], re = /* @__PURE__ */ x({
23
+ __name: "NeonStageDecor",
24
+ setup(r) {
25
+ const { isDark: o, animated: c, vw: s, vh: n, hasFrame: w } = L(), f = y(() => o.value ? "#ff3d9a" : "#e84aa0"), h = y(() => o.value ? "#22d3ee" : "#3fc8e0"), m = y(() => o.value ? "#d8e8ff" : "#9fb6d6");
26
+ function a(b) {
27
+ return Number((Math.min(s.value, n.value) * b).toFixed(1));
28
+ }
29
+ return (b, g) => (l(), $(M, { to: "body" }, [
30
+ e(w) ? (l(), d("svg", {
31
+ key: 0,
32
+ class: "neon-stage-decor",
33
+ style: N({
34
+ position: "fixed",
35
+ left: 0,
36
+ top: 0,
37
+ pointerEvents: "none",
38
+ zIndex: e(B),
39
+ opacity: e(o) ? 1 : 0.72
40
+ }),
41
+ width: e(s),
42
+ height: e(n),
43
+ viewBox: `0 0 ${e(s)} ${e(n)}`,
44
+ "aria-hidden": "true"
45
+ }, [
46
+ t("defs", null, [
47
+ t("radialGradient", D, [
48
+ t("stop", {
49
+ offset: "0%",
50
+ "stop-color": f.value,
51
+ "stop-opacity": e(o) ? 0.5 : 0.2
52
+ }, null, 8, G),
53
+ t("stop", {
54
+ offset: "55%",
55
+ "stop-color": f.value,
56
+ "stop-opacity": e(o) ? 0.14 : 0.06
57
+ }, null, 8, I),
58
+ t("stop", {
59
+ offset: "100%",
60
+ "stop-color": f.value,
61
+ "stop-opacity": "0"
62
+ }, null, 8, O)
63
+ ]),
64
+ t("radialGradient", H, [
65
+ t("stop", {
66
+ offset: "0%",
67
+ "stop-color": h.value,
68
+ "stop-opacity": e(o) ? 0.46 : 0.18
69
+ }, null, 8, V),
70
+ t("stop", {
71
+ offset: "55%",
72
+ "stop-color": h.value,
73
+ "stop-opacity": e(o) ? 0.12 : 0.05
74
+ }, null, 8, z),
75
+ t("stop", {
76
+ offset: "100%",
77
+ "stop-color": h.value,
78
+ "stop-opacity": "0"
79
+ }, null, 8, W)
80
+ ]),
81
+ t("linearGradient", P, [
82
+ t("stop", {
83
+ offset: "0%",
84
+ "stop-color": m.value,
85
+ "stop-opacity": "0"
86
+ }, null, 8, q),
87
+ t("stop", {
88
+ offset: "50%",
89
+ "stop-color": m.value,
90
+ "stop-opacity": e(o) ? 0.16 : 0.07
91
+ }, null, 8, X),
92
+ t("stop", {
93
+ offset: "100%",
94
+ "stop-color": m.value,
95
+ "stop-opacity": "0"
96
+ }, null, 8, Z)
97
+ ]),
98
+ g[0] || (g[0] = t("filter", { id: "nsGrain" }, [
99
+ t("feTurbulence", {
100
+ type: "fractalNoise",
101
+ baseFrequency: "0.8",
102
+ numOctaves: "2",
103
+ stitchTiles: "stitch"
104
+ }),
105
+ t("feColorMatrix", {
106
+ type: "saturate",
107
+ values: "0"
108
+ })
109
+ ], -1))
110
+ ]),
111
+ t("ellipse", {
112
+ cx: e(s) * 0.16,
113
+ cy: e(n) * 0.2,
114
+ rx: a(0.44),
115
+ ry: a(0.36),
116
+ fill: "url(#nsMagenta)"
117
+ }, [
118
+ e(c) ? (l(), d(v, { key: 0 }, [
119
+ t("animate", {
120
+ attributeName: "rx",
121
+ values: `${a(0.44)};${a(0.52)};${a(0.44)}`,
122
+ dur: "15s",
123
+ repeatCount: "indefinite"
124
+ }, null, 8, J),
125
+ t("animate", {
126
+ attributeName: "ry",
127
+ values: `${a(0.36)};${a(0.42)};${a(0.36)}`,
128
+ dur: "15s",
129
+ repeatCount: "indefinite"
130
+ }, null, 8, K),
131
+ t("animateTransform", {
132
+ attributeName: "transform",
133
+ type: "translate",
134
+ values: `0,0; ${e(s) * 0.03},${e(n) * 0.035}; 0,0`,
135
+ dur: "27s",
136
+ repeatCount: "indefinite"
137
+ }, null, 8, Q)
138
+ ], 64)) : p("", !0)
139
+ ], 8, j),
140
+ t("ellipse", {
141
+ cx: e(s) * 0.85,
142
+ cy: e(n) * 0.83,
143
+ rx: a(0.42),
144
+ ry: a(0.34),
145
+ fill: "url(#nsCyan)"
146
+ }, [
147
+ e(c) ? (l(), d(v, { key: 0 }, [
148
+ t("animate", {
149
+ attributeName: "rx",
150
+ values: `${a(0.42)};${a(0.5)};${a(0.42)}`,
151
+ dur: "18s",
152
+ begin: "3s",
153
+ repeatCount: "indefinite"
154
+ }, null, 8, Y),
155
+ t("animate", {
156
+ attributeName: "ry",
157
+ values: `${a(0.34)};${a(0.4)};${a(0.34)}`,
158
+ dur: "18s",
159
+ begin: "3s",
160
+ repeatCount: "indefinite"
161
+ }, null, 8, ee),
162
+ t("animateTransform", {
163
+ attributeName: "transform",
164
+ type: "translate",
165
+ values: `0,0; ${e(s) * -0.03},${e(n) * -0.03}; 0,0`,
166
+ dur: "33s",
167
+ repeatCount: "indefinite"
168
+ }, null, 8, te)
169
+ ], 64)) : p("", !0)
170
+ ], 8, U),
171
+ e(c) ? (l(), d("rect", {
172
+ key: 0,
173
+ width: Math.max(60, e(s) * 0.06),
174
+ height: e(n),
175
+ x: "0",
176
+ y: "0",
177
+ fill: "url(#nsBeam)"
178
+ }, [
179
+ t("animateTransform", {
180
+ attributeName: "transform",
181
+ type: "translate",
182
+ values: `${-e(s) * 0.1},0; ${e(s) * 1.05},0`,
183
+ dur: "22s",
184
+ repeatCount: "indefinite"
185
+ }, null, 8, ae)
186
+ ], 8, oe)) : p("", !0),
187
+ t("rect", {
188
+ width: e(s),
189
+ height: e(n),
190
+ filter: "url(#nsGrain)",
191
+ opacity: e(o) ? 0.07 : 0.035
192
+ }, null, 8, se)
193
+ ], 12, S)) : p("", !0)
194
+ ]));
195
+ }
196
+ }), ne = /* @__PURE__ */ R(re, [["__scopeId", "data-v-9a7212b2"]]), ie = /* @__PURE__ */ x({
197
+ __name: "NeonSetShell",
198
+ props: {
199
+ menus: {},
200
+ menuFlatList: {},
201
+ sidebarMenus: {},
202
+ headerMenus: {},
203
+ activeMenu: {},
204
+ activeModuleMenu: {},
205
+ showHeader: { type: Boolean },
206
+ showSidebar: { type: Boolean },
207
+ showAside: { type: Boolean },
208
+ sidebarAboveHeader: { type: Boolean }
209
+ },
210
+ setup(r) {
211
+ return (o, c) => (l(), d(v, null, [
212
+ i(o.$slots, "default", { Footer: e(k) }),
213
+ u(e(A), { show: r.showAside }, {
214
+ default: _(() => [
215
+ i(o.$slots, "aside")
216
+ ]),
217
+ _: 3
218
+ }, 8, ["show"]),
219
+ u(e(T), {
220
+ show: r.showHeader,
221
+ menus: r.headerMenus,
222
+ activeMenu: r.activeMenu,
223
+ activeModuleMenu: r.activeModuleMenu,
224
+ menuFlatList: r.menuFlatList
225
+ }, {
226
+ left: _(() => [
227
+ i(o.$slots, "brand"),
228
+ u(E, {
229
+ menus: r.menus,
230
+ menuFlatList: r.menuFlatList
231
+ }, null, 8, ["menus", "menuFlatList"])
232
+ ]),
233
+ right: _(() => [
234
+ i(o.$slots, "themeSwitcher", { Default: e(C) }, () => [
235
+ u(e(C))
236
+ ]),
237
+ i(o.$slots, "userEntry"),
238
+ i(o.$slots, "settings")
239
+ ]),
240
+ _: 3
241
+ }, 8, ["show", "menus", "activeMenu", "activeModuleMenu", "menuFlatList"]),
242
+ u(ne)
243
+ ], 64));
244
+ }
245
+ }), fe = {
246
+ id: "neon-set",
247
+ label: "霓虹片场",
248
+ description: {
249
+ suitable: "AIGC 视频 / 创作者平台后台:作品流·特效·模板·发布等场景;想要影院霓虹、品红×青双色、暗场为主、大胆有记忆点的创作者气质。",
250
+ unsuitable: "严肃克制的企业运维台 / 财务台;偏好低饱和柔和配色的场景;老年 / 低视力主用群体。"
251
+ },
252
+ config: {
253
+ light: {
254
+ bodyColor: "#faf4f8",
255
+ baseColor: "#1a1020",
256
+ primaryColor: "#db2777",
257
+ successColor: "#16a34a",
258
+ warningColor: "#d97706",
259
+ dangerColor: "#e11d6b",
260
+ errorColor: "#e11d6b",
261
+ infoColor: "#8a7a90",
262
+ radius: "10px",
263
+ accent: "#0891b2",
264
+ surface: "#ffffff",
265
+ borderColor: "#f0dce8",
266
+ glow: "0 0 0 1px rgba(219, 39, 119, 0.14)",
267
+ shadow: "0 8px 26px -16px rgba(26, 16, 32, 0.2)",
268
+ focusRing: "0 0 0 3px rgba(219, 39, 119, 0.24)"
269
+ },
270
+ dark: {
271
+ bodyColor: "#09080f",
272
+ baseColor: "#f2e9f0",
273
+ primaryColor: "#ff3d9a",
274
+ successColor: "#34d399",
275
+ warningColor: "#fbbf24",
276
+ dangerColor: "#ff5470",
277
+ errorColor: "#ff5470",
278
+ infoColor: "#9a8aa6",
279
+ radius: "10px",
280
+ accent: "#22d3ee",
281
+ surface: "#16101c",
282
+ borderColor: "rgba(255, 61, 154, 0.22)",
283
+ glow: "0 0 18px rgba(255, 61, 154, 0.4)",
284
+ shadow: "0 0 0 1px rgba(255, 61, 154, 0.1), 0 18px 44px -20px rgba(0, 0, 0, 0.92)",
285
+ focusRing: "0 0 0 3px rgba(255, 61, 154, 0.45)"
286
+ }
287
+ },
288
+ layout: {
289
+ // 创作舞台 + 套框:无左栏(sidebar=0)、顶部横导航 + 大 preview body + 右控制 aside。
290
+ viewport: {
291
+ paddingTop: 16,
292
+ paddingRight: 16,
293
+ paddingBottom: 16,
294
+ paddingLeft: 16
295
+ },
296
+ gap: { size: 10 },
297
+ header: {
298
+ height: 56,
299
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
300
+ style: { borderRadius: "12px" }
301
+ },
302
+ // 无左栏:sidebar 宽 0(NeonSetShell 不渲染 AppSidebar)。
303
+ sidebar: { width: 0, collapseWidth: 0 },
304
+ // 右控制 aside:宽 360;route meta.layout.aside=true 时显(NeonSetShell 转 #aside)。
305
+ aside: {
306
+ width: 360,
307
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
308
+ style: { borderRadius: "12px" }
309
+ },
310
+ body: { shimPadding: 18 },
311
+ shell: F(ie)
312
+ }
313
+ };
314
+ export {
315
+ fe as default
316
+ };
@@ -0,0 +1,58 @@
1
+ const o = {
2
+ id: "nordic-fjord",
3
+ label: "北欧峡湾",
4
+ description: {
5
+ suitable: "健康 / 环保 / ESG / 通用 SaaS、追求冷静自然北欧极简调性的产品;长时间使用的轻量后台。",
6
+ unsuitable: "需强暖色亲和或高饱和活力的场景;重东方/重奢华定位。"
7
+ },
8
+ config: {
9
+ light: {
10
+ bodyColor: "#e8edea",
11
+ baseColor: "#1f2b2a",
12
+ primaryColor: "#2f6f74",
13
+ successColor: "#3f8a5f",
14
+ warningColor: "#bd8a2c",
15
+ dangerColor: "#c0564c",
16
+ errorColor: "#c0564c",
17
+ infoColor: "#4a7a96",
18
+ radius: "12px",
19
+ surface: "#f5f8f6",
20
+ borderColor: "#d4ded9",
21
+ shadow: "0 6px 22px -14px rgba(31, 43, 42, 0.13)",
22
+ focusRing: "0 0 0 3px rgba(47, 111, 116, 0.24)"
23
+ },
24
+ dark: {
25
+ bodyColor: "#0f1615",
26
+ baseColor: "#dde6e3",
27
+ primaryColor: "#4f9aa0",
28
+ successColor: "#5fa97a",
29
+ warningColor: "#d2a850",
30
+ dangerColor: "#cf6d63",
31
+ errorColor: "#cf6d63",
32
+ infoColor: "#6f9bb5",
33
+ radius: "12px",
34
+ surface: "#18211f",
35
+ borderColor: "#2a3432",
36
+ shadow: "0 10px 28px -16px rgba(0, 0, 0, 0.7)",
37
+ focusRing: "0 0 0 3px rgba(79, 154, 160, 0.3)"
38
+ }
39
+ },
40
+ layout: {
41
+ gap: { size: 10 },
42
+ header: {
43
+ height: 56,
44
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
45
+ style: { borderRadius: "12px" }
46
+ },
47
+ sidebar: {
48
+ width: 248,
49
+ collapseWidth: 64,
50
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
51
+ style: { borderRadius: "12px" }
52
+ },
53
+ body: { shimPadding: 24 }
54
+ }
55
+ };
56
+ export {
57
+ o as default
58
+ };
@@ -0,0 +1,229 @@
1
+ import { defineComponent as I, computed as i, ref as B, watch as P, onBeforeUnmount as _, openBlock as p, createBlock as b, Teleport as v, unref as e, createElementBlock as E, normalizeStyle as c, createElementVNode as u, createCommentVNode as F, inject as $, Fragment as L, renderSlot as s, createVNode as n, withCtx as f, markRaw as O } from "vue";
2
+ import { ElIcon as R } from "element-plus";
3
+ import { ChatDotRound as D } from "@element-plus/icons-vue";
4
+ import { ADMIN_CORE_VIEWPORT_DECOR_ZINDEX_BELOW as h, APP_LAYOUT_BRIDGE_KEY as S, AppFooter as T, AppHeader as z, AppTheme as w } from "@done-coding/admin-core";
5
+ import { u as N } from "../chunks/use-frame-geometry-DPWBVziK.mjs";
6
+ import { _ as V } from "../chunks/HeaderNavMenu.vue_vue_type_script_setup_true_lang-Dfv8_Muy.mjs";
7
+ const Y = /* @__PURE__ */ I({
8
+ __name: "PerspectiveDeckDecor",
9
+ setup(r) {
10
+ const { vp: a, isDark: l, animated: m, hasFrame: t } = N(), o = i(() => a.value.paddingBottom), x = i(() => l.value ? "#34e1ff" : "#5b7cff"), M = i(
11
+ () => l.value ? "linear-gradient(to bottom, rgba(52,225,255,0.55), rgba(52,225,255,0))" : "linear-gradient(to bottom, rgba(91,124,255,0.35), rgba(91,124,255,0))"
12
+ ), A = i(() => ({
13
+ position: "absolute",
14
+ left: "-60%",
15
+ right: "-60%",
16
+ top: "0",
17
+ bottom: "-40%",
18
+ transform: "perspective(380px) rotateX(64deg)",
19
+ transformOrigin: "top center",
20
+ backgroundPosition: "center top",
21
+ backgroundImage: `repeating-linear-gradient(to right, ${x.value} 0 1px, transparent 1px 44px), repeating-linear-gradient(to bottom, ${x.value} 0 1px, transparent 1px 44px)`
22
+ })), y = B();
23
+ let d;
24
+ const C = () => {
25
+ d == null || d.cancel(), d = void 0;
26
+ };
27
+ return P(
28
+ [y, m],
29
+ ([g, k]) => {
30
+ C(), g && k && (d = g.animate(
31
+ [{ backgroundPositionY: "0px" }, { backgroundPositionY: "44px" }],
32
+ { duration: 5500, iterations: 1 / 0, easing: "linear" }
33
+ ));
34
+ },
35
+ { immediate: !0 }
36
+ ), _(C), (g, k) => (p(), b(v, { to: "body" }, [
37
+ e(t) ? (p(), E("div", {
38
+ key: 0,
39
+ style: c({
40
+ position: "fixed",
41
+ left: `${e(a).paddingLeft}px`,
42
+ right: `${e(a).paddingRight}px`,
43
+ bottom: e(a).paddingBottom ? "0px" : "-9999px",
44
+ height: `${o.value}px`,
45
+ pointerEvents: "none",
46
+ zIndex: e(h),
47
+ overflow: "hidden",
48
+ opacity: e(l) ? 0.85 : 0.4
49
+ }),
50
+ "aria-hidden": "true"
51
+ }, [
52
+ u("div", {
53
+ style: c({
54
+ position: "absolute",
55
+ left: "0",
56
+ right: "0",
57
+ top: "0",
58
+ height: "24px",
59
+ filter: "blur(2px)",
60
+ background: M.value
61
+ })
62
+ }, null, 4),
63
+ u("div", {
64
+ ref_key: "gridEl",
65
+ ref: y,
66
+ style: c(A.value)
67
+ }, null, 4)
68
+ ], 4)) : F("", !0)
69
+ ]));
70
+ }
71
+ }), G = /* @__PURE__ */ I({
72
+ __name: "PerspectiveDeckShell",
73
+ props: {
74
+ menus: {},
75
+ menuFlatList: {},
76
+ sidebarMenus: {},
77
+ headerMenus: {},
78
+ activeMenu: {},
79
+ activeModuleMenu: {},
80
+ showHeader: { type: Boolean },
81
+ showSidebar: { type: Boolean },
82
+ showAside: { type: Boolean },
83
+ sidebarAboveHeader: { type: Boolean }
84
+ },
85
+ setup(r) {
86
+ const a = $(S), l = i(() => {
87
+ const o = a.APP_LAYOUT_VIEWPORT_CONFIG.paddingBottom || 0;
88
+ return {
89
+ position: "fixed",
90
+ left: "0",
91
+ right: "0",
92
+ bottom: "0",
93
+ height: `${o}px`,
94
+ background: a.themeColors.value.bodyColor,
95
+ zIndex: h,
96
+ pointerEvents: "none",
97
+ display: o > 60 ? "block" : "none"
98
+ };
99
+ }), m = i(() => {
100
+ const o = a.APP_LAYOUT_VIEWPORT_CONFIG.paddingBottom || 0;
101
+ return {
102
+ position: "fixed",
103
+ left: "50%",
104
+ bottom: `${Math.max(16, o / 2 - 18)}px`,
105
+ transform: "translateX(-50%)",
106
+ zIndex: h + 1,
107
+ display: o > 60 ? "flex" : "none",
108
+ alignItems: "center",
109
+ gap: "8px",
110
+ padding: "8px 18px",
111
+ borderRadius: "999px",
112
+ fontSize: "13px",
113
+ color: "var(--admin-core-base-color, var(--el-text-color-primary))",
114
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
115
+ border: "1px dashed var(--admin-core-primary-color, var(--el-color-primary))",
116
+ boxShadow: "var(--admin-core-shadow, var(--el-box-shadow))"
117
+ };
118
+ });
119
+ return (t, o) => (p(), E(L, null, [
120
+ s(t.$slots, "default", { Footer: e(T) }),
121
+ n(e(z), {
122
+ show: r.showHeader,
123
+ menus: r.headerMenus,
124
+ activeMenu: r.activeMenu,
125
+ activeModuleMenu: r.activeModuleMenu,
126
+ menuFlatList: r.menuFlatList
127
+ }, {
128
+ left: f(() => [
129
+ s(t.$slots, "brand"),
130
+ n(V, {
131
+ menus: r.menus,
132
+ menuFlatList: r.menuFlatList
133
+ }, null, 8, ["menus", "menuFlatList"])
134
+ ]),
135
+ right: f(() => [
136
+ s(t.$slots, "themeSwitcher", { Default: e(w) }, () => [
137
+ n(e(w))
138
+ ]),
139
+ s(t.$slots, "userEntry"),
140
+ s(t.$slots, "settings")
141
+ ]),
142
+ _: 3
143
+ }, 8, ["show", "menus", "activeMenu", "activeModuleMenu", "menuFlatList"]),
144
+ (p(), b(v, { to: "body" }, [
145
+ u("div", {
146
+ class: "deck-occluder",
147
+ style: c(l.value)
148
+ }, null, 4)
149
+ ])),
150
+ n(Y),
151
+ (p(), b(v, { to: "body" }, [
152
+ u("div", {
153
+ style: c(m.value)
154
+ }, [
155
+ n(e(R), { style: {
156
+ color: "var(--admin-core-primary-color, var(--el-color-primary))"
157
+ } }, {
158
+ default: f(() => [
159
+ n(e(D))
160
+ ]),
161
+ _: 1
162
+ }),
163
+ o[0] || (o[0] = u("span", { style: { opacity: 0.85 } }, "AI 对话停靠区(预留)", -1))
164
+ ], 4)
165
+ ]))
166
+ ], 64));
167
+ }
168
+ }), Z = {
169
+ id: "perspective-deck",
170
+ label: "透视甲板",
171
+ description: {
172
+ suitable: "发布会大屏 / 沉浸式控制台 / 未来 AI 对话台;想要纵深透视科技感 + 底部预留 AI 对话停靠甲板。",
173
+ unsuitable: "高密度录入 / 传统表单后台(深底留白浪费纵向空间);强无障碍合规(透视动效对低视力不友好)。"
174
+ },
175
+ config: {
176
+ light: {
177
+ bodyColor: "#ecf0f9",
178
+ baseColor: "#141a2e",
179
+ primaryColor: "#3b82f6",
180
+ successColor: "#16a34a",
181
+ warningColor: "#d97706",
182
+ dangerColor: "#dc2626",
183
+ errorColor: "#dc2626",
184
+ infoColor: "#60a5fa",
185
+ radius: "12px",
186
+ surface: "#ffffff",
187
+ borderColor: "#dde3f0",
188
+ shadow: "0 10px 30px -18px rgba(59,130,246,0.22)"
189
+ },
190
+ dark: {
191
+ bodyColor: "#070a16",
192
+ baseColor: "#cdd9f2",
193
+ primaryColor: "#45c4fb",
194
+ successColor: "#34d399",
195
+ warningColor: "#f0b541",
196
+ dangerColor: "#f0656a",
197
+ errorColor: "#f0656a",
198
+ infoColor: "#7dd3fc",
199
+ radius: "12px",
200
+ surface: "#0e1426",
201
+ borderColor: "rgba(56,189,248,0.24)",
202
+ glow: "0 0 18px rgba(56,189,248,0.30)",
203
+ shadow: "0 0 0 1px rgba(56,189,248,0.12), 0 20px 48px -20px rgba(0,0,0,0.92)"
204
+ }
205
+ },
206
+ layout: {
207
+ // 四边套框 + 底部大留白拉出甲板带(body 自动让出底部)。
208
+ viewport: {
209
+ paddingTop: 16,
210
+ paddingRight: 16,
211
+ paddingBottom: 140,
212
+ paddingLeft: 16
213
+ },
214
+ gap: { size: 8 },
215
+ header: {
216
+ height: 56,
217
+ background: "var(--admin-core-surface, var(--el-bg-color-overlay))",
218
+ style: { borderRadius: "12px" }
219
+ },
220
+ // 无左栏(PerspectiveDeckShell 不渲染 AppSidebar,导航走 header 横排):
221
+ // 不渲染的模块尺寸 [MUST] 设 0,否则 store 仍按 width 预留 body 左让位 → 空隙。
222
+ sidebar: { width: 0, collapseWidth: 0 },
223
+ body: { shimPadding: 18 },
224
+ shell: O(G)
225
+ }
226
+ };
227
+ export {
228
+ Z as default
229
+ };