@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.
- package/es/assets/applied-intelligence-frame.mjs +315 -0
- package/es/assets/applied-intelligence-nebula.mjs +400 -0
- package/es/assets/aurora-mesh.mjs +350 -0
- package/es/assets/botanical-paper.mjs +60 -0
- package/es/assets/brutal-concrete.mjs +51 -0
- package/es/assets/cockpit-brutal-steel.mjs +300 -0
- package/es/assets/cockpit-liquid-ink.mjs +329 -0
- package/es/assets/cockpit-mono-paper.mjs +238 -0
- package/es/assets/cockpit-neural-field.mjs +339 -0
- package/es/assets/compact-rail.mjs +105 -0
- package/es/assets/console-horizon.mjs +98 -0
- package/es/assets/contrast.mjs +3 -1
- package/es/assets/copilot-calm.mjs +59 -0
- package/es/assets/copilot-stage.mjs +110 -0
- package/es/assets/coral-reef.mjs +60 -0
- package/es/assets/cyber.mjs +3 -1
- package/es/assets/dragon-vermilion.mjs +450 -0
- package/es/assets/film-grade.mjs +252 -0
- package/es/assets/glass.mjs +3 -1
- package/es/assets/graphite-mono.mjs +51 -0
- package/es/assets/gugong.mjs +3 -1
- package/es/assets/ink.mjs +3 -1
- package/es/assets/neon-set.mjs +316 -0
- package/es/assets/nordic-fjord.mjs +58 -0
- package/es/assets/perspective-deck.mjs +229 -0
- package/es/assets/quantum-ai.mjs +255 -0
- package/es/assets/sandstone-editorial.mjs +60 -0
- package/es/assets/starfield-cosmos.mjs +352 -0
- package/es/assets/studio-ink.mjs +308 -0
- package/es/assets/studio-triptych.mjs +115 -0
- package/es/assets/sunset-amber.mjs +61 -0
- package/es/assets/synapse-grid.mjs +275 -0
- package/es/assets/terminal-phosphor.mjs +240 -0
- package/es/assets/velvet-noir.mjs +60 -0
- package/es/chunks/CockpitShellBase.vue_vue_type_script_setup_true_lang-B6k0Utzz.mjs +238 -0
- package/es/chunks/FrameShellBase.vue_vue_type_script_setup_true_lang-sr56H_8-.mjs +57 -0
- package/es/chunks/HeaderNavMenu.vue_vue_type_script_setup_true_lang-Dfv8_Muy.mjs +31 -0
- package/es/chunks/_plugin-vue_export-helper-CHgC5LLL.mjs +9 -0
- package/es/chunks/use-frame-geometry-DPWBVziK.mjs +45 -0
- package/es/style.css +1 -0
- package/lib/assets/applied-intelligence-frame.cjs +1 -0
- package/lib/assets/applied-intelligence-nebula.cjs +1 -0
- package/lib/assets/aurora-mesh.cjs +1 -0
- package/lib/assets/botanical-paper.cjs +1 -0
- package/lib/assets/brutal-concrete.cjs +1 -0
- package/lib/assets/cockpit-brutal-steel.cjs +4 -0
- package/lib/assets/cockpit-liquid-ink.cjs +1 -0
- package/lib/assets/cockpit-mono-paper.cjs +1 -0
- package/lib/assets/cockpit-neural-field.cjs +1 -0
- package/lib/assets/compact-rail.cjs +1 -0
- package/lib/assets/console-horizon.cjs +1 -0
- package/lib/assets/contrast.cjs +1 -1
- package/lib/assets/copilot-calm.cjs +1 -0
- package/lib/assets/copilot-stage.cjs +1 -0
- package/lib/assets/coral-reef.cjs +1 -0
- package/lib/assets/cyber.cjs +1 -1
- package/lib/assets/dragon-vermilion.cjs +1 -0
- package/lib/assets/film-grade.cjs +1 -0
- package/lib/assets/glass.cjs +1 -1
- package/lib/assets/graphite-mono.cjs +1 -0
- package/lib/assets/gugong.cjs +1 -1
- package/lib/assets/ink.cjs +1 -1
- package/lib/assets/neon-set.cjs +1 -0
- package/lib/assets/nordic-fjord.cjs +1 -0
- package/lib/assets/perspective-deck.cjs +1 -0
- package/lib/assets/quantum-ai.cjs +1 -0
- package/lib/assets/sandstone-editorial.cjs +1 -0
- package/lib/assets/starfield-cosmos.cjs +1 -0
- package/lib/assets/studio-ink.cjs +1 -0
- package/lib/assets/studio-triptych.cjs +1 -0
- package/lib/assets/sunset-amber.cjs +1 -0
- package/lib/assets/synapse-grid.cjs +1 -0
- package/lib/assets/terminal-phosphor.cjs +1 -0
- package/lib/assets/velvet-noir.cjs +1 -0
- package/lib/chunks/CockpitShellBase.vue_vue_type_script_setup_true_lang-D2LEvqm8.cjs +1 -0
- package/lib/chunks/FrameShellBase.vue_vue_type_script_setup_true_lang-C-mttf00.cjs +1 -0
- package/lib/chunks/HeaderNavMenu.vue_vue_type_script_setup_true_lang-LJ3mDZkH.cjs +1 -0
- package/lib/chunks/_plugin-vue_export-helper-BHFhmbuH.cjs +1 -0
- package/lib/chunks/use-frame-geometry-5WRLC-WU.cjs +1 -0
- package/lib/style.css +1 -0
- package/package.json +3 -3
- package/types/assets/applied-intelligence-frame.d.ts +15 -0
- package/types/assets/applied-intelligence-nebula.d.ts +14 -0
- package/types/assets/aurora-mesh.d.ts +9 -0
- package/types/assets/botanical-paper.d.ts +10 -0
- package/types/assets/brutal-concrete.d.ts +10 -0
- package/types/assets/cockpit-brutal-steel.d.ts +3 -0
- package/types/assets/cockpit-liquid-ink.d.ts +14 -0
- package/types/assets/cockpit-mono-paper.d.ts +12 -0
- package/types/assets/cockpit-neural-field.d.ts +11 -0
- package/types/assets/compact-rail.d.ts +9 -0
- package/types/assets/console-horizon.d.ts +9 -0
- package/types/assets/copilot-calm.d.ts +10 -0
- package/types/assets/copilot-stage.d.ts +9 -0
- package/types/assets/coral-reef.d.ts +10 -0
- package/types/assets/dragon-vermilion.d.ts +9 -0
- package/types/assets/film-grade.d.ts +12 -0
- package/types/assets/graphite-mono.d.ts +10 -0
- package/types/assets/neon-set.d.ts +12 -0
- package/types/assets/nordic-fjord.d.ts +9 -0
- package/types/assets/perspective-deck.d.ts +10 -0
- package/types/assets/quantum-ai.d.ts +9 -0
- package/types/assets/sandstone-editorial.d.ts +10 -0
- package/types/assets/starfield-cosmos.d.ts +10 -0
- package/types/assets/studio-ink.d.ts +12 -0
- package/types/assets/studio-triptych.d.ts +9 -0
- package/types/assets/sunset-amber.d.ts +10 -0
- package/types/assets/synapse-grid.d.ts +9 -0
- package/types/assets/terminal-phosphor.d.ts +9 -0
- package/types/assets/velvet-noir.d.ts +10 -0
- package/types/shells/AppliedIntelligenceFrameShell.vue.d.ts +27 -0
- package/types/shells/AppliedIntelligenceNebulaShell.vue.d.ts +27 -0
- package/types/shells/AuroraMeshShell.vue.d.ts +26 -0
- package/types/shells/BrutalSteelCockpitShell.vue.d.ts +27 -0
- package/types/shells/CockpitShellBase.vue.d.ts +28 -0
- package/types/shells/CockpitStatusBar.vue.d.ts +2 -0
- package/types/shells/CoilingDragonShell.vue.d.ts +26 -0
- package/types/shells/CosmosShell.vue.d.ts +26 -0
- package/types/shells/FilmGradeShell.vue.d.ts +26 -0
- package/types/shells/FrameShellBase.vue.d.ts +28 -0
- package/types/shells/HeaderNavMenu.vue.d.ts +4 -0
- package/types/shells/IconRailShell.vue.d.ts +26 -0
- package/types/shells/LiquidInkCockpitShell.vue.d.ts +27 -0
- package/types/shells/MonoPaperCockpitShell.vue.d.ts +27 -0
- package/types/shells/NeonSetShell.vue.d.ts +27 -0
- package/types/shells/NeuralFieldCockpitShell.vue.d.ts +27 -0
- package/types/shells/PerspectiveDeckShell.vue.d.ts +26 -0
- package/types/shells/QuantumOrbitShell.vue.d.ts +26 -0
- package/types/shells/ScanlineShell.vue.d.ts +26 -0
- package/types/shells/StageChatShell.vue.d.ts +27 -0
- package/types/shells/StudioInkShell.vue.d.ts +27 -0
- package/types/shells/SynapseGridShell.vue.d.ts +26 -0
- package/types/shells/TopNavShell.vue.d.ts +26 -0
- package/types/shells/TriColumnShell.vue.d.ts +27 -0
- package/types/shells/decor/AuroraFrameDecor.vue.d.ts +2 -0
- package/types/shells/decor/AuroraMeshDecor.vue.d.ts +2 -0
- package/types/shells/decor/AuroraNebulaDecor.vue.d.ts +2 -0
- package/types/shells/decor/BrutalSteelCockpitDecor.vue.d.ts +2 -0
- package/types/shells/decor/CockpitFrameMatte.vue.d.ts +2 -0
- package/types/shells/decor/CoilingDragonDecor.vue.d.ts +2 -0
- package/types/shells/decor/FilmGradeDecor.vue.d.ts +2 -0
- package/types/shells/decor/LiquidInkCockpitDecor.vue.d.ts +2 -0
- package/types/shells/decor/MonoPaperCockpitDecor.vue.d.ts +2 -0
- package/types/shells/decor/NeonStageDecor.vue.d.ts +2 -0
- package/types/shells/decor/NeuralFieldCockpitDecor.vue.d.ts +2 -0
- package/types/shells/decor/PerspectiveDeckDecor.vue.d.ts +4 -0
- package/types/shells/decor/QuantumOrbitDecor.vue.d.ts +2 -0
- package/types/shells/decor/ScanlineDecor.vue.d.ts +2 -0
- package/types/shells/decor/StarfieldDecor.vue.d.ts +2 -0
- package/types/shells/decor/StudioGlowDecor.vue.d.ts +2 -0
- package/types/shells/decor/SynapseGridDecor.vue.d.ts +2 -0
- package/types/shells/decor/use-frame-geometry.d.ts +31 -0
- package/types/types.d.ts +33 -11
package/es/assets/glass.mjs
CHANGED
|
@@ -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
|
+
};
|
package/es/assets/gugong.mjs
CHANGED
package/es/assets/ink.mjs
CHANGED
|
@@ -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
|
+
};
|