nfx-ui 0.1.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/README.md +235 -0
- package/dist/animations.cjs +3 -0
- package/dist/animations.d.ts +102 -0
- package/dist/animations.mjs +14 -0
- package/dist/apis.cjs +5 -0
- package/dist/apis.cjs.map +1 -0
- package/dist/apis.d.ts +7 -0
- package/dist/apis.mjs +18 -0
- package/dist/apis.mjs.map +1 -0
- package/dist/chunk-BounceLoading-B54QEw0n.mjs +244 -0
- package/dist/chunk-BounceLoading-B54QEw0n.mjs.map +1 -0
- package/dist/chunk-BounceLoading-C6n4BZVJ.cjs +11 -0
- package/dist/chunk-BounceLoading-C6n4BZVJ.cjs.map +1 -0
- package/dist/chunk-animations-Brp-bsaE.mjs +1243 -0
- package/dist/chunk-animations-Brp-bsaE.mjs.map +1 -0
- package/dist/chunk-animations-e2F3zuP9.cjs +190 -0
- package/dist/chunk-animations-e2F3zuP9.cjs.map +1 -0
- package/dist/chunk-chunk-BFrxaqQT.cjs +1 -0
- package/dist/chunk-i18n-Bp6pPM9n.mjs +207 -0
- package/dist/chunk-i18n-Bp6pPM9n.mjs.map +1 -0
- package/dist/chunk-i18n-_7W7guSV.cjs +3 -0
- package/dist/chunk-i18n-_7W7guSV.cjs.map +1 -0
- package/dist/chunk-lstorage-BVCD00Ow.mjs +27 -0
- package/dist/chunk-lstorage-BVCD00Ow.mjs.map +1 -0
- package/dist/chunk-lstorage-BnxLXHgH.cjs +3 -0
- package/dist/chunk-lstorage-BnxLXHgH.cjs.map +1 -0
- package/dist/chunk-lucide-BhgnmTNo.mjs +158 -0
- package/dist/chunk-lucide-BhgnmTNo.mjs.map +1 -0
- package/dist/chunk-lucide-CP2lvOPY.cjs +3 -0
- package/dist/chunk-lucide-CP2lvOPY.cjs.map +1 -0
- package/dist/chunk-preference-CYl68oeU.cjs +3 -0
- package/dist/chunk-preference-CYl68oeU.cjs.map +1 -0
- package/dist/chunk-preference-DImtu5jI.mjs +51 -0
- package/dist/chunk-preference-DImtu5jI.mjs.map +1 -0
- package/dist/chunk-types-BE3JCLff.cjs +3 -0
- package/dist/chunk-types-BE3JCLff.cjs.map +1 -0
- package/dist/chunk-types-BkFxelHl.mjs +20 -0
- package/dist/chunk-types-BkFxelHl.mjs.map +1 -0
- package/dist/chunk-types-C_opkZGr.cjs +3 -0
- package/dist/chunk-types-C_opkZGr.cjs.map +1 -0
- package/dist/chunk-types-CkbZrFqZ.cjs +3 -0
- package/dist/chunk-types-CkbZrFqZ.cjs.map +1 -0
- package/dist/chunk-types-DNPBKfmx.mjs +11 -0
- package/dist/chunk-types-DNPBKfmx.mjs.map +1 -0
- package/dist/chunk-types-SD4MzUGp.mjs +11 -0
- package/dist/chunk-types-SD4MzUGp.mjs.map +1 -0
- package/dist/chunk-useLayout-BAJHOIL3.cjs +3 -0
- package/dist/chunk-useLayout-BAJHOIL3.cjs.map +1 -0
- package/dist/chunk-useLayout-DPxlynT-.mjs +12 -0
- package/dist/chunk-useLayout-DPxlynT-.mjs.map +1 -0
- package/dist/chunk-useTheme-DgleVMMh.cjs +3 -0
- package/dist/chunk-useTheme-DgleVMMh.cjs.map +1 -0
- package/dist/chunk-useTheme-oHcq3d0o.mjs +13 -0
- package/dist/chunk-useTheme-oHcq3d0o.mjs.map +1 -0
- package/dist/components.cjs +8 -0
- package/dist/components.cjs.map +1 -0
- package/dist/components.d.ts +411 -0
- package/dist/components.mjs +1688 -0
- package/dist/components.mjs.map +1 -0
- package/dist/constants.cjs +5 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.ts +130 -0
- package/dist/constants.mjs +85 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/events.cjs +5 -0
- package/dist/events.cjs.map +1 -0
- package/dist/events.d.ts +66 -0
- package/dist/events.mjs +31 -0
- package/dist/events.mjs.map +1 -0
- package/dist/hooks.cjs +5 -0
- package/dist/hooks.cjs.map +1 -0
- package/dist/hooks.d.ts +316 -0
- package/dist/hooks.mjs +107 -0
- package/dist/hooks.mjs.map +1 -0
- package/dist/icons.cjs +3 -0
- package/dist/icons.d.ts +218 -0
- package/dist/icons.mjs +76 -0
- package/dist/languages.cjs +5 -0
- package/dist/languages.cjs.map +1 -0
- package/dist/languages.d.ts +174 -0
- package/dist/languages.mjs +112 -0
- package/dist/languages.mjs.map +1 -0
- package/dist/layouts.cjs +5 -0
- package/dist/layouts.cjs.map +1 -0
- package/dist/layouts.d.ts +209 -0
- package/dist/layouts.mjs +460 -0
- package/dist/layouts.mjs.map +1 -0
- package/dist/navigations.cjs +5 -0
- package/dist/navigations.cjs.map +1 -0
- package/dist/navigations.d.ts +72 -0
- package/dist/navigations.mjs +30 -0
- package/dist/navigations.mjs.map +1 -0
- package/dist/preference.cjs +3 -0
- package/dist/preference.d.ts +94 -0
- package/dist/preference.mjs +14 -0
- package/dist/services.cjs +5 -0
- package/dist/services.cjs.map +1 -0
- package/dist/services.d.ts +8 -0
- package/dist/services.mjs +26 -0
- package/dist/services.mjs.map +1 -0
- package/dist/stores.cjs +5 -0
- package/dist/stores.cjs.map +1 -0
- package/dist/stores.d.ts +101 -0
- package/dist/stores.mjs +167 -0
- package/dist/stores.mjs.map +1 -0
- package/dist/themes.cjs +5 -0
- package/dist/themes.cjs.map +1 -0
- package/dist/themes.d.ts +229 -0
- package/dist/themes.mjs +894 -0
- package/dist/themes.mjs.map +1 -0
- package/dist/types.cjs +2 -0
- package/dist/types.d.ts +147 -0
- package/dist/types.mjs +2 -0
- package/dist/utils.cjs +5 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.ts +374 -0
- package/dist/utils.mjs +293 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +196 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { AlertCircle as t, ArrowLeft as l, ArrowRight as i, Ban as n, Bell as d, Box as C, Briefcase as c, Calendar as h, Camera as L, Check as g, CheckCircle as u, ChevronDown as f, ChevronLeft as p, ChevronRight as U, ChevronUp as k, Clock as y, Coffee as v, CreditCard as P, DollarSign as F, Edit as S, ExternalLink as T, Eye as m, EyeOff as x, FileText as B, Filter as E, FolderOpen as G, FolderPlus as R, FolderTree as A, Folders as M, Globe as O, GraduationCap as w, GripVertical as H, Hash as X, History as _, Home as b, Image as D, Info as I, Languages as K, Layers as V, LayoutGrid as W, LayoutList as j, Leaf as q, List as z, Loader as J, Loader2 as N, Lock as Q, LockKeyhole as Y, LogOut as Z, Mail as $, Menu as aa, MessageCircle as ea, Package as sa, Pencil as ra, Phone as oa, Plus as ta, Search as la, Settings as ia, Shield as na, Tag as da, Trash2 as Ca, TrendingUp as ca, Upload as ha, User as La, UserCheck as ga, UserPlus as ua, UserRound as fa, UserRoundSearch as pa, UserX as Ua, Wand2 as ka, X as ya, XCircle as va } from "lucide-react";
|
|
2
|
+
var r = Object.defineProperty, Pa = (e, o) => {
|
|
3
|
+
let a = {};
|
|
4
|
+
for (var s in e)
|
|
5
|
+
r(a, s, {
|
|
6
|
+
get: e[s],
|
|
7
|
+
enumerable: !0
|
|
8
|
+
});
|
|
9
|
+
return o || r(a, Symbol.toStringTag, { value: "Module" }), a;
|
|
10
|
+
}, Sa = Pa({
|
|
11
|
+
AlertCircle: () => t,
|
|
12
|
+
ArrowLeft: () => l,
|
|
13
|
+
ArrowRight: () => i,
|
|
14
|
+
Ban: () => n,
|
|
15
|
+
Bell: () => d,
|
|
16
|
+
Box: () => C,
|
|
17
|
+
Briefcase: () => c,
|
|
18
|
+
Calendar: () => h,
|
|
19
|
+
Camera: () => L,
|
|
20
|
+
Check: () => g,
|
|
21
|
+
CheckCircle: () => u,
|
|
22
|
+
ChevronDown: () => f,
|
|
23
|
+
ChevronLeft: () => p,
|
|
24
|
+
ChevronRight: () => U,
|
|
25
|
+
ChevronUp: () => k,
|
|
26
|
+
Clock: () => y,
|
|
27
|
+
Coffee: () => v,
|
|
28
|
+
CreditCard: () => P,
|
|
29
|
+
DollarSign: () => F,
|
|
30
|
+
Edit: () => S,
|
|
31
|
+
ExternalLink: () => T,
|
|
32
|
+
Eye: () => m,
|
|
33
|
+
EyeOff: () => x,
|
|
34
|
+
FileText: () => B,
|
|
35
|
+
Filter: () => E,
|
|
36
|
+
FolderOpen: () => G,
|
|
37
|
+
FolderPlus: () => R,
|
|
38
|
+
FolderTree: () => A,
|
|
39
|
+
Folders: () => M,
|
|
40
|
+
Globe: () => O,
|
|
41
|
+
GraduationCap: () => w,
|
|
42
|
+
GripVertical: () => H,
|
|
43
|
+
Hash: () => X,
|
|
44
|
+
History: () => _,
|
|
45
|
+
Home: () => b,
|
|
46
|
+
Image: () => D,
|
|
47
|
+
Info: () => I,
|
|
48
|
+
Languages: () => K,
|
|
49
|
+
Layers: () => V,
|
|
50
|
+
LayoutGrid: () => W,
|
|
51
|
+
LayoutList: () => j,
|
|
52
|
+
Leaf: () => q,
|
|
53
|
+
List: () => z,
|
|
54
|
+
Loader: () => J,
|
|
55
|
+
Loader2: () => N,
|
|
56
|
+
Lock: () => Q,
|
|
57
|
+
LockKeyhole: () => Y,
|
|
58
|
+
LogOut: () => Z,
|
|
59
|
+
Mail: () => $,
|
|
60
|
+
Menu: () => aa,
|
|
61
|
+
MessageCircle: () => ea,
|
|
62
|
+
Package: () => sa,
|
|
63
|
+
Pencil: () => ra,
|
|
64
|
+
Phone: () => oa,
|
|
65
|
+
Plus: () => ta,
|
|
66
|
+
Search: () => la,
|
|
67
|
+
Settings: () => ia,
|
|
68
|
+
Shield: () => na,
|
|
69
|
+
Tag: () => da,
|
|
70
|
+
Trash2: () => Ca,
|
|
71
|
+
TrendingUp: () => ca,
|
|
72
|
+
Upload: () => ha,
|
|
73
|
+
User: () => La,
|
|
74
|
+
UserCheck: () => ga,
|
|
75
|
+
UserPlus: () => ua,
|
|
76
|
+
UserRound: () => fa,
|
|
77
|
+
UserRoundSearch: () => pa,
|
|
78
|
+
UserX: () => Ua,
|
|
79
|
+
Wand2: () => ka,
|
|
80
|
+
X: () => ya,
|
|
81
|
+
XCircle: () => va
|
|
82
|
+
});
|
|
83
|
+
export {
|
|
84
|
+
ra as $,
|
|
85
|
+
O as A,
|
|
86
|
+
W as B,
|
|
87
|
+
x as C,
|
|
88
|
+
R as D,
|
|
89
|
+
G as E,
|
|
90
|
+
b as F,
|
|
91
|
+
N as G,
|
|
92
|
+
q as H,
|
|
93
|
+
D as I,
|
|
94
|
+
Z as J,
|
|
95
|
+
Q as K,
|
|
96
|
+
I as L,
|
|
97
|
+
H as M,
|
|
98
|
+
X as N,
|
|
99
|
+
A as O,
|
|
100
|
+
_ as P,
|
|
101
|
+
sa as Q,
|
|
102
|
+
K as R,
|
|
103
|
+
m as S,
|
|
104
|
+
E as T,
|
|
105
|
+
z as U,
|
|
106
|
+
j as V,
|
|
107
|
+
J as W,
|
|
108
|
+
aa as X,
|
|
109
|
+
$ as Y,
|
|
110
|
+
ea as Z,
|
|
111
|
+
v as _,
|
|
112
|
+
va as _t,
|
|
113
|
+
d as a,
|
|
114
|
+
da as at,
|
|
115
|
+
S as b,
|
|
116
|
+
h as c,
|
|
117
|
+
ha as ct,
|
|
118
|
+
u as d,
|
|
119
|
+
ua as dt,
|
|
120
|
+
oa as et,
|
|
121
|
+
f,
|
|
122
|
+
fa as ft,
|
|
123
|
+
y as g,
|
|
124
|
+
ya as gt,
|
|
125
|
+
k as h,
|
|
126
|
+
ka as ht,
|
|
127
|
+
n as i,
|
|
128
|
+
na as it,
|
|
129
|
+
w as j,
|
|
130
|
+
M as k,
|
|
131
|
+
L as l,
|
|
132
|
+
La as lt,
|
|
133
|
+
U as m,
|
|
134
|
+
Ua as mt,
|
|
135
|
+
l as n,
|
|
136
|
+
la as nt,
|
|
137
|
+
C as o,
|
|
138
|
+
Ca as ot,
|
|
139
|
+
p,
|
|
140
|
+
pa as pt,
|
|
141
|
+
Y as q,
|
|
142
|
+
i as r,
|
|
143
|
+
ia as rt,
|
|
144
|
+
c as s,
|
|
145
|
+
ca as st,
|
|
146
|
+
t,
|
|
147
|
+
ta as tt,
|
|
148
|
+
g as u,
|
|
149
|
+
ga as ut,
|
|
150
|
+
P as v,
|
|
151
|
+
Sa as vt,
|
|
152
|
+
B as w,
|
|
153
|
+
T as x,
|
|
154
|
+
F as y,
|
|
155
|
+
V as z
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
//# sourceMappingURL=chunk-lucide-BhgnmTNo.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-lucide-BhgnmTNo.mjs","names":[],"sources":["../src/icons/lucide.ts"],"sourcesContent":["export type { LucideIcon } from \"lucide-react\";\n\nexport {\n AlertCircle,\n ArrowLeft,\n ArrowRight,\n Ban,\n Bell,\n Box,\n Briefcase,\n Calendar,\n Camera,\n Check,\n CheckCircle,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Clock,\n Coffee,\n CreditCard,\n DollarSign,\n Edit,\n ExternalLink,\n Eye,\n EyeOff,\n FileText,\n Filter,\n FolderOpen,\n FolderPlus,\n FolderTree,\n Folders,\n Globe,\n GraduationCap,\n GripVertical,\n Hash,\n History,\n Home,\n Image,\n Info,\n Languages,\n LayoutGrid,\n LayoutList,\n Leaf,\n Layers,\n List,\n Loader,\n Loader2,\n Lock,\n LockKeyhole,\n LogOut,\n Mail,\n Menu,\n MessageCircle,\n Package,\n Pencil,\n Phone,\n Plus,\n Search,\n Settings,\n Shield,\n Tag,\n Trash2,\n TrendingUp,\n Upload,\n User,\n UserCheck,\n UserPlus,\n UserRound,\n UserRoundSearch,\n UserX,\n Wand2,\n X,\n XCircle,\n} from \"lucide-react\";\n"],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const r=require("./chunk-chunk-BFrxaqQT.cjs");let e=require("lucide-react");var o=r.__exportAll({AlertCircle:()=>e.AlertCircle,ArrowLeft:()=>e.ArrowLeft,ArrowRight:()=>e.ArrowRight,Ban:()=>e.Ban,Bell:()=>e.Bell,Box:()=>e.Box,Briefcase:()=>e.Briefcase,Calendar:()=>e.Calendar,Camera:()=>e.Camera,Check:()=>e.Check,CheckCircle:()=>e.CheckCircle,ChevronDown:()=>e.ChevronDown,ChevronLeft:()=>e.ChevronLeft,ChevronRight:()=>e.ChevronRight,ChevronUp:()=>e.ChevronUp,Clock:()=>e.Clock,Coffee:()=>e.Coffee,CreditCard:()=>e.CreditCard,DollarSign:()=>e.DollarSign,Edit:()=>e.Edit,ExternalLink:()=>e.ExternalLink,Eye:()=>e.Eye,EyeOff:()=>e.EyeOff,FileText:()=>e.FileText,Filter:()=>e.Filter,FolderOpen:()=>e.FolderOpen,FolderPlus:()=>e.FolderPlus,FolderTree:()=>e.FolderTree,Folders:()=>e.Folders,Globe:()=>e.Globe,GraduationCap:()=>e.GraduationCap,GripVertical:()=>e.GripVertical,Hash:()=>e.Hash,History:()=>e.History,Home:()=>e.Home,Image:()=>e.Image,Info:()=>e.Info,Languages:()=>e.Languages,Layers:()=>e.Layers,LayoutGrid:()=>e.LayoutGrid,LayoutList:()=>e.LayoutList,Leaf:()=>e.Leaf,List:()=>e.List,Loader:()=>e.Loader,Loader2:()=>e.Loader2,Lock:()=>e.Lock,LockKeyhole:()=>e.LockKeyhole,LogOut:()=>e.LogOut,Mail:()=>e.Mail,Menu:()=>e.Menu,MessageCircle:()=>e.MessageCircle,Package:()=>e.Package,Pencil:()=>e.Pencil,Phone:()=>e.Phone,Plus:()=>e.Plus,Search:()=>e.Search,Settings:()=>e.Settings,Shield:()=>e.Shield,Tag:()=>e.Tag,Trash2:()=>e.Trash2,TrendingUp:()=>e.TrendingUp,Upload:()=>e.Upload,User:()=>e.User,UserCheck:()=>e.UserCheck,UserPlus:()=>e.UserPlus,UserRound:()=>e.UserRound,UserRoundSearch:()=>e.UserRoundSearch,UserX:()=>e.UserX,Wand2:()=>e.Wand2,X:()=>e.X,XCircle:()=>e.XCircle});Object.defineProperty(exports,"lucide_exports",{enumerable:!0,get:function(){return o}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-lucide-CP2lvOPY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-lucide-CP2lvOPY.cjs","names":[],"sources":["../src/icons/lucide.ts"],"sourcesContent":["export type { LucideIcon } from \"lucide-react\";\n\nexport {\n AlertCircle,\n ArrowLeft,\n ArrowRight,\n Ban,\n Bell,\n Box,\n Briefcase,\n Calendar,\n Camera,\n Check,\n CheckCircle,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Clock,\n Coffee,\n CreditCard,\n DollarSign,\n Edit,\n ExternalLink,\n Eye,\n EyeOff,\n FileText,\n Filter,\n FolderOpen,\n FolderPlus,\n FolderTree,\n Folders,\n Globe,\n GraduationCap,\n GripVertical,\n Hash,\n History,\n Home,\n Image,\n Info,\n Languages,\n LayoutGrid,\n LayoutList,\n Leaf,\n Layers,\n List,\n Loader,\n Loader2,\n Lock,\n LockKeyhole,\n LogOut,\n Mail,\n Menu,\n MessageCircle,\n Package,\n Pencil,\n Phone,\n Plus,\n Search,\n Settings,\n Shield,\n Tag,\n Trash2,\n TrendingUp,\n Upload,\n User,\n UserCheck,\n UserPlus,\n UserRound,\n UserRoundSearch,\n UserX,\n Wand2,\n X,\n XCircle,\n} from \"lucide-react\";\n"],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const n=require("./chunk-types-CkbZrFqZ.cjs"),r=require("./chunk-types-C_opkZGr.cjs"),a=require("./chunk-types-BE3JCLff.cjs");let u=(function(e){return e.NONE="none",e.WAVES="waves",e.SQUARES="squares",e.LETTER_GLITCH="letterGlitch",e.PIXEL_BLAST="pixelBlast",e})({});const o=u.NONE,s=Object.values(u);function l(e){if(!e||typeof e!="string")return null;try{const t=JSON.parse(e),c=t.layoutMode===r.LayoutModeEnum.HIDE?r.LayoutModeEnum.HIDE:r.LayoutModeEnum.SHOW,d=typeof t.other?.dashboardBackground=="string"&&s.includes(t.other.dashboardBackground)?t.other.dashboardBackground:o,i=typeof t.base=="string"&&n.BASE_VALUES.includes(t.base)?t.base:n.BaseEnum.DEFAULT,g=typeof t.language=="string"&&a.LANGUAGE_VALUES.includes(t.language)?t.language:"zh";return{theme:typeof t.theme=="string"&&n.THEME_VALUES.includes(t.theme)?t.theme:n.ThemeEnum.DEFAULT,base:i,language:g,layoutMode:c,other:{dashboardBackground:d}}}catch{return null}}function E(e){const t={theme:e.theme||void 0,base:e.base||void 0,language:e.language||void 0,layoutMode:e.layoutMode,other:e.other?{dashboardBackground:e.other.dashboardBackground}:void 0};return JSON.stringify(t)}function A(){return{theme:n.ThemeEnum.DEFAULT,base:n.BaseEnum.DEFAULT,language:a.LanguageEnum.ZH,layoutMode:r.LayoutModeEnum.SHOW,other:{dashboardBackground:o}}}Object.defineProperty(exports,"DASHBOARD_BACKGROUND_VALUES",{enumerable:!0,get:function(){return s}});Object.defineProperty(exports,"DEFAULT_DASHBOARD_BACKGROUND",{enumerable:!0,get:function(){return o}});Object.defineProperty(exports,"DashboardBackgroundEnum",{enumerable:!0,get:function(){return u}});Object.defineProperty(exports,"getDefaultPreference",{enumerable:!0,get:function(){return A}});Object.defineProperty(exports,"parsePreferenceJson",{enumerable:!0,get:function(){return l}});Object.defineProperty(exports,"preferenceToJson",{enumerable:!0,get:function(){return E}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-preference-CYl68oeU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-preference-CYl68oeU.cjs","names":[],"sources":["../src/preference/constants.ts","../src/preference/index.ts"],"sourcesContent":["/**\n * 用户偏好相关常量:仪表盘背景等\n * Preference-related constants: dashboard background, etc.\n */\n\nimport type { Array } from \"@/types\";\n\n/** 仪表盘背景枚举。Dashboard background enum. */\nexport enum DashboardBackgroundEnum {\n NONE = \"none\",\n WAVES = \"waves\",\n SQUARES = \"squares\",\n LETTER_GLITCH = \"letterGlitch\",\n PIXEL_BLAST = \"pixelBlast\",\n}\n\nexport const DEFAULT_DASHBOARD_BACKGROUND = DashboardBackgroundEnum.NONE;\n\n/** 仪表盘背景可选值列表。Dashboard background values list. */\nexport const DASHBOARD_BACKGROUND_VALUES: Array<DashboardBackgroundEnum> = Object.values(DashboardBackgroundEnum);\n","/**\n * 用户偏好模块:类型、解析/序列化、默认值(与后端 profile.preference JSON 约定)\n * User preference: types, parse/serialize, defaults (backend profile.preference JSON contract).\n */\nimport { LayoutModeEnum } from \"@/designs/layouts/types\";\nimport { LANGUAGE_VALUES, LanguageEnum } from \"@/languages/types\";\nimport { BASE_VALUES, BaseEnum, THEME_VALUES, ThemeEnum } from \"@/themes/types\";\n\nimport { DASHBOARD_BACKGROUND_VALUES, DashboardBackgroundEnum, DEFAULT_DASHBOARD_BACKGROUND } from \"./constants\";\n\nexport { DashboardBackgroundEnum, DEFAULT_DASHBOARD_BACKGROUND, DASHBOARD_BACKGROUND_VALUES } from \"./constants\";\n\n/** 前端统一的偏好结构;后端存为 JSON:theme, base, language, layoutMode, other.dashboardBackground */\nexport type Preference = {\n theme: ThemeEnum;\n base: BaseEnum;\n language: LanguageEnum;\n layoutMode: LayoutModeEnum;\n other?: {\n dashboardBackground: DashboardBackgroundEnum;\n };\n};\n\n/** 后端 JSON 形状(profile.preference 字符串解析后)。Internal backend shape. */\ntype PreferenceBackendShape = {\n theme?: ThemeEnum;\n base?: BaseEnum;\n language?: LanguageEnum;\n layoutMode: LayoutModeEnum;\n other?: Record<string, unknown>;\n};\n\n/**\n * 从后端 preference JSON 解析为前端 Preference,解析失败或空返回 null\n * Parse backend preference JSON to Preference; returns null on empty or parse error.\n * @param json - 后端存的 JSON 字符串\n * @returns Preference 或 null\n */\nexport function parsePreferenceJson(json: string | null | undefined): Preference | null {\n if (!json || typeof json !== \"string\") return null;\n try {\n const raw = JSON.parse(json) as PreferenceBackendShape;\n const layoutMode = raw.layoutMode === LayoutModeEnum.HIDE ? LayoutModeEnum.HIDE : LayoutModeEnum.SHOW;\n const db =\n typeof raw.other?.dashboardBackground === \"string\" && DASHBOARD_BACKGROUND_VALUES.includes(raw.other.dashboardBackground as DashboardBackgroundEnum)\n ? (raw.other.dashboardBackground as DashboardBackgroundEnum)\n : DEFAULT_DASHBOARD_BACKGROUND;\n const base = typeof raw.base === \"string\" && BASE_VALUES.includes(raw.base as BaseEnum) ? (raw.base as BaseEnum) : BaseEnum.DEFAULT;\n const language =\n typeof raw.language === \"string\" && (LANGUAGE_VALUES as string[]).includes(raw.language) ? (raw.language as LanguageEnum) : (\"zh\" as LanguageEnum);\n return {\n theme: typeof raw.theme === \"string\" && THEME_VALUES.includes(raw.theme as ThemeEnum) ? (raw.theme as ThemeEnum) : ThemeEnum.DEFAULT,\n base,\n language,\n layoutMode,\n other: { dashboardBackground: db },\n };\n } catch {\n return null;\n }\n}\n\n/**\n * 将前端 Preference 序列化为后端存的完整 JSON 字符串(每次更新都传完整 JSON)\n * Serialize Preference to backend JSON string (full payload on each update).\n * @param preference - 前端偏好对象\n * @returns JSON 字符串\n */\nexport function preferenceToJson(preference: Preference): string {\n const backend: PreferenceBackendShape = {\n theme: preference.theme || undefined,\n base: preference.base || undefined,\n language: preference.language || undefined,\n layoutMode: preference.layoutMode,\n other: preference.other ? { dashboardBackground: preference.other.dashboardBackground } : undefined,\n };\n return JSON.stringify(backend);\n}\n\n/**\n * 默认偏好(解析不到或同步时兜底):默认中文、default 主题、default base\n * Default preference (fallback when parse fails or for initial sync).\n * @returns 默认 Preference\n */\nexport function getDefaultPreference(): Preference {\n return {\n theme: ThemeEnum.DEFAULT,\n base: BaseEnum.DEFAULT,\n language: LanguageEnum.ZH,\n layoutMode: LayoutModeEnum.SHOW,\n other: { dashboardBackground: DEFAULT_DASHBOARD_BACKGROUND },\n };\n}\n"],"mappings":"8HAQA,IAAY,GAAL,SAAA,EAAA,CACL,OAAA,EAAA,KAAA,OACA,EAAA,MAAA,QACA,EAAA,QAAA,UACA,EAAA,cAAA,eACA,EAAA,YAAA,qBAGF,MAAa,EAA+B,EAAwB,KAGvD,EAA8D,OAAO,OAAO,CAAA,ECmBzF,SAAgB,EAAoB,EAAoD,CACtF,GAAI,CAAC,GAAQ,OAAO,GAAS,SAAU,OAAO,KAC9C,GAAI,CACF,MAAM,EAAM,KAAK,MAAM,CAAA,EACjB,EAAa,EAAI,aAAe,EAAA,eAAe,KAAO,EAAA,eAAe,KAAO,EAAA,eAAe,KAC3F,EACJ,OAAO,EAAI,OAAO,qBAAwB,UAAY,EAA4B,SAAS,EAAI,MAAM,mBAAA,EAChG,EAAI,MAAM,oBACX,EACA,EAAO,OAAO,EAAI,MAAS,UAAY,EAAA,YAAY,SAAS,EAAI,IAAA,EAAqB,EAAI,KAAoB,EAAA,SAAS,QACtH,EACJ,OAAO,EAAI,UAAa,UAAa,EAAA,gBAA6B,SAAS,EAAI,QAAA,EAAa,EAAI,SAA6B,KAC/H,MAAO,CACL,MAAO,OAAO,EAAI,OAAU,UAAY,EAAA,aAAa,SAAS,EAAI,KAAA,EAAuB,EAAI,MAAsB,EAAA,UAAU,QAC7H,KAAA,EACA,SAAA,EACA,WAAA,EACA,MAAO,CAAE,oBAAqB,CAAA,QAE1B,CACN,OAAO,MAUX,SAAgB,EAAiB,EAAgC,CAC/D,MAAM,EAAkC,CACtC,MAAO,EAAW,OAAS,OAC3B,KAAM,EAAW,MAAQ,OACzB,SAAU,EAAW,UAAY,OACjC,WAAY,EAAW,WACvB,MAAO,EAAW,MAAQ,CAAE,oBAAqB,EAAW,MAAM,mBAAA,EAAwB,QAE5F,OAAO,KAAK,UAAU,CAAA,EAQxB,SAAgB,GAAmC,CACjD,MAAO,CACL,MAAO,EAAA,UAAU,QACjB,KAAM,EAAA,SAAS,QACf,SAAU,EAAA,aAAa,GACvB,WAAY,EAAA,eAAe,KAC3B,MAAO,CAAE,oBAAqB,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { c as o, n as g, r as s, s as c } from "./chunk-types-BkFxelHl.mjs";
|
|
2
|
+
import { i as a } from "./chunk-types-DNPBKfmx.mjs";
|
|
3
|
+
import { i as h, r as E } from "./chunk-types-SD4MzUGp.mjs";
|
|
4
|
+
let n = (function(e) {
|
|
5
|
+
return e.NONE = "none", e.WAVES = "waves", e.SQUARES = "squares", e.LETTER_GLITCH = "letterGlitch", e.PIXEL_BLAST = "pixelBlast", e;
|
|
6
|
+
})({});
|
|
7
|
+
const r = n.NONE, A = Object.values(n);
|
|
8
|
+
function b(e) {
|
|
9
|
+
if (!e || typeof e != "string") return null;
|
|
10
|
+
try {
|
|
11
|
+
const t = JSON.parse(e), u = t.layoutMode === a.HIDE ? a.HIDE : a.SHOW, d = typeof t.other?.dashboardBackground == "string" && A.includes(t.other.dashboardBackground) ? t.other.dashboardBackground : r, i = typeof t.base == "string" && g.includes(t.base) ? t.base : s.DEFAULT, l = typeof t.language == "string" && E.includes(t.language) ? t.language : "zh";
|
|
12
|
+
return {
|
|
13
|
+
theme: typeof t.theme == "string" && c.includes(t.theme) ? t.theme : o.DEFAULT,
|
|
14
|
+
base: i,
|
|
15
|
+
language: l,
|
|
16
|
+
layoutMode: u,
|
|
17
|
+
other: { dashboardBackground: d }
|
|
18
|
+
};
|
|
19
|
+
} catch {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function f(e) {
|
|
24
|
+
const t = {
|
|
25
|
+
theme: e.theme || void 0,
|
|
26
|
+
base: e.base || void 0,
|
|
27
|
+
language: e.language || void 0,
|
|
28
|
+
layoutMode: e.layoutMode,
|
|
29
|
+
other: e.other ? { dashboardBackground: e.other.dashboardBackground } : void 0
|
|
30
|
+
};
|
|
31
|
+
return JSON.stringify(t);
|
|
32
|
+
}
|
|
33
|
+
function y() {
|
|
34
|
+
return {
|
|
35
|
+
theme: o.DEFAULT,
|
|
36
|
+
base: s.DEFAULT,
|
|
37
|
+
language: h.ZH,
|
|
38
|
+
layoutMode: a.SHOW,
|
|
39
|
+
other: { dashboardBackground: r }
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
r as a,
|
|
44
|
+
A as i,
|
|
45
|
+
b as n,
|
|
46
|
+
n as o,
|
|
47
|
+
f as r,
|
|
48
|
+
y as t
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=chunk-preference-DImtu5jI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-preference-DImtu5jI.mjs","names":[],"sources":["../src/preference/constants.ts","../src/preference/index.ts"],"sourcesContent":["/**\n * 用户偏好相关常量:仪表盘背景等\n * Preference-related constants: dashboard background, etc.\n */\n\nimport type { Array } from \"@/types\";\n\n/** 仪表盘背景枚举。Dashboard background enum. */\nexport enum DashboardBackgroundEnum {\n NONE = \"none\",\n WAVES = \"waves\",\n SQUARES = \"squares\",\n LETTER_GLITCH = \"letterGlitch\",\n PIXEL_BLAST = \"pixelBlast\",\n}\n\nexport const DEFAULT_DASHBOARD_BACKGROUND = DashboardBackgroundEnum.NONE;\n\n/** 仪表盘背景可选值列表。Dashboard background values list. */\nexport const DASHBOARD_BACKGROUND_VALUES: Array<DashboardBackgroundEnum> = Object.values(DashboardBackgroundEnum);\n","/**\n * 用户偏好模块:类型、解析/序列化、默认值(与后端 profile.preference JSON 约定)\n * User preference: types, parse/serialize, defaults (backend profile.preference JSON contract).\n */\nimport { LayoutModeEnum } from \"@/designs/layouts/types\";\nimport { LANGUAGE_VALUES, LanguageEnum } from \"@/languages/types\";\nimport { BASE_VALUES, BaseEnum, THEME_VALUES, ThemeEnum } from \"@/themes/types\";\n\nimport { DASHBOARD_BACKGROUND_VALUES, DashboardBackgroundEnum, DEFAULT_DASHBOARD_BACKGROUND } from \"./constants\";\n\nexport { DashboardBackgroundEnum, DEFAULT_DASHBOARD_BACKGROUND, DASHBOARD_BACKGROUND_VALUES } from \"./constants\";\n\n/** 前端统一的偏好结构;后端存为 JSON:theme, base, language, layoutMode, other.dashboardBackground */\nexport type Preference = {\n theme: ThemeEnum;\n base: BaseEnum;\n language: LanguageEnum;\n layoutMode: LayoutModeEnum;\n other?: {\n dashboardBackground: DashboardBackgroundEnum;\n };\n};\n\n/** 后端 JSON 形状(profile.preference 字符串解析后)。Internal backend shape. */\ntype PreferenceBackendShape = {\n theme?: ThemeEnum;\n base?: BaseEnum;\n language?: LanguageEnum;\n layoutMode: LayoutModeEnum;\n other?: Record<string, unknown>;\n};\n\n/**\n * 从后端 preference JSON 解析为前端 Preference,解析失败或空返回 null\n * Parse backend preference JSON to Preference; returns null on empty or parse error.\n * @param json - 后端存的 JSON 字符串\n * @returns Preference 或 null\n */\nexport function parsePreferenceJson(json: string | null | undefined): Preference | null {\n if (!json || typeof json !== \"string\") return null;\n try {\n const raw = JSON.parse(json) as PreferenceBackendShape;\n const layoutMode = raw.layoutMode === LayoutModeEnum.HIDE ? LayoutModeEnum.HIDE : LayoutModeEnum.SHOW;\n const db =\n typeof raw.other?.dashboardBackground === \"string\" && DASHBOARD_BACKGROUND_VALUES.includes(raw.other.dashboardBackground as DashboardBackgroundEnum)\n ? (raw.other.dashboardBackground as DashboardBackgroundEnum)\n : DEFAULT_DASHBOARD_BACKGROUND;\n const base = typeof raw.base === \"string\" && BASE_VALUES.includes(raw.base as BaseEnum) ? (raw.base as BaseEnum) : BaseEnum.DEFAULT;\n const language =\n typeof raw.language === \"string\" && (LANGUAGE_VALUES as string[]).includes(raw.language) ? (raw.language as LanguageEnum) : (\"zh\" as LanguageEnum);\n return {\n theme: typeof raw.theme === \"string\" && THEME_VALUES.includes(raw.theme as ThemeEnum) ? (raw.theme as ThemeEnum) : ThemeEnum.DEFAULT,\n base,\n language,\n layoutMode,\n other: { dashboardBackground: db },\n };\n } catch {\n return null;\n }\n}\n\n/**\n * 将前端 Preference 序列化为后端存的完整 JSON 字符串(每次更新都传完整 JSON)\n * Serialize Preference to backend JSON string (full payload on each update).\n * @param preference - 前端偏好对象\n * @returns JSON 字符串\n */\nexport function preferenceToJson(preference: Preference): string {\n const backend: PreferenceBackendShape = {\n theme: preference.theme || undefined,\n base: preference.base || undefined,\n language: preference.language || undefined,\n layoutMode: preference.layoutMode,\n other: preference.other ? { dashboardBackground: preference.other.dashboardBackground } : undefined,\n };\n return JSON.stringify(backend);\n}\n\n/**\n * 默认偏好(解析不到或同步时兜底):默认中文、default 主题、default base\n * Default preference (fallback when parse fails or for initial sync).\n * @returns 默认 Preference\n */\nexport function getDefaultPreference(): Preference {\n return {\n theme: ThemeEnum.DEFAULT,\n base: BaseEnum.DEFAULT,\n language: LanguageEnum.ZH,\n layoutMode: LayoutModeEnum.SHOW,\n other: { dashboardBackground: DEFAULT_DASHBOARD_BACKGROUND },\n };\n}\n"],"mappings":";;;AAQA,IAAY,KAAL,SAAA,GAAA;AACL,SAAA,EAAA,OAAA,QACA,EAAA,QAAA,SACA,EAAA,UAAA,WACA,EAAA,gBAAA,gBACA,EAAA,cAAA;;AAGF,MAAa,IAA+B,EAAwB,MAGvD,IAA8D,OAAO,OAAO,CAAA;ACmBzF,SAAgB,EAAoB,GAAoD;AACtF,MAAI,CAAC,KAAQ,OAAO,KAAS,SAAU,QAAO;AAC9C,MAAI;AACF,UAAM,IAAM,KAAK,MAAM,CAAA,GACjB,IAAa,EAAI,eAAe,EAAe,OAAO,EAAe,OAAO,EAAe,MAC3F,IACJ,OAAO,EAAI,OAAO,uBAAwB,YAAY,EAA4B,SAAS,EAAI,MAAM,mBAAA,IAChG,EAAI,MAAM,sBACX,GACA,IAAO,OAAO,EAAI,QAAS,YAAY,EAAY,SAAS,EAAI,IAAA,IAAqB,EAAI,OAAoB,EAAS,SACtH,IACJ,OAAO,EAAI,YAAa,YAAa,EAA6B,SAAS,EAAI,QAAA,IAAa,EAAI,WAA6B;AAC/H,WAAO;AAAA,MACL,OAAO,OAAO,EAAI,SAAU,YAAY,EAAa,SAAS,EAAI,KAAA,IAAuB,EAAI,QAAsB,EAAU;AAAA,MAC7H,MAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,OAAO,EAAE,qBAAqB,EAAA;AAAA;UAE1B;AACN,WAAO;AAAA;;AAUX,SAAgB,EAAiB,GAAgC;AAC/D,QAAM,IAAkC;AAAA,IACtC,OAAO,EAAW,SAAS;AAAA,IAC3B,MAAM,EAAW,QAAQ;AAAA,IACzB,UAAU,EAAW,YAAY;AAAA,IACjC,YAAY,EAAW;AAAA,IACvB,OAAO,EAAW,QAAQ,EAAE,qBAAqB,EAAW,MAAM,oBAAA,IAAwB;AAAA;AAE5F,SAAO,KAAK,UAAU,CAAA;;AAQxB,SAAgB,IAAmC;AACjD,SAAO;AAAA,IACL,OAAO,EAAU;AAAA,IACjB,MAAM,EAAS;AAAA,IACf,UAAU,EAAa;AAAA,IACvB,YAAY,EAAe;AAAA,IAC3B,OAAO,EAAE,qBAAqB,EAAA;AAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var r=(function(e){return e.EN="en",e.ZH="zh",e.FR="fr",e})(r||{}),t=r.ZH,n=Object.values(r),u="language-storage";Object.defineProperty(exports,"DEFAULT_LANGUAGE",{enumerable:!0,get:function(){return t}});Object.defineProperty(exports,"LANGUAGE_STORAGE_KEY",{enumerable:!0,get:function(){return u}});Object.defineProperty(exports,"LANGUAGE_VALUES",{enumerable:!0,get:function(){return n}});Object.defineProperty(exports,"LanguageEnum",{enumerable:!0,get:function(){return r}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-types-BE3JCLff.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-types-BE3JCLff.cjs","names":[],"sources":["../src/languages/types/language.ts"],"sourcesContent":["/**\n * 语言枚举与常量,不引用任何 JSON,供需要轻量引用的模块使用。\n * Language enum and constants; no JSON deps for lightweight usage.\n */\nenum LanguageEnum {\n EN = \"en\",\n ZH = \"zh\",\n FR = \"fr\",\n}\n\nconst DEFAULT_LANGUAGE = LanguageEnum.ZH;\nconst LANGUAGE_VALUES = Object.values(LanguageEnum);\nconst LANGUAGE_STORAGE_KEY = \"language-storage\";\n\nexport { LanguageEnum, DEFAULT_LANGUAGE, LANGUAGE_VALUES, LANGUAGE_STORAGE_KEY };\n"],"mappings":"AAIA,IAAK,GAAL,SAAA,EAAA,CACE,OAAA,EAAA,GAAA,KACA,EAAA,GAAA,KACA,EAAA,GAAA,SAHG,GAAA,CAAA,CAAA,EAMC,EAAmB,EAAa,GAChC,EAAkB,OAAO,OAAO,CAAA,EAChC,EAAuB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
let o = (function(t) {
|
|
2
|
+
return t.DEFAULT = "default", t.LIGHT = "light", t.CORPORATE = "corporate", t.FOREST = "forest", t.DARK = "dark", t.COSMIC = "cosmic", t.COFFEE = "coffee", t.WINE = "wine", t;
|
|
3
|
+
})({});
|
|
4
|
+
const c = o.DEFAULT, A = Object.values(o);
|
|
5
|
+
let s = (function(t) {
|
|
6
|
+
return t.DEFAULT = "default", t.IOS = "ios", t.ANDROID = "android", t.WINDOWS = "windows", t.LINUX = "linux", t;
|
|
7
|
+
})({});
|
|
8
|
+
const O = s.DEFAULT, a = Object.values(s), E = "theme-color", r = "theme-base";
|
|
9
|
+
export {
|
|
10
|
+
O as a,
|
|
11
|
+
o as c,
|
|
12
|
+
E as i,
|
|
13
|
+
a as n,
|
|
14
|
+
c as o,
|
|
15
|
+
s as r,
|
|
16
|
+
A as s,
|
|
17
|
+
r as t
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=chunk-types-BkFxelHl.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-types-BkFxelHl.mjs","names":[],"sources":["../src/themes/types/theme.ts"],"sourcesContent":["/**\n * 主题相关类型:颜色变量、基础变量、主题枚举与常量。\n * Theme types: color/base variables, theme enums and constants.\n */\n\n/** 颜色变量(主题色、背景、边框、文字、图表等一切与颜色相关) */\nexport interface ColorVariables {\n primary: string;\n primaryLight: string;\n primaryFg: string;\n success: string;\n successLight: string;\n info: string;\n infoLight: string;\n warning: string;\n warningLight: string;\n danger: string;\n dangerLight: string;\n\n bg: string;\n bg2: string;\n bg3: string;\n bg4: string;\n\n border: string;\n border2: string;\n border3: string;\n border4: string;\n border5: string;\n\n fg: string;\n fgText: string;\n fgHeading: string;\n fgHighlight: string;\n separator: string;\n\n temperature: {\n arcFill: string[];\n arcEmpty: string;\n thumbBg: string;\n thumbBorder: string;\n };\n\n solar: {\n gradientLeft: string;\n gradientRight: string;\n shadowColor: string;\n secondSeriesFill: string;\n };\n\n traffic: {\n tooltipBg: string;\n tooltipBorderColor: string;\n tooltipTextColor: string;\n yAxisSplitLine: string;\n lineBg: string;\n itemColor: string;\n itemBorderColor: string;\n itemEmphasisBorderColor: string;\n shadowLineDarkBg: string;\n shadowLineShadow: string;\n gradFrom: string;\n gradTo: string;\n };\n\n electricity: {\n tooltipBg: string;\n tooltipLineColor: string;\n tooltipBorderColor: string;\n tooltipTextColor: string;\n axisLineColor: string;\n xAxisTextColor: string;\n yAxisSplitLine: string;\n itemBorderColor: string;\n lineGradFrom: string;\n lineGradTo: string;\n lineShadow: string;\n areaGradFrom: string;\n areaGradTo: string;\n shadowLineDarkBg: string;\n };\n\n echarts: {\n bg: string;\n textColor: string;\n axisLineColor: string;\n splitLineColor: string;\n itemHoverShadowColor: string;\n tooltipBackgroundColor: string;\n };\n\n chartjs: {\n axisLineColor: string;\n textColor: string;\n };\n}\n\n/** 非颜色变量(圆角等,可随平台不同:iOS 24 / Android|Windows 6 / Linux 4) */\nexport interface BaseVariables {\n buttonRadius: number;\n cardRadius: number;\n inputRadius: number;\n}\n\n/** 颜色主题:name/displayName 表示这套配色是谁 */\nexport interface ColorTheme {\n name: string;\n displayName: string;\n variables: ColorVariables;\n}\n\n/** 基础主题:name/displayName 表示这套基础规范是谁(如 iOS / Android / 默认) */\nexport interface BaseTheme {\n name: string;\n displayName: string;\n variables: BaseVariables;\n}\n\n/** 完整主题 = 颜色主题 + 基础主题 */\nexport interface Theme {\n colors: ColorTheme;\n base: BaseTheme;\n}\n\n/** 颜色主题枚举 */\nexport enum ThemeEnum {\n DEFAULT = \"default\",\n LIGHT = \"light\",\n CORPORATE = \"corporate\",\n FOREST = \"forest\",\n DARK = \"dark\",\n COSMIC = \"cosmic\",\n COFFEE = \"coffee\",\n WINE = \"wine\",\n}\n\nexport const DEFAULT_THEME = ThemeEnum.DEFAULT;\nexport const THEME_VALUES = Object.values(ThemeEnum);\n\n/** 基础主题枚举(平台/圆角等,如 iOS 24 / Android|Windows 6 / Linux 4) */\nexport enum BaseEnum {\n DEFAULT = \"default\",\n IOS = \"ios\",\n ANDROID = \"android\",\n WINDOWS = \"windows\",\n LINUX = \"linux\",\n}\n\nexport const DEFAULT_BASE = BaseEnum.DEFAULT;\nexport const BASE_VALUES = Object.values(BaseEnum);\n\nexport const COLOR_STORAGE_KEY = \"theme-color\";\nexport const BASE_STORAGE_KEY = \"theme-base\";\n"],"mappings":"AA6HA,IAAY,KAAL,SAAA,GAAA;AACL,SAAA,EAAA,UAAA,WACA,EAAA,QAAA,SACA,EAAA,YAAA,aACA,EAAA,SAAA,UACA,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,SAAA,UACA,EAAA,OAAA;;AAGF,MAAa,IAAgB,EAAU,SAC1B,IAAe,OAAO,OAAO,CAAA;AAG1C,IAAY,KAAL,SAAA,GAAA;AACL,SAAA,EAAA,UAAA,WACA,EAAA,MAAA,OACA,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,QAAA;;AAGF,MAAa,IAAe,EAAS,SACxB,IAAc,OAAO,OAAO,CAAA,GAE5B,IAAoB,eACpB,IAAmB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var e=(function(r){return r.SHOW="show",r.HIDE="hide",r})(e||{}),t=e.SHOW,n=Object.values(e),u="layout-storage";Object.defineProperty(exports,"DEFAULT_LAYOUT_MODE",{enumerable:!0,get:function(){return t}});Object.defineProperty(exports,"LAYOUT_MODE_VALUES",{enumerable:!0,get:function(){return n}});Object.defineProperty(exports,"LAYOUT_STORAGE_KEY",{enumerable:!0,get:function(){return u}});Object.defineProperty(exports,"LayoutModeEnum",{enumerable:!0,get:function(){return e}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-types-C_opkZGr.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-types-C_opkZGr.cjs","names":[],"sources":["../src/designs/layouts/types/layout.ts"],"sourcesContent":["/**\n * 布局模式枚举与常量。Layout mode enum and constants.\n */\nenum LayoutModeEnum {\n SHOW = \"show\",\n HIDE = \"hide\",\n}\n\nconst DEFAULT_LAYOUT_MODE = LayoutModeEnum.SHOW;\nconst LAYOUT_MODE_VALUES = Object.values(LayoutModeEnum);\nconst LAYOUT_STORAGE_KEY = \"layout-storage\";\n\nexport { LayoutModeEnum, DEFAULT_LAYOUT_MODE, LAYOUT_MODE_VALUES, LAYOUT_STORAGE_KEY };\n"],"mappings":"AAGA,IAAK,GAAL,SAAA,EAAA,CACE,OAAA,EAAA,KAAA,OACA,EAAA,KAAA,WAFG,GAAA,CAAA,CAAA,EAKC,EAAsB,EAAe,KACrC,EAAqB,OAAO,OAAO,CAAA,EACnC,EAAqB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
let t=(function(e){return e.DEFAULT="default",e.LIGHT="light",e.CORPORATE="corporate",e.FOREST="forest",e.DARK="dark",e.COSMIC="cosmic",e.COFFEE="coffee",e.WINE="wine",e})({});const n=t.DEFAULT,o=Object.values(t);let r=(function(e){return e.DEFAULT="default",e.IOS="ios",e.ANDROID="android",e.WINDOWS="windows",e.LINUX="linux",e})({});const u=r.DEFAULT,c=Object.values(r),E="theme-color",O="theme-base";Object.defineProperty(exports,"BASE_STORAGE_KEY",{enumerable:!0,get:function(){return O}});Object.defineProperty(exports,"BASE_VALUES",{enumerable:!0,get:function(){return c}});Object.defineProperty(exports,"BaseEnum",{enumerable:!0,get:function(){return r}});Object.defineProperty(exports,"COLOR_STORAGE_KEY",{enumerable:!0,get:function(){return E}});Object.defineProperty(exports,"DEFAULT_BASE",{enumerable:!0,get:function(){return u}});Object.defineProperty(exports,"DEFAULT_THEME",{enumerable:!0,get:function(){return n}});Object.defineProperty(exports,"THEME_VALUES",{enumerable:!0,get:function(){return o}});Object.defineProperty(exports,"ThemeEnum",{enumerable:!0,get:function(){return t}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-types-CkbZrFqZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-types-CkbZrFqZ.cjs","names":[],"sources":["../src/themes/types/theme.ts"],"sourcesContent":["/**\n * 主题相关类型:颜色变量、基础变量、主题枚举与常量。\n * Theme types: color/base variables, theme enums and constants.\n */\n\n/** 颜色变量(主题色、背景、边框、文字、图表等一切与颜色相关) */\nexport interface ColorVariables {\n primary: string;\n primaryLight: string;\n primaryFg: string;\n success: string;\n successLight: string;\n info: string;\n infoLight: string;\n warning: string;\n warningLight: string;\n danger: string;\n dangerLight: string;\n\n bg: string;\n bg2: string;\n bg3: string;\n bg4: string;\n\n border: string;\n border2: string;\n border3: string;\n border4: string;\n border5: string;\n\n fg: string;\n fgText: string;\n fgHeading: string;\n fgHighlight: string;\n separator: string;\n\n temperature: {\n arcFill: string[];\n arcEmpty: string;\n thumbBg: string;\n thumbBorder: string;\n };\n\n solar: {\n gradientLeft: string;\n gradientRight: string;\n shadowColor: string;\n secondSeriesFill: string;\n };\n\n traffic: {\n tooltipBg: string;\n tooltipBorderColor: string;\n tooltipTextColor: string;\n yAxisSplitLine: string;\n lineBg: string;\n itemColor: string;\n itemBorderColor: string;\n itemEmphasisBorderColor: string;\n shadowLineDarkBg: string;\n shadowLineShadow: string;\n gradFrom: string;\n gradTo: string;\n };\n\n electricity: {\n tooltipBg: string;\n tooltipLineColor: string;\n tooltipBorderColor: string;\n tooltipTextColor: string;\n axisLineColor: string;\n xAxisTextColor: string;\n yAxisSplitLine: string;\n itemBorderColor: string;\n lineGradFrom: string;\n lineGradTo: string;\n lineShadow: string;\n areaGradFrom: string;\n areaGradTo: string;\n shadowLineDarkBg: string;\n };\n\n echarts: {\n bg: string;\n textColor: string;\n axisLineColor: string;\n splitLineColor: string;\n itemHoverShadowColor: string;\n tooltipBackgroundColor: string;\n };\n\n chartjs: {\n axisLineColor: string;\n textColor: string;\n };\n}\n\n/** 非颜色变量(圆角等,可随平台不同:iOS 24 / Android|Windows 6 / Linux 4) */\nexport interface BaseVariables {\n buttonRadius: number;\n cardRadius: number;\n inputRadius: number;\n}\n\n/** 颜色主题:name/displayName 表示这套配色是谁 */\nexport interface ColorTheme {\n name: string;\n displayName: string;\n variables: ColorVariables;\n}\n\n/** 基础主题:name/displayName 表示这套基础规范是谁(如 iOS / Android / 默认) */\nexport interface BaseTheme {\n name: string;\n displayName: string;\n variables: BaseVariables;\n}\n\n/** 完整主题 = 颜色主题 + 基础主题 */\nexport interface Theme {\n colors: ColorTheme;\n base: BaseTheme;\n}\n\n/** 颜色主题枚举 */\nexport enum ThemeEnum {\n DEFAULT = \"default\",\n LIGHT = \"light\",\n CORPORATE = \"corporate\",\n FOREST = \"forest\",\n DARK = \"dark\",\n COSMIC = \"cosmic\",\n COFFEE = \"coffee\",\n WINE = \"wine\",\n}\n\nexport const DEFAULT_THEME = ThemeEnum.DEFAULT;\nexport const THEME_VALUES = Object.values(ThemeEnum);\n\n/** 基础主题枚举(平台/圆角等,如 iOS 24 / Android|Windows 6 / Linux 4) */\nexport enum BaseEnum {\n DEFAULT = \"default\",\n IOS = \"ios\",\n ANDROID = \"android\",\n WINDOWS = \"windows\",\n LINUX = \"linux\",\n}\n\nexport const DEFAULT_BASE = BaseEnum.DEFAULT;\nexport const BASE_VALUES = Object.values(BaseEnum);\n\nexport const COLOR_STORAGE_KEY = \"theme-color\";\nexport const BASE_STORAGE_KEY = \"theme-base\";\n"],"mappings":"AA6HA,IAAY,GAAL,SAAA,EAAA,CACL,OAAA,EAAA,QAAA,UACA,EAAA,MAAA,QACA,EAAA,UAAA,YACA,EAAA,OAAA,SACA,EAAA,KAAA,OACA,EAAA,OAAA,SACA,EAAA,OAAA,SACA,EAAA,KAAA,eAGF,MAAa,EAAgB,EAAU,QAC1B,EAAe,OAAO,OAAO,CAAA,EAG1C,IAAY,GAAL,SAAA,EAAA,CACL,OAAA,EAAA,QAAA,UACA,EAAA,IAAA,MACA,EAAA,QAAA,UACA,EAAA,QAAA,UACA,EAAA,MAAA,gBAGF,MAAa,EAAe,EAAS,QACxB,EAAc,OAAO,OAAO,CAAA,EAE5B,EAAoB,cACpB,EAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-types-DNPBKfmx.mjs","names":[],"sources":["../src/designs/layouts/types/layout.ts"],"sourcesContent":["/**\n * 布局模式枚举与常量。Layout mode enum and constants.\n */\nenum LayoutModeEnum {\n SHOW = \"show\",\n HIDE = \"hide\",\n}\n\nconst DEFAULT_LAYOUT_MODE = LayoutModeEnum.SHOW;\nconst LAYOUT_MODE_VALUES = Object.values(LayoutModeEnum);\nconst LAYOUT_STORAGE_KEY = \"layout-storage\";\n\nexport { LayoutModeEnum, DEFAULT_LAYOUT_MODE, LAYOUT_MODE_VALUES, LAYOUT_STORAGE_KEY };\n"],"mappings":"AAGA,IAAK,KAAL,SAAA,GAAA;AACE,SAAA,EAAA,OAAA,QACA,EAAA,OAAA;GAFG,KAAA,CAAA,CAAA,GAKC,IAAsB,EAAe,MACrC,IAAqB,OAAO,OAAO,CAAA,GACnC,IAAqB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-types-SD4MzUGp.mjs","names":[],"sources":["../src/languages/types/language.ts"],"sourcesContent":["/**\n * 语言枚举与常量,不引用任何 JSON,供需要轻量引用的模块使用。\n * Language enum and constants; no JSON deps for lightweight usage.\n */\nenum LanguageEnum {\n EN = \"en\",\n ZH = \"zh\",\n FR = \"fr\",\n}\n\nconst DEFAULT_LANGUAGE = LanguageEnum.ZH;\nconst LANGUAGE_VALUES = Object.values(LanguageEnum);\nconst LANGUAGE_STORAGE_KEY = \"language-storage\";\n\nexport { LanguageEnum, DEFAULT_LANGUAGE, LANGUAGE_VALUES, LANGUAGE_STORAGE_KEY };\n"],"mappings":"AAIA,IAAK,KAAL,SAAA,GAAA;AACE,SAAA,EAAA,KAAA,MACA,EAAA,KAAA,MACA,EAAA,KAAA;GAHG,KAAA,CAAA,CAAA,GAMC,IAAmB,EAAa,IAChC,IAAkB,OAAO,OAAO,CAAA,GAChC,IAAuB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const o=require("./chunk-chunk-BFrxaqQT.cjs");let t=require("react");var r=(0,t.createContext)(void 0),u=()=>{const e=(0,t.useContext)(r);if(e===void 0)throw new Error("useLayout must be used within a LayoutProvider");return e};Object.defineProperty(exports,"LayoutContext",{enumerable:!0,get:function(){return r}});Object.defineProperty(exports,"useLayout",{enumerable:!0,get:function(){return u}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-useLayout-BAJHOIL3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-useLayout-BAJHOIL3.cjs","names":[],"sources":["../src/designs/layouts/hooks/useLayout.ts"],"sourcesContent":["/**\n * 布局上下文与 useLayout:供子组件消费侧栏状态与 setLayoutMode。\n * Layout context and useLayout: for consuming sidebar state and setLayoutMode.\n */\nimport type { LayoutContextType } from \"../types\";\n\nimport { createContext, useContext } from \"react\";\n\nconst LayoutContext = createContext<LayoutContextType | undefined>(undefined);\n\nconst useLayout = () => {\n const context = useContext(LayoutContext);\n if (context === undefined) {\n throw new Error(\"useLayout must be used within a LayoutProvider\");\n }\n return context;\n};\n\nexport default useLayout;\nexport { LayoutContext, useLayout };\n"],"mappings":"qEAQA,IAAM,KAAA,EAAA,eAA6D,MAAA,EAE7D,EAAA,IAAkB,CACtB,MAAM,KAAA,EAAA,YAAqB,CAAA,EAC3B,GAAI,IAAY,OACd,MAAM,IAAI,MAAM,gDAAA,EAElB,OAAO"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createContext as o, useContext as e } from "react";
|
|
2
|
+
var r = o(void 0), u = () => {
|
|
3
|
+
const t = e(r);
|
|
4
|
+
if (t === void 0) throw new Error("useLayout must be used within a LayoutProvider");
|
|
5
|
+
return t;
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
u as n,
|
|
9
|
+
r as t
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=chunk-useLayout-DPxlynT-.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-useLayout-DPxlynT-.mjs","names":[],"sources":["../src/designs/layouts/hooks/useLayout.ts"],"sourcesContent":["/**\n * 布局上下文与 useLayout:供子组件消费侧栏状态与 setLayoutMode。\n * Layout context and useLayout: for consuming sidebar state and setLayoutMode.\n */\nimport type { LayoutContextType } from \"../types\";\n\nimport { createContext, useContext } from \"react\";\n\nconst LayoutContext = createContext<LayoutContextType | undefined>(undefined);\n\nconst useLayout = () => {\n const context = useContext(LayoutContext);\n if (context === undefined) {\n throw new Error(\"useLayout must be used within a LayoutProvider\");\n }\n return context;\n};\n\nexport default useLayout;\nexport { LayoutContext, useLayout };\n"],"mappings":";AAQA,IAAM,IAAgB,EAA6C,MAAA,GAE7D,IAAA,MAAkB;AACtB,QAAM,IAAU,EAAW,CAAA;AAC3B,MAAI,MAAY,OACd,OAAM,IAAI,MAAM,gDAAA;AAElB,SAAO"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const u=require("./chunk-chunk-BFrxaqQT.cjs");let t=require("react");var r=(0,t.createContext)(void 0);function n(){const e=(0,t.useContext)(r);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e}Object.defineProperty(exports,"ThemeContext",{enumerable:!0,get:function(){return r}});Object.defineProperty(exports,"useTheme",{enumerable:!0,get:function(){return n}});
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=chunk-useTheme-DgleVMMh.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-useTheme-DgleVMMh.cjs","names":[],"sources":["../src/themes/hooks/useTheme.ts"],"sourcesContent":["/**\n * 主题上下文与 useTheme:供子组件消费当前主题与 setTheme/setBase。\n * Theme context and useTheme: for consuming current theme and setTheme/setBase.\n */\nimport type { ThemeContextType } from \"../types\";\n\nimport { createContext, useContext } from \"react\";\n\nconst ThemeContext = createContext<ThemeContextType | undefined>(undefined);\n\nfunction useTheme(): ThemeContextType {\n const context = useContext(ThemeContext);\n if (context === undefined) {\n throw new Error(\"useTheme must be used within a ThemeProvider\");\n }\n return context;\n}\n\nexport { ThemeContext, useTheme };\nexport type { ThemeContextType } from \"../types\";\n"],"mappings":"qEAQA,IAAM,KAAA,EAAA,eAA2D,MAAA,EAEjE,SAAS,GAA6B,CACpC,MAAM,KAAA,EAAA,YAAqB,CAAA,EAC3B,GAAI,IAAY,OACd,MAAM,IAAI,MAAM,8CAAA,EAElB,OAAO"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext as t, useContext as o } from "react";
|
|
2
|
+
var r = t(void 0);
|
|
3
|
+
function i() {
|
|
4
|
+
const e = o(r);
|
|
5
|
+
if (e === void 0) throw new Error("useTheme must be used within a ThemeProvider");
|
|
6
|
+
return e;
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
i as n,
|
|
10
|
+
r as t
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=chunk-useTheme-oHcq3d0o.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-useTheme-oHcq3d0o.mjs","names":[],"sources":["../src/themes/hooks/useTheme.ts"],"sourcesContent":["/**\n * 主题上下文与 useTheme:供子组件消费当前主题与 setTheme/setBase。\n * Theme context and useTheme: for consuming current theme and setTheme/setBase.\n */\nimport type { ThemeContextType } from \"../types\";\n\nimport { createContext, useContext } from \"react\";\n\nconst ThemeContext = createContext<ThemeContextType | undefined>(undefined);\n\nfunction useTheme(): ThemeContextType {\n const context = useContext(ThemeContext);\n if (context === undefined) {\n throw new Error(\"useTheme must be used within a ThemeProvider\");\n }\n return context;\n}\n\nexport { ThemeContext, useTheme };\nexport type { ThemeContextType } from \"../types\";\n"],"mappings":";AAQA,IAAM,IAAe,EAA4C,MAAA;AAEjE,SAAS,IAA6B;AACpC,QAAM,IAAU,EAAW,CAAA;AAC3B,MAAI,MAAY,OACd,OAAM,IAAI,MAAM,8CAAA;AAElB,SAAO"}
|