nfx-ui 0.6.1 → 0.6.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-types-BNUlgEkq.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 /** 麦田:default 基础上白红色改为金黄色 */\n WHEAT = \"wheat\",\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,OAEA,EAAA,MAAA,gBAGF,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"}
1
+ {"version":3,"file":"chunk-types-BNUlgEkq.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 /** primary 上的文字色,暂时规定等于 bg */\n fgOnPrimary: 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 /** 麦田:default 基础上白红色改为金黄色 */\n WHEAT = \"wheat\",\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":"AA+HA,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,OAEA,EAAA,MAAA,gBAGF,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-types-BudGuDCK.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 /** 麦田:default 基础上白红色改为金黄色 */\n WHEAT = \"wheat\",\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,QAEA,EAAA,QAAA;;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"}
1
+ {"version":3,"file":"chunk-types-BudGuDCK.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 /** primary 上的文字色,暂时规定等于 bg */\n fgOnPrimary: 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 /** 麦田:default 基础上白红色改为金黄色 */\n WHEAT = \"wheat\",\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":"AA+HA,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,QAEA,EAAA,QAAA;;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"}
package/dist/themes.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  (function(){try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(`.styles-module__loading___bgEAk{justify-content:center;align-items:center;display:inline-flex}.styles-module__loading___bgEAk svg polyline{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.styles-module__loading___bgEAk svg polyline.styles-module__back___XLPvD{fill:none;stroke:var(--color-primary-alpha,#ff4d5033)}.styles-module__loading___bgEAk svg polyline.styles-module__front___hSxig{fill:none;stroke:var(--color-primary,#ff4d4f);stroke-dasharray:48 144;stroke-dashoffset:192px;animation:1.4s linear infinite styles-module__dash_682___AQzo6}@keyframes styles-module__dash_682___AQzo6{72.5%{opacity:0}to{stroke-dashoffset:0}}.styles-module__loader___E7OIM{justify-content:center;align-items:center;width:fit-content;height:fit-content;display:flex}.styles-module__truckWrapper___Sk4zX{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow-x:hidden}.styles-module__truckBody___j7w2C{width:65%;height:fit-content;margin-bottom:6px;animation:1s linear infinite styles-module__motion___IiNlW}@keyframes styles-module__motion___IiNlW{0%{transform:translateY(0)}50%{transform:translateY(3px)}to{transform:translateY(0)}}.styles-module__truckTires___4ncTl{justify-content:space-between;align-items:center;width:65%;height:fit-content;padding:0 10px 0 15px;display:flex;position:absolute;bottom:0}.styles-module__tiresvg___IBQcN{width:24px}.styles-module__road___sxx-E{background-color:var(--color-fg-heading);border-radius:3px;align-self:flex-end;width:100%;height:1.5px;position:relative;bottom:0}.styles-module__road___sxx-E:before{content:"";background-color:var(--color-fg-heading);border-left:10px solid var(--color-bg);border-radius:3px;width:20px;height:100%;animation:1.4s linear infinite styles-module__roadAnimation___yvrHP;position:absolute;right:-50%}.styles-module__road___sxx-E:after{content:"";background-color:var(--color-fg-heading);border-left:4px solid var(--color-bg);border-radius:3px;width:10px;height:100%;animation:1.4s linear infinite styles-module__roadAnimation___yvrHP;position:absolute;right:-65%}.styles-module__lampPost___okcN5{height:45%;animation:1.4s linear infinite styles-module__roadAnimation___yvrHP;position:absolute;bottom:0;right:-90%}@keyframes styles-module__roadAnimation___yvrHP{0%{transform:translate(0)}to{transform:translate(-350px)}}.styles-module__loader___pFUzL{justify-content:center;align-items:center;display:inline-flex;position:relative}.styles-module__loader___pFUzL:before{content:"";background:var(--color-primary);opacity:.3;border-radius:50%;width:100%;height:5px;animation:.5s linear infinite styles-module__shadow324___sutUe;position:absolute;top:calc(100% + 12px);left:0}.styles-module__loader___pFUzL:after{content:"";background:var(--color-primary);width:100%;height:100%;position:absolute;top:0;left:0}.styles-module__square___GKjhm:after{border-radius:4px;animation:.5s linear infinite styles-module__jump7456Square___Z-D9b}.styles-module__circle___bUpSN:after{border-radius:50%;animation:.5s linear infinite styles-module__jump7456Circle___2AfF7}@keyframes styles-module__jump7456Square___Z-D9b{15%{border-bottom-right-radius:3px}25%{transform:translateY(9px)rotate(22.5deg)}50%{border-bottom-right-radius:40px;transform:translateY(18px)scaleY(.9)rotate(45deg)}75%{transform:translateY(9px)rotate(67.5deg)}to{transform:translateY(0)rotate(90deg)}}@keyframes styles-module__jump7456Circle___2AfF7{15%{border-bottom-right-radius:50%}25%{transform:translateY(9px)rotate(22.5deg)}50%{border-bottom-right-radius:40px;transform:translateY(18px)scaleY(.9)rotate(45deg)}75%{transform:translateY(9px)rotate(67.5deg)}to{transform:translateY(0)rotate(90deg)}}@keyframes styles-module__shadow324___sutUe{0%,to{transform:scale(1)}50%{transform:scaleX(1.2)}}.style-module__waves___oR3u7{width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;left:0;overflow:hidden}.style-module__waves___oR3u7:before{content:"";width:.5rem;height:.5rem;transform:translate3d(calc(var(--x) - 50%), calc(var(--y) - 50%), 0);will-change:transform;background:#160000;border-radius:50%;position:absolute;top:0;left:0}.style-module__wavesCanvas___zkhTC{width:100%;height:100%;display:block}.style-module__squaresCanvas___22kMc{border:none;width:100%;height:100%;display:block}.style-module__container___HkxIe{background-color:#000;width:100%;height:100%;position:relative;overflow:hidden}.style-module__canvas___MR9JX{width:100%;height:100%;display:block}.style-module__outerVignette___i75nw{pointer-events:none;background:radial-gradient(circle,#0000 60%,#000 100%);width:100%;height:100%;position:absolute;top:0;left:0}.style-module__centerVignette___n9uVG{pointer-events:none;background:radial-gradient(circle,#000c 0%,#0000 60%);width:100%;height:100%;position:absolute;top:0;left:0}.style-module__container___Hh3-c{width:100%;height:100%;position:relative;overflow:hidden}.styles-module__button___RbliA{cursor:pointer;border:1px solid #0000;border-radius:.5rem;outline:none;justify-content:center;align-items:center;gap:.5rem;font-family:inherit;font-weight:500;transition:all .2s;display:inline-flex;position:relative}.styles-module__button___RbliA:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.styles-module__button___RbliA:disabled{cursor:not-allowed;opacity:.6}.styles-module__button___RbliA.styles-module__small___yK0Yp{min-height:2rem;padding:.5rem 1rem;font-size:.8125rem}.styles-module__button___RbliA.styles-module__medium___eBTch{min-height:2.5rem;padding:.75rem 1.5rem;font-size:.875rem}.styles-module__button___RbliA.styles-module__large___pIZkl{min-height:3rem;padding:1rem 2rem;font-size:1rem}.styles-module__button___RbliA.styles-module__primary___qsZpA{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-fg,#fff)}.styles-module__button___RbliA.styles-module__primary___qsZpA:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary-light);transform:translateY(-1px)}.styles-module__button___RbliA.styles-module__primary___qsZpA:active:not(:disabled){transform:translateY(0)}.styles-module__button___RbliA.styles-module__secondary___SCpPv{background:var(--color-bg-2);border-color:var(--color-border-4);color:var(--color-fg-text)}.styles-module__button___RbliA.styles-module__secondary___SCpPv:hover:not(:disabled){background:var(--color-bg-3);border-color:var(--color-primary)}.styles-module__button___RbliA.styles-module__outline___rrlk9{border-color:var(--color-border-4);color:var(--color-fg-text);background:0 0}.styles-module__button___RbliA.styles-module__outline___rrlk9:hover:not(:disabled){background:var(--color-bg-2);border-color:var(--color-primary)}.styles-module__button___RbliA.styles-module__ghost___QMoiH{color:var(--color-fg-text);background:0 0;border-color:#0000}.styles-module__button___RbliA.styles-module__ghost___QMoiH:hover:not(:disabled){background:var(--color-bg-2)}.styles-module__button___RbliA.styles-module__danger___MW-pg{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.styles-module__button___RbliA.styles-module__danger___MW-pg:hover:not(:disabled){background:var(--color-danger-light);border-color:var(--color-danger-light);transform:translateY(-1px)}.styles-module__button___RbliA.styles-module__danger___MW-pg:active:not(:disabled){transform:translateY(0)}.styles-module__button___RbliA.styles-module__fullWidth___-dXBR{width:100%}.styles-module__button___RbliA.styles-module__loading___UWw6V{pointer-events:none}.styles-module__spinner___KpJ-L{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:1rem;height:1rem;animation:.6s linear infinite styles-module__spin___ntZKM}@keyframes styles-module__spin___ntZKM{to{transform:rotate(360deg)}}.styles-module__button___RbliA.styles-module__small___yK0Yp .styles-module__spinner___KpJ-L{border-width:1.5px;width:.875rem;height:.875rem}.styles-module__button___RbliA.styles-module__large___pIZkl .styles-module__spinner___KpJ-L{border-width:2.5px;width:1.25rem;height:1.25rem}.styles-module__content___oyZRO{align-items:center;display:flex}.styles-module__leftIcon___cDktv,.styles-module__rightIcon___1mpk0{flex-shrink:0;align-items:center;display:flex}.styles-module__leftIcon___cDktv{margin-right:-.25rem}.styles-module__rightIcon___1mpk0{margin-left:-.25rem}.styles-module__button___RbliA.styles-module__iconOnly___iOv-U{aspect-ratio:1;min-width:2.5rem;min-height:2.5rem;padding:0}.styles-module__button___RbliA.styles-module__iconOnly___iOv-U.styles-module__small___yK0Yp{min-width:2rem;min-height:2rem}.styles-module__button___RbliA.styles-module__iconOnly___iOv-U.styles-module__large___pIZkl{min-width:3rem;min-height:3rem}.styles-module__iconContainer___bwvE3{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.styles-module__layout___WaGy9{flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:100%;display:flex}.styles-module__horizontal___lKpGq{justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.styles-module__topIcon___bzw6s,.styles-module__bottomIcon___suPfa{flex-shrink:0;justify-content:center;align-items:center;display:flex}.styles-module__iconOnly___iOv-U .styles-module__iconContainer___bwvE3 .styles-module__leftIcon___cDktv,.styles-module__iconOnly___iOv-U .styles-module__iconContainer___bwvE3 .styles-module__rightIcon___1mpk0{margin:0}.Dropdown-module__dropdown___c9wIp{width:100%;display:inline-block;position:relative}.Dropdown-module__dropdownButton___suNh-{border:1px solid var(--color-separator);cursor:pointer;text-align:left;background:var(--color-bg-2);width:100%;color:var(--color-fg-text);border-radius:8px;outline:none;justify-content:space-between;align-items:center;padding:.75rem 2.5rem .75rem 1rem;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.5rem;transition:all .2s ease-in-out;display:flex;position:relative}.Dropdown-module__dropdownButton___suNh-:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-bg-1)}.Dropdown-module__dropdownButton___suNh-:focus{border-color:var(--color-primary);background:var(--color-bg-1);box-shadow:0 0 0 2px var(--color-primary-transparent)}.Dropdown-module__dropdownButton___suNh-.Dropdown-module__disabled___Rz0pX{cursor:not-allowed;opacity:.6;background:var(--color-bg-3)}.Dropdown-module__dropdownButton___suNh-.Dropdown-module__error___F7dDu{border-color:#ef4444}.Dropdown-module__buttonText___D2zxn{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.Dropdown-module__chevronIcon___uyawp{color:var(--color-fg-highlight);flex-shrink:0;transition:transform .15s;position:absolute;right:1rem}.Dropdown-module__chevronIcon___uyawp.Dropdown-module__open___APoXd{transform:rotate(180deg)}.Dropdown-module__dropdownMenu___WJ-QO{background:var(--color-bg);border:1px solid var(--color-border-4);z-index:1000;border-radius:8px;min-width:100%;animation:.15s ease-out Dropdown-module__slideDown___sRCmO;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow:hidden;box-shadow:0 .5rem 1rem #0000002d}@keyframes Dropdown-module__slideDown___sRCmO{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.Dropdown-module__optionsList___Be6RN{margin:0;padding:.5rem 0;list-style:none}.Dropdown-module__option___q-NgT{cursor:pointer;color:var(--color-fg-text);align-items:center;padding:.75rem 1rem;font-size:.875rem;transition:all .15s;display:flex}.Dropdown-module__option___q-NgT:hover{background-color:var(--color-bg-2)}.Dropdown-module__option___q-NgT.Dropdown-module__selected___-OTW-{background-color:var(--color-bg-3);color:var(--color-fg-highlight);font-weight:600}@media (width<=768px){.Dropdown-module__dropdownButton___suNh-{padding:.625rem 2.25rem .625rem .875rem;font-size:.875rem}.Dropdown-module__chevronIcon___uyawp{right:.875rem}.Dropdown-module__option___q-NgT{padding:.625rem .875rem;font-size:.8125rem}}.styles-module__wrapper___COeGm{flex-direction:column;gap:.5rem;display:flex}.styles-module__wrapper___COeGm.styles-module__fullWidth___lVU49{width:100%}.styles-module__label___gfOA7{color:var(--color-fg-heading);align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;display:flex}.styles-module__required___-zOy5{color:var(--color-danger)}.styles-module__inputContainer___wXY53{align-items:center;width:100%;display:flex;position:relative}.styles-module__input___IZDc3{border:1px solid var(--color-border-4);background:var(--color-bg);width:100%;color:var(--color-fg-text);border-radius:.5rem;outline:none;font-family:inherit;font-size:.875rem;transition:all .2s}.styles-module__input___IZDc3[type=password]::-webkit-credentials-auto-fill-button{visibility:hidden!important;opacity:0!important;pointer-events:none!important;appearance:none!important;display:none!important;position:absolute!important;left:-9999px!important}.styles-module__input___IZDc3[type=password]::-webkit-strong-password-toggle-button{visibility:hidden!important;opacity:0!important;pointer-events:none!important;appearance:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;display:none!important;position:absolute!important;left:-9999px!important}.styles-module__input___IZDc3[type=password]::-ms-reveal{visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;display:none!important;position:absolute!important;left:-9999px!important}.styles-module__input___IZDc3[type=password]::-ms-clear{visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;display:none!important;position:absolute!important;left:-9999px!important}.styles-module__input___IZDc3:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb,102, 126, 234), .1)}.styles-module__input___IZDc3::placeholder{color:var(--color-fg-muted,var(--color-fg-text));opacity:.5}.styles-module__input___IZDc3.styles-module__small___cuGyE{padding:.5rem .75rem;font-size:.8125rem}.styles-module__input___IZDc3.styles-module__medium___JdDPu{padding:.75rem;font-size:.875rem}.styles-module__input___IZDc3.styles-module__large___fMmiG{padding:1rem;font-size:1rem}.styles-module__input___IZDc3.styles-module__default___-eZTG{background:var(--color-bg);border-color:var(--color-border-4)}.styles-module__input___IZDc3.styles-module__filled___EQ5PQ{background:var(--color-bg-2);border-color:var(--color-border-3)}.styles-module__inputContainer___wXY53.styles-module__withLeftIcon___NFn6- .styles-module__input___IZDc3{padding-left:2.5rem}.styles-module__inputContainer___wXY53.styles-module__withRightIcon___mz-hn .styles-module__input___IZDc3{padding-right:2.5rem}.styles-module__inputContainer___wXY53.styles-module__withLeftIcon___NFn6- .styles-module__input___IZDc3.styles-module__small___cuGyE{padding-left:2rem}.styles-module__inputContainer___wXY53.styles-module__withRightIcon___mz-hn .styles-module__input___IZDc3.styles-module__small___cuGyE{padding-right:2rem}.styles-module__inputContainer___wXY53.styles-module__withLeftIcon___NFn6- .styles-module__input___IZDc3.styles-module__large___fMmiG{padding-left:3rem}.styles-module__inputContainer___wXY53.styles-module__withRightIcon___mz-hn .styles-module__input___IZDc3.styles-module__large___fMmiG{padding-right:3rem}.styles-module__leftIcon___jEW5H,.styles-module__rightIcon___bA3Eo{color:var(--color-fg-muted,var(--color-fg-text));pointer-events:none;z-index:1;justify-content:center;align-items:center;display:flex;position:absolute}.styles-module__leftIcon___jEW5H{left:.75rem}.styles-module__rightIcon___bA3Eo{right:.75rem}.styles-module__rightIcon___bA3Eo.styles-module__rightIconInteractive___ccypw{pointer-events:auto}.styles-module__inputContainer___wXY53.styles-module__containerSmall___20ICq .styles-module__leftIcon___jEW5H{left:.5rem}.styles-module__inputContainer___wXY53.styles-module__containerSmall___20ICq .styles-module__rightIcon___bA3Eo{right:.5rem}.styles-module__inputContainer___wXY53.styles-module__containerLarge___IztuN .styles-module__leftIcon___jEW5H{left:1rem}.styles-module__inputContainer___wXY53.styles-module__containerLarge___IztuN .styles-module__rightIcon___bA3Eo{right:1rem}.styles-module__input___IZDc3.styles-module__error___946qV{border-color:var(--color-danger)}.styles-module__input___IZDc3.styles-module__error___946qV:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px rgba(var(--color-danger-rgb,244, 67, 54), .1)}.styles-module__input___IZDc3.styles-module__disabled___sJvLd{background:var(--color-bg-3);border-color:var(--color-border-5);color:var(--color-fg-muted);cursor:not-allowed;opacity:.6}.styles-module__errorMessage___5Mn22{color:var(--color-danger);margin:0;font-size:.75rem}.styles-module__helperText___T2eui{color:var(--color-fg-muted);margin:0;font-size:.75rem}.styles-module__container___xeg8O{flex-direction:column;gap:1rem;display:flex}.styles-module__label___qhbKe{color:var(--color-fg-text);font-size:.875rem;font-weight:500}.styles-module__error___O-7AY{color:var(--color-error);font-size:.875rem}.styles-module__pairs___owGV3{flex-direction:column;gap:.75rem;display:flex}.styles-module__pair___G4WFY{grid-template-columns:1fr 2fr auto;align-items:start;gap:.75rem;display:grid}.styles-module__keyInput___wl1M1,.styles-module__valueInput___HiwJ5{flex:1}.styles-module__removeButton___4-X0b{min-width:auto;color:var(--color-error);padding:.5rem}.styles-module__removeButton___4-X0b:hover{background-color:var(--color-error);color:#fff}.styles-module__addButton___QFljt{align-self:flex-start}@media (width<=768px){.styles-module__pair___G4WFY{grid-template-columns:1fr}.styles-module__removeButton___4-X0b{align-self:flex-end}}.styles-module__searchContainer___86TGN{width:100%;max-width:400px;position:relative}.styles-module__searchIcon___ZInry{color:var(--color-fg-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.styles-module__searchInput___SqZXQ{border:1px solid var(--color-border);width:100%;color:var(--color-fg-text);background:var(--color-bg-2);border-radius:.5rem;padding:.75rem 3rem;font-size:1rem;transition:all .2s}.styles-module__searchInput___SqZXQ:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg);outline:none}.styles-module__searchInput___SqZXQ::placeholder{color:var(--color-fg-muted)}.styles-module__clearBtn___7jExr{width:1.5rem;height:1.5rem;color:var(--color-fg-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.styles-module__clearBtn___7jExr:hover{color:var(--color-fg-text)}@media (width<=768px){.styles-module__searchContainer___86TGN{max-width:100%}}.styles-module__container___nGxdM{flex-direction:column;gap:.75rem;display:flex}.styles-module__toggleContainer___VrsKI{align-items:center;display:flex}.styles-module__toggleButton___IzD6Z{border:1px solid var(--color-border-4);background:var(--color-bg);color:var(--color-fg-muted);cursor:pointer;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:all .2s;display:flex}.styles-module__toggleButton___IzD6Z:hover{background:var(--color-bg-2);border-color:var(--color-border-3)}.styles-module__toggleButton___IzD6Z.styles-module__enabled___cao0G{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.styles-module__toggleButton___IzD6Z.styles-module__enabled___cao0G:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.styles-module__optionsContainer___LOzlO{background:var(--color-bg-2);border:1px solid var(--color-border-4);border-radius:.5rem;gap:.5rem;padding:.5rem;display:flex}.styles-module__option___abhnC{border:1px solid var(--color-border-4);background:var(--color-bg);color:var(--color-fg);cursor:pointer;border-radius:.375rem;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.styles-module__option___abhnC:hover{background:var(--color-bg-3);border-color:var(--color-border-3)}.styles-module__option___abhnC.styles-module__active___pqmSi{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.styles-module__option___abhnC.styles-module__active___pqmSi:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.styles-module__nbSelect___KjxSc{font-family:inherit;font-size:.9375rem;font-weight:600;line-height:1.5rem;display:inline-block;position:relative}.styles-module__selectButton___AKZe4{cursor:pointer;text-align:left;width:100%;min-width:8rem;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;appearance:none;border:1px solid;border-radius:.25rem;outline:none;justify-content:space-between;align-items:center;padding:.4375rem 2.2rem .4375rem 1.125rem;transition:all .15s ease-in-out;display:flex;position:relative}.styles-module__selectButton___AKZe4.styles-module__primary___HU36a{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-fg)}.styles-module__selectButton___AKZe4.styles-module__primary___HU36a:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.styles-module__selectButton___AKZe4.styles-module__primary___HU36a:focus,.styles-module__selectButton___AKZe4.styles-module__primary___HU36a.styles-module__open___9AKMb{background-color:var(--color-primary-light);border-color:var(--color-primary-light);box-shadow:0 0 0 .125rem #8f9bb340}.styles-module__selectButton___AKZe4.styles-module__default___LedYP{background-color:var(--color-bg);border-color:var(--color-border-4);color:var(--color-fg-text)}.styles-module__selectButton___AKZe4.styles-module__default___LedYP:hover:not(:disabled){background-color:var(--color-bg-2);border-color:var(--color-primary)}.styles-module__selectButton___AKZe4.styles-module__default___LedYP:focus,.styles-module__selectButton___AKZe4.styles-module__default___LedYP.styles-module__open___9AKMb{background-color:var(--color-bg-2);border-color:var(--color-primary);box-shadow:0 0 0 .125rem #8f9bb340}.styles-module__selectButton___AKZe4:disabled{cursor:not-allowed;opacity:.6}.styles-module__buttonText___QSLO1{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.styles-module__chevronIcon___qAHaD{flex-shrink:0;width:1.5rem;height:1.5rem;transition:transform .15s;position:absolute;right:.41rem}.styles-module__selectButton___AKZe4.styles-module__primary___HU36a .styles-module__chevronIcon___qAHaD{color:var(--color-primary-fg)}.styles-module__selectButton___AKZe4.styles-module__default___LedYP .styles-module__chevronIcon___qAHaD{color:var(--color-fg)}.styles-module__chevronIcon___qAHaD.styles-module__open___9AKMb{transform:rotate(180deg)}.styles-module__optionsPanel___NWAp3{background-color:var(--color-bg);border:1px solid var(--color-border-4);z-index:1000;transform-origin:top;visibility:hidden;pointer-events:none;border-radius:.25rem;min-width:100%;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow:hidden;box-shadow:0 .5rem 1rem #00000026}.styles-module__optionsPanel___NWAp3.styles-module__open___9AKMb{visibility:visible;pointer-events:auto;animation:.25s ease-out styles-module__expandDown___eD4lh}.styles-module__optionsPanel___NWAp3.styles-module__closed___bez-q{visibility:hidden;pointer-events:none;animation:.25s ease-out styles-module__collapseUp___dt1E7}@keyframes styles-module__expandDown___eD4lh{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes styles-module__collapseUp___dt1E7{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}.styles-module__optionsPanel___NWAp3.styles-module__primary___HU36a{border-color:var(--color-primary)}.styles-module__optionsPanel___NWAp3.styles-module__default___LedYP{border-color:var(--color-border-4)}.styles-module__optionsList___AxhVp{margin:0;padding:.5rem 0;list-style:none}.styles-module__option___t1SSw{cursor:pointer;color:var(--color-fg-text);justify-content:space-between;align-items:center;padding:.75rem 1.125rem;transition:all .15s;display:flex}.styles-module__option___t1SSw:hover{background-color:var(--color-bg-2)}.styles-module__option___t1SSw.styles-module__selected___azD4A{background-color:var(--color-primary);color:var(--color-primary-fg);font-weight:700}@media (prefers-color-scheme:dark){.styles-module__optionsPanel___NWAp3{box-shadow:0 .5rem 1rem #0000004d}}.styles-module__sliderContainer___lgpaD{flex-direction:column;gap:.5rem;display:flex}.styles-module__sliderContainer___lgpaD.styles-module__fullWidth___ZS8W5{width:100%}.styles-module__labelRow___dkVVM{justify-content:space-between;align-items:center;min-height:1.5rem;margin-bottom:.5rem;display:flex}.styles-module__label___bXGZs{color:var(--color-fg-text);font-size:.875rem;font-weight:500}.styles-module__required___FuyfE{color:var(--color-danger);margin-left:.25rem}.styles-module__sliderWrapper___1Wdti{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.75rem;width:100%;display:flex}.styles-module__sliderRoot___yzOjR{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-grow:1;align-items:center;width:100%;padding:.75rem 0;display:flex;position:relative}.styles-module__sliderRoot___yzOjR:active{cursor:grabbing}.styles-module__sliderTrackWrapper___N72WQ{flex-grow:1;display:flex;position:relative}.styles-module__sliderTrack___AltcD{background-color:var(--color-bg-3);border-radius:9999px;width:100%;height:.375rem;position:relative;overflow:hidden}.styles-module__sliderRange___U3g0-{background-color:var(--color-primary);border-radius:9999px;height:100%;position:absolute}.styles-module__valueIndicator___aLf0I{color:var(--color-primary);text-align:center;flex-shrink:0;min-width:2rem;font-size:.875rem;font-weight:600;line-height:1}.styles-module__iconWrapper___wL-b8{flex-shrink:0;justify-content:center;align-items:center;display:flex}.styles-module__icon___vHsID{width:20px;height:20px;color:var(--color-fg-muted)}.styles-module__errorMessage___qFgGe{color:var(--color-danger);margin:0;font-size:.75rem}.styles-module__helperText___tgBGl{color:var(--color-fg-muted);margin:0;font-size:.75rem}.styles-module__loadingContainer___OMgwS{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:60vh;display:flex}.styles-module__loadingText___KRZqR{color:var(--color-fg-muted);font-size:1rem}.styles-module__errorContainer___qhAg2{text-align:center;min-height:60vh;color:var(--color-fg-text);flex-direction:column;justify-content:center;align-items:center;gap:2rem;padding:3rem 2rem;display:flex}.styles-module__errorIconWrapper___IHZrN{background:linear-gradient(135deg, rgba(var(--color-error-rgb,239, 68, 68), .1), rgba(var(--color-error-rgb,239, 68, 68), .05));border:2px solid rgba(var(--color-error-rgb,239, 68, 68), .2);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;animation:2s ease-in-out infinite styles-module__pulse___Lju-z;display:flex}@keyframes styles-module__pulse___Lju-z{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.styles-module__errorIcon___oGDIP{color:var(--color-error,#ef4444);stroke-width:1.5px}.styles-module__errorContent___F55rQ{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:600px;display:flex}.styles-module__errorTitle___hC8D-{color:var(--color-fg-heading);letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.styles-module__errorDescription___hZtuP{color:var(--color-fg-muted);max-width:480px;margin:0;font-size:1rem;line-height:1.6}.styles-module__errorDetailsWrapper___-sp8b{width:100%;max-width:600px;margin-top:.5rem}.styles-module__errorDetailsContainer___eywMo{text-align:left;border:1px solid var(--color-border,#0000001a);background:var(--color-bg-2,#00000005);border-radius:.75rem;width:100%;transition:all .2s;overflow:hidden}.styles-module__errorDetailsContainer___eywMo:hover{border-color:var(--color-border-hover,#00000026);background:var(--color-bg-3,#00000008)}.styles-module__errorDetailsSummary___hGEoD{cursor:pointer;color:var(--color-fg-muted);-webkit-user-select:none;user-select:none;padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;list-style:none;transition:color .2s}.styles-module__errorDetailsSummary___hGEoD:hover{color:var(--color-fg-text)}.styles-module__errorDetailsSummary___hGEoD::-webkit-details-marker{display:none}.styles-module__errorDetailsSummary___hGEoD:before{content:"▶";margin-right:.5rem;font-size:.75rem;transition:transform .2s;display:inline-block}.styles-module__errorDetailsContainer___eywMo[open] .styles-module__errorDetailsSummary___hGEoD:before{transform:rotate(90deg)}.styles-module__errorDetails___tzCT-{background:var(--color-bg-3,#00000008);border-top:1px solid var(--color-border,#0000001a);max-width:100%;color:var(--color-fg-muted);white-space:pre-wrap;word-break:break-word;margin:0;padding:1rem 1.25rem;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:.8125rem;line-height:1.6;overflow-x:auto}.styles-module__errorActions___gtqYw{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.styles-module__retryButton___TA4jm{background:var(--color-primary);color:var(--color-primary-fg);cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:.9375rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #00000014}.styles-module__retryButton___TA4jm:hover{background:var(--color-primary-hover,var(--color-primary));transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.styles-module__retryButton___TA4jm:active{transform:translateY(0);box-shadow:0 2px 8px #00000014}.styles-module__retryButtonIcon___vzfp-{font-size:1.125rem;line-height:1;transition:transform .3s;display:inline-block}.styles-module__retryButton___TA4jm:hover .styles-module__retryButtonIcon___vzfp-{transform:rotate(180deg)}.styles-module__clearLocalDataButton___T3B-K{color:var(--color-fg-muted);border:1px solid var(--color-border-4);cursor:pointer;background:0 0;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;transition:all .2s;display:inline-flex}.styles-module__clearLocalDataButton___T3B-K:hover{color:var(--color-fg-text);border-color:var(--color-border-3);background:var(--color-bg-secondary)}.styles-module__wrapper___jXPV3{flex-direction:column;gap:.5rem;display:flex}.styles-module__wrapper___jXPV3.styles-module__fullWidth___eKyGB{width:100%}.styles-module__label___MyTeo{color:var(--color-fg-heading);align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;display:flex}.styles-module__required___TV-m8{color:var(--color-danger)}.styles-module__inputContainer___VvGBl{align-items:flex-start;width:100%;display:flex;position:relative}.styles-module__textarea___AjX9N{border:1px solid var(--color-border-4);background:var(--color-bg);width:100%;color:var(--color-fg-text);resize:vertical;border-radius:.5rem;outline:none;min-height:4rem;font-family:inherit;font-size:.875rem;transition:all .2s}.styles-module__textarea___AjX9N:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb,102, 126, 234), .1)}.styles-module__textarea___AjX9N::placeholder{color:var(--color-fg-muted,var(--color-fg-text));opacity:.5}.styles-module__textarea___AjX9N.styles-module__small___zMx0G{min-height:3rem;padding:.5rem .75rem;font-size:.8125rem}.styles-module__textarea___AjX9N.styles-module__medium___tO2Lb{min-height:4rem;padding:.75rem;font-size:.875rem}.styles-module__textarea___AjX9N.styles-module__large___3eU2g{min-height:5rem;padding:1rem;font-size:1rem}.styles-module__textarea___AjX9N.styles-module__default___vsSxX{background:var(--color-bg);border-color:var(--color-border-4)}.styles-module__textarea___AjX9N.styles-module__filled___TPQgI{background:var(--color-bg-2);border-color:var(--color-border-3)}.styles-module__inputContainer___VvGBl .styles-module__leftIcon___FHp2R{color:var(--color-fg-muted,var(--color-fg-text));pointer-events:none;z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;top:.75rem;left:.75rem}.styles-module__inputContainer___VvGBl .styles-module__rightIcon___dkyvP{color:var(--color-fg-muted,var(--color-fg-text));pointer-events:none;z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;top:.75rem;right:.75rem}.styles-module__inputContainer___VvGBl .styles-module__textarea___AjX9N.styles-module__small___zMx0G+.styles-module__leftIcon___FHp2R,.styles-module__inputContainer___VvGBl .styles-module__textarea___AjX9N.styles-module__small___zMx0G+.styles-module__rightIcon___dkyvP{top:.5rem}.styles-module__inputContainer___VvGBl .styles-module__textarea___AjX9N.styles-module__large___3eU2g+.styles-module__leftIcon___FHp2R,.styles-module__inputContainer___VvGBl .styles-module__textarea___AjX9N.styles-module__large___3eU2g+.styles-module__rightIcon___dkyvP{top:1rem}.styles-module__textarea___AjX9N.styles-module__error___d8gLK{border-color:var(--color-danger)}.styles-module__textarea___AjX9N.styles-module__error___d8gLK:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px rgba(var(--color-danger-rgb,244, 67, 54), .1)}.styles-module__textarea___AjX9N.styles-module__disabled___IzbfE{background:var(--color-bg-3);border-color:var(--color-border-5);color:var(--color-fg-muted);cursor:not-allowed;opacity:.6}.styles-module__errorText___Nom7x{color:var(--color-danger);margin:0;font-size:.75rem}.styles-module__helperText___97Def{color:var(--color-fg-muted);margin:0;font-size:.75rem}.styles-module__virtualList___pM6rN{contain:strict;width:100%;padding-bottom:300px;position:relative;overflow:auto}.styles-module__emptyContainer___rm938{height:100%;color:var(--color-fg-muted);justify-content:center;align-items:center;display:flex}.styles-module__virtualListInner___HxRzc{width:100%;position:relative}.styles-module__virtualListItems___p19-a{width:100%;position:absolute;top:0;left:0}.styles-module__loadingMore___zAdLM{color:var(--color-fg-muted);justify-content:center;align-items:center;gap:.75rem;padding:2rem 0;font-size:.875rem;display:flex}.styles-module__endOfList___5cYFh{color:var(--color-fg-muted);border-top:1px solid var(--color-border-3);justify-content:center;margin-top:1rem;padding:2rem 0;font-size:.875rem;display:flex}.styles-module__endOfList___5cYFh span{background-color:var(--color-bg-2);border-radius:.25rem;padding:.5rem 1rem}.styles-module__virtualList___xmj2v{width:100%;padding-bottom:300px;position:relative;overflow:visible}.styles-module__virtualListInner___quD74{width:100%;position:relative}.styles-module__virtualListItems___-Muml{width:100%;position:absolute;top:0;left:0}.styles-module__virtualListRow___h3pzX{width:100%}.styles-module__emptyContainer___LIy8r{color:var(--color-fg-muted);justify-content:center;align-items:center;padding:2rem 0;display:flex}.styles-module__loadingMore___Mzf-p{color:var(--color-fg-muted);justify-content:center;align-items:center;padding:1.5rem 0;display:flex}.styles-module__endOfList___g5G--{color:var(--color-fg-muted);border-top:1px solid var(--color-border-3);justify-content:center;padding:1.5rem 0;display:flex}.styles-module__sidebar___BMt0j{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.styles-module__sidebarContent___iAwiw{flex-direction:column;height:100%;min-height:0;padding-top:1rem;display:flex;overflow:hidden}.styles-module__menuWrapper___DKuEv{flex:1;min-height:0;overflow:hidden auto}.styles-module__sidebarContent___iAwiw::-webkit-scrollbar{width:0}.styles-module__sidebarContent___iAwiw::-webkit-scrollbar-track{background:0 0}.styles-module__sidebarContent___iAwiw::-webkit-scrollbar-thumb{background:0 0}.styles-module__sidebarContent___iAwiw::-webkit-scrollbar-thumb:hover{background:0 0}.styles-module__sidebar___BMt0j a{margin-left:0}.styles-module__sidebar___BMt0j .ps-sidebar-root{background-color:var(--color-bg-2)!important;border-right:1px solid var(--color-separator)!important;flex-direction:column!important;height:100%!important;min-height:0!important;display:flex!important;overflow:hidden!important}.styles-module__sidebar___BMt0j .ps-sidebar-container{background-color:var(--color-bg-2)!important;height:100%!important;min-height:0!important;color:var(--color-fg-text)!important;flex-direction:column!important;flex:1!important;display:flex!important;overflow:hidden!important}.styles-module__sidebar___BMt0j .ps-menu-button{color:var(--color-fg-text)!important;border-radius:.375rem!important;margin:.125rem .5rem!important;padding:.5rem .75rem!important;font-size:.875rem!important;transition:all .2s!important}.styles-module__sidebar___BMt0j .ps-menu-button:hover{background-color:var(--color-bg-3)!important;color:var(--color-fg-text)!important}.styles-module__sidebar___BMt0j .ps-menu-button.ps-active{background-color:var(--color-primary)!important;color:#fff!important}.styles-module__sidebar___BMt0j .ps-menu-button.ps-active *,.styles-module__sidebar___BMt0j .ps-menu-button.ps-active .ps-menu-icon,.styles-module__sidebar___BMt0j .ps-menu-button.ps-active .ps-menu-label{color:#fff!important}.styles-module__sidebar___BMt0j .ps-menu-icon{width:1.25rem!important;height:1.25rem!important;color:var(--color-fg-text)!important;margin-right:.5rem!important}.styles-module__sidebar___BMt0j .ps-submenu-content{background-color:var(--color-bg-3)!important;padding-left:.5rem!important;overflow:hidden!important}.styles-module__sidebar___BMt0j .ps-submenu-content .ps-menu-button{margin:.125rem .25rem!important;padding:.375rem .5rem!important;font-size:.8125rem!important;transition:all .2s!important}.styles-module__sidebar___BMt0j .ps-menu-label{color:var(--color-fg-text)!important;font-weight:500!important}.styles-module__sidebar___BMt0j .ps-menu-button.ps-active,.styles-module__sidebar___BMt0j .ps-menu-button.ps-active span,.styles-module__sidebar___BMt0j .ps-menu-button.ps-active div,.styles-module__sidebar___BMt0j .ps-menu-button.ps-active .ps-menu-icon,.styles-module__sidebar___BMt0j .ps-menu-button.ps-active .ps-menu-label{color:#fff!important}.styles-module__logoutContainer___7NwBL{border-top:1px solid var(--color-separator);writing-mode:horizontal-tb;text-orientation:mixed;flex-shrink:0;margin-top:auto;padding:.5rem}.styles-module__logoutButton___rfD6u{width:100%;color:var(--color-fg-text);cursor:pointer;white-space:nowrap;writing-mode:horizontal-tb;text-orientation:mixed;direction:ltr;background:0 0;border:none;border-radius:.375rem;justify-content:flex-start;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;transition:background-color .2s,color .2s;display:flex;overflow:hidden}.styles-module__logoutButton___rfD6u span{opacity:1;max-width:200px;transition:opacity .3s,max-width .3s;display:inline-block;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important;transform:none!important}.styles-module__logoutButton___rfD6u .styles-module__hiddenText___z183T{opacity:0;width:0;max-width:0;overflow:hidden}.styles-module__logoutButton___rfD6u .styles-module__visibleText___lfsv-{opacity:1;width:auto;max-width:200px}.styles-module__logoutButton___rfD6u:hover{background-color:var(--color-bg-3)}.styles-module__logoutButton___rfD6u:active{transform:scale(.98)}.styles-module__logoutButton___rfD6u svg{color:inherit;flex-shrink:0}.styles-module__footer___g-hY7{background:var(--color-bg-2);width:100%;padding:0 2rem}.styles-module__footerContent___Oen5n{justify-content:space-between;align-items:center;max-width:100%;margin:0 auto;display:flex}.styles-module__copyright___1R2o3{color:var(--color-fg-text);font-size:.875rem}.styles-module__links___dQyvB{gap:1.5rem;display:flex}.styles-module__link___UWfyK{color:var(--color-fg-text);font-size:.875rem;text-decoration:none;transition:color .3s}.styles-module__link___UWfyK:hover{color:var(--color-primary)}@media (width<=768px){.styles-module__footerContent___Oen5n{flex-direction:column;gap:1rem}.styles-module__links___dQyvB{gap:1rem}}.styles-module__header___4Uc8h{width:100%;padding:.5rem 2rem;display:flex}.styles-module__header___4Uc8h>:first-child{flex:1;justify-content:flex-start;align-items:center;display:flex}.styles-module__header___4Uc8h>:last-child{flex:1;justify-content:flex-end;align-items:center;display:flex}.styles-module__layout___ZQKU7{background:var(--color-bg);flex-direction:column;width:100%;height:100vh;display:flex;position:relative}.styles-module__header___XIaFb{z-index:100;background:var(--color-bg);width:100%;position:fixed;top:0;box-shadow:0 .125rem .25rem #2c33491a}.styles-module__footer___r8ASO{z-index:100;width:100%;position:fixed;bottom:0}.styles-module__mainWrapper___i4tEI{flex:1;display:flex;position:relative}.styles-module__sidebar___ij-8-{position:fixed;top:0}.styles-module__content___mTgUr{background:var(--color-bg);flex:1;min-height:calc(100vh - 10rem);margin:0;padding-top:0;padding-bottom:0;overflow:hidden auto}@media (width<=768px){.styles-module__content___mTgUr{width:100%}.styles-module__sidebar___ij-8-{z-index:999;height:100vh;position:fixed;top:0;left:0}}.styles-module__mainWrapper___AiTAw{flex-direction:row;flex:1;display:flex;position:relative}.styles-module__sidebarContainer___X4yj8{z-index:99;flex-direction:column;display:flex;position:fixed;left:0;overflow:hidden}.styles-module__sidebar___VQTlH{flex-shrink:0;top:0;left:0}.styles-module__content___htJlH{background:var(--color-bg);flex:1;margin:0;padding-top:0;padding-bottom:0;overflow:hidden auto}@media (width<=1024px){.styles-module__content___htJlH{padding:1.5rem}}@media (width<=768px){.styles-module__content___htJlH{width:100%}.styles-module__sidebar___VQTlH{z-index:999;height:100vh;position:fixed;top:0;left:0}}.styles-module__wavesWrapper___TK7DI{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.styles-module__wavesWrapper___TK7DI>*{pointer-events:auto}.styles-module__squaresWrapper___P25uF{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.styles-module__squaresWrapper___P25uF>*{pointer-events:auto}.styles-module__letterGlitchWrapper___KWtWU{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.styles-module__letterGlitchWrapper___KWtWU>*{pointer-events:auto}.styles-module__pixelBlastWrapper___YptHh{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.styles-module__pixelBlastWrapper___YptHh>*{pointer-events:auto}
2
2
  /*$vite$:1*/`)),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
3
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Z=require("./chunk-chunk-BFrxaqQT.cjs"),o=require("./chunk-types-BNUlgEkq.cjs"),l=require("./chunk-lstorage-BnxLXHgH.cjs"),c=require("./chunk-useTheme-DgleVMMh.cjs");let g=require("react"),D=require("react/jsx-runtime");function h(){const t=l.getItem(o.COLOR_STORAGE_KEY);return t==null||o.THEME_VALUES.includes(t)?t:void 0}function p(t){l.setItem(o.COLOR_STORAGE_KEY,t)}function y(){const t=l.getItem(o.BASE_STORAGE_KEY);return t==null||o.BASE_VALUES.includes(t)?t:void 0}function F(t){l.setItem(o.BASE_STORAGE_KEY,t)}function v(){l.removeItem(o.COLOR_STORAGE_KEY),l.removeItem(o.BASE_STORAGE_KEY)}var G=(t,b)=>{(0,g.useEffect)(()=>{const r=document.documentElement,e=t.colors.variables,s=t.base.variables;r.style.setProperty("--color-primary",e.primary),r.style.setProperty("--color-primary-light",e.primaryLight),r.style.setProperty("--color-primary-fg",e.primaryFg),r.style.setProperty("--color-success",e.success),r.style.setProperty("--color-success-light",e.successLight),r.style.setProperty("--color-info",e.info),r.style.setProperty("--color-info-light",e.infoLight),r.style.setProperty("--color-warning",e.warning),r.style.setProperty("--color-warning-light",e.warningLight),r.style.setProperty("--color-danger",e.danger),r.style.setProperty("--color-danger-light",e.dangerLight),r.style.setProperty("--color-bg",e.bg),r.style.setProperty("--color-bg-2",e.bg2),r.style.setProperty("--color-bg-3",e.bg3),r.style.setProperty("--color-bg-4",e.bg4),r.style.setProperty("--color-border",e.border),r.style.setProperty("--color-border-2",e.border2),r.style.setProperty("--color-border-3",e.border3),r.style.setProperty("--color-border-4",e.border4),r.style.setProperty("--color-border-5",e.border5),r.style.setProperty("--color-fg",e.fg),r.style.setProperty("--color-fg-text",e.fgText),r.style.setProperty("--color-fg-heading",e.fgHeading),r.style.setProperty("--color-fg-highlight",e.fgHighlight),r.style.setProperty("--color-separator",e.separator),r.style.setProperty("--radius-button",`${s.buttonRadius}px`),r.style.setProperty("--radius-card",`${s.cardRadius}px`),r.style.setProperty("--radius-input",`${s.inputRadius}px`),e.temperature.arcFill.forEach((f,d)=>{r.style.setProperty(`--temperature-arc-fill-${d}`,f)}),r.style.setProperty("--temperature-arc-empty",e.temperature.arcEmpty),r.style.setProperty("--temperature-thumb-bg",e.temperature.thumbBg),r.style.setProperty("--temperature-thumb-border",e.temperature.thumbBorder),r.style.setProperty("--solar-gradient-left",e.solar.gradientLeft),r.style.setProperty("--solar-gradient-right",e.solar.gradientRight),r.style.setProperty("--solar-shadow-color",e.solar.shadowColor),r.style.setProperty("--solar-second-series-fill",e.solar.secondSeriesFill),r.style.setProperty("--traffic-tooltip-bg",e.traffic.tooltipBg),r.style.setProperty("--traffic-tooltip-border-color",e.traffic.tooltipBorderColor),r.style.setProperty("--traffic-tooltip-text-color",e.traffic.tooltipTextColor),r.style.setProperty("--traffic-y-axis-split-line",e.traffic.yAxisSplitLine),r.style.setProperty("--traffic-line-bg",e.traffic.lineBg),r.style.setProperty("--traffic-item-color",e.traffic.itemColor),r.style.setProperty("--traffic-item-border-color",e.traffic.itemBorderColor),r.style.setProperty("--traffic-item-emphasis-border-color",e.traffic.itemEmphasisBorderColor),r.style.setProperty("--traffic-shadow-line-dark-bg",e.traffic.shadowLineDarkBg),r.style.setProperty("--traffic-shadow-line-shadow",e.traffic.shadowLineShadow),r.style.setProperty("--traffic-grad-from",e.traffic.gradFrom),r.style.setProperty("--traffic-grad-to",e.traffic.gradTo),r.style.setProperty("--electricity-tooltip-bg",e.electricity.tooltipBg),r.style.setProperty("--electricity-tooltip-line-color",e.electricity.tooltipLineColor),r.style.setProperty("--electricity-tooltip-border-color",e.electricity.tooltipBorderColor),r.style.setProperty("--electricity-tooltip-text-color",e.electricity.tooltipTextColor),r.style.setProperty("--electricity-axis-line-color",e.electricity.axisLineColor),r.style.setProperty("--electricity-x-axis-text-color",e.electricity.xAxisTextColor),r.style.setProperty("--electricity-y-axis-split-line",e.electricity.yAxisSplitLine),r.style.setProperty("--electricity-item-border-color",e.electricity.itemBorderColor),r.style.setProperty("--electricity-line-grad-from",e.electricity.lineGradFrom),r.style.setProperty("--electricity-line-grad-to",e.electricity.lineGradTo),r.style.setProperty("--electricity-line-shadow",e.electricity.lineShadow),r.style.setProperty("--electricity-area-grad-from",e.electricity.areaGradFrom),r.style.setProperty("--electricity-area-grad-to",e.electricity.areaGradTo),r.style.setProperty("--electricity-shadow-line-dark-bg",e.electricity.shadowLineDarkBg),r.style.setProperty("--echarts-bg",e.echarts.bg),r.style.setProperty("--echarts-text-color",e.echarts.textColor),r.style.setProperty("--echarts-axis-line-color",e.echarts.axisLineColor),r.style.setProperty("--echarts-split-line-color",e.echarts.splitLineColor),r.style.setProperty("--echarts-item-hover-shadow-color",e.echarts.itemHoverShadowColor),r.style.setProperty("--echarts-tooltip-bg-color",e.echarts.tooltipBackgroundColor),r.style.setProperty("--chartjs-axis-line-color",e.chartjs.axisLineColor),r.style.setProperty("--chartjs-text-color",e.chartjs.textColor),p(b)},[b,t])};const R={buttonRadius:6,cardRadius:6,inputRadius:6},k={name:o.BaseEnum.ANDROID,displayName:"Android",variables:R},H={buttonRadius:8,cardRadius:8,inputRadius:6},i={name:o.BaseEnum.DEFAULT,displayName:"Default",variables:H},_={buttonRadius:24,cardRadius:24,inputRadius:24},O={name:o.BaseEnum.IOS,displayName:"iOS",variables:_},N={buttonRadius:4,cardRadius:4,inputRadius:4},U={name:o.BaseEnum.LINUX,displayName:"Linux",variables:N},I={buttonRadius:6,cardRadius:6,inputRadius:6},j={name:o.BaseEnum.WINDOWS,displayName:"Windows",variables:I},C={[o.BaseEnum.DEFAULT]:i,[o.BaseEnum.IOS]:O,[o.BaseEnum.ANDROID]:k,[o.BaseEnum.WINDOWS]:j,[o.BaseEnum.LINUX]:U},V={name:"coffee",displayName:"Coffee",variables:{primary:"#AF8F6F",primaryLight:"#F8F4E1",primaryFg:"#2a1f18",success:"#6d8f72",successLight:"#8aaa8e",info:"#8a7a6a",infoLight:"#a89888",warning:"#b8926a",warningLight:"#d4b896",danger:"#a65d5d",dangerLight:"#c07d7d",bg:"#2e1a08",bg2:"#543310",bg3:"#493628",bg4:"#74512D",border:"#493628",border2:"#543310",border3:"#74512D",border4:"#AF8F6F",border5:"#D6C0B3",fg:"#AF8F6F",fgText:"#F8F4E1",fgHeading:"#F8F4E1",fgHighlight:"#E4E0E1",separator:"#493628",temperature:{arcFill:["#AF8F6F","#AB886D","#D6C0B3","#E4E0E1","#F8F4E1"],arcEmpty:"#543310",thumbBg:"#493628",thumbBorder:"#AF8F6F"},solar:{gradientLeft:"#AF8F6F",gradientRight:"#F8F4E1",shadowColor:"rgba(0, 0, 0, 0.35)",secondSeriesFill:"#493628"},traffic:{tooltipBg:"#74512D",tooltipBorderColor:"#AF8F6F",tooltipTextColor:"#F8F4E1",yAxisSplitLine:"#543310",lineBg:"#493628",itemColor:"#543310",itemBorderColor:"#AF8F6F",itemEmphasisBorderColor:"#F8F4E1",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#493628",gradTo:"#2e1a08"},electricity:{tooltipBg:"#543310",tooltipLineColor:"#F8F4E1",tooltipBorderColor:"#AF8F6F",tooltipTextColor:"#F8F4E1",axisLineColor:"#AF8F6F",xAxisTextColor:"#AF8F6F",yAxisSplitLine:"#543310",itemBorderColor:"#AF8F6F",lineGradFrom:"#AF8F6F",lineGradTo:"#F8F4E1",lineShadow:"rgba(175, 143, 111, 0.3)",areaGradFrom:"#493628",areaGradTo:"#2e1a08",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#2e1a08",textColor:"#F8F4E1",axisLineColor:"#AF8F6F",splitLineColor:"#493628",itemHoverShadowColor:"rgba(0, 0, 0, 0.4)",tooltipBackgroundColor:"#543310"},chartjs:{axisLineColor:"#AF8F6F",textColor:"#F8F4E1"}}},K={name:"corporate",displayName:"Corporate",variables:{primary:"#3366ff",primaryLight:"#598bff",primaryFg:"#ffffff",success:"#00d68f",successLight:"#33dfaa",info:"#0095ff",infoLight:"#33a7ff",warning:"#ffaa00",warningLight:"#ffbb33",danger:"#ff3d71",dangerLight:"#ff6491",bg:"#ffffff",bg2:"#f7f9fc",bg3:"#edf1f7",bg4:"#e4e9f2",border:"#ffffff",border2:"#f7f9fc",border3:"#edf1f7",border4:"#e4e9f2",border5:"#c5cee0",fg:"#8f9bb3",fgText:"#222b45",fgHeading:"#192038",fgHighlight:"#003694",separator:"#edf1f7",temperature:{arcFill:["#ffa36b","#ffa36b","#ff9e7a","#ff9888","#ff8ea0"],arcEmpty:"#f7f9fc",thumbBg:"#f7f9fc",thumbBorder:"#ffa36b"},solar:{gradientLeft:"#3366ff",gradientRight:"#3366ff",shadowColor:"rgba(0, 0, 0, 0)",secondSeriesFill:"#f7f9fc"},traffic:{tooltipBg:"#ffffff",tooltipBorderColor:"#f7f9fc",tooltipTextColor:"#222b45",yAxisSplitLine:"rgba(0, 0, 0, 0)",lineBg:"#3366ff",itemColor:"#e4e9f2",itemBorderColor:"#e4e9f2",itemEmphasisBorderColor:"#598bff",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#ffffff",gradTo:"#ffffff"},electricity:{tooltipBg:"#ffffff",tooltipLineColor:"#222b45",tooltipBorderColor:"#f7f9fc",tooltipTextColor:"#222b45",axisLineColor:"#edf1f7",xAxisTextColor:"#8f9bb3",yAxisSplitLine:"#edf1f7",itemBorderColor:"#3366ff",lineGradFrom:"#3366ff",lineGradTo:"#3366ff",lineShadow:"rgba(0, 0, 0, 0)",areaGradFrom:"rgba(0, 0, 0, 0)",areaGradTo:"rgba(0, 0, 0, 0)",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#ffffff",textColor:"#222b45",axisLineColor:"#222b45",splitLineColor:"#edf1f7",itemHoverShadowColor:"rgba(0, 0, 0, 0.5)",tooltipBackgroundColor:"#3366ff"},chartjs:{axisLineColor:"#edf1f7",textColor:"#222b45"}}},q={name:"cosmic",displayName:"Cosmic",variables:{primary:"#a16eff",primaryLight:"#b489ff",primaryFg:"#ffffff",success:"#00d68f",successLight:"#33dfaa",info:"#0095ff",infoLight:"#33a7ff",warning:"#ffaa00",warningLight:"#ffbb33",danger:"#ff3d71",dangerLight:"#ff6491",bg:"#323259",bg2:"#2a2a48",bg3:"#272741",bg4:"#1f1f3a",border:"#323259",border2:"#2a2a48",border3:"#272741",border4:"#1f1f3a",border5:"#1f1f3a",fg:"#b4b4db",fgText:"#ffffff",fgHeading:"#ffffff",fgHighlight:"#a16eff",separator:"#2a2a48",temperature:{arcFill:["#2ec7fe","#31ffad","#7bff24","#fff024","#f7bd59"],arcEmpty:"#2a2a48",thumbBg:"#ffffff",thumbBorder:"#ffffff"},solar:{gradientLeft:"#a16eff",gradientRight:"#a16eff",shadowColor:"rgba(0, 0, 0, 0)",secondSeriesFill:"#2a2a48"},traffic:{tooltipBg:"#323259",tooltipBorderColor:"#2a2a48",tooltipTextColor:"#ffffff",yAxisSplitLine:"#2a2a48",lineBg:"#2a2a48",itemColor:"#2a2a48",itemBorderColor:"#2a2a48",itemEmphasisBorderColor:"#a16eff",shadowLineDarkBg:"#272741",shadowLineShadow:"#272741",gradFrom:"#323259",gradTo:"#2a2a48"},electricity:{tooltipBg:"#323259",tooltipLineColor:"#ffffff",tooltipBorderColor:"#2a2a48",tooltipTextColor:"#ffffff",axisLineColor:"#272741",xAxisTextColor:"#b4b4db",yAxisSplitLine:"#2a2a48",itemBorderColor:"#2a2a48",lineGradFrom:"#00d68f",lineGradTo:"#ffaa00",lineShadow:"#1f1f3a",areaGradFrom:"#2a2a48",areaGradTo:"#272741",shadowLineDarkBg:"#272741"},echarts:{bg:"#323259",textColor:"#ffffff",axisLineColor:"#ffffff",splitLineColor:"#2a2a48",itemHoverShadowColor:"rgba(0, 0, 0, 0.5)",tooltipBackgroundColor:"#a16eff"},chartjs:{axisLineColor:"#2a2a48",textColor:"#ffffff"}}},Y={name:"dark",displayName:"Dark",variables:{primary:"#d4a017",primaryLight:"#eab308",primaryFg:"#1a1a1a",success:"#22c55e",successLight:"#4ade80",info:"#14b8a6",infoLight:"#2dd4bf",warning:"#eab308",warningLight:"#facc15",danger:"#ef4444",dangerLight:"#f87171",bg:"#0f0f11",bg2:"#18181b",bg3:"#27272a",bg4:"#3f3f46",border:"#18181b",border2:"#27272a",border3:"#3f3f46",border4:"#52525b",border5:"#71717a",fg:"#a1a1aa",fgText:"#fafafa",fgHeading:"#ffffff",fgHighlight:"#fde047",separator:"#27272a",temperature:{arcFill:["#d4a017","#eab308","#fcd34d","#fde047","#fde047"],arcEmpty:"#27272a",thumbBg:"#27272a",thumbBorder:"#52525b"},solar:{gradientLeft:"#d4a017",gradientRight:"#eab308",shadowColor:"rgba(0, 0, 0, 0.3)",secondSeriesFill:"#27272a"},traffic:{tooltipBg:"#27272a",tooltipBorderColor:"#3f3f46",tooltipTextColor:"#fafafa",yAxisSplitLine:"#27272a",lineBg:"#3f3f46",itemColor:"#3f3f46",itemBorderColor:"#52525b",itemEmphasisBorderColor:"#eab308",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#27272a",gradTo:"#18181b"},electricity:{tooltipBg:"#27272a",tooltipLineColor:"#fafafa",tooltipBorderColor:"#3f3f46",tooltipTextColor:"#fafafa",axisLineColor:"#3f3f46",xAxisTextColor:"#a1a1aa",yAxisSplitLine:"#27272a",itemBorderColor:"#eab308",lineGradFrom:"#d4a017",lineGradTo:"#eab308",lineShadow:"rgba(212, 160, 23, 0.35)",areaGradFrom:"#27272a",areaGradTo:"#18181b",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#18181b",textColor:"#fafafa",axisLineColor:"#52525b",splitLineColor:"#27272a",itemHoverShadowColor:"rgba(0, 0, 0, 0.4)",tooltipBackgroundColor:"#27272a"},chartjs:{axisLineColor:"#3f3f46",textColor:"#fafafa"}}},M={name:"default",displayName:"Default",variables:{primary:"rgb(250, 30, 22)",primaryLight:"rgb(255, 120, 120)",primaryFg:"#ffffff",success:"rgb(62, 168, 30)",successLight:"rgb(220, 255, 210)",info:"rgb(255, 160, 150)",infoLight:"rgb(255, 200, 180)",warning:"rgb(248, 104, 7)",warningLight:"rgb(255, 140, 60)",danger:"rgb(211, 17, 11)",dangerLight:"rgb(243, 70, 64)",bg:"rgb(250, 250, 250)",bg2:"rgb(245, 245, 245)",bg3:"rgb(226, 224, 224)",bg4:"rgb(207, 207, 207)",border:"rgb(250, 250, 250)",border2:"rgb(245, 245, 245)",border3:"rgb(226, 224, 224)",border4:"rgb(207, 207, 207)",border5:"rgb(136, 136, 136)",fg:"rgb(136, 136, 136)",fgText:"rgb(22, 21, 21)",fgHeading:"rgb(0, 0, 0)",fgHighlight:"rgb(250, 30, 22)",separator:"rgb(226, 224, 224)",temperature:{arcFill:["rgb(255, 210, 210)","rgb(255, 200, 160)","rgb(255, 160, 150)","rgb(255, 120, 120)","rgb(250, 30, 22)"],arcEmpty:"rgb(245, 245, 245)",thumbBg:"rgb(245, 245, 245)",thumbBorder:"rgb(250, 30, 22)"},solar:{gradientLeft:"rgb(250, 30, 22)",gradientRight:"rgb(248, 104, 7)",shadowColor:"rgba(250, 30, 22, 0.1)",secondSeriesFill:"rgb(245, 245, 245)"},traffic:{tooltipBg:"rgb(250, 250, 250)",tooltipBorderColor:"rgb(245, 245, 245)",tooltipTextColor:"rgb(22, 21, 21)",yAxisSplitLine:"rgb(226, 224, 224)",lineBg:"rgb(207, 207, 207)",itemColor:"rgb(207, 207, 207)",itemBorderColor:"rgb(207, 207, 207)",itemEmphasisBorderColor:"rgb(250, 30, 22)",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"rgb(245, 245, 245)",gradTo:"rgb(245, 245, 245)"},electricity:{tooltipBg:"rgb(250, 250, 250)",tooltipLineColor:"rgb(22, 21, 21)",tooltipBorderColor:"rgb(245, 245, 245)",tooltipTextColor:"rgb(22, 21, 21)",axisLineColor:"rgb(226, 224, 224)",xAxisTextColor:"rgb(136, 136, 136)",yAxisSplitLine:"rgb(226, 224, 224)",itemBorderColor:"rgb(250, 30, 22)",lineGradFrom:"rgb(250, 30, 22)",lineGradTo:"rgb(248, 104, 7)",lineShadow:"rgba(250, 30, 22, 0.2)",areaGradFrom:"rgba(250, 30, 22, 0.1)",areaGradTo:"rgba(250, 30, 22, 0.05)",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"rgb(250, 250, 250)",textColor:"rgb(22, 21, 21)",axisLineColor:"rgb(136, 136, 136)",splitLineColor:"rgb(226, 224, 224)",itemHoverShadowColor:"rgba(250, 30, 22, 0.3)",tooltipBackgroundColor:"rgb(250, 30, 22)"},chartjs:{axisLineColor:"rgb(226, 224, 224)",textColor:"rgb(22, 21, 21)"}}},W={name:"forest",displayName:"Forest",variables:{primary:"#1F7A5A",primaryLight:"#E6F2EE",primaryFg:"#FFFFFF",success:"#1F7A5A",successLight:"#E6F2EE",info:"#2563EB",infoLight:"#E8F0FF",warning:"#B45309",warningLight:"#FFF4E5",danger:"#B42318",dangerLight:"#FDECEC",bg:"#FFFFFF",bg2:"#F7F9F8",bg3:"#EEF3F1",bg4:"#E6EFEC",border:"#E5E7EB",border2:"#D1D5DB",border3:"#C7D2CF",border4:"#B6C4BF",border5:"#1F7A5A",fg:"#111827",fgText:"#374151",fgHeading:"#0F172A",fgHighlight:"#1F7A5A",separator:"#E5E7EB",temperature:{arcFill:["#E6F2EE","#A7D8C6","#4AA987","#1F7A5A","#145A43"],arcEmpty:"#E5E7EB",thumbBg:"#1F7A5A",thumbBorder:"#145A43"},solar:{gradientLeft:"#E6F2EE",gradientRight:"#1F7A5A",shadowColor:"rgba(31, 122, 90, 0.25)",secondSeriesFill:"#A7D8C6"},traffic:{tooltipBg:"#FFFFFF",tooltipBorderColor:"#E5E7EB",tooltipTextColor:"#111827",yAxisSplitLine:"#E5E7EB",lineBg:"rgba(31, 122, 90, 0.08)",itemColor:"#1F7A5A",itemBorderColor:"#145A43",itemEmphasisBorderColor:"#0E5A41",shadowLineDarkBg:"rgba(31, 122, 90, 0.15)",shadowLineShadow:"rgba(31, 122, 90, 0.20)",gradFrom:"#E6F2EE",gradTo:"#1F7A5A"},electricity:{tooltipBg:"#FFFFFF",tooltipLineColor:"#1F7A5A",tooltipBorderColor:"#E5E7EB",tooltipTextColor:"#111827",axisLineColor:"#D1D5DB",xAxisTextColor:"#374151",yAxisSplitLine:"#E5E7EB",itemBorderColor:"#145A43",lineGradFrom:"#E6F2EE",lineGradTo:"#1F7A5A",lineShadow:"rgba(31, 122, 90, 0.25)",areaGradFrom:"rgba(31, 122, 90, 0.25)",areaGradTo:"rgba(31, 122, 90, 0.00)",shadowLineDarkBg:"rgba(31, 122, 90, 0.10)"},echarts:{bg:"#FFFFFF",textColor:"#111827",axisLineColor:"#D1D5DB",splitLineColor:"#E5E7EB",itemHoverShadowColor:"rgba(31, 122, 90, 0.25)",tooltipBackgroundColor:"#FFFFFF"},chartjs:{axisLineColor:"#D1D5DB",textColor:"#111827"}}},$={name:"light",displayName:"Light",variables:{primary:"#222b45",primaryLight:"#192038",primaryFg:"#ffffff",success:"#00d68f",successLight:"#33dfaa",info:"#0095ff",infoLight:"#33a7ff",warning:"#ffaa00",warningLight:"#ffbb33",danger:"#ff3d71",dangerLight:"#ff6491",bg:"#ffffff",bg2:"#f7f9fc",bg3:"#edf1f7",bg4:"#e4e9f2",border:"#ffffff",border2:"#f7f9fc",border3:"#edf1f7",border4:"#e4e9f2",border5:"#c5cee0",fg:"#8f9bb3",fgText:"#222b45",fgHeading:"#192038",fgHighlight:"#003694",separator:"#edf1f7",temperature:{arcFill:["#8f9bb3","#8f9bb3","#8f9bb3","#8f9bb3","#8f9bb3"],arcEmpty:"#f7f9fc",thumbBg:"#f7f9fc",thumbBorder:"#8f9bb3"},solar:{gradientLeft:"#8f9bb3",gradientRight:"#8f9bb3",shadowColor:"rgba(0, 0, 0, 0)",secondSeriesFill:"#f7f9fc"},traffic:{tooltipBg:"#ffffff",tooltipBorderColor:"#f7f9fc",tooltipTextColor:"#222b45",yAxisSplitLine:"#edf1f7",lineBg:"#e4e9f2",itemColor:"#e4e9f2",itemBorderColor:"#e4e9f2",itemEmphasisBorderColor:"#8f9bb3",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#f7f9fc",gradTo:"#f7f9fc"},electricity:{tooltipBg:"#ffffff",tooltipLineColor:"#222b45",tooltipBorderColor:"#f7f9fc",tooltipTextColor:"#222b45",axisLineColor:"#edf1f7",xAxisTextColor:"#8f9bb3",yAxisSplitLine:"#edf1f7",itemBorderColor:"#8f9bb3",lineGradFrom:"#8f9bb3",lineGradTo:"#8f9bb3",lineShadow:"rgba(0, 0, 0, 0)",areaGradFrom:"#f7f9fc",areaGradTo:"#f7f9fc",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#ffffff",textColor:"#222b45",axisLineColor:"#222b45",splitLineColor:"#edf1f7",itemHoverShadowColor:"rgba(0, 0, 0, 0.5)",tooltipBackgroundColor:"#8f9bb3"},chartjs:{axisLineColor:"#edf1f7",textColor:"#222b45"}}},X={name:"wheat",displayName:"麦田",variables:{primary:"rgb(201, 162, 39)",primaryLight:"rgb(230, 200, 120)",primaryFg:"#ffffff",success:"rgb(62, 168, 30)",successLight:"rgb(220, 255, 210)",info:"rgb(220, 180, 80)",infoLight:"rgb(255, 235, 180)",warning:"rgb(218, 165, 32)",warningLight:"rgb(255, 215, 120)",danger:"rgb(180, 130, 20)",dangerLight:"rgb(220, 180, 80)",bg:"rgb(250, 250, 250)",bg2:"rgb(245, 245, 245)",bg3:"rgb(226, 224, 224)",bg4:"rgb(207, 207, 207)",border:"rgb(250, 250, 250)",border2:"rgb(245, 245, 245)",border3:"rgb(226, 224, 224)",border4:"rgb(207, 207, 207)",border5:"rgb(136, 136, 136)",fg:"rgb(136, 136, 136)",fgText:"rgb(22, 21, 21)",fgHeading:"rgb(0, 0, 0)",fgHighlight:"rgb(201, 162, 39)",separator:"rgb(226, 224, 224)",temperature:{arcFill:["rgb(255, 245, 210)","rgb(255, 235, 180)","rgb(255, 220, 150)","rgb(230, 200, 120)","rgb(201, 162, 39)"],arcEmpty:"rgb(245, 245, 245)",thumbBg:"rgb(245, 245, 245)",thumbBorder:"rgb(201, 162, 39)"},solar:{gradientLeft:"rgb(201, 162, 39)",gradientRight:"rgb(218, 165, 32)",shadowColor:"rgba(201, 162, 39, 0.1)",secondSeriesFill:"rgb(245, 245, 245)"},traffic:{tooltipBg:"rgb(250, 250, 250)",tooltipBorderColor:"rgb(245, 245, 245)",tooltipTextColor:"rgb(22, 21, 21)",yAxisSplitLine:"rgb(226, 224, 224)",lineBg:"rgb(207, 207, 207)",itemColor:"rgb(207, 207, 207)",itemBorderColor:"rgb(207, 207, 207)",itemEmphasisBorderColor:"rgb(201, 162, 39)",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"rgb(245, 245, 245)",gradTo:"rgb(245, 245, 245)"},electricity:{tooltipBg:"rgb(250, 250, 250)",tooltipLineColor:"rgb(22, 21, 21)",tooltipBorderColor:"rgb(245, 245, 245)",tooltipTextColor:"rgb(22, 21, 21)",axisLineColor:"rgb(226, 224, 224)",xAxisTextColor:"rgb(136, 136, 136)",yAxisSplitLine:"rgb(226, 224, 224)",itemBorderColor:"rgb(201, 162, 39)",lineGradFrom:"rgb(201, 162, 39)",lineGradTo:"rgb(218, 165, 32)",lineShadow:"rgba(201, 162, 39, 0.2)",areaGradFrom:"rgba(201, 162, 39, 0.1)",areaGradTo:"rgba(201, 162, 39, 0.05)",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"rgb(250, 250, 250)",textColor:"rgb(22, 21, 21)",axisLineColor:"rgb(136, 136, 136)",splitLineColor:"rgb(226, 224, 224)",itemHoverShadowColor:"rgba(201, 162, 39, 0.3)",tooltipBackgroundColor:"rgb(201, 162, 39)"},chartjs:{axisLineColor:"rgb(226, 224, 224)",textColor:"rgb(22, 21, 21)"}}},z={name:"wine",displayName:"Wine",variables:{primary:"#800020",primaryLight:"#F4E6E9",primaryFg:"#F4E6E9",success:"#6b8f6b",successLight:"#8aaa8e",info:"#8a6a6a",infoLight:"#a88a8a",warning:"#c49050",warningLight:"#d4b080",danger:"#b85050",dangerLight:"#d07070",bg:"#2A0B12",bg2:"#3A0F1A",bg3:"#4A1322",bg4:"#4A1322",border:"#2A0B12",border2:"#3A0F1A",border3:"#4A1322",border4:"#800020",border5:"#B23A5C",fg:"#C97A8A",fgText:"#F4E6E9",fgHeading:"#F4E6E9",fgHighlight:"#F4E6E9",separator:"#3A0F1A",temperature:{arcFill:["#800020","#9A1F3D","#B23A5C","#C97A8A","#F4E6E9"],arcEmpty:"#2A0B12",thumbBg:"#3A0F1A",thumbBorder:"#800020"},solar:{gradientLeft:"#800020",gradientRight:"#F4E6E9",shadowColor:"rgba(0, 0, 0, 0.4)",secondSeriesFill:"#3A0F1A"},traffic:{tooltipBg:"#4A1322",tooltipBorderColor:"#B23A5C",tooltipTextColor:"#F4E6E9",yAxisSplitLine:"#3A0F1A",lineBg:"#3A0F1A",itemColor:"#2A0B12",itemBorderColor:"#800020",itemEmphasisBorderColor:"#F4E6E9",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#3A0F1A",gradTo:"#2A0B12"},electricity:{tooltipBg:"#3A0F1A",tooltipLineColor:"#F4E6E9",tooltipBorderColor:"#800020",tooltipTextColor:"#F4E6E9",axisLineColor:"#B23A5C",xAxisTextColor:"#C97A8A",yAxisSplitLine:"#3A0F1A",itemBorderColor:"#800020",lineGradFrom:"#800020",lineGradTo:"#F4E6E9",lineShadow:"rgba(128, 0, 32, 0.35)",areaGradFrom:"#3A0F1A",areaGradTo:"#2A0B12",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#2A0B12",textColor:"#F4E6E9",axisLineColor:"#B23A5C",splitLineColor:"#3A0F1A",itemHoverShadowColor:"rgba(0, 0, 0, 0.4)",tooltipBackgroundColor:"#3A0F1A"},chartjs:{axisLineColor:"#B23A5C",textColor:"#F4E6E9"}}};var E={colors:M,base:i},J={colors:$,base:i},B={colors:Y,base:i},L={colors:q,base:i},u={colors:K,base:i},A={colors:W,base:i},T={colors:V,base:i},x={colors:z,base:i},Q={colors:X,base:i};const n={[o.ThemeEnum.DEFAULT]:E,[o.ThemeEnum.LIGHT]:J,[o.ThemeEnum.DARK]:B,[o.ThemeEnum.COSMIC]:L,[o.ThemeEnum.CORPORATE]:u,[o.ThemeEnum.FOREST]:A,[o.ThemeEnum.COFFEE]:T,[o.ThemeEnum.WINE]:x,[o.ThemeEnum.WHEAT]:Q};var w=(0,g.memo)(({children:t,defaultTheme:b=o.ThemeEnum.DEFAULT,defaultBase:r=o.BaseEnum.DEFAULT})=>{const[e,s]=(0,g.useState)(()=>{const a=h();return a!=null&&a in n?a:b}),[f,d]=(0,g.useState)(()=>{const a=y();return a??r}),m=(0,g.useMemo)(()=>({colors:n[e].colors,base:C[f]}),[e,f]);G(m,e);const S=a=>{s(a)},P=a=>{d(a),F(a)};return(0,D.jsx)(c.ThemeContext.Provider,{value:{currentTheme:m,themeName:e,baseName:f,setTheme:S,setBase:P,availableThemes:o.THEME_VALUES,availableBases:o.BASE_VALUES},children:t})});w.displayName="ThemeProvider";exports.BASE_STORAGE_KEY=o.BASE_STORAGE_KEY;exports.BASE_VALUES=o.BASE_VALUES;exports.BaseEnum=o.BaseEnum;exports.COLOR_STORAGE_KEY=o.COLOR_STORAGE_KEY;exports.DEFAULT_BASE=o.DEFAULT_BASE;exports.DEFAULT_THEME=o.DEFAULT_THEME;exports.THEME_VALUES=o.THEME_VALUES;exports.ThemeContext=c.ThemeContext;exports.ThemeEnum=o.ThemeEnum;exports.ThemeProvider=w;exports.bases=C;exports.coffeeTheme=T;exports.corporateTheme=u;exports.cosmicTheme=L;exports.darkTheme=B;exports.defaultTheme=E;exports.forestTheme=A;exports.getThemeBaseStorage=y;exports.getThemeColorStorage=h;exports.removeThemeStorage=v;exports.setThemeBaseStorage=F;exports.setThemeColorStorage=p;exports.themes=n;exports.useTheme=c.useTheme;exports.wineTheme=x;
3
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Z=require("./chunk-chunk-BFrxaqQT.cjs"),o=require("./chunk-types-BNUlgEkq.cjs"),l=require("./chunk-lstorage-BnxLXHgH.cjs"),c=require("./chunk-useTheme-DgleVMMh.cjs");let g=require("react"),D=require("react/jsx-runtime");function h(){const t=l.getItem(o.COLOR_STORAGE_KEY);return t==null||o.THEME_VALUES.includes(t)?t:void 0}function p(t){l.setItem(o.COLOR_STORAGE_KEY,t)}function y(){const t=l.getItem(o.BASE_STORAGE_KEY);return t==null||o.BASE_VALUES.includes(t)?t:void 0}function F(t){l.setItem(o.BASE_STORAGE_KEY,t)}function v(){l.removeItem(o.COLOR_STORAGE_KEY),l.removeItem(o.BASE_STORAGE_KEY)}var G=(t,b)=>{(0,g.useEffect)(()=>{const r=document.documentElement,e=t.colors.variables,f=t.base.variables;r.style.setProperty("--color-primary",e.primary),r.style.setProperty("--color-primary-light",e.primaryLight),r.style.setProperty("--color-primary-fg",e.primaryFg),r.style.setProperty("--color-success",e.success),r.style.setProperty("--color-success-light",e.successLight),r.style.setProperty("--color-info",e.info),r.style.setProperty("--color-info-light",e.infoLight),r.style.setProperty("--color-warning",e.warning),r.style.setProperty("--color-warning-light",e.warningLight),r.style.setProperty("--color-danger",e.danger),r.style.setProperty("--color-danger-light",e.dangerLight),r.style.setProperty("--color-bg",e.bg),r.style.setProperty("--color-bg-2",e.bg2),r.style.setProperty("--color-bg-3",e.bg3),r.style.setProperty("--color-bg-4",e.bg4),r.style.setProperty("--color-border",e.border),r.style.setProperty("--color-border-2",e.border2),r.style.setProperty("--color-border-3",e.border3),r.style.setProperty("--color-border-4",e.border4),r.style.setProperty("--color-border-5",e.border5),r.style.setProperty("--color-fg",e.fg),r.style.setProperty("--color-fg-text",e.fgText),r.style.setProperty("--color-fg-heading",e.fgHeading),r.style.setProperty("--color-fg-highlight",e.fgHighlight),r.style.setProperty("--color-fg-on-primary",e.fgOnPrimary),r.style.setProperty("--color-separator",e.separator),r.style.setProperty("--radius-button",`${f.buttonRadius}px`),r.style.setProperty("--radius-card",`${f.cardRadius}px`),r.style.setProperty("--radius-input",`${f.inputRadius}px`),e.temperature.arcFill.forEach((s,d)=>{r.style.setProperty(`--temperature-arc-fill-${d}`,s)}),r.style.setProperty("--temperature-arc-empty",e.temperature.arcEmpty),r.style.setProperty("--temperature-thumb-bg",e.temperature.thumbBg),r.style.setProperty("--temperature-thumb-border",e.temperature.thumbBorder),r.style.setProperty("--solar-gradient-left",e.solar.gradientLeft),r.style.setProperty("--solar-gradient-right",e.solar.gradientRight),r.style.setProperty("--solar-shadow-color",e.solar.shadowColor),r.style.setProperty("--solar-second-series-fill",e.solar.secondSeriesFill),r.style.setProperty("--traffic-tooltip-bg",e.traffic.tooltipBg),r.style.setProperty("--traffic-tooltip-border-color",e.traffic.tooltipBorderColor),r.style.setProperty("--traffic-tooltip-text-color",e.traffic.tooltipTextColor),r.style.setProperty("--traffic-y-axis-split-line",e.traffic.yAxisSplitLine),r.style.setProperty("--traffic-line-bg",e.traffic.lineBg),r.style.setProperty("--traffic-item-color",e.traffic.itemColor),r.style.setProperty("--traffic-item-border-color",e.traffic.itemBorderColor),r.style.setProperty("--traffic-item-emphasis-border-color",e.traffic.itemEmphasisBorderColor),r.style.setProperty("--traffic-shadow-line-dark-bg",e.traffic.shadowLineDarkBg),r.style.setProperty("--traffic-shadow-line-shadow",e.traffic.shadowLineShadow),r.style.setProperty("--traffic-grad-from",e.traffic.gradFrom),r.style.setProperty("--traffic-grad-to",e.traffic.gradTo),r.style.setProperty("--electricity-tooltip-bg",e.electricity.tooltipBg),r.style.setProperty("--electricity-tooltip-line-color",e.electricity.tooltipLineColor),r.style.setProperty("--electricity-tooltip-border-color",e.electricity.tooltipBorderColor),r.style.setProperty("--electricity-tooltip-text-color",e.electricity.tooltipTextColor),r.style.setProperty("--electricity-axis-line-color",e.electricity.axisLineColor),r.style.setProperty("--electricity-x-axis-text-color",e.electricity.xAxisTextColor),r.style.setProperty("--electricity-y-axis-split-line",e.electricity.yAxisSplitLine),r.style.setProperty("--electricity-item-border-color",e.electricity.itemBorderColor),r.style.setProperty("--electricity-line-grad-from",e.electricity.lineGradFrom),r.style.setProperty("--electricity-line-grad-to",e.electricity.lineGradTo),r.style.setProperty("--electricity-line-shadow",e.electricity.lineShadow),r.style.setProperty("--electricity-area-grad-from",e.electricity.areaGradFrom),r.style.setProperty("--electricity-area-grad-to",e.electricity.areaGradTo),r.style.setProperty("--electricity-shadow-line-dark-bg",e.electricity.shadowLineDarkBg),r.style.setProperty("--echarts-bg",e.echarts.bg),r.style.setProperty("--echarts-text-color",e.echarts.textColor),r.style.setProperty("--echarts-axis-line-color",e.echarts.axisLineColor),r.style.setProperty("--echarts-split-line-color",e.echarts.splitLineColor),r.style.setProperty("--echarts-item-hover-shadow-color",e.echarts.itemHoverShadowColor),r.style.setProperty("--echarts-tooltip-bg-color",e.echarts.tooltipBackgroundColor),r.style.setProperty("--chartjs-axis-line-color",e.chartjs.axisLineColor),r.style.setProperty("--chartjs-text-color",e.chartjs.textColor),p(b)},[b,t])};const R={buttonRadius:6,cardRadius:6,inputRadius:6},O={name:o.BaseEnum.ANDROID,displayName:"Android",variables:R},k={buttonRadius:8,cardRadius:8,inputRadius:6},i={name:o.BaseEnum.DEFAULT,displayName:"Default",variables:k},H={buttonRadius:24,cardRadius:24,inputRadius:24},_={name:o.BaseEnum.IOS,displayName:"iOS",variables:H},N={buttonRadius:4,cardRadius:4,inputRadius:4},U={name:o.BaseEnum.LINUX,displayName:"Linux",variables:N},I={buttonRadius:6,cardRadius:6,inputRadius:6},j={name:o.BaseEnum.WINDOWS,displayName:"Windows",variables:I},C={[o.BaseEnum.DEFAULT]:i,[o.BaseEnum.IOS]:_,[o.BaseEnum.ANDROID]:O,[o.BaseEnum.WINDOWS]:j,[o.BaseEnum.LINUX]:U},V={name:"coffee",displayName:"Coffee",variables:{primary:"#AF8F6F",primaryLight:"#F8F4E1",primaryFg:"#2a1f18",success:"#6d8f72",successLight:"#8aaa8e",info:"#8a7a6a",infoLight:"#a89888",warning:"#b8926a",warningLight:"#d4b896",danger:"#a65d5d",dangerLight:"#c07d7d",bg:"#2e1a08",bg2:"#543310",bg3:"#493628",bg4:"#74512D",border:"#493628",border2:"#543310",border3:"#74512D",border4:"#AF8F6F",border5:"#D6C0B3",fg:"#AF8F6F",fgText:"#F8F4E1",fgHeading:"#F8F4E1",fgHighlight:"#E4E0E1",fgOnPrimary:"#2e1a08",separator:"#493628",temperature:{arcFill:["#AF8F6F","#AB886D","#D6C0B3","#E4E0E1","#F8F4E1"],arcEmpty:"#543310",thumbBg:"#493628",thumbBorder:"#AF8F6F"},solar:{gradientLeft:"#AF8F6F",gradientRight:"#F8F4E1",shadowColor:"rgba(0, 0, 0, 0.35)",secondSeriesFill:"#493628"},traffic:{tooltipBg:"#74512D",tooltipBorderColor:"#AF8F6F",tooltipTextColor:"#F8F4E1",yAxisSplitLine:"#543310",lineBg:"#493628",itemColor:"#543310",itemBorderColor:"#AF8F6F",itemEmphasisBorderColor:"#F8F4E1",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#493628",gradTo:"#2e1a08"},electricity:{tooltipBg:"#543310",tooltipLineColor:"#F8F4E1",tooltipBorderColor:"#AF8F6F",tooltipTextColor:"#F8F4E1",axisLineColor:"#AF8F6F",xAxisTextColor:"#AF8F6F",yAxisSplitLine:"#543310",itemBorderColor:"#AF8F6F",lineGradFrom:"#AF8F6F",lineGradTo:"#F8F4E1",lineShadow:"rgba(175, 143, 111, 0.3)",areaGradFrom:"#493628",areaGradTo:"#2e1a08",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#2e1a08",textColor:"#F8F4E1",axisLineColor:"#AF8F6F",splitLineColor:"#493628",itemHoverShadowColor:"rgba(0, 0, 0, 0.4)",tooltipBackgroundColor:"#543310"},chartjs:{axisLineColor:"#AF8F6F",textColor:"#F8F4E1"}}},K={name:"corporate",displayName:"Corporate",variables:{primary:"#3366ff",primaryLight:"#598bff",primaryFg:"#ffffff",success:"#00d68f",successLight:"#33dfaa",info:"#0095ff",infoLight:"#33a7ff",warning:"#ffaa00",warningLight:"#ffbb33",danger:"#ff3d71",dangerLight:"#ff6491",bg:"#ffffff",bg2:"#f7f9fc",bg3:"#edf1f7",bg4:"#e4e9f2",border:"#ffffff",border2:"#f7f9fc",border3:"#edf1f7",border4:"#e4e9f2",border5:"#c5cee0",fg:"#8f9bb3",fgText:"#222b45",fgHeading:"#192038",fgHighlight:"#003694",fgOnPrimary:"#ffffff",separator:"#edf1f7",temperature:{arcFill:["#ffa36b","#ffa36b","#ff9e7a","#ff9888","#ff8ea0"],arcEmpty:"#f7f9fc",thumbBg:"#f7f9fc",thumbBorder:"#ffa36b"},solar:{gradientLeft:"#3366ff",gradientRight:"#3366ff",shadowColor:"rgba(0, 0, 0, 0)",secondSeriesFill:"#f7f9fc"},traffic:{tooltipBg:"#ffffff",tooltipBorderColor:"#f7f9fc",tooltipTextColor:"#222b45",yAxisSplitLine:"rgba(0, 0, 0, 0)",lineBg:"#3366ff",itemColor:"#e4e9f2",itemBorderColor:"#e4e9f2",itemEmphasisBorderColor:"#598bff",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#ffffff",gradTo:"#ffffff"},electricity:{tooltipBg:"#ffffff",tooltipLineColor:"#222b45",tooltipBorderColor:"#f7f9fc",tooltipTextColor:"#222b45",axisLineColor:"#edf1f7",xAxisTextColor:"#8f9bb3",yAxisSplitLine:"#edf1f7",itemBorderColor:"#3366ff",lineGradFrom:"#3366ff",lineGradTo:"#3366ff",lineShadow:"rgba(0, 0, 0, 0)",areaGradFrom:"rgba(0, 0, 0, 0)",areaGradTo:"rgba(0, 0, 0, 0)",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#ffffff",textColor:"#222b45",axisLineColor:"#222b45",splitLineColor:"#edf1f7",itemHoverShadowColor:"rgba(0, 0, 0, 0.5)",tooltipBackgroundColor:"#3366ff"},chartjs:{axisLineColor:"#edf1f7",textColor:"#222b45"}}},q={name:"cosmic",displayName:"Cosmic",variables:{primary:"#a16eff",primaryLight:"#b489ff",primaryFg:"#ffffff",success:"#00d68f",successLight:"#33dfaa",info:"#0095ff",infoLight:"#33a7ff",warning:"#ffaa00",warningLight:"#ffbb33",danger:"#ff3d71",dangerLight:"#ff6491",bg:"#323259",bg2:"#2a2a48",bg3:"#272741",bg4:"#1f1f3a",border:"#323259",border2:"#2a2a48",border3:"#272741",border4:"#1f1f3a",border5:"#1f1f3a",fg:"#b4b4db",fgText:"#ffffff",fgHeading:"#ffffff",fgHighlight:"#a16eff",fgOnPrimary:"#323259",separator:"#2a2a48",temperature:{arcFill:["#2ec7fe","#31ffad","#7bff24","#fff024","#f7bd59"],arcEmpty:"#2a2a48",thumbBg:"#ffffff",thumbBorder:"#ffffff"},solar:{gradientLeft:"#a16eff",gradientRight:"#a16eff",shadowColor:"rgba(0, 0, 0, 0)",secondSeriesFill:"#2a2a48"},traffic:{tooltipBg:"#323259",tooltipBorderColor:"#2a2a48",tooltipTextColor:"#ffffff",yAxisSplitLine:"#2a2a48",lineBg:"#2a2a48",itemColor:"#2a2a48",itemBorderColor:"#2a2a48",itemEmphasisBorderColor:"#a16eff",shadowLineDarkBg:"#272741",shadowLineShadow:"#272741",gradFrom:"#323259",gradTo:"#2a2a48"},electricity:{tooltipBg:"#323259",tooltipLineColor:"#ffffff",tooltipBorderColor:"#2a2a48",tooltipTextColor:"#ffffff",axisLineColor:"#272741",xAxisTextColor:"#b4b4db",yAxisSplitLine:"#2a2a48",itemBorderColor:"#2a2a48",lineGradFrom:"#00d68f",lineGradTo:"#ffaa00",lineShadow:"#1f1f3a",areaGradFrom:"#2a2a48",areaGradTo:"#272741",shadowLineDarkBg:"#272741"},echarts:{bg:"#323259",textColor:"#ffffff",axisLineColor:"#ffffff",splitLineColor:"#2a2a48",itemHoverShadowColor:"rgba(0, 0, 0, 0.5)",tooltipBackgroundColor:"#a16eff"},chartjs:{axisLineColor:"#2a2a48",textColor:"#ffffff"}}},Y={name:"dark",displayName:"Dark",variables:{primary:"#d4a017",primaryLight:"#eab308",primaryFg:"#1a1a1a",success:"#22c55e",successLight:"#4ade80",info:"#14b8a6",infoLight:"#2dd4bf",warning:"#eab308",warningLight:"#facc15",danger:"#ef4444",dangerLight:"#f87171",bg:"#0f0f11",bg2:"#18181b",bg3:"#27272a",bg4:"#3f3f46",border:"#18181b",border2:"#27272a",border3:"#3f3f46",border4:"#52525b",border5:"#71717a",fg:"#a1a1aa",fgText:"#fafafa",fgHeading:"#ffffff",fgHighlight:"#fde047",fgOnPrimary:"#0f0f11",separator:"#27272a",temperature:{arcFill:["#d4a017","#eab308","#fcd34d","#fde047","#fde047"],arcEmpty:"#27272a",thumbBg:"#27272a",thumbBorder:"#52525b"},solar:{gradientLeft:"#d4a017",gradientRight:"#eab308",shadowColor:"rgba(0, 0, 0, 0.3)",secondSeriesFill:"#27272a"},traffic:{tooltipBg:"#27272a",tooltipBorderColor:"#3f3f46",tooltipTextColor:"#fafafa",yAxisSplitLine:"#27272a",lineBg:"#3f3f46",itemColor:"#3f3f46",itemBorderColor:"#52525b",itemEmphasisBorderColor:"#eab308",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#27272a",gradTo:"#18181b"},electricity:{tooltipBg:"#27272a",tooltipLineColor:"#fafafa",tooltipBorderColor:"#3f3f46",tooltipTextColor:"#fafafa",axisLineColor:"#3f3f46",xAxisTextColor:"#a1a1aa",yAxisSplitLine:"#27272a",itemBorderColor:"#eab308",lineGradFrom:"#d4a017",lineGradTo:"#eab308",lineShadow:"rgba(212, 160, 23, 0.35)",areaGradFrom:"#27272a",areaGradTo:"#18181b",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#18181b",textColor:"#fafafa",axisLineColor:"#52525b",splitLineColor:"#27272a",itemHoverShadowColor:"rgba(0, 0, 0, 0.4)",tooltipBackgroundColor:"#27272a"},chartjs:{axisLineColor:"#3f3f46",textColor:"#fafafa"}}},M={name:"default",displayName:"Default",variables:{primary:"rgb(250, 30, 22)",primaryLight:"rgb(255, 120, 120)",primaryFg:"#ffffff",success:"rgb(62, 168, 30)",successLight:"rgb(220, 255, 210)",info:"rgb(255, 160, 150)",infoLight:"rgb(255, 200, 180)",warning:"rgb(248, 104, 7)",warningLight:"rgb(255, 140, 60)",danger:"rgb(211, 17, 11)",dangerLight:"rgb(243, 70, 64)",bg:"rgb(250, 250, 250)",bg2:"rgb(245, 245, 245)",bg3:"rgb(226, 224, 224)",bg4:"rgb(207, 207, 207)",border:"rgb(250, 250, 250)",border2:"rgb(245, 245, 245)",border3:"rgb(226, 224, 224)",border4:"rgb(207, 207, 207)",border5:"rgb(136, 136, 136)",fg:"rgb(136, 136, 136)",fgText:"rgb(22, 21, 21)",fgHeading:"rgb(0, 0, 0)",fgHighlight:"rgb(250, 30, 22)",fgOnPrimary:"rgb(250, 250, 250)",separator:"rgb(226, 224, 224)",temperature:{arcFill:["rgb(255, 210, 210)","rgb(255, 200, 160)","rgb(255, 160, 150)","rgb(255, 120, 120)","rgb(250, 30, 22)"],arcEmpty:"rgb(245, 245, 245)",thumbBg:"rgb(245, 245, 245)",thumbBorder:"rgb(250, 30, 22)"},solar:{gradientLeft:"rgb(250, 30, 22)",gradientRight:"rgb(248, 104, 7)",shadowColor:"rgba(250, 30, 22, 0.1)",secondSeriesFill:"rgb(245, 245, 245)"},traffic:{tooltipBg:"rgb(250, 250, 250)",tooltipBorderColor:"rgb(245, 245, 245)",tooltipTextColor:"rgb(22, 21, 21)",yAxisSplitLine:"rgb(226, 224, 224)",lineBg:"rgb(207, 207, 207)",itemColor:"rgb(207, 207, 207)",itemBorderColor:"rgb(207, 207, 207)",itemEmphasisBorderColor:"rgb(250, 30, 22)",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"rgb(245, 245, 245)",gradTo:"rgb(245, 245, 245)"},electricity:{tooltipBg:"rgb(250, 250, 250)",tooltipLineColor:"rgb(22, 21, 21)",tooltipBorderColor:"rgb(245, 245, 245)",tooltipTextColor:"rgb(22, 21, 21)",axisLineColor:"rgb(226, 224, 224)",xAxisTextColor:"rgb(136, 136, 136)",yAxisSplitLine:"rgb(226, 224, 224)",itemBorderColor:"rgb(250, 30, 22)",lineGradFrom:"rgb(250, 30, 22)",lineGradTo:"rgb(248, 104, 7)",lineShadow:"rgba(250, 30, 22, 0.2)",areaGradFrom:"rgba(250, 30, 22, 0.1)",areaGradTo:"rgba(250, 30, 22, 0.05)",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"rgb(250, 250, 250)",textColor:"rgb(22, 21, 21)",axisLineColor:"rgb(136, 136, 136)",splitLineColor:"rgb(226, 224, 224)",itemHoverShadowColor:"rgba(250, 30, 22, 0.3)",tooltipBackgroundColor:"rgb(250, 30, 22)"},chartjs:{axisLineColor:"rgb(226, 224, 224)",textColor:"rgb(22, 21, 21)"}}},W={name:"forest",displayName:"Forest",variables:{primary:"#1F7A5A",primaryLight:"#E6F2EE",primaryFg:"#FFFFFF",success:"#1F7A5A",successLight:"#E6F2EE",info:"#2563EB",infoLight:"#E8F0FF",warning:"#B45309",warningLight:"#FFF4E5",danger:"#B42318",dangerLight:"#FDECEC",bg:"#FFFFFF",bg2:"#F7F9F8",bg3:"#EEF3F1",bg4:"#E6EFEC",border:"#E5E7EB",border2:"#D1D5DB",border3:"#C7D2CF",border4:"#B6C4BF",border5:"#1F7A5A",fg:"#111827",fgText:"#374151",fgHeading:"#0F172A",fgHighlight:"#1F7A5A",fgOnPrimary:"#FFFFFF",separator:"#E5E7EB",temperature:{arcFill:["#E6F2EE","#A7D8C6","#4AA987","#1F7A5A","#145A43"],arcEmpty:"#E5E7EB",thumbBg:"#1F7A5A",thumbBorder:"#145A43"},solar:{gradientLeft:"#E6F2EE",gradientRight:"#1F7A5A",shadowColor:"rgba(31, 122, 90, 0.25)",secondSeriesFill:"#A7D8C6"},traffic:{tooltipBg:"#FFFFFF",tooltipBorderColor:"#E5E7EB",tooltipTextColor:"#111827",yAxisSplitLine:"#E5E7EB",lineBg:"rgba(31, 122, 90, 0.08)",itemColor:"#1F7A5A",itemBorderColor:"#145A43",itemEmphasisBorderColor:"#0E5A41",shadowLineDarkBg:"rgba(31, 122, 90, 0.15)",shadowLineShadow:"rgba(31, 122, 90, 0.20)",gradFrom:"#E6F2EE",gradTo:"#1F7A5A"},electricity:{tooltipBg:"#FFFFFF",tooltipLineColor:"#1F7A5A",tooltipBorderColor:"#E5E7EB",tooltipTextColor:"#111827",axisLineColor:"#D1D5DB",xAxisTextColor:"#374151",yAxisSplitLine:"#E5E7EB",itemBorderColor:"#145A43",lineGradFrom:"#E6F2EE",lineGradTo:"#1F7A5A",lineShadow:"rgba(31, 122, 90, 0.25)",areaGradFrom:"rgba(31, 122, 90, 0.25)",areaGradTo:"rgba(31, 122, 90, 0.00)",shadowLineDarkBg:"rgba(31, 122, 90, 0.10)"},echarts:{bg:"#FFFFFF",textColor:"#111827",axisLineColor:"#D1D5DB",splitLineColor:"#E5E7EB",itemHoverShadowColor:"rgba(31, 122, 90, 0.25)",tooltipBackgroundColor:"#FFFFFF"},chartjs:{axisLineColor:"#D1D5DB",textColor:"#111827"}}},$={name:"light",displayName:"Light",variables:{primary:"#222b45",primaryLight:"#192038",primaryFg:"#ffffff",success:"#00d68f",successLight:"#33dfaa",info:"#0095ff",infoLight:"#33a7ff",warning:"#ffaa00",warningLight:"#ffbb33",danger:"#ff3d71",dangerLight:"#ff6491",bg:"#ffffff",bg2:"#f7f9fc",bg3:"#edf1f7",bg4:"#e4e9f2",border:"#ffffff",border2:"#f7f9fc",border3:"#edf1f7",border4:"#e4e9f2",border5:"#c5cee0",fg:"#8f9bb3",fgText:"#222b45",fgHeading:"#192038",fgHighlight:"#003694",fgOnPrimary:"#ffffff",separator:"#edf1f7",temperature:{arcFill:["#8f9bb3","#8f9bb3","#8f9bb3","#8f9bb3","#8f9bb3"],arcEmpty:"#f7f9fc",thumbBg:"#f7f9fc",thumbBorder:"#8f9bb3"},solar:{gradientLeft:"#8f9bb3",gradientRight:"#8f9bb3",shadowColor:"rgba(0, 0, 0, 0)",secondSeriesFill:"#f7f9fc"},traffic:{tooltipBg:"#ffffff",tooltipBorderColor:"#f7f9fc",tooltipTextColor:"#222b45",yAxisSplitLine:"#edf1f7",lineBg:"#e4e9f2",itemColor:"#e4e9f2",itemBorderColor:"#e4e9f2",itemEmphasisBorderColor:"#8f9bb3",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#f7f9fc",gradTo:"#f7f9fc"},electricity:{tooltipBg:"#ffffff",tooltipLineColor:"#222b45",tooltipBorderColor:"#f7f9fc",tooltipTextColor:"#222b45",axisLineColor:"#edf1f7",xAxisTextColor:"#8f9bb3",yAxisSplitLine:"#edf1f7",itemBorderColor:"#8f9bb3",lineGradFrom:"#8f9bb3",lineGradTo:"#8f9bb3",lineShadow:"rgba(0, 0, 0, 0)",areaGradFrom:"#f7f9fc",areaGradTo:"#f7f9fc",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#ffffff",textColor:"#222b45",axisLineColor:"#222b45",splitLineColor:"#edf1f7",itemHoverShadowColor:"rgba(0, 0, 0, 0.5)",tooltipBackgroundColor:"#8f9bb3"},chartjs:{axisLineColor:"#edf1f7",textColor:"#222b45"}}},X={name:"wheat",displayName:"麦田",variables:{primary:"rgb(201, 162, 39)",primaryLight:"rgb(230, 200, 120)",primaryFg:"#ffffff",success:"rgb(62, 168, 30)",successLight:"rgb(220, 255, 210)",info:"rgb(220, 180, 80)",infoLight:"rgb(255, 235, 180)",warning:"rgb(218, 165, 32)",warningLight:"rgb(255, 215, 120)",danger:"rgb(180, 130, 20)",dangerLight:"rgb(220, 180, 80)",bg:"rgb(250, 250, 250)",bg2:"rgb(245, 245, 245)",bg3:"rgb(226, 224, 224)",bg4:"rgb(207, 207, 207)",border:"rgb(250, 250, 250)",border2:"rgb(245, 245, 245)",border3:"rgb(226, 224, 224)",border4:"rgb(207, 207, 207)",border5:"rgb(136, 136, 136)",fg:"rgb(136, 136, 136)",fgText:"rgb(22, 21, 21)",fgHeading:"rgb(0, 0, 0)",fgHighlight:"rgb(201, 162, 39)",fgOnPrimary:"rgb(250, 250, 250)",separator:"rgb(226, 224, 224)",temperature:{arcFill:["rgb(255, 245, 210)","rgb(255, 235, 180)","rgb(255, 220, 150)","rgb(230, 200, 120)","rgb(201, 162, 39)"],arcEmpty:"rgb(245, 245, 245)",thumbBg:"rgb(245, 245, 245)",thumbBorder:"rgb(201, 162, 39)"},solar:{gradientLeft:"rgb(201, 162, 39)",gradientRight:"rgb(218, 165, 32)",shadowColor:"rgba(201, 162, 39, 0.1)",secondSeriesFill:"rgb(245, 245, 245)"},traffic:{tooltipBg:"rgb(250, 250, 250)",tooltipBorderColor:"rgb(245, 245, 245)",tooltipTextColor:"rgb(22, 21, 21)",yAxisSplitLine:"rgb(226, 224, 224)",lineBg:"rgb(207, 207, 207)",itemColor:"rgb(207, 207, 207)",itemBorderColor:"rgb(207, 207, 207)",itemEmphasisBorderColor:"rgb(201, 162, 39)",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"rgb(245, 245, 245)",gradTo:"rgb(245, 245, 245)"},electricity:{tooltipBg:"rgb(250, 250, 250)",tooltipLineColor:"rgb(22, 21, 21)",tooltipBorderColor:"rgb(245, 245, 245)",tooltipTextColor:"rgb(22, 21, 21)",axisLineColor:"rgb(226, 224, 224)",xAxisTextColor:"rgb(136, 136, 136)",yAxisSplitLine:"rgb(226, 224, 224)",itemBorderColor:"rgb(201, 162, 39)",lineGradFrom:"rgb(201, 162, 39)",lineGradTo:"rgb(218, 165, 32)",lineShadow:"rgba(201, 162, 39, 0.2)",areaGradFrom:"rgba(201, 162, 39, 0.1)",areaGradTo:"rgba(201, 162, 39, 0.05)",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"rgb(250, 250, 250)",textColor:"rgb(22, 21, 21)",axisLineColor:"rgb(136, 136, 136)",splitLineColor:"rgb(226, 224, 224)",itemHoverShadowColor:"rgba(201, 162, 39, 0.3)",tooltipBackgroundColor:"rgb(201, 162, 39)"},chartjs:{axisLineColor:"rgb(226, 224, 224)",textColor:"rgb(22, 21, 21)"}}},z={name:"wine",displayName:"Wine",variables:{primary:"#800020",primaryLight:"#F4E6E9",primaryFg:"#F4E6E9",success:"#6b8f6b",successLight:"#8aaa8e",info:"#8a6a6a",infoLight:"#a88a8a",warning:"#c49050",warningLight:"#d4b080",danger:"#b85050",dangerLight:"#d07070",bg:"#2A0B12",bg2:"#3A0F1A",bg3:"#4A1322",bg4:"#4A1322",border:"#2A0B12",border2:"#3A0F1A",border3:"#4A1322",border4:"#800020",border5:"#B23A5C",fg:"#C97A8A",fgText:"#F4E6E9",fgHeading:"#F4E6E9",fgHighlight:"#F4E6E9",fgOnPrimary:"#2A0B12",separator:"#3A0F1A",temperature:{arcFill:["#800020","#9A1F3D","#B23A5C","#C97A8A","#F4E6E9"],arcEmpty:"#2A0B12",thumbBg:"#3A0F1A",thumbBorder:"#800020"},solar:{gradientLeft:"#800020",gradientRight:"#F4E6E9",shadowColor:"rgba(0, 0, 0, 0.4)",secondSeriesFill:"#3A0F1A"},traffic:{tooltipBg:"#4A1322",tooltipBorderColor:"#B23A5C",tooltipTextColor:"#F4E6E9",yAxisSplitLine:"#3A0F1A",lineBg:"#3A0F1A",itemColor:"#2A0B12",itemBorderColor:"#800020",itemEmphasisBorderColor:"#F4E6E9",shadowLineDarkBg:"rgba(0, 0, 0, 0)",shadowLineShadow:"rgba(0, 0, 0, 0)",gradFrom:"#3A0F1A",gradTo:"#2A0B12"},electricity:{tooltipBg:"#3A0F1A",tooltipLineColor:"#F4E6E9",tooltipBorderColor:"#800020",tooltipTextColor:"#F4E6E9",axisLineColor:"#B23A5C",xAxisTextColor:"#C97A8A",yAxisSplitLine:"#3A0F1A",itemBorderColor:"#800020",lineGradFrom:"#800020",lineGradTo:"#F4E6E9",lineShadow:"rgba(128, 0, 32, 0.35)",areaGradFrom:"#3A0F1A",areaGradTo:"#2A0B12",shadowLineDarkBg:"rgba(0, 0, 0, 0)"},echarts:{bg:"#2A0B12",textColor:"#F4E6E9",axisLineColor:"#B23A5C",splitLineColor:"#3A0F1A",itemHoverShadowColor:"rgba(0, 0, 0, 0.4)",tooltipBackgroundColor:"#3A0F1A"},chartjs:{axisLineColor:"#B23A5C",textColor:"#F4E6E9"}}};var E={colors:M,base:i},J={colors:$,base:i},B={colors:Y,base:i},L={colors:q,base:i},u={colors:K,base:i},A={colors:W,base:i},T={colors:V,base:i},x={colors:z,base:i},Q={colors:X,base:i};const n={[o.ThemeEnum.DEFAULT]:E,[o.ThemeEnum.LIGHT]:J,[o.ThemeEnum.DARK]:B,[o.ThemeEnum.COSMIC]:L,[o.ThemeEnum.CORPORATE]:u,[o.ThemeEnum.FOREST]:A,[o.ThemeEnum.COFFEE]:T,[o.ThemeEnum.WINE]:x,[o.ThemeEnum.WHEAT]:Q};var w=(0,g.memo)(({children:t,defaultTheme:b=o.ThemeEnum.DEFAULT,defaultBase:r=o.BaseEnum.DEFAULT})=>{const[e,f]=(0,g.useState)(()=>{const a=h();return a!=null&&a in n?a:b}),[s,d]=(0,g.useState)(()=>{const a=y();return a??r}),m=(0,g.useMemo)(()=>({colors:n[e].colors,base:C[s]}),[e,s]);G(m,e);const S=a=>{f(a)},P=a=>{d(a),F(a)};return(0,D.jsx)(c.ThemeContext.Provider,{value:{currentTheme:m,themeName:e,baseName:s,setTheme:S,setBase:P,availableThemes:o.THEME_VALUES,availableBases:o.BASE_VALUES},children:t})});w.displayName="ThemeProvider";exports.BASE_STORAGE_KEY=o.BASE_STORAGE_KEY;exports.BASE_VALUES=o.BASE_VALUES;exports.BaseEnum=o.BaseEnum;exports.COLOR_STORAGE_KEY=o.COLOR_STORAGE_KEY;exports.DEFAULT_BASE=o.DEFAULT_BASE;exports.DEFAULT_THEME=o.DEFAULT_THEME;exports.THEME_VALUES=o.THEME_VALUES;exports.ThemeContext=c.ThemeContext;exports.ThemeEnum=o.ThemeEnum;exports.ThemeProvider=w;exports.bases=C;exports.coffeeTheme=T;exports.corporateTheme=u;exports.cosmicTheme=L;exports.darkTheme=B;exports.defaultTheme=E;exports.forestTheme=A;exports.getThemeBaseStorage=y;exports.getThemeColorStorage=h;exports.removeThemeStorage=v;exports.setThemeBaseStorage=F;exports.setThemeColorStorage=p;exports.themes=n;exports.useTheme=c.useTheme;exports.wineTheme=x;
4
4
 
5
5
  //# sourceMappingURL=themes.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"themes.cjs","names":[],"sources":["../src/themes/utils/themeStorage.ts","../src/themes/hooks/useThemeVariables.ts","../src/themes/themes/bases/android.ts","../src/themes/themes/bases/default.ts","../src/themes/themes/bases/ios.ts","../src/themes/themes/bases/linux.ts","../src/themes/themes/bases/windows.ts","../src/themes/themes/bases/index.ts","../src/themes/themes/colors/coffee.ts","../src/themes/themes/colors/corporate.ts","../src/themes/themes/colors/cosmic.ts","../src/themes/themes/colors/dark.ts","../src/themes/themes/colors/default.ts","../src/themes/themes/colors/forest.ts","../src/themes/themes/colors/light.ts","../src/themes/themes/colors/wheat.ts","../src/themes/themes/colors/wine.ts","../src/themes/themes/colors/index.ts","../src/themes/providers/index.tsx"],"sourcesContent":["/**\n * 主题相关 localStorage 读写与移除,统一走 utils/lstorage;读写类型为 ThemeEnum / BaseEnum。\n * Theme localStorage get/set/remove via utils/lstorage; typed as ThemeEnum / BaseEnum.\n */\nimport type { Nilable } from \"@/types/utils\";\nimport { getItem, removeItem, setItem } from \"@/utils/lstorage\";\n\nimport { BASE_STORAGE_KEY, BASE_VALUES, BaseEnum, COLOR_STORAGE_KEY, THEME_VALUES, ThemeEnum } from \"../types\";\n\nexport function getThemeColorStorage(): Nilable<ThemeEnum> {\n const raw = getItem(COLOR_STORAGE_KEY);\n if (raw == null) return raw;\n return (THEME_VALUES as readonly string[]).includes(raw) ? (raw as ThemeEnum) : undefined;\n}\n\nexport function setThemeColorStorage(value: ThemeEnum): void {\n setItem(COLOR_STORAGE_KEY, value);\n}\n\nexport function getThemeBaseStorage(): Nilable<BaseEnum> {\n const raw = getItem(BASE_STORAGE_KEY);\n if (raw == null) return raw;\n return BASE_VALUES.includes(raw as BaseEnum) ? (raw as BaseEnum) : undefined;\n}\n\nexport function setThemeBaseStorage(value: BaseEnum): void {\n setItem(BASE_STORAGE_KEY, value);\n}\n\nexport function removeThemeStorage(): void {\n removeItem(COLOR_STORAGE_KEY);\n removeItem(BASE_STORAGE_KEY);\n}\n","import type { Theme, ThemeEnum } from \"../types\";\nimport { setThemeColorStorage } from \"../utils\";\nimport { useEffect } from \"react\";\n\n/**\n * 将当前主题变量注入到 document 的 CSS Variables,并持久化主题名到 localStorage。\n * Injects current theme variables into document CSS custom properties and persists theme name to localStorage.\n *\n * @param currentTheme - 完整主题对象(颜色 + 基础)。Full theme (colors + base).\n * @param themeName - 当前主题枚举名,用于持久化。Current theme enum key for persistence.\n */\nconst useThemeVariables = (currentTheme: Theme, themeName: ThemeEnum) => {\n useEffect(() => {\n const root = document.documentElement;\n const vars = currentTheme.colors.variables;\n const base = currentTheme.base.variables;\n\n // 主色与语义色 / Primary and semantic colors\n root.style.setProperty(\"--color-primary\", vars.primary);\n root.style.setProperty(\"--color-primary-light\", vars.primaryLight);\n root.style.setProperty(\"--color-primary-fg\", vars.primaryFg);\n root.style.setProperty(\"--color-success\", vars.success);\n root.style.setProperty(\"--color-success-light\", vars.successLight);\n root.style.setProperty(\"--color-info\", vars.info);\n root.style.setProperty(\"--color-info-light\", vars.infoLight);\n root.style.setProperty(\"--color-warning\", vars.warning);\n root.style.setProperty(\"--color-warning-light\", vars.warningLight);\n root.style.setProperty(\"--color-danger\", vars.danger);\n root.style.setProperty(\"--color-danger-light\", vars.dangerLight);\n\n // 背景色 / Background\n root.style.setProperty(\"--color-bg\", vars.bg);\n root.style.setProperty(\"--color-bg-2\", vars.bg2);\n root.style.setProperty(\"--color-bg-3\", vars.bg3);\n root.style.setProperty(\"--color-bg-4\", vars.bg4);\n\n // 边框色 / Border\n root.style.setProperty(\"--color-border\", vars.border);\n root.style.setProperty(\"--color-border-2\", vars.border2);\n root.style.setProperty(\"--color-border-3\", vars.border3);\n root.style.setProperty(\"--color-border-4\", vars.border4);\n root.style.setProperty(\"--color-border-5\", vars.border5);\n\n // 文字色 / Foreground text\n root.style.setProperty(\"--color-fg\", vars.fg);\n root.style.setProperty(\"--color-fg-text\", vars.fgText);\n root.style.setProperty(\"--color-fg-heading\", vars.fgHeading);\n root.style.setProperty(\"--color-fg-highlight\", vars.fgHighlight);\n root.style.setProperty(\"--color-separator\", vars.separator);\n\n // 基础变量(圆角等)/ Base (radius, etc.)\n root.style.setProperty(\"--radius-button\", `${base.buttonRadius}px`);\n root.style.setProperty(\"--radius-card\", `${base.cardRadius}px`);\n root.style.setProperty(\"--radius-input\", `${base.inputRadius}px`);\n\n // Temperature\n vars.temperature.arcFill.forEach((v: string, i: number) => {\n root.style.setProperty(`--temperature-arc-fill-${i}`, v);\n });\n root.style.setProperty(\"--temperature-arc-empty\", vars.temperature.arcEmpty);\n root.style.setProperty(\"--temperature-thumb-bg\", vars.temperature.thumbBg);\n root.style.setProperty(\"--temperature-thumb-border\", vars.temperature.thumbBorder);\n\n // Solar\n root.style.setProperty(\"--solar-gradient-left\", vars.solar.gradientLeft);\n root.style.setProperty(\"--solar-gradient-right\", vars.solar.gradientRight);\n root.style.setProperty(\"--solar-shadow-color\", vars.solar.shadowColor);\n root.style.setProperty(\"--solar-second-series-fill\", vars.solar.secondSeriesFill);\n\n // Traffic\n root.style.setProperty(\"--traffic-tooltip-bg\", vars.traffic.tooltipBg);\n root.style.setProperty(\"--traffic-tooltip-border-color\", vars.traffic.tooltipBorderColor);\n root.style.setProperty(\"--traffic-tooltip-text-color\", vars.traffic.tooltipTextColor);\n root.style.setProperty(\"--traffic-y-axis-split-line\", vars.traffic.yAxisSplitLine);\n root.style.setProperty(\"--traffic-line-bg\", vars.traffic.lineBg);\n root.style.setProperty(\"--traffic-item-color\", vars.traffic.itemColor);\n root.style.setProperty(\"--traffic-item-border-color\", vars.traffic.itemBorderColor);\n root.style.setProperty(\"--traffic-item-emphasis-border-color\", vars.traffic.itemEmphasisBorderColor);\n root.style.setProperty(\"--traffic-shadow-line-dark-bg\", vars.traffic.shadowLineDarkBg);\n root.style.setProperty(\"--traffic-shadow-line-shadow\", vars.traffic.shadowLineShadow);\n root.style.setProperty(\"--traffic-grad-from\", vars.traffic.gradFrom);\n root.style.setProperty(\"--traffic-grad-to\", vars.traffic.gradTo);\n\n // Electricity\n root.style.setProperty(\"--electricity-tooltip-bg\", vars.electricity.tooltipBg);\n root.style.setProperty(\"--electricity-tooltip-line-color\", vars.electricity.tooltipLineColor);\n root.style.setProperty(\"--electricity-tooltip-border-color\", vars.electricity.tooltipBorderColor);\n root.style.setProperty(\"--electricity-tooltip-text-color\", vars.electricity.tooltipTextColor);\n root.style.setProperty(\"--electricity-axis-line-color\", vars.electricity.axisLineColor);\n root.style.setProperty(\"--electricity-x-axis-text-color\", vars.electricity.xAxisTextColor);\n root.style.setProperty(\"--electricity-y-axis-split-line\", vars.electricity.yAxisSplitLine);\n root.style.setProperty(\"--electricity-item-border-color\", vars.electricity.itemBorderColor);\n root.style.setProperty(\"--electricity-line-grad-from\", vars.electricity.lineGradFrom);\n root.style.setProperty(\"--electricity-line-grad-to\", vars.electricity.lineGradTo);\n root.style.setProperty(\"--electricity-line-shadow\", vars.electricity.lineShadow);\n root.style.setProperty(\"--electricity-area-grad-from\", vars.electricity.areaGradFrom);\n root.style.setProperty(\"--electricity-area-grad-to\", vars.electricity.areaGradTo);\n root.style.setProperty(\"--electricity-shadow-line-dark-bg\", vars.electricity.shadowLineDarkBg);\n\n // ECharts\n root.style.setProperty(\"--echarts-bg\", vars.echarts.bg);\n root.style.setProperty(\"--echarts-text-color\", vars.echarts.textColor);\n root.style.setProperty(\"--echarts-axis-line-color\", vars.echarts.axisLineColor);\n root.style.setProperty(\"--echarts-split-line-color\", vars.echarts.splitLineColor);\n root.style.setProperty(\"--echarts-item-hover-shadow-color\", vars.echarts.itemHoverShadowColor);\n root.style.setProperty(\"--echarts-tooltip-bg-color\", vars.echarts.tooltipBackgroundColor);\n\n // ChartJS\n root.style.setProperty(\"--chartjs-axis-line-color\", vars.chartjs.axisLineColor);\n root.style.setProperty(\"--chartjs-text-color\", vars.chartjs.textColor);\n\n setThemeColorStorage(themeName);\n }, [themeName, currentTheme]);\n};\n\nexport default useThemeVariables;\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Android 风格圆角(如 6) */\nexport const androidBaseVariables: BaseVariables = {\n buttonRadius: 6,\n cardRadius: 6,\n inputRadius: 6,\n};\n\nexport const androidBaseTheme: BaseTheme = {\n name: BaseEnum.ANDROID,\n displayName: \"Android\",\n variables: androidBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** 默认基础变量(跨平台通用) */\nexport const defaultBaseVariables: BaseVariables = {\n buttonRadius: 8,\n cardRadius: 8,\n inputRadius: 6,\n};\n\n/** 默认基础主题 */\nexport const defaultBaseTheme: BaseTheme = {\n name: BaseEnum.DEFAULT,\n displayName: \"Default\",\n variables: defaultBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** iOS 风格圆角(较大,如 24) */\nexport const iosBaseVariables: BaseVariables = {\n buttonRadius: 24,\n cardRadius: 24,\n inputRadius: 24,\n};\n\nexport const iosBaseTheme: BaseTheme = {\n name: BaseEnum.IOS,\n displayName: \"iOS\",\n variables: iosBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Linux 风格圆角(较小,如 4) */\nexport const linuxBaseVariables: BaseVariables = {\n buttonRadius: 4,\n cardRadius: 4,\n inputRadius: 4,\n};\n\nexport const linuxBaseTheme: BaseTheme = {\n name: BaseEnum.LINUX,\n displayName: \"Linux\",\n variables: linuxBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Windows 风格圆角(如 6) */\nexport const windowsBaseVariables: BaseVariables = {\n buttonRadius: 6,\n cardRadius: 6,\n inputRadius: 6,\n};\n\nexport const windowsBaseTheme: BaseTheme = {\n name: BaseEnum.WINDOWS,\n displayName: \"Windows\",\n variables: windowsBaseVariables,\n};\n","import type { BaseTheme } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\nimport { androidBaseTheme } from \"./android\";\nimport { defaultBaseTheme } from \"./default\";\nimport { iosBaseTheme } from \"./ios\";\nimport { linuxBaseTheme } from \"./linux\";\nimport { windowsBaseTheme } from \"./windows\";\n\nexport const bases: Record<BaseEnum, BaseTheme> = {\n [BaseEnum.DEFAULT]: defaultBaseTheme,\n [BaseEnum.IOS]: iosBaseTheme,\n [BaseEnum.ANDROID]: androidBaseTheme,\n [BaseEnum.WINDOWS]: windowsBaseTheme,\n [BaseEnum.LINUX]: linuxBaseTheme,\n};\n\nexport { defaultBaseTheme, defaultBaseVariables } from \"./default\";\nexport { iosBaseTheme, iosBaseVariables } from \"./ios\";\nexport { androidBaseTheme, androidBaseVariables } from \"./android\";\nexport { windowsBaseTheme, windowsBaseVariables } from \"./windows\";\nexport { linuxBaseTheme, linuxBaseVariables } from \"./linux\";\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Coffee 主题 - 基于 8 色盘重新设计\n * 色盘:奶油 #F8F4E1 | 浅灰米 #E4E0E1 | 浅棕 #D6C0B3 | 中棕 #AB886D / #AF8F6F\n * 深棕 #74512D | 暗棕 #493628 | 最深 #543310\n * 深棕背景 + 奶油/米色文字,语义色保持棕/绿棕/红棕调\n */\nexport const coffeeColorTheme: ColorTheme = {\n name: \"coffee\",\n displayName: \"Coffee\",\n variables: {\n // 主色 - 奶油/拿铁系\n primary: \"#AF8F6F\",\n primaryLight: \"#F8F4E1\",\n primaryFg: \"#2a1f18\",\n\n // 语义色 - 棕调配色(微调以协调)\n success: \"#6d8f72\",\n successLight: \"#8aaa8e\",\n info: \"#8a7a6a\",\n infoLight: \"#a89888\",\n warning: \"#b8926a\",\n warningLight: \"#d4b896\",\n danger: \"#a65d5d\",\n dangerLight: \"#c07d7d\",\n\n // 背景 - 由深到浅:最深 → #543310 → #493628 → #74512D\n bg: \"#2e1a08\",\n bg2: \"#543310\",\n bg3: \"#493628\",\n bg4: \"#74512D\",\n\n // 边框 - 深棕到浅米\n border: \"#493628\",\n border2: \"#543310\",\n border3: \"#74512D\",\n border4: \"#AF8F6F\",\n border5: \"#D6C0B3\",\n\n // 文字\n fg: \"#AF8F6F\",\n fgText: \"#F8F4E1\",\n fgHeading: \"#F8F4E1\",\n fgHighlight: \"#E4E0E1\",\n\n separator: \"#493628\",\n\n temperature: {\n arcFill: [\"#AF8F6F\", \"#AB886D\", \"#D6C0B3\", \"#E4E0E1\", \"#F8F4E1\"],\n arcEmpty: \"#543310\",\n thumbBg: \"#493628\",\n thumbBorder: \"#AF8F6F\",\n },\n\n solar: {\n gradientLeft: \"#AF8F6F\",\n gradientRight: \"#F8F4E1\",\n shadowColor: \"rgba(0, 0, 0, 0.35)\",\n secondSeriesFill: \"#493628\",\n },\n\n traffic: {\n tooltipBg: \"#74512D\",\n tooltipBorderColor: \"#AF8F6F\",\n tooltipTextColor: \"#F8F4E1\",\n yAxisSplitLine: \"#543310\",\n lineBg: \"#493628\",\n itemColor: \"#543310\",\n itemBorderColor: \"#AF8F6F\",\n itemEmphasisBorderColor: \"#F8F4E1\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#493628\",\n gradTo: \"#2e1a08\",\n },\n\n electricity: {\n tooltipBg: \"#543310\",\n tooltipLineColor: \"#F8F4E1\",\n tooltipBorderColor: \"#AF8F6F\",\n tooltipTextColor: \"#F8F4E1\",\n axisLineColor: \"#AF8F6F\",\n xAxisTextColor: \"#AF8F6F\",\n yAxisSplitLine: \"#543310\",\n itemBorderColor: \"#AF8F6F\",\n lineGradFrom: \"#AF8F6F\",\n lineGradTo: \"#F8F4E1\",\n lineShadow: \"rgba(175, 143, 111, 0.3)\",\n areaGradFrom: \"#493628\",\n areaGradTo: \"#2e1a08\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#2e1a08\",\n textColor: \"#F8F4E1\",\n axisLineColor: \"#AF8F6F\",\n splitLineColor: \"#493628\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#543310\",\n },\n\n chartjs: {\n axisLineColor: \"#AF8F6F\",\n textColor: \"#F8F4E1\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\nexport const corporateColorTheme: ColorTheme = {\n name: \"corporate\",\n displayName: \"Corporate\",\n variables: {\n // 基础颜色\n primary: \"#3366ff\",\n primaryLight: \"#598bff\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#ffffff\",\n bg2: \"#f7f9fc\",\n bg3: \"#edf1f7\",\n bg4: \"#e4e9f2\",\n\n // 边框色\n border: \"#ffffff\",\n border2: \"#f7f9fc\",\n border3: \"#edf1f7\",\n border4: \"#e4e9f2\",\n border5: \"#c5cee0\",\n\n // 文字色\n fg: \"#8f9bb3\",\n fgText: \"#222b45\",\n fgHeading: \"#192038\",\n fgHighlight: \"#003694\",\n\n // 分隔符\n separator: \"#edf1f7\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#ffa36b\", \"#ffa36b\", \"#ff9e7a\", \"#ff9888\", \"#ff8ea0\"],\n arcEmpty: \"#f7f9fc\",\n thumbBg: \"#f7f9fc\",\n thumbBorder: \"#ffa36b\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#3366ff\",\n gradientRight: \"#3366ff\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#f7f9fc\",\n },\n\n traffic: {\n tooltipBg: \"#ffffff\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n yAxisSplitLine: \"rgba(0, 0, 0, 0)\",\n lineBg: \"#3366ff\",\n itemColor: \"#e4e9f2\",\n itemBorderColor: \"#e4e9f2\",\n itemEmphasisBorderColor: \"#598bff\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#ffffff\",\n gradTo: \"#ffffff\",\n },\n\n electricity: {\n tooltipBg: \"#ffffff\",\n tooltipLineColor: \"#222b45\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n axisLineColor: \"#edf1f7\",\n xAxisTextColor: \"#8f9bb3\",\n yAxisSplitLine: \"#edf1f7\",\n itemBorderColor: \"#3366ff\",\n lineGradFrom: \"#3366ff\",\n lineGradTo: \"#3366ff\",\n lineShadow: \"rgba(0, 0, 0, 0)\",\n areaGradFrom: \"rgba(0, 0, 0, 0)\",\n areaGradTo: \"rgba(0, 0, 0, 0)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#ffffff\",\n textColor: \"#222b45\",\n axisLineColor: \"#222b45\",\n splitLineColor: \"#edf1f7\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#3366ff\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#edf1f7\",\n textColor: \"#222b45\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\nexport const cosmicColorTheme: ColorTheme = {\n name: \"cosmic\",\n displayName: \"Cosmic\",\n variables: {\n // 基础颜色\n primary: \"#a16eff\",\n primaryLight: \"#b489ff\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#323259\",\n bg2: \"#2a2a48\",\n bg3: \"#272741\",\n bg4: \"#1f1f3a\",\n\n // 边框色\n border: \"#323259\",\n border2: \"#2a2a48\",\n border3: \"#272741\",\n border4: \"#1f1f3a\",\n border5: \"#1f1f3a\",\n\n // 文字色\n fg: \"#b4b4db\",\n fgText: \"#ffffff\",\n fgHeading: \"#ffffff\",\n fgHighlight: \"#a16eff\",\n\n // 分隔符\n separator: \"#2a2a48\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#2ec7fe\", \"#31ffad\", \"#7bff24\", \"#fff024\", \"#f7bd59\"],\n arcEmpty: \"#2a2a48\",\n thumbBg: \"#ffffff\",\n thumbBorder: \"#ffffff\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#a16eff\",\n gradientRight: \"#a16eff\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#2a2a48\",\n },\n\n traffic: {\n tooltipBg: \"#323259\",\n tooltipBorderColor: \"#2a2a48\",\n tooltipTextColor: \"#ffffff\",\n yAxisSplitLine: \"#2a2a48\",\n lineBg: \"#2a2a48\",\n itemColor: \"#2a2a48\",\n itemBorderColor: \"#2a2a48\",\n itemEmphasisBorderColor: \"#a16eff\",\n shadowLineDarkBg: \"#272741\",\n shadowLineShadow: \"#272741\",\n gradFrom: \"#323259\",\n gradTo: \"#2a2a48\",\n },\n\n electricity: {\n tooltipBg: \"#323259\",\n tooltipLineColor: \"#ffffff\",\n tooltipBorderColor: \"#2a2a48\",\n tooltipTextColor: \"#ffffff\",\n axisLineColor: \"#272741\",\n xAxisTextColor: \"#b4b4db\",\n yAxisSplitLine: \"#2a2a48\",\n itemBorderColor: \"#2a2a48\",\n lineGradFrom: \"#00d68f\",\n lineGradTo: \"#ffaa00\",\n lineShadow: \"#1f1f3a\",\n areaGradFrom: \"#2a2a48\",\n areaGradTo: \"#272741\",\n shadowLineDarkBg: \"#272741\",\n },\n\n echarts: {\n bg: \"#323259\",\n textColor: \"#ffffff\",\n axisLineColor: \"#ffffff\",\n splitLineColor: \"#2a2a48\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#a16eff\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#2a2a48\",\n textColor: \"#ffffff\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Dark 主题 - 重新设计\n * - 背景层级分明(base → surface → elevated)\n * - 边框可见且不刺眼\n * - 主色为蓝色强调,语义色适配深色背景\n * - 文字对比度符合可读性\n */\nexport const darkColorTheme: ColorTheme = {\n name: \"dark\",\n displayName: \"Dark\",\n variables: {\n // 主色 - 金黄色/琥珀色\n primary: \"#d4a017\",\n primaryLight: \"#eab308\",\n primaryFg: \"#1a1a1a\",\n\n // 语义色 - 深色模式、无蓝色,info 用青绿区分\n success: \"#22c55e\",\n successLight: \"#4ade80\",\n info: \"#14b8a6\",\n infoLight: \"#2dd4bf\",\n warning: \"#eab308\",\n warningLight: \"#facc15\",\n danger: \"#ef4444\",\n dangerLight: \"#f87171\",\n\n // 背景色 - 明确层级(由深到浅)\n bg: \"#0f0f11\",\n bg2: \"#18181b\",\n bg3: \"#27272a\",\n bg4: \"#3f3f46\",\n\n // 边框色 - 与背景区分,便于识别边界\n border: \"#18181b\",\n border2: \"#27272a\",\n border3: \"#3f3f46\",\n border4: \"#52525b\",\n border5: \"#71717a\",\n\n // 文字色 - 主文白、标题更亮、辅助文灰\n fg: \"#a1a1aa\",\n fgText: \"#fafafa\",\n fgHeading: \"#ffffff\",\n fgHighlight: \"#fde047\",\n\n // 分隔线\n separator: \"#27272a\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#d4a017\", \"#eab308\", \"#fcd34d\", \"#fde047\", \"#fde047\"],\n arcEmpty: \"#27272a\",\n thumbBg: \"#27272a\",\n thumbBorder: \"#52525b\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#d4a017\",\n gradientRight: \"#eab308\",\n shadowColor: \"rgba(0, 0, 0, 0.3)\",\n secondSeriesFill: \"#27272a\",\n },\n\n traffic: {\n tooltipBg: \"#27272a\",\n tooltipBorderColor: \"#3f3f46\",\n tooltipTextColor: \"#fafafa\",\n yAxisSplitLine: \"#27272a\",\n lineBg: \"#3f3f46\",\n itemColor: \"#3f3f46\",\n itemBorderColor: \"#52525b\",\n itemEmphasisBorderColor: \"#eab308\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#27272a\",\n gradTo: \"#18181b\",\n },\n\n electricity: {\n tooltipBg: \"#27272a\",\n tooltipLineColor: \"#fafafa\",\n tooltipBorderColor: \"#3f3f46\",\n tooltipTextColor: \"#fafafa\",\n axisLineColor: \"#3f3f46\",\n xAxisTextColor: \"#a1a1aa\",\n yAxisSplitLine: \"#27272a\",\n itemBorderColor: \"#eab308\",\n lineGradFrom: \"#d4a017\",\n lineGradTo: \"#eab308\",\n lineShadow: \"rgba(212, 160, 23, 0.35)\",\n areaGradFrom: \"#27272a\",\n areaGradTo: \"#18181b\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#18181b\",\n textColor: \"#fafafa\",\n axisLineColor: \"#52525b\",\n splitLineColor: \"#27272a\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#27272a\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#3f3f46\",\n textColor: \"#fafafa\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n// 基于 ReX-App 的 light.ts 红色系配色创建的 default 主题\nexport const defaultColorTheme: ColorTheme = {\n name: \"default\",\n displayName: \"Default\",\n variables: {\n // 基础颜色 - 红色系\n primary: \"rgb(250, 30, 22)\", // #FA1E16 鲜红色\n primaryLight: \"rgb(255, 120, 120)\", // 浅红色\n primaryFg: \"#ffffff\",\n success: \"rgb(62, 168, 30)\", // 浅绿色(对比色)\n successLight: \"rgb(220, 255, 210)\",\n info: \"rgb(255, 160, 150)\", // 亮橙红\n infoLight: \"rgb(255, 200, 180)\",\n warning: \"rgb(248, 104, 7)\", // 明亮橙色\n warningLight: \"rgb(255, 140, 60)\",\n danger: \"rgb(211, 17, 11)\", // 深红色\n dangerLight: \"rgb(243, 70, 64)\",\n\n // 背景色 - 浅色系\n bg: \"rgb(250, 250, 250)\", // 纯白\n bg2: \"rgb(245, 245, 245)\",\n bg3: \"rgb(226, 224, 224)\",\n bg4: \"rgb(207, 207, 207)\",\n\n // 边框色\n border: \"rgb(250, 250, 250)\",\n border2: \"rgb(245, 245, 245)\",\n border3: \"rgb(226, 224, 224)\",\n border4: \"rgb(207, 207, 207)\",\n border5: \"rgb(136, 136, 136)\",\n\n // 文字色\n fg: \"rgb(136, 136, 136)\", // 灰色文字\n fgText: \"rgb(22, 21, 21)\", // 黑色文字\n fgHeading: \"rgb(0, 0, 0)\", // 纯黑标题\n fgHighlight: \"rgb(250, 30, 22)\", // 红色高亮\n\n // 分隔符\n separator: \"rgb(226, 224, 224)\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\n \"rgb(255, 210, 210)\", // 非常浅的淡红\n \"rgb(255, 200, 160)\", // 柔和杏色\n \"rgb(255, 160, 150)\", // 更偏亮橙红\n \"rgb(255, 120, 120)\", // 浅红\n \"rgb(250, 30, 22)\", // 主红色\n ],\n arcEmpty: \"rgb(245, 245, 245)\",\n thumbBg: \"rgb(245, 245, 245)\",\n thumbBorder: \"rgb(250, 30, 22)\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"rgb(250, 30, 22)\",\n gradientRight: \"rgb(248, 104, 7)\",\n shadowColor: \"rgba(250, 30, 22, 0.1)\",\n secondSeriesFill: \"rgb(245, 245, 245)\",\n },\n\n traffic: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n lineBg: \"rgb(207, 207, 207)\",\n itemColor: \"rgb(207, 207, 207)\",\n itemBorderColor: \"rgb(207, 207, 207)\",\n itemEmphasisBorderColor: \"rgb(250, 30, 22)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"rgb(245, 245, 245)\",\n gradTo: \"rgb(245, 245, 245)\",\n },\n\n electricity: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipLineColor: \"rgb(22, 21, 21)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(226, 224, 224)\",\n xAxisTextColor: \"rgb(136, 136, 136)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n itemBorderColor: \"rgb(250, 30, 22)\",\n lineGradFrom: \"rgb(250, 30, 22)\",\n lineGradTo: \"rgb(248, 104, 7)\",\n lineShadow: \"rgba(250, 30, 22, 0.2)\",\n areaGradFrom: \"rgba(250, 30, 22, 0.1)\",\n areaGradTo: \"rgba(250, 30, 22, 0.05)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"rgb(250, 250, 250)\",\n textColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(136, 136, 136)\",\n splitLineColor: \"rgb(226, 224, 224)\",\n itemHoverShadowColor: \"rgba(250, 30, 22, 0.3)\",\n tooltipBackgroundColor: \"rgb(250, 30, 22)\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"rgb(226, 224, 224)\",\n textColor: \"rgb(22, 21, 21)\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Forest 主题 - 森林绿配色\n * - 主色:翠绿 #1F7A5A,按钮、链接、强调\n * - 深绿底 + 浅绿层级\n */\nexport const forestColorTheme: ColorTheme = {\n name: \"forest\",\n displayName: \"Forest\",\n variables: {\n primary: \"#1F7A5A\",\n primaryLight: \"#E6F2EE\",\n primaryFg: \"#FFFFFF\",\n\n success: \"#1F7A5A\",\n successLight: \"#E6F2EE\",\n\n info: \"#2563EB\",\n infoLight: \"#E8F0FF\",\n\n warning: \"#B45309\",\n warningLight: \"#FFF4E5\",\n\n danger: \"#B42318\",\n dangerLight: \"#FDECEC\",\n\n // ===== Backgrounds (White-based) =====\n bg: \"#FFFFFF\",\n bg2: \"#F7F9F8\",\n bg3: \"#EEF3F1\",\n bg4: \"#E6EFEC\",\n\n // ===== Borders (subtle greys w/ green hint) =====\n border: \"#E5E7EB\",\n border2: \"#D1D5DB\",\n border3: \"#C7D2CF\",\n border4: \"#B6C4BF\",\n border5: \"#1F7A5A\", // strong focus border\n\n // ===== Text =====\n fg: \"#111827\",\n fgText: \"#374151\",\n fgHeading: \"#0F172A\",\n fgHighlight: \"#1F7A5A\",\n separator: \"#E5E7EB\",\n\n temperature: {\n arcFill: [\"#E6F2EE\", \"#A7D8C6\", \"#4AA987\", \"#1F7A5A\", \"#145A43\"],\n arcEmpty: \"#E5E7EB\",\n thumbBg: \"#1F7A5A\",\n thumbBorder: \"#145A43\",\n },\n\n solar: {\n gradientLeft: \"#E6F2EE\",\n gradientRight: \"#1F7A5A\",\n shadowColor: \"rgba(31, 122, 90, 0.25)\",\n secondSeriesFill: \"#A7D8C6\",\n },\n\n traffic: {\n tooltipBg: \"#FFFFFF\",\n tooltipBorderColor: \"#E5E7EB\",\n tooltipTextColor: \"#111827\",\n yAxisSplitLine: \"#E5E7EB\",\n lineBg: \"rgba(31, 122, 90, 0.08)\",\n itemColor: \"#1F7A5A\",\n itemBorderColor: \"#145A43\",\n itemEmphasisBorderColor: \"#0E5A41\",\n shadowLineDarkBg: \"rgba(31, 122, 90, 0.15)\",\n shadowLineShadow: \"rgba(31, 122, 90, 0.20)\",\n gradFrom: \"#E6F2EE\",\n gradTo: \"#1F7A5A\",\n },\n\n electricity: {\n tooltipBg: \"#FFFFFF\",\n tooltipLineColor: \"#1F7A5A\",\n tooltipBorderColor: \"#E5E7EB\",\n tooltipTextColor: \"#111827\",\n axisLineColor: \"#D1D5DB\",\n xAxisTextColor: \"#374151\",\n yAxisSplitLine: \"#E5E7EB\",\n itemBorderColor: \"#145A43\",\n lineGradFrom: \"#E6F2EE\",\n lineGradTo: \"#1F7A5A\",\n lineShadow: \"rgba(31, 122, 90, 0.25)\",\n areaGradFrom: \"rgba(31, 122, 90, 0.25)\",\n areaGradTo: \"rgba(31, 122, 90, 0.00)\",\n shadowLineDarkBg: \"rgba(31, 122, 90, 0.10)\",\n },\n\n echarts: {\n bg: \"#FFFFFF\",\n textColor: \"#111827\",\n axisLineColor: \"#D1D5DB\",\n splitLineColor: \"#E5E7EB\",\n itemHoverShadowColor: \"rgba(31, 122, 90, 0.25)\",\n tooltipBackgroundColor: \"#FFFFFF\",\n },\n\n chartjs: {\n axisLineColor: \"#D1D5DB\",\n textColor: \"#111827\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n// 原 ngx-admin 的 default 主题(浅灰蓝色风格)\nexport const lightColorTheme: ColorTheme = {\n name: \"light\",\n displayName: \"Light\",\n variables: {\n // 基础颜色 - 黑白对比色系\n primary: \"#222b45\",\n primaryLight: \"#192038\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#ffffff\",\n bg2: \"#f7f9fc\",\n bg3: \"#edf1f7\",\n bg4: \"#e4e9f2\",\n\n // 边框色\n border: \"#ffffff\",\n border2: \"#f7f9fc\",\n border3: \"#edf1f7\",\n border4: \"#e4e9f2\",\n border5: \"#c5cee0\",\n\n // 文字色\n fg: \"#8f9bb3\",\n fgText: \"#222b45\",\n fgHeading: \"#192038\",\n fgHighlight: \"#003694\",\n\n // 分隔符\n separator: \"#edf1f7\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\"],\n arcEmpty: \"#f7f9fc\",\n thumbBg: \"#f7f9fc\",\n thumbBorder: \"#8f9bb3\",\n },\n\n solar: {\n gradientLeft: \"#8f9bb3\",\n gradientRight: \"#8f9bb3\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#f7f9fc\",\n },\n\n traffic: {\n tooltipBg: \"#ffffff\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n yAxisSplitLine: \"#edf1f7\",\n lineBg: \"#e4e9f2\",\n itemColor: \"#e4e9f2\",\n itemBorderColor: \"#e4e9f2\",\n itemEmphasisBorderColor: \"#8f9bb3\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#f7f9fc\",\n gradTo: \"#f7f9fc\",\n },\n\n electricity: {\n tooltipBg: \"#ffffff\",\n tooltipLineColor: \"#222b45\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n axisLineColor: \"#edf1f7\",\n xAxisTextColor: \"#8f9bb3\",\n yAxisSplitLine: \"#edf1f7\",\n itemBorderColor: \"#8f9bb3\",\n lineGradFrom: \"#8f9bb3\",\n lineGradTo: \"#8f9bb3\",\n lineShadow: \"rgba(0, 0, 0, 0)\",\n areaGradFrom: \"#f7f9fc\",\n areaGradTo: \"#f7f9fc\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#ffffff\",\n textColor: \"#222b45\",\n axisLineColor: \"#222b45\",\n splitLineColor: \"#edf1f7\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#8f9bb3\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#edf1f7\",\n textColor: \"#222b45\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/** 麦田:在 default 基础上将白红色系改为金黄色系 */\nexport const wheatColorTheme: ColorTheme = {\n name: \"wheat\",\n displayName: \"麦田\",\n variables: {\n // 主色 - 金黄色系\n primary: \"rgb(201, 162, 39)\", // #C9A227 金黄\n primaryLight: \"rgb(230, 200, 120)\", // 浅金黄\n primaryFg: \"#ffffff\",\n success: \"rgb(62, 168, 30)\",\n successLight: \"rgb(220, 255, 210)\",\n info: \"rgb(220, 180, 80)\", // 暖金\n infoLight: \"rgb(255, 235, 180)\",\n warning: \"rgb(218, 165, 32)\", // 深金\n warningLight: \"rgb(255, 215, 120)\",\n danger: \"rgb(180, 130, 20)\", // 深褐金\n dangerLight: \"rgb(220, 180, 80)\",\n\n // 背景色 - 浅色系(与 default 一致)\n bg: \"rgb(250, 250, 250)\",\n bg2: \"rgb(245, 245, 245)\",\n bg3: \"rgb(226, 224, 224)\",\n bg4: \"rgb(207, 207, 207)\",\n\n border: \"rgb(250, 250, 250)\",\n border2: \"rgb(245, 245, 245)\",\n border3: \"rgb(226, 224, 224)\",\n border4: \"rgb(207, 207, 207)\",\n border5: \"rgb(136, 136, 136)\",\n\n fg: \"rgb(136, 136, 136)\",\n fgText: \"rgb(22, 21, 21)\",\n fgHeading: \"rgb(0, 0, 0)\",\n fgHighlight: \"rgb(201, 162, 39)\", // 金黄高亮\n\n separator: \"rgb(226, 224, 224)\",\n\n temperature: {\n arcFill: [\n \"rgb(255, 245, 210)\",\n \"rgb(255, 235, 180)\",\n \"rgb(255, 220, 150)\",\n \"rgb(230, 200, 120)\",\n \"rgb(201, 162, 39)\",\n ],\n arcEmpty: \"rgb(245, 245, 245)\",\n thumbBg: \"rgb(245, 245, 245)\",\n thumbBorder: \"rgb(201, 162, 39)\",\n },\n\n solar: {\n gradientLeft: \"rgb(201, 162, 39)\",\n gradientRight: \"rgb(218, 165, 32)\",\n shadowColor: \"rgba(201, 162, 39, 0.1)\",\n secondSeriesFill: \"rgb(245, 245, 245)\",\n },\n\n traffic: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n lineBg: \"rgb(207, 207, 207)\",\n itemColor: \"rgb(207, 207, 207)\",\n itemBorderColor: \"rgb(207, 207, 207)\",\n itemEmphasisBorderColor: \"rgb(201, 162, 39)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"rgb(245, 245, 245)\",\n gradTo: \"rgb(245, 245, 245)\",\n },\n\n electricity: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipLineColor: \"rgb(22, 21, 21)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(226, 224, 224)\",\n xAxisTextColor: \"rgb(136, 136, 136)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n itemBorderColor: \"rgb(201, 162, 39)\",\n lineGradFrom: \"rgb(201, 162, 39)\",\n lineGradTo: \"rgb(218, 165, 32)\",\n lineShadow: \"rgba(201, 162, 39, 0.2)\",\n areaGradFrom: \"rgba(201, 162, 39, 0.1)\",\n areaGradTo: \"rgba(201, 162, 39, 0.05)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"rgb(250, 250, 250)\",\n textColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(136, 136, 136)\",\n splitLineColor: \"rgb(226, 224, 224)\",\n itemHoverShadowColor: \"rgba(201, 162, 39, 0.3)\",\n tooltipBackgroundColor: \"rgb(201, 162, 39)\",\n },\n\n chartjs: {\n axisLineColor: \"rgb(226, 224, 224)\",\n textColor: \"rgb(22, 21, 21)\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Wine 主题(深色)- 8 色盘(Burgundy 体系)\n * #2A0B12 Background | #3A0F1A Surface | #4A1322 Secondary | #800020 Primary\n * #9A1F3D Primary Hover | #B23A5C Accent | #C97A8A Muted Highlight | #F4E6E9 Text\n */\nexport const wineColorTheme: ColorTheme = {\n name: \"wine\",\n displayName: \"Wine\",\n variables: {\n primary: \"#800020\",\n primaryLight: \"#F4E6E9\",\n primaryFg: \"#F4E6E9\",\n\n success: \"#6b8f6b\",\n successLight: \"#8aaa8e\",\n info: \"#8a6a6a\",\n infoLight: \"#a88a8a\",\n warning: \"#c49050\",\n warningLight: \"#d4b080\",\n danger: \"#b85050\",\n dangerLight: \"#d07070\",\n\n bg: \"#2A0B12\",\n bg2: \"#3A0F1A\",\n bg3: \"#4A1322\",\n bg4: \"#4A1322\",\n\n border: \"#2A0B12\",\n border2: \"#3A0F1A\",\n border3: \"#4A1322\",\n border4: \"#800020\",\n border5: \"#B23A5C\",\n\n fg: \"#C97A8A\",\n fgText: \"#F4E6E9\",\n fgHeading: \"#F4E6E9\",\n fgHighlight: \"#F4E6E9\",\n\n separator: \"#3A0F1A\",\n\n temperature: {\n arcFill: [\"#800020\", \"#9A1F3D\", \"#B23A5C\", \"#C97A8A\", \"#F4E6E9\"],\n arcEmpty: \"#2A0B12\",\n thumbBg: \"#3A0F1A\",\n thumbBorder: \"#800020\",\n },\n\n solar: {\n gradientLeft: \"#800020\",\n gradientRight: \"#F4E6E9\",\n shadowColor: \"rgba(0, 0, 0, 0.4)\",\n secondSeriesFill: \"#3A0F1A\",\n },\n\n traffic: {\n tooltipBg: \"#4A1322\",\n tooltipBorderColor: \"#B23A5C\",\n tooltipTextColor: \"#F4E6E9\",\n yAxisSplitLine: \"#3A0F1A\",\n lineBg: \"#3A0F1A\",\n itemColor: \"#2A0B12\",\n itemBorderColor: \"#800020\",\n itemEmphasisBorderColor: \"#F4E6E9\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#3A0F1A\",\n gradTo: \"#2A0B12\",\n },\n\n electricity: {\n tooltipBg: \"#3A0F1A\",\n tooltipLineColor: \"#F4E6E9\",\n tooltipBorderColor: \"#800020\",\n tooltipTextColor: \"#F4E6E9\",\n axisLineColor: \"#B23A5C\",\n xAxisTextColor: \"#C97A8A\",\n yAxisSplitLine: \"#3A0F1A\",\n itemBorderColor: \"#800020\",\n lineGradFrom: \"#800020\",\n lineGradTo: \"#F4E6E9\",\n lineShadow: \"rgba(128, 0, 32, 0.35)\",\n areaGradFrom: \"#3A0F1A\",\n areaGradTo: \"#2A0B12\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#2A0B12\",\n textColor: \"#F4E6E9\",\n axisLineColor: \"#B23A5C\",\n splitLineColor: \"#3A0F1A\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#3A0F1A\",\n },\n\n chartjs: {\n axisLineColor: \"#B23A5C\",\n textColor: \"#F4E6E9\",\n },\n },\n};\n","import type { Theme } from \"../../types\";\n\nimport { ThemeEnum } from \"../../types\";\nimport { defaultBaseTheme } from \"../bases/default\";\nimport { coffeeColorTheme } from \"./coffee\";\nimport { corporateColorTheme } from \"./corporate\";\nimport { cosmicColorTheme } from \"./cosmic\";\nimport { darkColorTheme } from \"./dark\";\nimport { defaultColorTheme } from \"./default\";\nimport { forestColorTheme } from \"./forest\";\nimport { lightColorTheme } from \"./light\";\nimport { wheatColorTheme } from \"./wheat\";\nimport { wineColorTheme } from \"./wine\";\n\nconst defaultTheme: Theme = { colors: defaultColorTheme, base: defaultBaseTheme };\nconst lightTheme: Theme = { colors: lightColorTheme, base: defaultBaseTheme };\nconst darkTheme: Theme = { colors: darkColorTheme, base: defaultBaseTheme };\nconst cosmicTheme: Theme = { colors: cosmicColorTheme, base: defaultBaseTheme };\nconst corporateTheme: Theme = { colors: corporateColorTheme, base: defaultBaseTheme };\nconst forestTheme: Theme = { colors: forestColorTheme, base: defaultBaseTheme };\nconst coffeeTheme: Theme = { colors: coffeeColorTheme, base: defaultBaseTheme };\nconst wineTheme: Theme = { colors: wineColorTheme, base: defaultBaseTheme };\nconst wheatTheme: Theme = { colors: wheatColorTheme, base: defaultBaseTheme };\n\nexport const themes: Record<ThemeEnum, Theme> = {\n [ThemeEnum.DEFAULT]: defaultTheme,\n [ThemeEnum.LIGHT]: lightTheme,\n [ThemeEnum.DARK]: darkTheme,\n [ThemeEnum.COSMIC]: cosmicTheme,\n [ThemeEnum.CORPORATE]: corporateTheme,\n [ThemeEnum.FOREST]: forestTheme,\n [ThemeEnum.COFFEE]: coffeeTheme,\n [ThemeEnum.WINE]: wineTheme,\n [ThemeEnum.WHEAT]: wheatTheme,\n};\n\nexport { defaultTheme, lightTheme, darkTheme, cosmicTheme, corporateTheme, forestTheme, coffeeTheme, wineTheme, wheatTheme };\n","/**\n * 主题提供者:提供颜色主题与基础主题(圆角等)上下文。\n * Theme provider: provides color theme and base theme (e.g. radius) context.\n */\nimport type { Theme, ThemeProviderProps } from \"../types\";\n\nimport { memo, useMemo, useState } from \"react\";\n\nimport { ThemeContext } from \"../hooks/useTheme\";\nimport useThemeVariables from \"../hooks/useThemeVariables\";\nimport { bases } from \"../themes/bases\";\nimport { themes } from \"../themes/colors\";\nimport { getThemeBaseStorage, getThemeColorStorage, setThemeBaseStorage } from \"../utils\";\nimport { BASE_VALUES, BaseEnum, THEME_VALUES, ThemeEnum } from \"../types\";\n\nconst ThemeProvider = memo(({ children, defaultTheme = ThemeEnum.DEFAULT, defaultBase = BaseEnum.DEFAULT }: ThemeProviderProps) => {\n const [themeName, setThemeName] = useState<ThemeEnum>(() => {\n const saved = getThemeColorStorage();\n return saved != null && saved in themes ? saved : defaultTheme;\n });\n const [baseName, setBaseName] = useState<BaseEnum>(() => {\n const saved = getThemeBaseStorage();\n return saved != null ? saved : defaultBase;\n });\n\n const currentTheme = useMemo<Theme>(\n () => ({\n colors: themes[themeName].colors,\n base: bases[baseName],\n }),\n [themeName, baseName],\n );\n\n useThemeVariables(currentTheme, themeName);\n\n const setTheme = (newTheme: ThemeEnum) => {\n setThemeName(newTheme);\n };\n const setBase = (newBase: BaseEnum) => {\n setBaseName(newBase);\n setThemeBaseStorage(newBase);\n };\n\n return (\n <ThemeContext.Provider\n value={{\n currentTheme,\n themeName,\n baseName,\n setTheme,\n setBase,\n availableThemes: THEME_VALUES,\n availableBases: BASE_VALUES,\n }}\n >\n {children}\n </ThemeContext.Provider>\n );\n});\n\nThemeProvider.displayName = \"ThemeProvider\";\nexport default ThemeProvider;\n"],"mappings":"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"}
1
+ {"version":3,"file":"themes.cjs","names":[],"sources":["../src/themes/utils/themeStorage.ts","../src/themes/hooks/useThemeVariables.ts","../src/themes/themes/bases/android.ts","../src/themes/themes/bases/default.ts","../src/themes/themes/bases/ios.ts","../src/themes/themes/bases/linux.ts","../src/themes/themes/bases/windows.ts","../src/themes/themes/bases/index.ts","../src/themes/themes/colors/coffee.ts","../src/themes/themes/colors/corporate.ts","../src/themes/themes/colors/cosmic.ts","../src/themes/themes/colors/dark.ts","../src/themes/themes/colors/default.ts","../src/themes/themes/colors/forest.ts","../src/themes/themes/colors/light.ts","../src/themes/themes/colors/wheat.ts","../src/themes/themes/colors/wine.ts","../src/themes/themes/colors/index.ts","../src/themes/providers/index.tsx"],"sourcesContent":["/**\n * 主题相关 localStorage 读写与移除,统一走 utils/lstorage;读写类型为 ThemeEnum / BaseEnum。\n * Theme localStorage get/set/remove via utils/lstorage; typed as ThemeEnum / BaseEnum.\n */\nimport type { Nilable } from \"@/types/utils\";\nimport { getItem, removeItem, setItem } from \"@/utils/lstorage\";\n\nimport { BASE_STORAGE_KEY, BASE_VALUES, BaseEnum, COLOR_STORAGE_KEY, THEME_VALUES, ThemeEnum } from \"../types\";\n\nexport function getThemeColorStorage(): Nilable<ThemeEnum> {\n const raw = getItem(COLOR_STORAGE_KEY);\n if (raw == null) return raw;\n return (THEME_VALUES as readonly string[]).includes(raw) ? (raw as ThemeEnum) : undefined;\n}\n\nexport function setThemeColorStorage(value: ThemeEnum): void {\n setItem(COLOR_STORAGE_KEY, value);\n}\n\nexport function getThemeBaseStorage(): Nilable<BaseEnum> {\n const raw = getItem(BASE_STORAGE_KEY);\n if (raw == null) return raw;\n return BASE_VALUES.includes(raw as BaseEnum) ? (raw as BaseEnum) : undefined;\n}\n\nexport function setThemeBaseStorage(value: BaseEnum): void {\n setItem(BASE_STORAGE_KEY, value);\n}\n\nexport function removeThemeStorage(): void {\n removeItem(COLOR_STORAGE_KEY);\n removeItem(BASE_STORAGE_KEY);\n}\n","import type { Theme, ThemeEnum } from \"../types\";\nimport { setThemeColorStorage } from \"../utils\";\nimport { useEffect } from \"react\";\n\n/**\n * 将当前主题变量注入到 document 的 CSS Variables,并持久化主题名到 localStorage。\n * Injects current theme variables into document CSS custom properties and persists theme name to localStorage.\n *\n * @param currentTheme - 完整主题对象(颜色 + 基础)。Full theme (colors + base).\n * @param themeName - 当前主题枚举名,用于持久化。Current theme enum key for persistence.\n */\nconst useThemeVariables = (currentTheme: Theme, themeName: ThemeEnum) => {\n useEffect(() => {\n const root = document.documentElement;\n const vars = currentTheme.colors.variables;\n const base = currentTheme.base.variables;\n\n // 主色与语义色 / Primary and semantic colors\n root.style.setProperty(\"--color-primary\", vars.primary);\n root.style.setProperty(\"--color-primary-light\", vars.primaryLight);\n root.style.setProperty(\"--color-primary-fg\", vars.primaryFg);\n root.style.setProperty(\"--color-success\", vars.success);\n root.style.setProperty(\"--color-success-light\", vars.successLight);\n root.style.setProperty(\"--color-info\", vars.info);\n root.style.setProperty(\"--color-info-light\", vars.infoLight);\n root.style.setProperty(\"--color-warning\", vars.warning);\n root.style.setProperty(\"--color-warning-light\", vars.warningLight);\n root.style.setProperty(\"--color-danger\", vars.danger);\n root.style.setProperty(\"--color-danger-light\", vars.dangerLight);\n\n // 背景色 / Background\n root.style.setProperty(\"--color-bg\", vars.bg);\n root.style.setProperty(\"--color-bg-2\", vars.bg2);\n root.style.setProperty(\"--color-bg-3\", vars.bg3);\n root.style.setProperty(\"--color-bg-4\", vars.bg4);\n\n // 边框色 / Border\n root.style.setProperty(\"--color-border\", vars.border);\n root.style.setProperty(\"--color-border-2\", vars.border2);\n root.style.setProperty(\"--color-border-3\", vars.border3);\n root.style.setProperty(\"--color-border-4\", vars.border4);\n root.style.setProperty(\"--color-border-5\", vars.border5);\n\n // 文字色 / Foreground text\n root.style.setProperty(\"--color-fg\", vars.fg);\n root.style.setProperty(\"--color-fg-text\", vars.fgText);\n root.style.setProperty(\"--color-fg-heading\", vars.fgHeading);\n root.style.setProperty(\"--color-fg-highlight\", vars.fgHighlight);\n root.style.setProperty(\"--color-fg-on-primary\", vars.fgOnPrimary);\n root.style.setProperty(\"--color-separator\", vars.separator);\n\n // 基础变量(圆角等)/ Base (radius, etc.)\n root.style.setProperty(\"--radius-button\", `${base.buttonRadius}px`);\n root.style.setProperty(\"--radius-card\", `${base.cardRadius}px`);\n root.style.setProperty(\"--radius-input\", `${base.inputRadius}px`);\n\n // Temperature\n vars.temperature.arcFill.forEach((v: string, i: number) => {\n root.style.setProperty(`--temperature-arc-fill-${i}`, v);\n });\n root.style.setProperty(\"--temperature-arc-empty\", vars.temperature.arcEmpty);\n root.style.setProperty(\"--temperature-thumb-bg\", vars.temperature.thumbBg);\n root.style.setProperty(\"--temperature-thumb-border\", vars.temperature.thumbBorder);\n\n // Solar\n root.style.setProperty(\"--solar-gradient-left\", vars.solar.gradientLeft);\n root.style.setProperty(\"--solar-gradient-right\", vars.solar.gradientRight);\n root.style.setProperty(\"--solar-shadow-color\", vars.solar.shadowColor);\n root.style.setProperty(\"--solar-second-series-fill\", vars.solar.secondSeriesFill);\n\n // Traffic\n root.style.setProperty(\"--traffic-tooltip-bg\", vars.traffic.tooltipBg);\n root.style.setProperty(\"--traffic-tooltip-border-color\", vars.traffic.tooltipBorderColor);\n root.style.setProperty(\"--traffic-tooltip-text-color\", vars.traffic.tooltipTextColor);\n root.style.setProperty(\"--traffic-y-axis-split-line\", vars.traffic.yAxisSplitLine);\n root.style.setProperty(\"--traffic-line-bg\", vars.traffic.lineBg);\n root.style.setProperty(\"--traffic-item-color\", vars.traffic.itemColor);\n root.style.setProperty(\"--traffic-item-border-color\", vars.traffic.itemBorderColor);\n root.style.setProperty(\"--traffic-item-emphasis-border-color\", vars.traffic.itemEmphasisBorderColor);\n root.style.setProperty(\"--traffic-shadow-line-dark-bg\", vars.traffic.shadowLineDarkBg);\n root.style.setProperty(\"--traffic-shadow-line-shadow\", vars.traffic.shadowLineShadow);\n root.style.setProperty(\"--traffic-grad-from\", vars.traffic.gradFrom);\n root.style.setProperty(\"--traffic-grad-to\", vars.traffic.gradTo);\n\n // Electricity\n root.style.setProperty(\"--electricity-tooltip-bg\", vars.electricity.tooltipBg);\n root.style.setProperty(\"--electricity-tooltip-line-color\", vars.electricity.tooltipLineColor);\n root.style.setProperty(\"--electricity-tooltip-border-color\", vars.electricity.tooltipBorderColor);\n root.style.setProperty(\"--electricity-tooltip-text-color\", vars.electricity.tooltipTextColor);\n root.style.setProperty(\"--electricity-axis-line-color\", vars.electricity.axisLineColor);\n root.style.setProperty(\"--electricity-x-axis-text-color\", vars.electricity.xAxisTextColor);\n root.style.setProperty(\"--electricity-y-axis-split-line\", vars.electricity.yAxisSplitLine);\n root.style.setProperty(\"--electricity-item-border-color\", vars.electricity.itemBorderColor);\n root.style.setProperty(\"--electricity-line-grad-from\", vars.electricity.lineGradFrom);\n root.style.setProperty(\"--electricity-line-grad-to\", vars.electricity.lineGradTo);\n root.style.setProperty(\"--electricity-line-shadow\", vars.electricity.lineShadow);\n root.style.setProperty(\"--electricity-area-grad-from\", vars.electricity.areaGradFrom);\n root.style.setProperty(\"--electricity-area-grad-to\", vars.electricity.areaGradTo);\n root.style.setProperty(\"--electricity-shadow-line-dark-bg\", vars.electricity.shadowLineDarkBg);\n\n // ECharts\n root.style.setProperty(\"--echarts-bg\", vars.echarts.bg);\n root.style.setProperty(\"--echarts-text-color\", vars.echarts.textColor);\n root.style.setProperty(\"--echarts-axis-line-color\", vars.echarts.axisLineColor);\n root.style.setProperty(\"--echarts-split-line-color\", vars.echarts.splitLineColor);\n root.style.setProperty(\"--echarts-item-hover-shadow-color\", vars.echarts.itemHoverShadowColor);\n root.style.setProperty(\"--echarts-tooltip-bg-color\", vars.echarts.tooltipBackgroundColor);\n\n // ChartJS\n root.style.setProperty(\"--chartjs-axis-line-color\", vars.chartjs.axisLineColor);\n root.style.setProperty(\"--chartjs-text-color\", vars.chartjs.textColor);\n\n setThemeColorStorage(themeName);\n }, [themeName, currentTheme]);\n};\n\nexport default useThemeVariables;\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Android 风格圆角(如 6) */\nexport const androidBaseVariables: BaseVariables = {\n buttonRadius: 6,\n cardRadius: 6,\n inputRadius: 6,\n};\n\nexport const androidBaseTheme: BaseTheme = {\n name: BaseEnum.ANDROID,\n displayName: \"Android\",\n variables: androidBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** 默认基础变量(跨平台通用) */\nexport const defaultBaseVariables: BaseVariables = {\n buttonRadius: 8,\n cardRadius: 8,\n inputRadius: 6,\n};\n\n/** 默认基础主题 */\nexport const defaultBaseTheme: BaseTheme = {\n name: BaseEnum.DEFAULT,\n displayName: \"Default\",\n variables: defaultBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** iOS 风格圆角(较大,如 24) */\nexport const iosBaseVariables: BaseVariables = {\n buttonRadius: 24,\n cardRadius: 24,\n inputRadius: 24,\n};\n\nexport const iosBaseTheme: BaseTheme = {\n name: BaseEnum.IOS,\n displayName: \"iOS\",\n variables: iosBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Linux 风格圆角(较小,如 4) */\nexport const linuxBaseVariables: BaseVariables = {\n buttonRadius: 4,\n cardRadius: 4,\n inputRadius: 4,\n};\n\nexport const linuxBaseTheme: BaseTheme = {\n name: BaseEnum.LINUX,\n displayName: \"Linux\",\n variables: linuxBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Windows 风格圆角(如 6) */\nexport const windowsBaseVariables: BaseVariables = {\n buttonRadius: 6,\n cardRadius: 6,\n inputRadius: 6,\n};\n\nexport const windowsBaseTheme: BaseTheme = {\n name: BaseEnum.WINDOWS,\n displayName: \"Windows\",\n variables: windowsBaseVariables,\n};\n","import type { BaseTheme } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\nimport { androidBaseTheme } from \"./android\";\nimport { defaultBaseTheme } from \"./default\";\nimport { iosBaseTheme } from \"./ios\";\nimport { linuxBaseTheme } from \"./linux\";\nimport { windowsBaseTheme } from \"./windows\";\n\nexport const bases: Record<BaseEnum, BaseTheme> = {\n [BaseEnum.DEFAULT]: defaultBaseTheme,\n [BaseEnum.IOS]: iosBaseTheme,\n [BaseEnum.ANDROID]: androidBaseTheme,\n [BaseEnum.WINDOWS]: windowsBaseTheme,\n [BaseEnum.LINUX]: linuxBaseTheme,\n};\n\nexport { defaultBaseTheme, defaultBaseVariables } from \"./default\";\nexport { iosBaseTheme, iosBaseVariables } from \"./ios\";\nexport { androidBaseTheme, androidBaseVariables } from \"./android\";\nexport { windowsBaseTheme, windowsBaseVariables } from \"./windows\";\nexport { linuxBaseTheme, linuxBaseVariables } from \"./linux\";\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Coffee 主题 - 基于 8 色盘重新设计\n * 色盘:奶油 #F8F4E1 | 浅灰米 #E4E0E1 | 浅棕 #D6C0B3 | 中棕 #AB886D / #AF8F6F\n * 深棕 #74512D | 暗棕 #493628 | 最深 #543310\n * 深棕背景 + 奶油/米色文字,语义色保持棕/绿棕/红棕调\n */\nexport const coffeeColorTheme: ColorTheme = {\n name: \"coffee\",\n displayName: \"Coffee\",\n variables: {\n // 主色 - 奶油/拿铁系\n primary: \"#AF8F6F\",\n primaryLight: \"#F8F4E1\",\n primaryFg: \"#2a1f18\",\n\n // 语义色 - 棕调配色(微调以协调)\n success: \"#6d8f72\",\n successLight: \"#8aaa8e\",\n info: \"#8a7a6a\",\n infoLight: \"#a89888\",\n warning: \"#b8926a\",\n warningLight: \"#d4b896\",\n danger: \"#a65d5d\",\n dangerLight: \"#c07d7d\",\n\n // 背景 - 由深到浅:最深 → #543310 → #493628 → #74512D\n bg: \"#2e1a08\",\n bg2: \"#543310\",\n bg3: \"#493628\",\n bg4: \"#74512D\",\n\n // 边框 - 深棕到浅米\n border: \"#493628\",\n border2: \"#543310\",\n border3: \"#74512D\",\n border4: \"#AF8F6F\",\n border5: \"#D6C0B3\",\n\n // 文字\n fg: \"#AF8F6F\",\n fgText: \"#F8F4E1\",\n fgHeading: \"#F8F4E1\",\n fgHighlight: \"#E4E0E1\",\n fgOnPrimary: \"#2e1a08\", // 暂时等于 bg\n\n separator: \"#493628\",\n\n temperature: {\n arcFill: [\"#AF8F6F\", \"#AB886D\", \"#D6C0B3\", \"#E4E0E1\", \"#F8F4E1\"],\n arcEmpty: \"#543310\",\n thumbBg: \"#493628\",\n thumbBorder: \"#AF8F6F\",\n },\n\n solar: {\n gradientLeft: \"#AF8F6F\",\n gradientRight: \"#F8F4E1\",\n shadowColor: \"rgba(0, 0, 0, 0.35)\",\n secondSeriesFill: \"#493628\",\n },\n\n traffic: {\n tooltipBg: \"#74512D\",\n tooltipBorderColor: \"#AF8F6F\",\n tooltipTextColor: \"#F8F4E1\",\n yAxisSplitLine: \"#543310\",\n lineBg: \"#493628\",\n itemColor: \"#543310\",\n itemBorderColor: \"#AF8F6F\",\n itemEmphasisBorderColor: \"#F8F4E1\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#493628\",\n gradTo: \"#2e1a08\",\n },\n\n electricity: {\n tooltipBg: \"#543310\",\n tooltipLineColor: \"#F8F4E1\",\n tooltipBorderColor: \"#AF8F6F\",\n tooltipTextColor: \"#F8F4E1\",\n axisLineColor: \"#AF8F6F\",\n xAxisTextColor: \"#AF8F6F\",\n yAxisSplitLine: \"#543310\",\n itemBorderColor: \"#AF8F6F\",\n lineGradFrom: \"#AF8F6F\",\n lineGradTo: \"#F8F4E1\",\n lineShadow: \"rgba(175, 143, 111, 0.3)\",\n areaGradFrom: \"#493628\",\n areaGradTo: \"#2e1a08\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#2e1a08\",\n textColor: \"#F8F4E1\",\n axisLineColor: \"#AF8F6F\",\n splitLineColor: \"#493628\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#543310\",\n },\n\n chartjs: {\n axisLineColor: \"#AF8F6F\",\n textColor: \"#F8F4E1\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\nexport const corporateColorTheme: ColorTheme = {\n name: \"corporate\",\n displayName: \"Corporate\",\n variables: {\n // 基础颜色\n primary: \"#3366ff\",\n primaryLight: \"#598bff\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#ffffff\",\n bg2: \"#f7f9fc\",\n bg3: \"#edf1f7\",\n bg4: \"#e4e9f2\",\n\n // 边框色\n border: \"#ffffff\",\n border2: \"#f7f9fc\",\n border3: \"#edf1f7\",\n border4: \"#e4e9f2\",\n border5: \"#c5cee0\",\n\n // 文字色\n fg: \"#8f9bb3\",\n fgText: \"#222b45\",\n fgHeading: \"#192038\",\n fgHighlight: \"#003694\",\n fgOnPrimary: \"#ffffff\", // 暂时等于 bg\n\n // 分隔符\n separator: \"#edf1f7\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#ffa36b\", \"#ffa36b\", \"#ff9e7a\", \"#ff9888\", \"#ff8ea0\"],\n arcEmpty: \"#f7f9fc\",\n thumbBg: \"#f7f9fc\",\n thumbBorder: \"#ffa36b\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#3366ff\",\n gradientRight: \"#3366ff\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#f7f9fc\",\n },\n\n traffic: {\n tooltipBg: \"#ffffff\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n yAxisSplitLine: \"rgba(0, 0, 0, 0)\",\n lineBg: \"#3366ff\",\n itemColor: \"#e4e9f2\",\n itemBorderColor: \"#e4e9f2\",\n itemEmphasisBorderColor: \"#598bff\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#ffffff\",\n gradTo: \"#ffffff\",\n },\n\n electricity: {\n tooltipBg: \"#ffffff\",\n tooltipLineColor: \"#222b45\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n axisLineColor: \"#edf1f7\",\n xAxisTextColor: \"#8f9bb3\",\n yAxisSplitLine: \"#edf1f7\",\n itemBorderColor: \"#3366ff\",\n lineGradFrom: \"#3366ff\",\n lineGradTo: \"#3366ff\",\n lineShadow: \"rgba(0, 0, 0, 0)\",\n areaGradFrom: \"rgba(0, 0, 0, 0)\",\n areaGradTo: \"rgba(0, 0, 0, 0)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#ffffff\",\n textColor: \"#222b45\",\n axisLineColor: \"#222b45\",\n splitLineColor: \"#edf1f7\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#3366ff\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#edf1f7\",\n textColor: \"#222b45\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\nexport const cosmicColorTheme: ColorTheme = {\n name: \"cosmic\",\n displayName: \"Cosmic\",\n variables: {\n // 基础颜色\n primary: \"#a16eff\",\n primaryLight: \"#b489ff\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#323259\",\n bg2: \"#2a2a48\",\n bg3: \"#272741\",\n bg4: \"#1f1f3a\",\n\n // 边框色\n border: \"#323259\",\n border2: \"#2a2a48\",\n border3: \"#272741\",\n border4: \"#1f1f3a\",\n border5: \"#1f1f3a\",\n\n // 文字色\n fg: \"#b4b4db\",\n fgText: \"#ffffff\",\n fgHeading: \"#ffffff\",\n fgHighlight: \"#a16eff\",\n fgOnPrimary: \"#323259\", // 暂时等于 bg\n\n // 分隔符\n separator: \"#2a2a48\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#2ec7fe\", \"#31ffad\", \"#7bff24\", \"#fff024\", \"#f7bd59\"],\n arcEmpty: \"#2a2a48\",\n thumbBg: \"#ffffff\",\n thumbBorder: \"#ffffff\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#a16eff\",\n gradientRight: \"#a16eff\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#2a2a48\",\n },\n\n traffic: {\n tooltipBg: \"#323259\",\n tooltipBorderColor: \"#2a2a48\",\n tooltipTextColor: \"#ffffff\",\n yAxisSplitLine: \"#2a2a48\",\n lineBg: \"#2a2a48\",\n itemColor: \"#2a2a48\",\n itemBorderColor: \"#2a2a48\",\n itemEmphasisBorderColor: \"#a16eff\",\n shadowLineDarkBg: \"#272741\",\n shadowLineShadow: \"#272741\",\n gradFrom: \"#323259\",\n gradTo: \"#2a2a48\",\n },\n\n electricity: {\n tooltipBg: \"#323259\",\n tooltipLineColor: \"#ffffff\",\n tooltipBorderColor: \"#2a2a48\",\n tooltipTextColor: \"#ffffff\",\n axisLineColor: \"#272741\",\n xAxisTextColor: \"#b4b4db\",\n yAxisSplitLine: \"#2a2a48\",\n itemBorderColor: \"#2a2a48\",\n lineGradFrom: \"#00d68f\",\n lineGradTo: \"#ffaa00\",\n lineShadow: \"#1f1f3a\",\n areaGradFrom: \"#2a2a48\",\n areaGradTo: \"#272741\",\n shadowLineDarkBg: \"#272741\",\n },\n\n echarts: {\n bg: \"#323259\",\n textColor: \"#ffffff\",\n axisLineColor: \"#ffffff\",\n splitLineColor: \"#2a2a48\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#a16eff\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#2a2a48\",\n textColor: \"#ffffff\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Dark 主题 - 重新设计\n * - 背景层级分明(base → surface → elevated)\n * - 边框可见且不刺眼\n * - 主色为蓝色强调,语义色适配深色背景\n * - 文字对比度符合可读性\n */\nexport const darkColorTheme: ColorTheme = {\n name: \"dark\",\n displayName: \"Dark\",\n variables: {\n // 主色 - 金黄色/琥珀色\n primary: \"#d4a017\",\n primaryLight: \"#eab308\",\n primaryFg: \"#1a1a1a\",\n\n // 语义色 - 深色模式、无蓝色,info 用青绿区分\n success: \"#22c55e\",\n successLight: \"#4ade80\",\n info: \"#14b8a6\",\n infoLight: \"#2dd4bf\",\n warning: \"#eab308\",\n warningLight: \"#facc15\",\n danger: \"#ef4444\",\n dangerLight: \"#f87171\",\n\n // 背景色 - 明确层级(由深到浅)\n bg: \"#0f0f11\",\n bg2: \"#18181b\",\n bg3: \"#27272a\",\n bg4: \"#3f3f46\",\n\n // 边框色 - 与背景区分,便于识别边界\n border: \"#18181b\",\n border2: \"#27272a\",\n border3: \"#3f3f46\",\n border4: \"#52525b\",\n border5: \"#71717a\",\n\n // 文字色 - 主文白、标题更亮、辅助文灰\n fg: \"#a1a1aa\",\n fgText: \"#fafafa\",\n fgHeading: \"#ffffff\",\n fgHighlight: \"#fde047\",\n fgOnPrimary: \"#0f0f11\", // 暂时等于 bg\n\n // 分隔线\n separator: \"#27272a\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#d4a017\", \"#eab308\", \"#fcd34d\", \"#fde047\", \"#fde047\"],\n arcEmpty: \"#27272a\",\n thumbBg: \"#27272a\",\n thumbBorder: \"#52525b\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#d4a017\",\n gradientRight: \"#eab308\",\n shadowColor: \"rgba(0, 0, 0, 0.3)\",\n secondSeriesFill: \"#27272a\",\n },\n\n traffic: {\n tooltipBg: \"#27272a\",\n tooltipBorderColor: \"#3f3f46\",\n tooltipTextColor: \"#fafafa\",\n yAxisSplitLine: \"#27272a\",\n lineBg: \"#3f3f46\",\n itemColor: \"#3f3f46\",\n itemBorderColor: \"#52525b\",\n itemEmphasisBorderColor: \"#eab308\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#27272a\",\n gradTo: \"#18181b\",\n },\n\n electricity: {\n tooltipBg: \"#27272a\",\n tooltipLineColor: \"#fafafa\",\n tooltipBorderColor: \"#3f3f46\",\n tooltipTextColor: \"#fafafa\",\n axisLineColor: \"#3f3f46\",\n xAxisTextColor: \"#a1a1aa\",\n yAxisSplitLine: \"#27272a\",\n itemBorderColor: \"#eab308\",\n lineGradFrom: \"#d4a017\",\n lineGradTo: \"#eab308\",\n lineShadow: \"rgba(212, 160, 23, 0.35)\",\n areaGradFrom: \"#27272a\",\n areaGradTo: \"#18181b\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#18181b\",\n textColor: \"#fafafa\",\n axisLineColor: \"#52525b\",\n splitLineColor: \"#27272a\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#27272a\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#3f3f46\",\n textColor: \"#fafafa\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n// 基于 ReX-App 的 light.ts 红色系配色创建的 default 主题\nexport const defaultColorTheme: ColorTheme = {\n name: \"default\",\n displayName: \"Default\",\n variables: {\n // 基础颜色 - 红色系\n primary: \"rgb(250, 30, 22)\", // #FA1E16 鲜红色\n primaryLight: \"rgb(255, 120, 120)\", // 浅红色\n primaryFg: \"#ffffff\",\n success: \"rgb(62, 168, 30)\", // 浅绿色(对比色)\n successLight: \"rgb(220, 255, 210)\",\n info: \"rgb(255, 160, 150)\", // 亮橙红\n infoLight: \"rgb(255, 200, 180)\",\n warning: \"rgb(248, 104, 7)\", // 明亮橙色\n warningLight: \"rgb(255, 140, 60)\",\n danger: \"rgb(211, 17, 11)\", // 深红色\n dangerLight: \"rgb(243, 70, 64)\",\n\n // 背景色 - 浅色系\n bg: \"rgb(250, 250, 250)\", // 纯白\n bg2: \"rgb(245, 245, 245)\",\n bg3: \"rgb(226, 224, 224)\",\n bg4: \"rgb(207, 207, 207)\",\n\n // 边框色\n border: \"rgb(250, 250, 250)\",\n border2: \"rgb(245, 245, 245)\",\n border3: \"rgb(226, 224, 224)\",\n border4: \"rgb(207, 207, 207)\",\n border5: \"rgb(136, 136, 136)\",\n\n // 文字色\n fg: \"rgb(136, 136, 136)\", // 灰色文字\n fgText: \"rgb(22, 21, 21)\", // 黑色文字\n fgHeading: \"rgb(0, 0, 0)\", // 纯黑标题\n fgHighlight: \"rgb(250, 30, 22)\", // 红色高亮\n fgOnPrimary: \"rgb(250, 250, 250)\", // 暂时等于 bg\n\n // 分隔符\n separator: \"rgb(226, 224, 224)\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\n \"rgb(255, 210, 210)\", // 非常浅的淡红\n \"rgb(255, 200, 160)\", // 柔和杏色\n \"rgb(255, 160, 150)\", // 更偏亮橙红\n \"rgb(255, 120, 120)\", // 浅红\n \"rgb(250, 30, 22)\", // 主红色\n ],\n arcEmpty: \"rgb(245, 245, 245)\",\n thumbBg: \"rgb(245, 245, 245)\",\n thumbBorder: \"rgb(250, 30, 22)\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"rgb(250, 30, 22)\",\n gradientRight: \"rgb(248, 104, 7)\",\n shadowColor: \"rgba(250, 30, 22, 0.1)\",\n secondSeriesFill: \"rgb(245, 245, 245)\",\n },\n\n traffic: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n lineBg: \"rgb(207, 207, 207)\",\n itemColor: \"rgb(207, 207, 207)\",\n itemBorderColor: \"rgb(207, 207, 207)\",\n itemEmphasisBorderColor: \"rgb(250, 30, 22)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"rgb(245, 245, 245)\",\n gradTo: \"rgb(245, 245, 245)\",\n },\n\n electricity: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipLineColor: \"rgb(22, 21, 21)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(226, 224, 224)\",\n xAxisTextColor: \"rgb(136, 136, 136)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n itemBorderColor: \"rgb(250, 30, 22)\",\n lineGradFrom: \"rgb(250, 30, 22)\",\n lineGradTo: \"rgb(248, 104, 7)\",\n lineShadow: \"rgba(250, 30, 22, 0.2)\",\n areaGradFrom: \"rgba(250, 30, 22, 0.1)\",\n areaGradTo: \"rgba(250, 30, 22, 0.05)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"rgb(250, 250, 250)\",\n textColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(136, 136, 136)\",\n splitLineColor: \"rgb(226, 224, 224)\",\n itemHoverShadowColor: \"rgba(250, 30, 22, 0.3)\",\n tooltipBackgroundColor: \"rgb(250, 30, 22)\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"rgb(226, 224, 224)\",\n textColor: \"rgb(22, 21, 21)\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Forest 主题 - 森林绿配色\n * - 主色:翠绿 #1F7A5A,按钮、链接、强调\n * - 深绿底 + 浅绿层级\n */\nexport const forestColorTheme: ColorTheme = {\n name: \"forest\",\n displayName: \"Forest\",\n variables: {\n primary: \"#1F7A5A\",\n primaryLight: \"#E6F2EE\",\n primaryFg: \"#FFFFFF\",\n\n success: \"#1F7A5A\",\n successLight: \"#E6F2EE\",\n\n info: \"#2563EB\",\n infoLight: \"#E8F0FF\",\n\n warning: \"#B45309\",\n warningLight: \"#FFF4E5\",\n\n danger: \"#B42318\",\n dangerLight: \"#FDECEC\",\n\n // ===== Backgrounds (White-based) =====\n bg: \"#FFFFFF\",\n bg2: \"#F7F9F8\",\n bg3: \"#EEF3F1\",\n bg4: \"#E6EFEC\",\n\n // ===== Borders (subtle greys w/ green hint) =====\n border: \"#E5E7EB\",\n border2: \"#D1D5DB\",\n border3: \"#C7D2CF\",\n border4: \"#B6C4BF\",\n border5: \"#1F7A5A\", // strong focus border\n\n // ===== Text =====\n fg: \"#111827\",\n fgText: \"#374151\",\n fgHeading: \"#0F172A\",\n fgHighlight: \"#1F7A5A\",\n fgOnPrimary: \"#FFFFFF\", // 暂时等于 bg\n separator: \"#E5E7EB\",\n\n temperature: {\n arcFill: [\"#E6F2EE\", \"#A7D8C6\", \"#4AA987\", \"#1F7A5A\", \"#145A43\"],\n arcEmpty: \"#E5E7EB\",\n thumbBg: \"#1F7A5A\",\n thumbBorder: \"#145A43\",\n },\n\n solar: {\n gradientLeft: \"#E6F2EE\",\n gradientRight: \"#1F7A5A\",\n shadowColor: \"rgba(31, 122, 90, 0.25)\",\n secondSeriesFill: \"#A7D8C6\",\n },\n\n traffic: {\n tooltipBg: \"#FFFFFF\",\n tooltipBorderColor: \"#E5E7EB\",\n tooltipTextColor: \"#111827\",\n yAxisSplitLine: \"#E5E7EB\",\n lineBg: \"rgba(31, 122, 90, 0.08)\",\n itemColor: \"#1F7A5A\",\n itemBorderColor: \"#145A43\",\n itemEmphasisBorderColor: \"#0E5A41\",\n shadowLineDarkBg: \"rgba(31, 122, 90, 0.15)\",\n shadowLineShadow: \"rgba(31, 122, 90, 0.20)\",\n gradFrom: \"#E6F2EE\",\n gradTo: \"#1F7A5A\",\n },\n\n electricity: {\n tooltipBg: \"#FFFFFF\",\n tooltipLineColor: \"#1F7A5A\",\n tooltipBorderColor: \"#E5E7EB\",\n tooltipTextColor: \"#111827\",\n axisLineColor: \"#D1D5DB\",\n xAxisTextColor: \"#374151\",\n yAxisSplitLine: \"#E5E7EB\",\n itemBorderColor: \"#145A43\",\n lineGradFrom: \"#E6F2EE\",\n lineGradTo: \"#1F7A5A\",\n lineShadow: \"rgba(31, 122, 90, 0.25)\",\n areaGradFrom: \"rgba(31, 122, 90, 0.25)\",\n areaGradTo: \"rgba(31, 122, 90, 0.00)\",\n shadowLineDarkBg: \"rgba(31, 122, 90, 0.10)\",\n },\n\n echarts: {\n bg: \"#FFFFFF\",\n textColor: \"#111827\",\n axisLineColor: \"#D1D5DB\",\n splitLineColor: \"#E5E7EB\",\n itemHoverShadowColor: \"rgba(31, 122, 90, 0.25)\",\n tooltipBackgroundColor: \"#FFFFFF\",\n },\n\n chartjs: {\n axisLineColor: \"#D1D5DB\",\n textColor: \"#111827\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n// 原 ngx-admin 的 default 主题(浅灰蓝色风格)\nexport const lightColorTheme: ColorTheme = {\n name: \"light\",\n displayName: \"Light\",\n variables: {\n // 基础颜色 - 黑白对比色系\n primary: \"#222b45\",\n primaryLight: \"#192038\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#ffffff\",\n bg2: \"#f7f9fc\",\n bg3: \"#edf1f7\",\n bg4: \"#e4e9f2\",\n\n // 边框色\n border: \"#ffffff\",\n border2: \"#f7f9fc\",\n border3: \"#edf1f7\",\n border4: \"#e4e9f2\",\n border5: \"#c5cee0\",\n\n // 文字色\n fg: \"#8f9bb3\",\n fgText: \"#222b45\",\n fgHeading: \"#192038\",\n fgHighlight: \"#003694\",\n fgOnPrimary: \"#ffffff\", // 暂时等于 bg\n\n // 分隔符\n separator: \"#edf1f7\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\"],\n arcEmpty: \"#f7f9fc\",\n thumbBg: \"#f7f9fc\",\n thumbBorder: \"#8f9bb3\",\n },\n\n solar: {\n gradientLeft: \"#8f9bb3\",\n gradientRight: \"#8f9bb3\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#f7f9fc\",\n },\n\n traffic: {\n tooltipBg: \"#ffffff\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n yAxisSplitLine: \"#edf1f7\",\n lineBg: \"#e4e9f2\",\n itemColor: \"#e4e9f2\",\n itemBorderColor: \"#e4e9f2\",\n itemEmphasisBorderColor: \"#8f9bb3\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#f7f9fc\",\n gradTo: \"#f7f9fc\",\n },\n\n electricity: {\n tooltipBg: \"#ffffff\",\n tooltipLineColor: \"#222b45\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n axisLineColor: \"#edf1f7\",\n xAxisTextColor: \"#8f9bb3\",\n yAxisSplitLine: \"#edf1f7\",\n itemBorderColor: \"#8f9bb3\",\n lineGradFrom: \"#8f9bb3\",\n lineGradTo: \"#8f9bb3\",\n lineShadow: \"rgba(0, 0, 0, 0)\",\n areaGradFrom: \"#f7f9fc\",\n areaGradTo: \"#f7f9fc\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#ffffff\",\n textColor: \"#222b45\",\n axisLineColor: \"#222b45\",\n splitLineColor: \"#edf1f7\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#8f9bb3\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#edf1f7\",\n textColor: \"#222b45\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/** 麦田:在 default 基础上将白红色系改为金黄色系 */\nexport const wheatColorTheme: ColorTheme = {\n name: \"wheat\",\n displayName: \"麦田\",\n variables: {\n // 主色 - 金黄色系\n primary: \"rgb(201, 162, 39)\", // #C9A227 金黄\n primaryLight: \"rgb(230, 200, 120)\", // 浅金黄\n primaryFg: \"#ffffff\",\n success: \"rgb(62, 168, 30)\",\n successLight: \"rgb(220, 255, 210)\",\n info: \"rgb(220, 180, 80)\", // 暖金\n infoLight: \"rgb(255, 235, 180)\",\n warning: \"rgb(218, 165, 32)\", // 深金\n warningLight: \"rgb(255, 215, 120)\",\n danger: \"rgb(180, 130, 20)\", // 深褐金\n dangerLight: \"rgb(220, 180, 80)\",\n\n // 背景色 - 浅色系(与 default 一致)\n bg: \"rgb(250, 250, 250)\",\n bg2: \"rgb(245, 245, 245)\",\n bg3: \"rgb(226, 224, 224)\",\n bg4: \"rgb(207, 207, 207)\",\n\n border: \"rgb(250, 250, 250)\",\n border2: \"rgb(245, 245, 245)\",\n border3: \"rgb(226, 224, 224)\",\n border4: \"rgb(207, 207, 207)\",\n border5: \"rgb(136, 136, 136)\",\n\n fg: \"rgb(136, 136, 136)\",\n fgText: \"rgb(22, 21, 21)\",\n fgHeading: \"rgb(0, 0, 0)\",\n fgHighlight: \"rgb(201, 162, 39)\", // 金黄高亮\n fgOnPrimary: \"rgb(250, 250, 250)\", // 暂时等于 bg\n\n separator: \"rgb(226, 224, 224)\",\n\n temperature: {\n arcFill: [\n \"rgb(255, 245, 210)\",\n \"rgb(255, 235, 180)\",\n \"rgb(255, 220, 150)\",\n \"rgb(230, 200, 120)\",\n \"rgb(201, 162, 39)\",\n ],\n arcEmpty: \"rgb(245, 245, 245)\",\n thumbBg: \"rgb(245, 245, 245)\",\n thumbBorder: \"rgb(201, 162, 39)\",\n },\n\n solar: {\n gradientLeft: \"rgb(201, 162, 39)\",\n gradientRight: \"rgb(218, 165, 32)\",\n shadowColor: \"rgba(201, 162, 39, 0.1)\",\n secondSeriesFill: \"rgb(245, 245, 245)\",\n },\n\n traffic: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n lineBg: \"rgb(207, 207, 207)\",\n itemColor: \"rgb(207, 207, 207)\",\n itemBorderColor: \"rgb(207, 207, 207)\",\n itemEmphasisBorderColor: \"rgb(201, 162, 39)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"rgb(245, 245, 245)\",\n gradTo: \"rgb(245, 245, 245)\",\n },\n\n electricity: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipLineColor: \"rgb(22, 21, 21)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(226, 224, 224)\",\n xAxisTextColor: \"rgb(136, 136, 136)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n itemBorderColor: \"rgb(201, 162, 39)\",\n lineGradFrom: \"rgb(201, 162, 39)\",\n lineGradTo: \"rgb(218, 165, 32)\",\n lineShadow: \"rgba(201, 162, 39, 0.2)\",\n areaGradFrom: \"rgba(201, 162, 39, 0.1)\",\n areaGradTo: \"rgba(201, 162, 39, 0.05)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"rgb(250, 250, 250)\",\n textColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(136, 136, 136)\",\n splitLineColor: \"rgb(226, 224, 224)\",\n itemHoverShadowColor: \"rgba(201, 162, 39, 0.3)\",\n tooltipBackgroundColor: \"rgb(201, 162, 39)\",\n },\n\n chartjs: {\n axisLineColor: \"rgb(226, 224, 224)\",\n textColor: \"rgb(22, 21, 21)\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Wine 主题(深色)- 8 色盘(Burgundy 体系)\n * #2A0B12 Background | #3A0F1A Surface | #4A1322 Secondary | #800020 Primary\n * #9A1F3D Primary Hover | #B23A5C Accent | #C97A8A Muted Highlight | #F4E6E9 Text\n */\nexport const wineColorTheme: ColorTheme = {\n name: \"wine\",\n displayName: \"Wine\",\n variables: {\n primary: \"#800020\",\n primaryLight: \"#F4E6E9\",\n primaryFg: \"#F4E6E9\",\n\n success: \"#6b8f6b\",\n successLight: \"#8aaa8e\",\n info: \"#8a6a6a\",\n infoLight: \"#a88a8a\",\n warning: \"#c49050\",\n warningLight: \"#d4b080\",\n danger: \"#b85050\",\n dangerLight: \"#d07070\",\n\n bg: \"#2A0B12\",\n bg2: \"#3A0F1A\",\n bg3: \"#4A1322\",\n bg4: \"#4A1322\",\n\n border: \"#2A0B12\",\n border2: \"#3A0F1A\",\n border3: \"#4A1322\",\n border4: \"#800020\",\n border5: \"#B23A5C\",\n\n fg: \"#C97A8A\",\n fgText: \"#F4E6E9\",\n fgHeading: \"#F4E6E9\",\n fgHighlight: \"#F4E6E9\",\n fgOnPrimary: \"#2A0B12\", // 暂时等于 bg\n\n separator: \"#3A0F1A\",\n\n temperature: {\n arcFill: [\"#800020\", \"#9A1F3D\", \"#B23A5C\", \"#C97A8A\", \"#F4E6E9\"],\n arcEmpty: \"#2A0B12\",\n thumbBg: \"#3A0F1A\",\n thumbBorder: \"#800020\",\n },\n\n solar: {\n gradientLeft: \"#800020\",\n gradientRight: \"#F4E6E9\",\n shadowColor: \"rgba(0, 0, 0, 0.4)\",\n secondSeriesFill: \"#3A0F1A\",\n },\n\n traffic: {\n tooltipBg: \"#4A1322\",\n tooltipBorderColor: \"#B23A5C\",\n tooltipTextColor: \"#F4E6E9\",\n yAxisSplitLine: \"#3A0F1A\",\n lineBg: \"#3A0F1A\",\n itemColor: \"#2A0B12\",\n itemBorderColor: \"#800020\",\n itemEmphasisBorderColor: \"#F4E6E9\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#3A0F1A\",\n gradTo: \"#2A0B12\",\n },\n\n electricity: {\n tooltipBg: \"#3A0F1A\",\n tooltipLineColor: \"#F4E6E9\",\n tooltipBorderColor: \"#800020\",\n tooltipTextColor: \"#F4E6E9\",\n axisLineColor: \"#B23A5C\",\n xAxisTextColor: \"#C97A8A\",\n yAxisSplitLine: \"#3A0F1A\",\n itemBorderColor: \"#800020\",\n lineGradFrom: \"#800020\",\n lineGradTo: \"#F4E6E9\",\n lineShadow: \"rgba(128, 0, 32, 0.35)\",\n areaGradFrom: \"#3A0F1A\",\n areaGradTo: \"#2A0B12\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#2A0B12\",\n textColor: \"#F4E6E9\",\n axisLineColor: \"#B23A5C\",\n splitLineColor: \"#3A0F1A\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#3A0F1A\",\n },\n\n chartjs: {\n axisLineColor: \"#B23A5C\",\n textColor: \"#F4E6E9\",\n },\n },\n};\n","import type { Theme } from \"../../types\";\n\nimport { ThemeEnum } from \"../../types\";\nimport { defaultBaseTheme } from \"../bases/default\";\nimport { coffeeColorTheme } from \"./coffee\";\nimport { corporateColorTheme } from \"./corporate\";\nimport { cosmicColorTheme } from \"./cosmic\";\nimport { darkColorTheme } from \"./dark\";\nimport { defaultColorTheme } from \"./default\";\nimport { forestColorTheme } from \"./forest\";\nimport { lightColorTheme } from \"./light\";\nimport { wheatColorTheme } from \"./wheat\";\nimport { wineColorTheme } from \"./wine\";\n\nconst defaultTheme: Theme = { colors: defaultColorTheme, base: defaultBaseTheme };\nconst lightTheme: Theme = { colors: lightColorTheme, base: defaultBaseTheme };\nconst darkTheme: Theme = { colors: darkColorTheme, base: defaultBaseTheme };\nconst cosmicTheme: Theme = { colors: cosmicColorTheme, base: defaultBaseTheme };\nconst corporateTheme: Theme = { colors: corporateColorTheme, base: defaultBaseTheme };\nconst forestTheme: Theme = { colors: forestColorTheme, base: defaultBaseTheme };\nconst coffeeTheme: Theme = { colors: coffeeColorTheme, base: defaultBaseTheme };\nconst wineTheme: Theme = { colors: wineColorTheme, base: defaultBaseTheme };\nconst wheatTheme: Theme = { colors: wheatColorTheme, base: defaultBaseTheme };\n\nexport const themes: Record<ThemeEnum, Theme> = {\n [ThemeEnum.DEFAULT]: defaultTheme,\n [ThemeEnum.LIGHT]: lightTheme,\n [ThemeEnum.DARK]: darkTheme,\n [ThemeEnum.COSMIC]: cosmicTheme,\n [ThemeEnum.CORPORATE]: corporateTheme,\n [ThemeEnum.FOREST]: forestTheme,\n [ThemeEnum.COFFEE]: coffeeTheme,\n [ThemeEnum.WINE]: wineTheme,\n [ThemeEnum.WHEAT]: wheatTheme,\n};\n\nexport { defaultTheme, lightTheme, darkTheme, cosmicTheme, corporateTheme, forestTheme, coffeeTheme, wineTheme, wheatTheme };\n","/**\n * 主题提供者:提供颜色主题与基础主题(圆角等)上下文。\n * Theme provider: provides color theme and base theme (e.g. radius) context.\n */\nimport type { Theme, ThemeProviderProps } from \"../types\";\n\nimport { memo, useMemo, useState } from \"react\";\n\nimport { ThemeContext } from \"../hooks/useTheme\";\nimport useThemeVariables from \"../hooks/useThemeVariables\";\nimport { bases } from \"../themes/bases\";\nimport { themes } from \"../themes/colors\";\nimport { getThemeBaseStorage, getThemeColorStorage, setThemeBaseStorage } from \"../utils\";\nimport { BASE_VALUES, BaseEnum, THEME_VALUES, ThemeEnum } from \"../types\";\n\nconst ThemeProvider = memo(({ children, defaultTheme = ThemeEnum.DEFAULT, defaultBase = BaseEnum.DEFAULT }: ThemeProviderProps) => {\n const [themeName, setThemeName] = useState<ThemeEnum>(() => {\n const saved = getThemeColorStorage();\n return saved != null && saved in themes ? saved : defaultTheme;\n });\n const [baseName, setBaseName] = useState<BaseEnum>(() => {\n const saved = getThemeBaseStorage();\n return saved != null ? saved : defaultBase;\n });\n\n const currentTheme = useMemo<Theme>(\n () => ({\n colors: themes[themeName].colors,\n base: bases[baseName],\n }),\n [themeName, baseName],\n );\n\n useThemeVariables(currentTheme, themeName);\n\n const setTheme = (newTheme: ThemeEnum) => {\n setThemeName(newTheme);\n };\n const setBase = (newBase: BaseEnum) => {\n setBaseName(newBase);\n setThemeBaseStorage(newBase);\n };\n\n return (\n <ThemeContext.Provider\n value={{\n currentTheme,\n themeName,\n baseName,\n setTheme,\n setBase,\n availableThemes: THEME_VALUES,\n availableBases: BASE_VALUES,\n }}\n >\n {children}\n </ThemeContext.Provider>\n );\n});\n\nThemeProvider.displayName = \"ThemeProvider\";\nexport default ThemeProvider;\n"],"mappings":"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"}
package/dist/themes.d.ts CHANGED
@@ -73,6 +73,8 @@ export declare interface ColorVariables {
73
73
  fgText: string;
74
74
  fgHeading: string;
75
75
  fgHighlight: string;
76
+ /** primary 上的文字色,暂时规定等于 bg */
77
+ fgOnPrimary: string;
76
78
  separator: string;
77
79
  temperature: {
78
80
  arcFill: string[];
package/dist/themes.mjs CHANGED
@@ -3,13 +3,13 @@
3
3
  import { a as gr, c as i, i as d, n as y, o as br, r as a, s as F, t as n } from "./chunk-types-BudGuDCK.mjs";
4
4
  import { n as p, r as C, t as B } from "./chunk-lstorage-BVCD00Ow.mjs";
5
5
  import { n as cr, t as E } from "./chunk-useTheme-oHcq3d0o.mjs";
6
- import { memo as A, useEffect as u, useMemo as T, useState as h } from "react";
6
+ import { memo as A, useEffect as u, useMemo as T, useState as m } from "react";
7
7
  import { jsx as w } from "react/jsx-runtime";
8
- function S() {
8
+ function P() {
9
9
  const o = B(d);
10
10
  return o == null || F.includes(o) ? o : void 0;
11
11
  }
12
- function P(o) {
12
+ function S(o) {
13
13
  C(d, o);
14
14
  }
15
15
  function D() {
@@ -19,15 +19,15 @@ function D() {
19
19
  function v(o) {
20
20
  C(n, o);
21
21
  }
22
- function mr() {
22
+ function hr() {
23
23
  p(d), p(n);
24
24
  }
25
25
  var G = (o, g) => {
26
26
  u(() => {
27
- const r = document.documentElement, e = o.colors.variables, s = o.base.variables;
28
- r.style.setProperty("--color-primary", e.primary), r.style.setProperty("--color-primary-light", e.primaryLight), r.style.setProperty("--color-primary-fg", e.primaryFg), r.style.setProperty("--color-success", e.success), r.style.setProperty("--color-success-light", e.successLight), r.style.setProperty("--color-info", e.info), r.style.setProperty("--color-info-light", e.infoLight), r.style.setProperty("--color-warning", e.warning), r.style.setProperty("--color-warning-light", e.warningLight), r.style.setProperty("--color-danger", e.danger), r.style.setProperty("--color-danger-light", e.dangerLight), r.style.setProperty("--color-bg", e.bg), r.style.setProperty("--color-bg-2", e.bg2), r.style.setProperty("--color-bg-3", e.bg3), r.style.setProperty("--color-bg-4", e.bg4), r.style.setProperty("--color-border", e.border), r.style.setProperty("--color-border-2", e.border2), r.style.setProperty("--color-border-3", e.border3), r.style.setProperty("--color-border-4", e.border4), r.style.setProperty("--color-border-5", e.border5), r.style.setProperty("--color-fg", e.fg), r.style.setProperty("--color-fg-text", e.fgText), r.style.setProperty("--color-fg-heading", e.fgHeading), r.style.setProperty("--color-fg-highlight", e.fgHighlight), r.style.setProperty("--color-separator", e.separator), r.style.setProperty("--radius-button", `${s.buttonRadius}px`), r.style.setProperty("--radius-card", `${s.cardRadius}px`), r.style.setProperty("--radius-input", `${s.inputRadius}px`), e.temperature.arcFill.forEach((f, b) => {
29
- r.style.setProperty(`--temperature-arc-fill-${b}`, f);
30
- }), r.style.setProperty("--temperature-arc-empty", e.temperature.arcEmpty), r.style.setProperty("--temperature-thumb-bg", e.temperature.thumbBg), r.style.setProperty("--temperature-thumb-border", e.temperature.thumbBorder), r.style.setProperty("--solar-gradient-left", e.solar.gradientLeft), r.style.setProperty("--solar-gradient-right", e.solar.gradientRight), r.style.setProperty("--solar-shadow-color", e.solar.shadowColor), r.style.setProperty("--solar-second-series-fill", e.solar.secondSeriesFill), r.style.setProperty("--traffic-tooltip-bg", e.traffic.tooltipBg), r.style.setProperty("--traffic-tooltip-border-color", e.traffic.tooltipBorderColor), r.style.setProperty("--traffic-tooltip-text-color", e.traffic.tooltipTextColor), r.style.setProperty("--traffic-y-axis-split-line", e.traffic.yAxisSplitLine), r.style.setProperty("--traffic-line-bg", e.traffic.lineBg), r.style.setProperty("--traffic-item-color", e.traffic.itemColor), r.style.setProperty("--traffic-item-border-color", e.traffic.itemBorderColor), r.style.setProperty("--traffic-item-emphasis-border-color", e.traffic.itemEmphasisBorderColor), r.style.setProperty("--traffic-shadow-line-dark-bg", e.traffic.shadowLineDarkBg), r.style.setProperty("--traffic-shadow-line-shadow", e.traffic.shadowLineShadow), r.style.setProperty("--traffic-grad-from", e.traffic.gradFrom), r.style.setProperty("--traffic-grad-to", e.traffic.gradTo), r.style.setProperty("--electricity-tooltip-bg", e.electricity.tooltipBg), r.style.setProperty("--electricity-tooltip-line-color", e.electricity.tooltipLineColor), r.style.setProperty("--electricity-tooltip-border-color", e.electricity.tooltipBorderColor), r.style.setProperty("--electricity-tooltip-text-color", e.electricity.tooltipTextColor), r.style.setProperty("--electricity-axis-line-color", e.electricity.axisLineColor), r.style.setProperty("--electricity-x-axis-text-color", e.electricity.xAxisTextColor), r.style.setProperty("--electricity-y-axis-split-line", e.electricity.yAxisSplitLine), r.style.setProperty("--electricity-item-border-color", e.electricity.itemBorderColor), r.style.setProperty("--electricity-line-grad-from", e.electricity.lineGradFrom), r.style.setProperty("--electricity-line-grad-to", e.electricity.lineGradTo), r.style.setProperty("--electricity-line-shadow", e.electricity.lineShadow), r.style.setProperty("--electricity-area-grad-from", e.electricity.areaGradFrom), r.style.setProperty("--electricity-area-grad-to", e.electricity.areaGradTo), r.style.setProperty("--electricity-shadow-line-dark-bg", e.electricity.shadowLineDarkBg), r.style.setProperty("--echarts-bg", e.echarts.bg), r.style.setProperty("--echarts-text-color", e.echarts.textColor), r.style.setProperty("--echarts-axis-line-color", e.echarts.axisLineColor), r.style.setProperty("--echarts-split-line-color", e.echarts.splitLineColor), r.style.setProperty("--echarts-item-hover-shadow-color", e.echarts.itemHoverShadowColor), r.style.setProperty("--echarts-tooltip-bg-color", e.echarts.tooltipBackgroundColor), r.style.setProperty("--chartjs-axis-line-color", e.chartjs.axisLineColor), r.style.setProperty("--chartjs-text-color", e.chartjs.textColor), P(g);
27
+ const r = document.documentElement, e = o.colors.variables, f = o.base.variables;
28
+ r.style.setProperty("--color-primary", e.primary), r.style.setProperty("--color-primary-light", e.primaryLight), r.style.setProperty("--color-primary-fg", e.primaryFg), r.style.setProperty("--color-success", e.success), r.style.setProperty("--color-success-light", e.successLight), r.style.setProperty("--color-info", e.info), r.style.setProperty("--color-info-light", e.infoLight), r.style.setProperty("--color-warning", e.warning), r.style.setProperty("--color-warning-light", e.warningLight), r.style.setProperty("--color-danger", e.danger), r.style.setProperty("--color-danger-light", e.dangerLight), r.style.setProperty("--color-bg", e.bg), r.style.setProperty("--color-bg-2", e.bg2), r.style.setProperty("--color-bg-3", e.bg3), r.style.setProperty("--color-bg-4", e.bg4), r.style.setProperty("--color-border", e.border), r.style.setProperty("--color-border-2", e.border2), r.style.setProperty("--color-border-3", e.border3), r.style.setProperty("--color-border-4", e.border4), r.style.setProperty("--color-border-5", e.border5), r.style.setProperty("--color-fg", e.fg), r.style.setProperty("--color-fg-text", e.fgText), r.style.setProperty("--color-fg-heading", e.fgHeading), r.style.setProperty("--color-fg-highlight", e.fgHighlight), r.style.setProperty("--color-fg-on-primary", e.fgOnPrimary), r.style.setProperty("--color-separator", e.separator), r.style.setProperty("--radius-button", `${f.buttonRadius}px`), r.style.setProperty("--radius-card", `${f.cardRadius}px`), r.style.setProperty("--radius-input", `${f.inputRadius}px`), e.temperature.arcFill.forEach((s, b) => {
29
+ r.style.setProperty(`--temperature-arc-fill-${b}`, s);
30
+ }), r.style.setProperty("--temperature-arc-empty", e.temperature.arcEmpty), r.style.setProperty("--temperature-thumb-bg", e.temperature.thumbBg), r.style.setProperty("--temperature-thumb-border", e.temperature.thumbBorder), r.style.setProperty("--solar-gradient-left", e.solar.gradientLeft), r.style.setProperty("--solar-gradient-right", e.solar.gradientRight), r.style.setProperty("--solar-shadow-color", e.solar.shadowColor), r.style.setProperty("--solar-second-series-fill", e.solar.secondSeriesFill), r.style.setProperty("--traffic-tooltip-bg", e.traffic.tooltipBg), r.style.setProperty("--traffic-tooltip-border-color", e.traffic.tooltipBorderColor), r.style.setProperty("--traffic-tooltip-text-color", e.traffic.tooltipTextColor), r.style.setProperty("--traffic-y-axis-split-line", e.traffic.yAxisSplitLine), r.style.setProperty("--traffic-line-bg", e.traffic.lineBg), r.style.setProperty("--traffic-item-color", e.traffic.itemColor), r.style.setProperty("--traffic-item-border-color", e.traffic.itemBorderColor), r.style.setProperty("--traffic-item-emphasis-border-color", e.traffic.itemEmphasisBorderColor), r.style.setProperty("--traffic-shadow-line-dark-bg", e.traffic.shadowLineDarkBg), r.style.setProperty("--traffic-shadow-line-shadow", e.traffic.shadowLineShadow), r.style.setProperty("--traffic-grad-from", e.traffic.gradFrom), r.style.setProperty("--traffic-grad-to", e.traffic.gradTo), r.style.setProperty("--electricity-tooltip-bg", e.electricity.tooltipBg), r.style.setProperty("--electricity-tooltip-line-color", e.electricity.tooltipLineColor), r.style.setProperty("--electricity-tooltip-border-color", e.electricity.tooltipBorderColor), r.style.setProperty("--electricity-tooltip-text-color", e.electricity.tooltipTextColor), r.style.setProperty("--electricity-axis-line-color", e.electricity.axisLineColor), r.style.setProperty("--electricity-x-axis-text-color", e.electricity.xAxisTextColor), r.style.setProperty("--electricity-y-axis-split-line", e.electricity.yAxisSplitLine), r.style.setProperty("--electricity-item-border-color", e.electricity.itemBorderColor), r.style.setProperty("--electricity-line-grad-from", e.electricity.lineGradFrom), r.style.setProperty("--electricity-line-grad-to", e.electricity.lineGradTo), r.style.setProperty("--electricity-line-shadow", e.electricity.lineShadow), r.style.setProperty("--electricity-area-grad-from", e.electricity.areaGradFrom), r.style.setProperty("--electricity-area-grad-to", e.electricity.areaGradTo), r.style.setProperty("--electricity-shadow-line-dark-bg", e.electricity.shadowLineDarkBg), r.style.setProperty("--echarts-bg", e.echarts.bg), r.style.setProperty("--echarts-text-color", e.echarts.textColor), r.style.setProperty("--echarts-axis-line-color", e.echarts.axisLineColor), r.style.setProperty("--echarts-split-line-color", e.echarts.splitLineColor), r.style.setProperty("--echarts-item-hover-shadow-color", e.echarts.itemHoverShadowColor), r.style.setProperty("--echarts-tooltip-bg-color", e.echarts.tooltipBackgroundColor), r.style.setProperty("--chartjs-axis-line-color", e.chartjs.axisLineColor), r.style.setProperty("--chartjs-text-color", e.chartjs.textColor), S(g);
31
31
  }, [g, o]);
32
32
  };
33
33
  const R = {
@@ -46,14 +46,14 @@ const R = {
46
46
  name: a.DEFAULT,
47
47
  displayName: "Default",
48
48
  variables: H
49
- }, N = {
49
+ }, O = {
50
50
  buttonRadius: 24,
51
51
  cardRadius: 24,
52
52
  inputRadius: 24
53
- }, O = {
53
+ }, N = {
54
54
  name: a.IOS,
55
55
  displayName: "iOS",
56
- variables: N
56
+ variables: O
57
57
  }, j = {
58
58
  buttonRadius: 4,
59
59
  cardRadius: 4,
@@ -72,7 +72,7 @@ const R = {
72
72
  variables: U
73
73
  }, W = {
74
74
  [a.DEFAULT]: l,
75
- [a.IOS]: O,
75
+ [a.IOS]: N,
76
76
  [a.ANDROID]: k,
77
77
  [a.WINDOWS]: V,
78
78
  [a.LINUX]: I
@@ -104,6 +104,7 @@ const R = {
104
104
  fgText: "#F8F4E1",
105
105
  fgHeading: "#F8F4E1",
106
106
  fgHighlight: "#E4E0E1",
107
+ fgOnPrimary: "#2e1a08",
107
108
  separator: "#493628",
108
109
  temperature: {
109
110
  arcFill: [
@@ -194,6 +195,7 @@ const R = {
194
195
  fgText: "#222b45",
195
196
  fgHeading: "#192038",
196
197
  fgHighlight: "#003694",
198
+ fgOnPrimary: "#ffffff",
197
199
  separator: "#edf1f7",
198
200
  temperature: {
199
201
  arcFill: [
@@ -284,6 +286,7 @@ const R = {
284
286
  fgText: "#ffffff",
285
287
  fgHeading: "#ffffff",
286
288
  fgHighlight: "#a16eff",
289
+ fgOnPrimary: "#323259",
287
290
  separator: "#2a2a48",
288
291
  temperature: {
289
292
  arcFill: [
@@ -374,6 +377,7 @@ const R = {
374
377
  fgText: "#fafafa",
375
378
  fgHeading: "#ffffff",
376
379
  fgHighlight: "#fde047",
380
+ fgOnPrimary: "#0f0f11",
377
381
  separator: "#27272a",
378
382
  temperature: {
379
383
  arcFill: [
@@ -464,6 +468,7 @@ const R = {
464
468
  fgText: "rgb(22, 21, 21)",
465
469
  fgHeading: "rgb(0, 0, 0)",
466
470
  fgHighlight: "rgb(250, 30, 22)",
471
+ fgOnPrimary: "rgb(250, 250, 250)",
467
472
  separator: "rgb(226, 224, 224)",
468
473
  temperature: {
469
474
  arcFill: [
@@ -554,6 +559,7 @@ const R = {
554
559
  fgText: "#374151",
555
560
  fgHeading: "#0F172A",
556
561
  fgHighlight: "#1F7A5A",
562
+ fgOnPrimary: "#FFFFFF",
557
563
  separator: "#E5E7EB",
558
564
  temperature: {
559
565
  arcFill: [
@@ -644,6 +650,7 @@ const R = {
644
650
  fgText: "#222b45",
645
651
  fgHeading: "#192038",
646
652
  fgHighlight: "#003694",
653
+ fgOnPrimary: "#ffffff",
647
654
  separator: "#edf1f7",
648
655
  temperature: {
649
656
  arcFill: [
@@ -734,6 +741,7 @@ const R = {
734
741
  fgText: "rgb(22, 21, 21)",
735
742
  fgHeading: "rgb(0, 0, 0)",
736
743
  fgHighlight: "rgb(201, 162, 39)",
744
+ fgOnPrimary: "rgb(250, 250, 250)",
737
745
  separator: "rgb(226, 224, 224)",
738
746
  temperature: {
739
747
  arcFill: [
@@ -824,6 +832,7 @@ const R = {
824
832
  fgText: "#F4E6E9",
825
833
  fgHeading: "#F4E6E9",
826
834
  fgHighlight: "#F4E6E9",
835
+ fgOnPrimary: "#2A0B12",
827
836
  separator: "#3A0F1A",
828
837
  temperature: {
829
838
  arcFill: [
@@ -915,7 +924,7 @@ var Q = {
915
924
  colors: z,
916
925
  base: l
917
926
  };
918
- const m = {
927
+ const h = {
919
928
  [i.DEFAULT]: Q,
920
929
  [i.LIGHT]: Z,
921
930
  [i.DARK]: rr,
@@ -926,20 +935,20 @@ const m = {
926
935
  [i.WINE]: ir,
927
936
  [i.WHEAT]: lr
928
937
  };
929
- var sr = A(({ children: o, defaultTheme: g = i.DEFAULT, defaultBase: r = a.DEFAULT }) => {
930
- const [e, s] = h(() => {
931
- const t = S();
932
- return t != null && t in m ? t : g;
933
- }), [f, b] = h(() => {
938
+ var fr = A(({ children: o, defaultTheme: g = i.DEFAULT, defaultBase: r = a.DEFAULT }) => {
939
+ const [e, f] = m(() => {
940
+ const t = P();
941
+ return t != null && t in h ? t : g;
942
+ }), [s, b] = m(() => {
934
943
  const t = D();
935
944
  return t ?? r;
936
945
  }), c = T(() => ({
937
- colors: m[e].colors,
938
- base: W[f]
939
- }), [e, f]);
946
+ colors: h[e].colors,
947
+ base: W[s]
948
+ }), [e, s]);
940
949
  G(c, e);
941
950
  const L = (t) => {
942
- s(t);
951
+ f(t);
943
952
  }, x = (t) => {
944
953
  b(t), v(t);
945
954
  };
@@ -947,7 +956,7 @@ var sr = A(({ children: o, defaultTheme: g = i.DEFAULT, defaultBase: r = a.DEFAU
947
956
  value: {
948
957
  currentTheme: c,
949
958
  themeName: e,
950
- baseName: f,
959
+ baseName: s,
951
960
  setTheme: L,
952
961
  setBase: x,
953
962
  availableThemes: F,
@@ -956,7 +965,7 @@ var sr = A(({ children: o, defaultTheme: g = i.DEFAULT, defaultBase: r = a.DEFAU
956
965
  children: o
957
966
  });
958
967
  });
959
- sr.displayName = "ThemeProvider";
968
+ fr.displayName = "ThemeProvider";
960
969
  export {
961
970
  n as BASE_STORAGE_KEY,
962
971
  y as BASE_VALUES,
@@ -967,7 +976,7 @@ export {
967
976
  F as THEME_VALUES,
968
977
  E as ThemeContext,
969
978
  i as ThemeEnum,
970
- sr as ThemeProvider,
979
+ fr as ThemeProvider,
971
980
  W as bases,
972
981
  ar as coffeeTheme,
973
982
  or as corporateTheme,
@@ -976,11 +985,11 @@ export {
976
985
  Q as defaultTheme,
977
986
  tr as forestTheme,
978
987
  D as getThemeBaseStorage,
979
- S as getThemeColorStorage,
980
- mr as removeThemeStorage,
988
+ P as getThemeColorStorage,
989
+ hr as removeThemeStorage,
981
990
  v as setThemeBaseStorage,
982
- P as setThemeColorStorage,
983
- m as themes,
991
+ S as setThemeColorStorage,
992
+ h as themes,
984
993
  cr as useTheme,
985
994
  ir as wineTheme
986
995
  };
@@ -1 +1 @@
1
- {"version":3,"file":"themes.mjs","names":[],"sources":["../src/themes/utils/themeStorage.ts","../src/themes/hooks/useThemeVariables.ts","../src/themes/themes/bases/android.ts","../src/themes/themes/bases/default.ts","../src/themes/themes/bases/ios.ts","../src/themes/themes/bases/linux.ts","../src/themes/themes/bases/windows.ts","../src/themes/themes/bases/index.ts","../src/themes/themes/colors/coffee.ts","../src/themes/themes/colors/corporate.ts","../src/themes/themes/colors/cosmic.ts","../src/themes/themes/colors/dark.ts","../src/themes/themes/colors/default.ts","../src/themes/themes/colors/forest.ts","../src/themes/themes/colors/light.ts","../src/themes/themes/colors/wheat.ts","../src/themes/themes/colors/wine.ts","../src/themes/themes/colors/index.ts","../src/themes/providers/index.tsx"],"sourcesContent":["/**\n * 主题相关 localStorage 读写与移除,统一走 utils/lstorage;读写类型为 ThemeEnum / BaseEnum。\n * Theme localStorage get/set/remove via utils/lstorage; typed as ThemeEnum / BaseEnum.\n */\nimport type { Nilable } from \"@/types/utils\";\nimport { getItem, removeItem, setItem } from \"@/utils/lstorage\";\n\nimport { BASE_STORAGE_KEY, BASE_VALUES, BaseEnum, COLOR_STORAGE_KEY, THEME_VALUES, ThemeEnum } from \"../types\";\n\nexport function getThemeColorStorage(): Nilable<ThemeEnum> {\n const raw = getItem(COLOR_STORAGE_KEY);\n if (raw == null) return raw;\n return (THEME_VALUES as readonly string[]).includes(raw) ? (raw as ThemeEnum) : undefined;\n}\n\nexport function setThemeColorStorage(value: ThemeEnum): void {\n setItem(COLOR_STORAGE_KEY, value);\n}\n\nexport function getThemeBaseStorage(): Nilable<BaseEnum> {\n const raw = getItem(BASE_STORAGE_KEY);\n if (raw == null) return raw;\n return BASE_VALUES.includes(raw as BaseEnum) ? (raw as BaseEnum) : undefined;\n}\n\nexport function setThemeBaseStorage(value: BaseEnum): void {\n setItem(BASE_STORAGE_KEY, value);\n}\n\nexport function removeThemeStorage(): void {\n removeItem(COLOR_STORAGE_KEY);\n removeItem(BASE_STORAGE_KEY);\n}\n","import type { Theme, ThemeEnum } from \"../types\";\nimport { setThemeColorStorage } from \"../utils\";\nimport { useEffect } from \"react\";\n\n/**\n * 将当前主题变量注入到 document 的 CSS Variables,并持久化主题名到 localStorage。\n * Injects current theme variables into document CSS custom properties and persists theme name to localStorage.\n *\n * @param currentTheme - 完整主题对象(颜色 + 基础)。Full theme (colors + base).\n * @param themeName - 当前主题枚举名,用于持久化。Current theme enum key for persistence.\n */\nconst useThemeVariables = (currentTheme: Theme, themeName: ThemeEnum) => {\n useEffect(() => {\n const root = document.documentElement;\n const vars = currentTheme.colors.variables;\n const base = currentTheme.base.variables;\n\n // 主色与语义色 / Primary and semantic colors\n root.style.setProperty(\"--color-primary\", vars.primary);\n root.style.setProperty(\"--color-primary-light\", vars.primaryLight);\n root.style.setProperty(\"--color-primary-fg\", vars.primaryFg);\n root.style.setProperty(\"--color-success\", vars.success);\n root.style.setProperty(\"--color-success-light\", vars.successLight);\n root.style.setProperty(\"--color-info\", vars.info);\n root.style.setProperty(\"--color-info-light\", vars.infoLight);\n root.style.setProperty(\"--color-warning\", vars.warning);\n root.style.setProperty(\"--color-warning-light\", vars.warningLight);\n root.style.setProperty(\"--color-danger\", vars.danger);\n root.style.setProperty(\"--color-danger-light\", vars.dangerLight);\n\n // 背景色 / Background\n root.style.setProperty(\"--color-bg\", vars.bg);\n root.style.setProperty(\"--color-bg-2\", vars.bg2);\n root.style.setProperty(\"--color-bg-3\", vars.bg3);\n root.style.setProperty(\"--color-bg-4\", vars.bg4);\n\n // 边框色 / Border\n root.style.setProperty(\"--color-border\", vars.border);\n root.style.setProperty(\"--color-border-2\", vars.border2);\n root.style.setProperty(\"--color-border-3\", vars.border3);\n root.style.setProperty(\"--color-border-4\", vars.border4);\n root.style.setProperty(\"--color-border-5\", vars.border5);\n\n // 文字色 / Foreground text\n root.style.setProperty(\"--color-fg\", vars.fg);\n root.style.setProperty(\"--color-fg-text\", vars.fgText);\n root.style.setProperty(\"--color-fg-heading\", vars.fgHeading);\n root.style.setProperty(\"--color-fg-highlight\", vars.fgHighlight);\n root.style.setProperty(\"--color-separator\", vars.separator);\n\n // 基础变量(圆角等)/ Base (radius, etc.)\n root.style.setProperty(\"--radius-button\", `${base.buttonRadius}px`);\n root.style.setProperty(\"--radius-card\", `${base.cardRadius}px`);\n root.style.setProperty(\"--radius-input\", `${base.inputRadius}px`);\n\n // Temperature\n vars.temperature.arcFill.forEach((v: string, i: number) => {\n root.style.setProperty(`--temperature-arc-fill-${i}`, v);\n });\n root.style.setProperty(\"--temperature-arc-empty\", vars.temperature.arcEmpty);\n root.style.setProperty(\"--temperature-thumb-bg\", vars.temperature.thumbBg);\n root.style.setProperty(\"--temperature-thumb-border\", vars.temperature.thumbBorder);\n\n // Solar\n root.style.setProperty(\"--solar-gradient-left\", vars.solar.gradientLeft);\n root.style.setProperty(\"--solar-gradient-right\", vars.solar.gradientRight);\n root.style.setProperty(\"--solar-shadow-color\", vars.solar.shadowColor);\n root.style.setProperty(\"--solar-second-series-fill\", vars.solar.secondSeriesFill);\n\n // Traffic\n root.style.setProperty(\"--traffic-tooltip-bg\", vars.traffic.tooltipBg);\n root.style.setProperty(\"--traffic-tooltip-border-color\", vars.traffic.tooltipBorderColor);\n root.style.setProperty(\"--traffic-tooltip-text-color\", vars.traffic.tooltipTextColor);\n root.style.setProperty(\"--traffic-y-axis-split-line\", vars.traffic.yAxisSplitLine);\n root.style.setProperty(\"--traffic-line-bg\", vars.traffic.lineBg);\n root.style.setProperty(\"--traffic-item-color\", vars.traffic.itemColor);\n root.style.setProperty(\"--traffic-item-border-color\", vars.traffic.itemBorderColor);\n root.style.setProperty(\"--traffic-item-emphasis-border-color\", vars.traffic.itemEmphasisBorderColor);\n root.style.setProperty(\"--traffic-shadow-line-dark-bg\", vars.traffic.shadowLineDarkBg);\n root.style.setProperty(\"--traffic-shadow-line-shadow\", vars.traffic.shadowLineShadow);\n root.style.setProperty(\"--traffic-grad-from\", vars.traffic.gradFrom);\n root.style.setProperty(\"--traffic-grad-to\", vars.traffic.gradTo);\n\n // Electricity\n root.style.setProperty(\"--electricity-tooltip-bg\", vars.electricity.tooltipBg);\n root.style.setProperty(\"--electricity-tooltip-line-color\", vars.electricity.tooltipLineColor);\n root.style.setProperty(\"--electricity-tooltip-border-color\", vars.electricity.tooltipBorderColor);\n root.style.setProperty(\"--electricity-tooltip-text-color\", vars.electricity.tooltipTextColor);\n root.style.setProperty(\"--electricity-axis-line-color\", vars.electricity.axisLineColor);\n root.style.setProperty(\"--electricity-x-axis-text-color\", vars.electricity.xAxisTextColor);\n root.style.setProperty(\"--electricity-y-axis-split-line\", vars.electricity.yAxisSplitLine);\n root.style.setProperty(\"--electricity-item-border-color\", vars.electricity.itemBorderColor);\n root.style.setProperty(\"--electricity-line-grad-from\", vars.electricity.lineGradFrom);\n root.style.setProperty(\"--electricity-line-grad-to\", vars.electricity.lineGradTo);\n root.style.setProperty(\"--electricity-line-shadow\", vars.electricity.lineShadow);\n root.style.setProperty(\"--electricity-area-grad-from\", vars.electricity.areaGradFrom);\n root.style.setProperty(\"--electricity-area-grad-to\", vars.electricity.areaGradTo);\n root.style.setProperty(\"--electricity-shadow-line-dark-bg\", vars.electricity.shadowLineDarkBg);\n\n // ECharts\n root.style.setProperty(\"--echarts-bg\", vars.echarts.bg);\n root.style.setProperty(\"--echarts-text-color\", vars.echarts.textColor);\n root.style.setProperty(\"--echarts-axis-line-color\", vars.echarts.axisLineColor);\n root.style.setProperty(\"--echarts-split-line-color\", vars.echarts.splitLineColor);\n root.style.setProperty(\"--echarts-item-hover-shadow-color\", vars.echarts.itemHoverShadowColor);\n root.style.setProperty(\"--echarts-tooltip-bg-color\", vars.echarts.tooltipBackgroundColor);\n\n // ChartJS\n root.style.setProperty(\"--chartjs-axis-line-color\", vars.chartjs.axisLineColor);\n root.style.setProperty(\"--chartjs-text-color\", vars.chartjs.textColor);\n\n setThemeColorStorage(themeName);\n }, [themeName, currentTheme]);\n};\n\nexport default useThemeVariables;\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Android 风格圆角(如 6) */\nexport const androidBaseVariables: BaseVariables = {\n buttonRadius: 6,\n cardRadius: 6,\n inputRadius: 6,\n};\n\nexport const androidBaseTheme: BaseTheme = {\n name: BaseEnum.ANDROID,\n displayName: \"Android\",\n variables: androidBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** 默认基础变量(跨平台通用) */\nexport const defaultBaseVariables: BaseVariables = {\n buttonRadius: 8,\n cardRadius: 8,\n inputRadius: 6,\n};\n\n/** 默认基础主题 */\nexport const defaultBaseTheme: BaseTheme = {\n name: BaseEnum.DEFAULT,\n displayName: \"Default\",\n variables: defaultBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** iOS 风格圆角(较大,如 24) */\nexport const iosBaseVariables: BaseVariables = {\n buttonRadius: 24,\n cardRadius: 24,\n inputRadius: 24,\n};\n\nexport const iosBaseTheme: BaseTheme = {\n name: BaseEnum.IOS,\n displayName: \"iOS\",\n variables: iosBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Linux 风格圆角(较小,如 4) */\nexport const linuxBaseVariables: BaseVariables = {\n buttonRadius: 4,\n cardRadius: 4,\n inputRadius: 4,\n};\n\nexport const linuxBaseTheme: BaseTheme = {\n name: BaseEnum.LINUX,\n displayName: \"Linux\",\n variables: linuxBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Windows 风格圆角(如 6) */\nexport const windowsBaseVariables: BaseVariables = {\n buttonRadius: 6,\n cardRadius: 6,\n inputRadius: 6,\n};\n\nexport const windowsBaseTheme: BaseTheme = {\n name: BaseEnum.WINDOWS,\n displayName: \"Windows\",\n variables: windowsBaseVariables,\n};\n","import type { BaseTheme } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\nimport { androidBaseTheme } from \"./android\";\nimport { defaultBaseTheme } from \"./default\";\nimport { iosBaseTheme } from \"./ios\";\nimport { linuxBaseTheme } from \"./linux\";\nimport { windowsBaseTheme } from \"./windows\";\n\nexport const bases: Record<BaseEnum, BaseTheme> = {\n [BaseEnum.DEFAULT]: defaultBaseTheme,\n [BaseEnum.IOS]: iosBaseTheme,\n [BaseEnum.ANDROID]: androidBaseTheme,\n [BaseEnum.WINDOWS]: windowsBaseTheme,\n [BaseEnum.LINUX]: linuxBaseTheme,\n};\n\nexport { defaultBaseTheme, defaultBaseVariables } from \"./default\";\nexport { iosBaseTheme, iosBaseVariables } from \"./ios\";\nexport { androidBaseTheme, androidBaseVariables } from \"./android\";\nexport { windowsBaseTheme, windowsBaseVariables } from \"./windows\";\nexport { linuxBaseTheme, linuxBaseVariables } from \"./linux\";\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Coffee 主题 - 基于 8 色盘重新设计\n * 色盘:奶油 #F8F4E1 | 浅灰米 #E4E0E1 | 浅棕 #D6C0B3 | 中棕 #AB886D / #AF8F6F\n * 深棕 #74512D | 暗棕 #493628 | 最深 #543310\n * 深棕背景 + 奶油/米色文字,语义色保持棕/绿棕/红棕调\n */\nexport const coffeeColorTheme: ColorTheme = {\n name: \"coffee\",\n displayName: \"Coffee\",\n variables: {\n // 主色 - 奶油/拿铁系\n primary: \"#AF8F6F\",\n primaryLight: \"#F8F4E1\",\n primaryFg: \"#2a1f18\",\n\n // 语义色 - 棕调配色(微调以协调)\n success: \"#6d8f72\",\n successLight: \"#8aaa8e\",\n info: \"#8a7a6a\",\n infoLight: \"#a89888\",\n warning: \"#b8926a\",\n warningLight: \"#d4b896\",\n danger: \"#a65d5d\",\n dangerLight: \"#c07d7d\",\n\n // 背景 - 由深到浅:最深 → #543310 → #493628 → #74512D\n bg: \"#2e1a08\",\n bg2: \"#543310\",\n bg3: \"#493628\",\n bg4: \"#74512D\",\n\n // 边框 - 深棕到浅米\n border: \"#493628\",\n border2: \"#543310\",\n border3: \"#74512D\",\n border4: \"#AF8F6F\",\n border5: \"#D6C0B3\",\n\n // 文字\n fg: \"#AF8F6F\",\n fgText: \"#F8F4E1\",\n fgHeading: \"#F8F4E1\",\n fgHighlight: \"#E4E0E1\",\n\n separator: \"#493628\",\n\n temperature: {\n arcFill: [\"#AF8F6F\", \"#AB886D\", \"#D6C0B3\", \"#E4E0E1\", \"#F8F4E1\"],\n arcEmpty: \"#543310\",\n thumbBg: \"#493628\",\n thumbBorder: \"#AF8F6F\",\n },\n\n solar: {\n gradientLeft: \"#AF8F6F\",\n gradientRight: \"#F8F4E1\",\n shadowColor: \"rgba(0, 0, 0, 0.35)\",\n secondSeriesFill: \"#493628\",\n },\n\n traffic: {\n tooltipBg: \"#74512D\",\n tooltipBorderColor: \"#AF8F6F\",\n tooltipTextColor: \"#F8F4E1\",\n yAxisSplitLine: \"#543310\",\n lineBg: \"#493628\",\n itemColor: \"#543310\",\n itemBorderColor: \"#AF8F6F\",\n itemEmphasisBorderColor: \"#F8F4E1\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#493628\",\n gradTo: \"#2e1a08\",\n },\n\n electricity: {\n tooltipBg: \"#543310\",\n tooltipLineColor: \"#F8F4E1\",\n tooltipBorderColor: \"#AF8F6F\",\n tooltipTextColor: \"#F8F4E1\",\n axisLineColor: \"#AF8F6F\",\n xAxisTextColor: \"#AF8F6F\",\n yAxisSplitLine: \"#543310\",\n itemBorderColor: \"#AF8F6F\",\n lineGradFrom: \"#AF8F6F\",\n lineGradTo: \"#F8F4E1\",\n lineShadow: \"rgba(175, 143, 111, 0.3)\",\n areaGradFrom: \"#493628\",\n areaGradTo: \"#2e1a08\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#2e1a08\",\n textColor: \"#F8F4E1\",\n axisLineColor: \"#AF8F6F\",\n splitLineColor: \"#493628\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#543310\",\n },\n\n chartjs: {\n axisLineColor: \"#AF8F6F\",\n textColor: \"#F8F4E1\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\nexport const corporateColorTheme: ColorTheme = {\n name: \"corporate\",\n displayName: \"Corporate\",\n variables: {\n // 基础颜色\n primary: \"#3366ff\",\n primaryLight: \"#598bff\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#ffffff\",\n bg2: \"#f7f9fc\",\n bg3: \"#edf1f7\",\n bg4: \"#e4e9f2\",\n\n // 边框色\n border: \"#ffffff\",\n border2: \"#f7f9fc\",\n border3: \"#edf1f7\",\n border4: \"#e4e9f2\",\n border5: \"#c5cee0\",\n\n // 文字色\n fg: \"#8f9bb3\",\n fgText: \"#222b45\",\n fgHeading: \"#192038\",\n fgHighlight: \"#003694\",\n\n // 分隔符\n separator: \"#edf1f7\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#ffa36b\", \"#ffa36b\", \"#ff9e7a\", \"#ff9888\", \"#ff8ea0\"],\n arcEmpty: \"#f7f9fc\",\n thumbBg: \"#f7f9fc\",\n thumbBorder: \"#ffa36b\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#3366ff\",\n gradientRight: \"#3366ff\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#f7f9fc\",\n },\n\n traffic: {\n tooltipBg: \"#ffffff\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n yAxisSplitLine: \"rgba(0, 0, 0, 0)\",\n lineBg: \"#3366ff\",\n itemColor: \"#e4e9f2\",\n itemBorderColor: \"#e4e9f2\",\n itemEmphasisBorderColor: \"#598bff\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#ffffff\",\n gradTo: \"#ffffff\",\n },\n\n electricity: {\n tooltipBg: \"#ffffff\",\n tooltipLineColor: \"#222b45\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n axisLineColor: \"#edf1f7\",\n xAxisTextColor: \"#8f9bb3\",\n yAxisSplitLine: \"#edf1f7\",\n itemBorderColor: \"#3366ff\",\n lineGradFrom: \"#3366ff\",\n lineGradTo: \"#3366ff\",\n lineShadow: \"rgba(0, 0, 0, 0)\",\n areaGradFrom: \"rgba(0, 0, 0, 0)\",\n areaGradTo: \"rgba(0, 0, 0, 0)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#ffffff\",\n textColor: \"#222b45\",\n axisLineColor: \"#222b45\",\n splitLineColor: \"#edf1f7\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#3366ff\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#edf1f7\",\n textColor: \"#222b45\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\nexport const cosmicColorTheme: ColorTheme = {\n name: \"cosmic\",\n displayName: \"Cosmic\",\n variables: {\n // 基础颜色\n primary: \"#a16eff\",\n primaryLight: \"#b489ff\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#323259\",\n bg2: \"#2a2a48\",\n bg3: \"#272741\",\n bg4: \"#1f1f3a\",\n\n // 边框色\n border: \"#323259\",\n border2: \"#2a2a48\",\n border3: \"#272741\",\n border4: \"#1f1f3a\",\n border5: \"#1f1f3a\",\n\n // 文字色\n fg: \"#b4b4db\",\n fgText: \"#ffffff\",\n fgHeading: \"#ffffff\",\n fgHighlight: \"#a16eff\",\n\n // 分隔符\n separator: \"#2a2a48\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#2ec7fe\", \"#31ffad\", \"#7bff24\", \"#fff024\", \"#f7bd59\"],\n arcEmpty: \"#2a2a48\",\n thumbBg: \"#ffffff\",\n thumbBorder: \"#ffffff\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#a16eff\",\n gradientRight: \"#a16eff\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#2a2a48\",\n },\n\n traffic: {\n tooltipBg: \"#323259\",\n tooltipBorderColor: \"#2a2a48\",\n tooltipTextColor: \"#ffffff\",\n yAxisSplitLine: \"#2a2a48\",\n lineBg: \"#2a2a48\",\n itemColor: \"#2a2a48\",\n itemBorderColor: \"#2a2a48\",\n itemEmphasisBorderColor: \"#a16eff\",\n shadowLineDarkBg: \"#272741\",\n shadowLineShadow: \"#272741\",\n gradFrom: \"#323259\",\n gradTo: \"#2a2a48\",\n },\n\n electricity: {\n tooltipBg: \"#323259\",\n tooltipLineColor: \"#ffffff\",\n tooltipBorderColor: \"#2a2a48\",\n tooltipTextColor: \"#ffffff\",\n axisLineColor: \"#272741\",\n xAxisTextColor: \"#b4b4db\",\n yAxisSplitLine: \"#2a2a48\",\n itemBorderColor: \"#2a2a48\",\n lineGradFrom: \"#00d68f\",\n lineGradTo: \"#ffaa00\",\n lineShadow: \"#1f1f3a\",\n areaGradFrom: \"#2a2a48\",\n areaGradTo: \"#272741\",\n shadowLineDarkBg: \"#272741\",\n },\n\n echarts: {\n bg: \"#323259\",\n textColor: \"#ffffff\",\n axisLineColor: \"#ffffff\",\n splitLineColor: \"#2a2a48\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#a16eff\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#2a2a48\",\n textColor: \"#ffffff\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Dark 主题 - 重新设计\n * - 背景层级分明(base → surface → elevated)\n * - 边框可见且不刺眼\n * - 主色为蓝色强调,语义色适配深色背景\n * - 文字对比度符合可读性\n */\nexport const darkColorTheme: ColorTheme = {\n name: \"dark\",\n displayName: \"Dark\",\n variables: {\n // 主色 - 金黄色/琥珀色\n primary: \"#d4a017\",\n primaryLight: \"#eab308\",\n primaryFg: \"#1a1a1a\",\n\n // 语义色 - 深色模式、无蓝色,info 用青绿区分\n success: \"#22c55e\",\n successLight: \"#4ade80\",\n info: \"#14b8a6\",\n infoLight: \"#2dd4bf\",\n warning: \"#eab308\",\n warningLight: \"#facc15\",\n danger: \"#ef4444\",\n dangerLight: \"#f87171\",\n\n // 背景色 - 明确层级(由深到浅)\n bg: \"#0f0f11\",\n bg2: \"#18181b\",\n bg3: \"#27272a\",\n bg4: \"#3f3f46\",\n\n // 边框色 - 与背景区分,便于识别边界\n border: \"#18181b\",\n border2: \"#27272a\",\n border3: \"#3f3f46\",\n border4: \"#52525b\",\n border5: \"#71717a\",\n\n // 文字色 - 主文白、标题更亮、辅助文灰\n fg: \"#a1a1aa\",\n fgText: \"#fafafa\",\n fgHeading: \"#ffffff\",\n fgHighlight: \"#fde047\",\n\n // 分隔线\n separator: \"#27272a\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#d4a017\", \"#eab308\", \"#fcd34d\", \"#fde047\", \"#fde047\"],\n arcEmpty: \"#27272a\",\n thumbBg: \"#27272a\",\n thumbBorder: \"#52525b\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#d4a017\",\n gradientRight: \"#eab308\",\n shadowColor: \"rgba(0, 0, 0, 0.3)\",\n secondSeriesFill: \"#27272a\",\n },\n\n traffic: {\n tooltipBg: \"#27272a\",\n tooltipBorderColor: \"#3f3f46\",\n tooltipTextColor: \"#fafafa\",\n yAxisSplitLine: \"#27272a\",\n lineBg: \"#3f3f46\",\n itemColor: \"#3f3f46\",\n itemBorderColor: \"#52525b\",\n itemEmphasisBorderColor: \"#eab308\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#27272a\",\n gradTo: \"#18181b\",\n },\n\n electricity: {\n tooltipBg: \"#27272a\",\n tooltipLineColor: \"#fafafa\",\n tooltipBorderColor: \"#3f3f46\",\n tooltipTextColor: \"#fafafa\",\n axisLineColor: \"#3f3f46\",\n xAxisTextColor: \"#a1a1aa\",\n yAxisSplitLine: \"#27272a\",\n itemBorderColor: \"#eab308\",\n lineGradFrom: \"#d4a017\",\n lineGradTo: \"#eab308\",\n lineShadow: \"rgba(212, 160, 23, 0.35)\",\n areaGradFrom: \"#27272a\",\n areaGradTo: \"#18181b\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#18181b\",\n textColor: \"#fafafa\",\n axisLineColor: \"#52525b\",\n splitLineColor: \"#27272a\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#27272a\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#3f3f46\",\n textColor: \"#fafafa\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n// 基于 ReX-App 的 light.ts 红色系配色创建的 default 主题\nexport const defaultColorTheme: ColorTheme = {\n name: \"default\",\n displayName: \"Default\",\n variables: {\n // 基础颜色 - 红色系\n primary: \"rgb(250, 30, 22)\", // #FA1E16 鲜红色\n primaryLight: \"rgb(255, 120, 120)\", // 浅红色\n primaryFg: \"#ffffff\",\n success: \"rgb(62, 168, 30)\", // 浅绿色(对比色)\n successLight: \"rgb(220, 255, 210)\",\n info: \"rgb(255, 160, 150)\", // 亮橙红\n infoLight: \"rgb(255, 200, 180)\",\n warning: \"rgb(248, 104, 7)\", // 明亮橙色\n warningLight: \"rgb(255, 140, 60)\",\n danger: \"rgb(211, 17, 11)\", // 深红色\n dangerLight: \"rgb(243, 70, 64)\",\n\n // 背景色 - 浅色系\n bg: \"rgb(250, 250, 250)\", // 纯白\n bg2: \"rgb(245, 245, 245)\",\n bg3: \"rgb(226, 224, 224)\",\n bg4: \"rgb(207, 207, 207)\",\n\n // 边框色\n border: \"rgb(250, 250, 250)\",\n border2: \"rgb(245, 245, 245)\",\n border3: \"rgb(226, 224, 224)\",\n border4: \"rgb(207, 207, 207)\",\n border5: \"rgb(136, 136, 136)\",\n\n // 文字色\n fg: \"rgb(136, 136, 136)\", // 灰色文字\n fgText: \"rgb(22, 21, 21)\", // 黑色文字\n fgHeading: \"rgb(0, 0, 0)\", // 纯黑标题\n fgHighlight: \"rgb(250, 30, 22)\", // 红色高亮\n\n // 分隔符\n separator: \"rgb(226, 224, 224)\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\n \"rgb(255, 210, 210)\", // 非常浅的淡红\n \"rgb(255, 200, 160)\", // 柔和杏色\n \"rgb(255, 160, 150)\", // 更偏亮橙红\n \"rgb(255, 120, 120)\", // 浅红\n \"rgb(250, 30, 22)\", // 主红色\n ],\n arcEmpty: \"rgb(245, 245, 245)\",\n thumbBg: \"rgb(245, 245, 245)\",\n thumbBorder: \"rgb(250, 30, 22)\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"rgb(250, 30, 22)\",\n gradientRight: \"rgb(248, 104, 7)\",\n shadowColor: \"rgba(250, 30, 22, 0.1)\",\n secondSeriesFill: \"rgb(245, 245, 245)\",\n },\n\n traffic: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n lineBg: \"rgb(207, 207, 207)\",\n itemColor: \"rgb(207, 207, 207)\",\n itemBorderColor: \"rgb(207, 207, 207)\",\n itemEmphasisBorderColor: \"rgb(250, 30, 22)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"rgb(245, 245, 245)\",\n gradTo: \"rgb(245, 245, 245)\",\n },\n\n electricity: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipLineColor: \"rgb(22, 21, 21)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(226, 224, 224)\",\n xAxisTextColor: \"rgb(136, 136, 136)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n itemBorderColor: \"rgb(250, 30, 22)\",\n lineGradFrom: \"rgb(250, 30, 22)\",\n lineGradTo: \"rgb(248, 104, 7)\",\n lineShadow: \"rgba(250, 30, 22, 0.2)\",\n areaGradFrom: \"rgba(250, 30, 22, 0.1)\",\n areaGradTo: \"rgba(250, 30, 22, 0.05)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"rgb(250, 250, 250)\",\n textColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(136, 136, 136)\",\n splitLineColor: \"rgb(226, 224, 224)\",\n itemHoverShadowColor: \"rgba(250, 30, 22, 0.3)\",\n tooltipBackgroundColor: \"rgb(250, 30, 22)\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"rgb(226, 224, 224)\",\n textColor: \"rgb(22, 21, 21)\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Forest 主题 - 森林绿配色\n * - 主色:翠绿 #1F7A5A,按钮、链接、强调\n * - 深绿底 + 浅绿层级\n */\nexport const forestColorTheme: ColorTheme = {\n name: \"forest\",\n displayName: \"Forest\",\n variables: {\n primary: \"#1F7A5A\",\n primaryLight: \"#E6F2EE\",\n primaryFg: \"#FFFFFF\",\n\n success: \"#1F7A5A\",\n successLight: \"#E6F2EE\",\n\n info: \"#2563EB\",\n infoLight: \"#E8F0FF\",\n\n warning: \"#B45309\",\n warningLight: \"#FFF4E5\",\n\n danger: \"#B42318\",\n dangerLight: \"#FDECEC\",\n\n // ===== Backgrounds (White-based) =====\n bg: \"#FFFFFF\",\n bg2: \"#F7F9F8\",\n bg3: \"#EEF3F1\",\n bg4: \"#E6EFEC\",\n\n // ===== Borders (subtle greys w/ green hint) =====\n border: \"#E5E7EB\",\n border2: \"#D1D5DB\",\n border3: \"#C7D2CF\",\n border4: \"#B6C4BF\",\n border5: \"#1F7A5A\", // strong focus border\n\n // ===== Text =====\n fg: \"#111827\",\n fgText: \"#374151\",\n fgHeading: \"#0F172A\",\n fgHighlight: \"#1F7A5A\",\n separator: \"#E5E7EB\",\n\n temperature: {\n arcFill: [\"#E6F2EE\", \"#A7D8C6\", \"#4AA987\", \"#1F7A5A\", \"#145A43\"],\n arcEmpty: \"#E5E7EB\",\n thumbBg: \"#1F7A5A\",\n thumbBorder: \"#145A43\",\n },\n\n solar: {\n gradientLeft: \"#E6F2EE\",\n gradientRight: \"#1F7A5A\",\n shadowColor: \"rgba(31, 122, 90, 0.25)\",\n secondSeriesFill: \"#A7D8C6\",\n },\n\n traffic: {\n tooltipBg: \"#FFFFFF\",\n tooltipBorderColor: \"#E5E7EB\",\n tooltipTextColor: \"#111827\",\n yAxisSplitLine: \"#E5E7EB\",\n lineBg: \"rgba(31, 122, 90, 0.08)\",\n itemColor: \"#1F7A5A\",\n itemBorderColor: \"#145A43\",\n itemEmphasisBorderColor: \"#0E5A41\",\n shadowLineDarkBg: \"rgba(31, 122, 90, 0.15)\",\n shadowLineShadow: \"rgba(31, 122, 90, 0.20)\",\n gradFrom: \"#E6F2EE\",\n gradTo: \"#1F7A5A\",\n },\n\n electricity: {\n tooltipBg: \"#FFFFFF\",\n tooltipLineColor: \"#1F7A5A\",\n tooltipBorderColor: \"#E5E7EB\",\n tooltipTextColor: \"#111827\",\n axisLineColor: \"#D1D5DB\",\n xAxisTextColor: \"#374151\",\n yAxisSplitLine: \"#E5E7EB\",\n itemBorderColor: \"#145A43\",\n lineGradFrom: \"#E6F2EE\",\n lineGradTo: \"#1F7A5A\",\n lineShadow: \"rgba(31, 122, 90, 0.25)\",\n areaGradFrom: \"rgba(31, 122, 90, 0.25)\",\n areaGradTo: \"rgba(31, 122, 90, 0.00)\",\n shadowLineDarkBg: \"rgba(31, 122, 90, 0.10)\",\n },\n\n echarts: {\n bg: \"#FFFFFF\",\n textColor: \"#111827\",\n axisLineColor: \"#D1D5DB\",\n splitLineColor: \"#E5E7EB\",\n itemHoverShadowColor: \"rgba(31, 122, 90, 0.25)\",\n tooltipBackgroundColor: \"#FFFFFF\",\n },\n\n chartjs: {\n axisLineColor: \"#D1D5DB\",\n textColor: \"#111827\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n// 原 ngx-admin 的 default 主题(浅灰蓝色风格)\nexport const lightColorTheme: ColorTheme = {\n name: \"light\",\n displayName: \"Light\",\n variables: {\n // 基础颜色 - 黑白对比色系\n primary: \"#222b45\",\n primaryLight: \"#192038\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#ffffff\",\n bg2: \"#f7f9fc\",\n bg3: \"#edf1f7\",\n bg4: \"#e4e9f2\",\n\n // 边框色\n border: \"#ffffff\",\n border2: \"#f7f9fc\",\n border3: \"#edf1f7\",\n border4: \"#e4e9f2\",\n border5: \"#c5cee0\",\n\n // 文字色\n fg: \"#8f9bb3\",\n fgText: \"#222b45\",\n fgHeading: \"#192038\",\n fgHighlight: \"#003694\",\n\n // 分隔符\n separator: \"#edf1f7\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\"],\n arcEmpty: \"#f7f9fc\",\n thumbBg: \"#f7f9fc\",\n thumbBorder: \"#8f9bb3\",\n },\n\n solar: {\n gradientLeft: \"#8f9bb3\",\n gradientRight: \"#8f9bb3\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#f7f9fc\",\n },\n\n traffic: {\n tooltipBg: \"#ffffff\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n yAxisSplitLine: \"#edf1f7\",\n lineBg: \"#e4e9f2\",\n itemColor: \"#e4e9f2\",\n itemBorderColor: \"#e4e9f2\",\n itemEmphasisBorderColor: \"#8f9bb3\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#f7f9fc\",\n gradTo: \"#f7f9fc\",\n },\n\n electricity: {\n tooltipBg: \"#ffffff\",\n tooltipLineColor: \"#222b45\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n axisLineColor: \"#edf1f7\",\n xAxisTextColor: \"#8f9bb3\",\n yAxisSplitLine: \"#edf1f7\",\n itemBorderColor: \"#8f9bb3\",\n lineGradFrom: \"#8f9bb3\",\n lineGradTo: \"#8f9bb3\",\n lineShadow: \"rgba(0, 0, 0, 0)\",\n areaGradFrom: \"#f7f9fc\",\n areaGradTo: \"#f7f9fc\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#ffffff\",\n textColor: \"#222b45\",\n axisLineColor: \"#222b45\",\n splitLineColor: \"#edf1f7\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#8f9bb3\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#edf1f7\",\n textColor: \"#222b45\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/** 麦田:在 default 基础上将白红色系改为金黄色系 */\nexport const wheatColorTheme: ColorTheme = {\n name: \"wheat\",\n displayName: \"麦田\",\n variables: {\n // 主色 - 金黄色系\n primary: \"rgb(201, 162, 39)\", // #C9A227 金黄\n primaryLight: \"rgb(230, 200, 120)\", // 浅金黄\n primaryFg: \"#ffffff\",\n success: \"rgb(62, 168, 30)\",\n successLight: \"rgb(220, 255, 210)\",\n info: \"rgb(220, 180, 80)\", // 暖金\n infoLight: \"rgb(255, 235, 180)\",\n warning: \"rgb(218, 165, 32)\", // 深金\n warningLight: \"rgb(255, 215, 120)\",\n danger: \"rgb(180, 130, 20)\", // 深褐金\n dangerLight: \"rgb(220, 180, 80)\",\n\n // 背景色 - 浅色系(与 default 一致)\n bg: \"rgb(250, 250, 250)\",\n bg2: \"rgb(245, 245, 245)\",\n bg3: \"rgb(226, 224, 224)\",\n bg4: \"rgb(207, 207, 207)\",\n\n border: \"rgb(250, 250, 250)\",\n border2: \"rgb(245, 245, 245)\",\n border3: \"rgb(226, 224, 224)\",\n border4: \"rgb(207, 207, 207)\",\n border5: \"rgb(136, 136, 136)\",\n\n fg: \"rgb(136, 136, 136)\",\n fgText: \"rgb(22, 21, 21)\",\n fgHeading: \"rgb(0, 0, 0)\",\n fgHighlight: \"rgb(201, 162, 39)\", // 金黄高亮\n\n separator: \"rgb(226, 224, 224)\",\n\n temperature: {\n arcFill: [\n \"rgb(255, 245, 210)\",\n \"rgb(255, 235, 180)\",\n \"rgb(255, 220, 150)\",\n \"rgb(230, 200, 120)\",\n \"rgb(201, 162, 39)\",\n ],\n arcEmpty: \"rgb(245, 245, 245)\",\n thumbBg: \"rgb(245, 245, 245)\",\n thumbBorder: \"rgb(201, 162, 39)\",\n },\n\n solar: {\n gradientLeft: \"rgb(201, 162, 39)\",\n gradientRight: \"rgb(218, 165, 32)\",\n shadowColor: \"rgba(201, 162, 39, 0.1)\",\n secondSeriesFill: \"rgb(245, 245, 245)\",\n },\n\n traffic: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n lineBg: \"rgb(207, 207, 207)\",\n itemColor: \"rgb(207, 207, 207)\",\n itemBorderColor: \"rgb(207, 207, 207)\",\n itemEmphasisBorderColor: \"rgb(201, 162, 39)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"rgb(245, 245, 245)\",\n gradTo: \"rgb(245, 245, 245)\",\n },\n\n electricity: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipLineColor: \"rgb(22, 21, 21)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(226, 224, 224)\",\n xAxisTextColor: \"rgb(136, 136, 136)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n itemBorderColor: \"rgb(201, 162, 39)\",\n lineGradFrom: \"rgb(201, 162, 39)\",\n lineGradTo: \"rgb(218, 165, 32)\",\n lineShadow: \"rgba(201, 162, 39, 0.2)\",\n areaGradFrom: \"rgba(201, 162, 39, 0.1)\",\n areaGradTo: \"rgba(201, 162, 39, 0.05)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"rgb(250, 250, 250)\",\n textColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(136, 136, 136)\",\n splitLineColor: \"rgb(226, 224, 224)\",\n itemHoverShadowColor: \"rgba(201, 162, 39, 0.3)\",\n tooltipBackgroundColor: \"rgb(201, 162, 39)\",\n },\n\n chartjs: {\n axisLineColor: \"rgb(226, 224, 224)\",\n textColor: \"rgb(22, 21, 21)\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Wine 主题(深色)- 8 色盘(Burgundy 体系)\n * #2A0B12 Background | #3A0F1A Surface | #4A1322 Secondary | #800020 Primary\n * #9A1F3D Primary Hover | #B23A5C Accent | #C97A8A Muted Highlight | #F4E6E9 Text\n */\nexport const wineColorTheme: ColorTheme = {\n name: \"wine\",\n displayName: \"Wine\",\n variables: {\n primary: \"#800020\",\n primaryLight: \"#F4E6E9\",\n primaryFg: \"#F4E6E9\",\n\n success: \"#6b8f6b\",\n successLight: \"#8aaa8e\",\n info: \"#8a6a6a\",\n infoLight: \"#a88a8a\",\n warning: \"#c49050\",\n warningLight: \"#d4b080\",\n danger: \"#b85050\",\n dangerLight: \"#d07070\",\n\n bg: \"#2A0B12\",\n bg2: \"#3A0F1A\",\n bg3: \"#4A1322\",\n bg4: \"#4A1322\",\n\n border: \"#2A0B12\",\n border2: \"#3A0F1A\",\n border3: \"#4A1322\",\n border4: \"#800020\",\n border5: \"#B23A5C\",\n\n fg: \"#C97A8A\",\n fgText: \"#F4E6E9\",\n fgHeading: \"#F4E6E9\",\n fgHighlight: \"#F4E6E9\",\n\n separator: \"#3A0F1A\",\n\n temperature: {\n arcFill: [\"#800020\", \"#9A1F3D\", \"#B23A5C\", \"#C97A8A\", \"#F4E6E9\"],\n arcEmpty: \"#2A0B12\",\n thumbBg: \"#3A0F1A\",\n thumbBorder: \"#800020\",\n },\n\n solar: {\n gradientLeft: \"#800020\",\n gradientRight: \"#F4E6E9\",\n shadowColor: \"rgba(0, 0, 0, 0.4)\",\n secondSeriesFill: \"#3A0F1A\",\n },\n\n traffic: {\n tooltipBg: \"#4A1322\",\n tooltipBorderColor: \"#B23A5C\",\n tooltipTextColor: \"#F4E6E9\",\n yAxisSplitLine: \"#3A0F1A\",\n lineBg: \"#3A0F1A\",\n itemColor: \"#2A0B12\",\n itemBorderColor: \"#800020\",\n itemEmphasisBorderColor: \"#F4E6E9\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#3A0F1A\",\n gradTo: \"#2A0B12\",\n },\n\n electricity: {\n tooltipBg: \"#3A0F1A\",\n tooltipLineColor: \"#F4E6E9\",\n tooltipBorderColor: \"#800020\",\n tooltipTextColor: \"#F4E6E9\",\n axisLineColor: \"#B23A5C\",\n xAxisTextColor: \"#C97A8A\",\n yAxisSplitLine: \"#3A0F1A\",\n itemBorderColor: \"#800020\",\n lineGradFrom: \"#800020\",\n lineGradTo: \"#F4E6E9\",\n lineShadow: \"rgba(128, 0, 32, 0.35)\",\n areaGradFrom: \"#3A0F1A\",\n areaGradTo: \"#2A0B12\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#2A0B12\",\n textColor: \"#F4E6E9\",\n axisLineColor: \"#B23A5C\",\n splitLineColor: \"#3A0F1A\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#3A0F1A\",\n },\n\n chartjs: {\n axisLineColor: \"#B23A5C\",\n textColor: \"#F4E6E9\",\n },\n },\n};\n","import type { Theme } from \"../../types\";\n\nimport { ThemeEnum } from \"../../types\";\nimport { defaultBaseTheme } from \"../bases/default\";\nimport { coffeeColorTheme } from \"./coffee\";\nimport { corporateColorTheme } from \"./corporate\";\nimport { cosmicColorTheme } from \"./cosmic\";\nimport { darkColorTheme } from \"./dark\";\nimport { defaultColorTheme } from \"./default\";\nimport { forestColorTheme } from \"./forest\";\nimport { lightColorTheme } from \"./light\";\nimport { wheatColorTheme } from \"./wheat\";\nimport { wineColorTheme } from \"./wine\";\n\nconst defaultTheme: Theme = { colors: defaultColorTheme, base: defaultBaseTheme };\nconst lightTheme: Theme = { colors: lightColorTheme, base: defaultBaseTheme };\nconst darkTheme: Theme = { colors: darkColorTheme, base: defaultBaseTheme };\nconst cosmicTheme: Theme = { colors: cosmicColorTheme, base: defaultBaseTheme };\nconst corporateTheme: Theme = { colors: corporateColorTheme, base: defaultBaseTheme };\nconst forestTheme: Theme = { colors: forestColorTheme, base: defaultBaseTheme };\nconst coffeeTheme: Theme = { colors: coffeeColorTheme, base: defaultBaseTheme };\nconst wineTheme: Theme = { colors: wineColorTheme, base: defaultBaseTheme };\nconst wheatTheme: Theme = { colors: wheatColorTheme, base: defaultBaseTheme };\n\nexport const themes: Record<ThemeEnum, Theme> = {\n [ThemeEnum.DEFAULT]: defaultTheme,\n [ThemeEnum.LIGHT]: lightTheme,\n [ThemeEnum.DARK]: darkTheme,\n [ThemeEnum.COSMIC]: cosmicTheme,\n [ThemeEnum.CORPORATE]: corporateTheme,\n [ThemeEnum.FOREST]: forestTheme,\n [ThemeEnum.COFFEE]: coffeeTheme,\n [ThemeEnum.WINE]: wineTheme,\n [ThemeEnum.WHEAT]: wheatTheme,\n};\n\nexport { defaultTheme, lightTheme, darkTheme, cosmicTheme, corporateTheme, forestTheme, coffeeTheme, wineTheme, wheatTheme };\n","/**\n * 主题提供者:提供颜色主题与基础主题(圆角等)上下文。\n * Theme provider: provides color theme and base theme (e.g. radius) context.\n */\nimport type { Theme, ThemeProviderProps } from \"../types\";\n\nimport { memo, useMemo, useState } from \"react\";\n\nimport { ThemeContext } from \"../hooks/useTheme\";\nimport useThemeVariables from \"../hooks/useThemeVariables\";\nimport { bases } from \"../themes/bases\";\nimport { themes } from \"../themes/colors\";\nimport { getThemeBaseStorage, getThemeColorStorage, setThemeBaseStorage } from \"../utils\";\nimport { BASE_VALUES, BaseEnum, THEME_VALUES, ThemeEnum } from \"../types\";\n\nconst ThemeProvider = memo(({ children, defaultTheme = ThemeEnum.DEFAULT, defaultBase = BaseEnum.DEFAULT }: ThemeProviderProps) => {\n const [themeName, setThemeName] = useState<ThemeEnum>(() => {\n const saved = getThemeColorStorage();\n return saved != null && saved in themes ? saved : defaultTheme;\n });\n const [baseName, setBaseName] = useState<BaseEnum>(() => {\n const saved = getThemeBaseStorage();\n return saved != null ? saved : defaultBase;\n });\n\n const currentTheme = useMemo<Theme>(\n () => ({\n colors: themes[themeName].colors,\n base: bases[baseName],\n }),\n [themeName, baseName],\n );\n\n useThemeVariables(currentTheme, themeName);\n\n const setTheme = (newTheme: ThemeEnum) => {\n setThemeName(newTheme);\n };\n const setBase = (newBase: BaseEnum) => {\n setBaseName(newBase);\n setThemeBaseStorage(newBase);\n };\n\n return (\n <ThemeContext.Provider\n value={{\n currentTheme,\n themeName,\n baseName,\n setTheme,\n setBase,\n availableThemes: THEME_VALUES,\n availableBases: BASE_VALUES,\n }}\n >\n {children}\n </ThemeContext.Provider>\n );\n});\n\nThemeProvider.displayName = \"ThemeProvider\";\nexport default ThemeProvider;\n"],"mappings":"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"}
1
+ {"version":3,"file":"themes.mjs","names":[],"sources":["../src/themes/utils/themeStorage.ts","../src/themes/hooks/useThemeVariables.ts","../src/themes/themes/bases/android.ts","../src/themes/themes/bases/default.ts","../src/themes/themes/bases/ios.ts","../src/themes/themes/bases/linux.ts","../src/themes/themes/bases/windows.ts","../src/themes/themes/bases/index.ts","../src/themes/themes/colors/coffee.ts","../src/themes/themes/colors/corporate.ts","../src/themes/themes/colors/cosmic.ts","../src/themes/themes/colors/dark.ts","../src/themes/themes/colors/default.ts","../src/themes/themes/colors/forest.ts","../src/themes/themes/colors/light.ts","../src/themes/themes/colors/wheat.ts","../src/themes/themes/colors/wine.ts","../src/themes/themes/colors/index.ts","../src/themes/providers/index.tsx"],"sourcesContent":["/**\n * 主题相关 localStorage 读写与移除,统一走 utils/lstorage;读写类型为 ThemeEnum / BaseEnum。\n * Theme localStorage get/set/remove via utils/lstorage; typed as ThemeEnum / BaseEnum.\n */\nimport type { Nilable } from \"@/types/utils\";\nimport { getItem, removeItem, setItem } from \"@/utils/lstorage\";\n\nimport { BASE_STORAGE_KEY, BASE_VALUES, BaseEnum, COLOR_STORAGE_KEY, THEME_VALUES, ThemeEnum } from \"../types\";\n\nexport function getThemeColorStorage(): Nilable<ThemeEnum> {\n const raw = getItem(COLOR_STORAGE_KEY);\n if (raw == null) return raw;\n return (THEME_VALUES as readonly string[]).includes(raw) ? (raw as ThemeEnum) : undefined;\n}\n\nexport function setThemeColorStorage(value: ThemeEnum): void {\n setItem(COLOR_STORAGE_KEY, value);\n}\n\nexport function getThemeBaseStorage(): Nilable<BaseEnum> {\n const raw = getItem(BASE_STORAGE_KEY);\n if (raw == null) return raw;\n return BASE_VALUES.includes(raw as BaseEnum) ? (raw as BaseEnum) : undefined;\n}\n\nexport function setThemeBaseStorage(value: BaseEnum): void {\n setItem(BASE_STORAGE_KEY, value);\n}\n\nexport function removeThemeStorage(): void {\n removeItem(COLOR_STORAGE_KEY);\n removeItem(BASE_STORAGE_KEY);\n}\n","import type { Theme, ThemeEnum } from \"../types\";\nimport { setThemeColorStorage } from \"../utils\";\nimport { useEffect } from \"react\";\n\n/**\n * 将当前主题变量注入到 document 的 CSS Variables,并持久化主题名到 localStorage。\n * Injects current theme variables into document CSS custom properties and persists theme name to localStorage.\n *\n * @param currentTheme - 完整主题对象(颜色 + 基础)。Full theme (colors + base).\n * @param themeName - 当前主题枚举名,用于持久化。Current theme enum key for persistence.\n */\nconst useThemeVariables = (currentTheme: Theme, themeName: ThemeEnum) => {\n useEffect(() => {\n const root = document.documentElement;\n const vars = currentTheme.colors.variables;\n const base = currentTheme.base.variables;\n\n // 主色与语义色 / Primary and semantic colors\n root.style.setProperty(\"--color-primary\", vars.primary);\n root.style.setProperty(\"--color-primary-light\", vars.primaryLight);\n root.style.setProperty(\"--color-primary-fg\", vars.primaryFg);\n root.style.setProperty(\"--color-success\", vars.success);\n root.style.setProperty(\"--color-success-light\", vars.successLight);\n root.style.setProperty(\"--color-info\", vars.info);\n root.style.setProperty(\"--color-info-light\", vars.infoLight);\n root.style.setProperty(\"--color-warning\", vars.warning);\n root.style.setProperty(\"--color-warning-light\", vars.warningLight);\n root.style.setProperty(\"--color-danger\", vars.danger);\n root.style.setProperty(\"--color-danger-light\", vars.dangerLight);\n\n // 背景色 / Background\n root.style.setProperty(\"--color-bg\", vars.bg);\n root.style.setProperty(\"--color-bg-2\", vars.bg2);\n root.style.setProperty(\"--color-bg-3\", vars.bg3);\n root.style.setProperty(\"--color-bg-4\", vars.bg4);\n\n // 边框色 / Border\n root.style.setProperty(\"--color-border\", vars.border);\n root.style.setProperty(\"--color-border-2\", vars.border2);\n root.style.setProperty(\"--color-border-3\", vars.border3);\n root.style.setProperty(\"--color-border-4\", vars.border4);\n root.style.setProperty(\"--color-border-5\", vars.border5);\n\n // 文字色 / Foreground text\n root.style.setProperty(\"--color-fg\", vars.fg);\n root.style.setProperty(\"--color-fg-text\", vars.fgText);\n root.style.setProperty(\"--color-fg-heading\", vars.fgHeading);\n root.style.setProperty(\"--color-fg-highlight\", vars.fgHighlight);\n root.style.setProperty(\"--color-fg-on-primary\", vars.fgOnPrimary);\n root.style.setProperty(\"--color-separator\", vars.separator);\n\n // 基础变量(圆角等)/ Base (radius, etc.)\n root.style.setProperty(\"--radius-button\", `${base.buttonRadius}px`);\n root.style.setProperty(\"--radius-card\", `${base.cardRadius}px`);\n root.style.setProperty(\"--radius-input\", `${base.inputRadius}px`);\n\n // Temperature\n vars.temperature.arcFill.forEach((v: string, i: number) => {\n root.style.setProperty(`--temperature-arc-fill-${i}`, v);\n });\n root.style.setProperty(\"--temperature-arc-empty\", vars.temperature.arcEmpty);\n root.style.setProperty(\"--temperature-thumb-bg\", vars.temperature.thumbBg);\n root.style.setProperty(\"--temperature-thumb-border\", vars.temperature.thumbBorder);\n\n // Solar\n root.style.setProperty(\"--solar-gradient-left\", vars.solar.gradientLeft);\n root.style.setProperty(\"--solar-gradient-right\", vars.solar.gradientRight);\n root.style.setProperty(\"--solar-shadow-color\", vars.solar.shadowColor);\n root.style.setProperty(\"--solar-second-series-fill\", vars.solar.secondSeriesFill);\n\n // Traffic\n root.style.setProperty(\"--traffic-tooltip-bg\", vars.traffic.tooltipBg);\n root.style.setProperty(\"--traffic-tooltip-border-color\", vars.traffic.tooltipBorderColor);\n root.style.setProperty(\"--traffic-tooltip-text-color\", vars.traffic.tooltipTextColor);\n root.style.setProperty(\"--traffic-y-axis-split-line\", vars.traffic.yAxisSplitLine);\n root.style.setProperty(\"--traffic-line-bg\", vars.traffic.lineBg);\n root.style.setProperty(\"--traffic-item-color\", vars.traffic.itemColor);\n root.style.setProperty(\"--traffic-item-border-color\", vars.traffic.itemBorderColor);\n root.style.setProperty(\"--traffic-item-emphasis-border-color\", vars.traffic.itemEmphasisBorderColor);\n root.style.setProperty(\"--traffic-shadow-line-dark-bg\", vars.traffic.shadowLineDarkBg);\n root.style.setProperty(\"--traffic-shadow-line-shadow\", vars.traffic.shadowLineShadow);\n root.style.setProperty(\"--traffic-grad-from\", vars.traffic.gradFrom);\n root.style.setProperty(\"--traffic-grad-to\", vars.traffic.gradTo);\n\n // Electricity\n root.style.setProperty(\"--electricity-tooltip-bg\", vars.electricity.tooltipBg);\n root.style.setProperty(\"--electricity-tooltip-line-color\", vars.electricity.tooltipLineColor);\n root.style.setProperty(\"--electricity-tooltip-border-color\", vars.electricity.tooltipBorderColor);\n root.style.setProperty(\"--electricity-tooltip-text-color\", vars.electricity.tooltipTextColor);\n root.style.setProperty(\"--electricity-axis-line-color\", vars.electricity.axisLineColor);\n root.style.setProperty(\"--electricity-x-axis-text-color\", vars.electricity.xAxisTextColor);\n root.style.setProperty(\"--electricity-y-axis-split-line\", vars.electricity.yAxisSplitLine);\n root.style.setProperty(\"--electricity-item-border-color\", vars.electricity.itemBorderColor);\n root.style.setProperty(\"--electricity-line-grad-from\", vars.electricity.lineGradFrom);\n root.style.setProperty(\"--electricity-line-grad-to\", vars.electricity.lineGradTo);\n root.style.setProperty(\"--electricity-line-shadow\", vars.electricity.lineShadow);\n root.style.setProperty(\"--electricity-area-grad-from\", vars.electricity.areaGradFrom);\n root.style.setProperty(\"--electricity-area-grad-to\", vars.electricity.areaGradTo);\n root.style.setProperty(\"--electricity-shadow-line-dark-bg\", vars.electricity.shadowLineDarkBg);\n\n // ECharts\n root.style.setProperty(\"--echarts-bg\", vars.echarts.bg);\n root.style.setProperty(\"--echarts-text-color\", vars.echarts.textColor);\n root.style.setProperty(\"--echarts-axis-line-color\", vars.echarts.axisLineColor);\n root.style.setProperty(\"--echarts-split-line-color\", vars.echarts.splitLineColor);\n root.style.setProperty(\"--echarts-item-hover-shadow-color\", vars.echarts.itemHoverShadowColor);\n root.style.setProperty(\"--echarts-tooltip-bg-color\", vars.echarts.tooltipBackgroundColor);\n\n // ChartJS\n root.style.setProperty(\"--chartjs-axis-line-color\", vars.chartjs.axisLineColor);\n root.style.setProperty(\"--chartjs-text-color\", vars.chartjs.textColor);\n\n setThemeColorStorage(themeName);\n }, [themeName, currentTheme]);\n};\n\nexport default useThemeVariables;\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Android 风格圆角(如 6) */\nexport const androidBaseVariables: BaseVariables = {\n buttonRadius: 6,\n cardRadius: 6,\n inputRadius: 6,\n};\n\nexport const androidBaseTheme: BaseTheme = {\n name: BaseEnum.ANDROID,\n displayName: \"Android\",\n variables: androidBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** 默认基础变量(跨平台通用) */\nexport const defaultBaseVariables: BaseVariables = {\n buttonRadius: 8,\n cardRadius: 8,\n inputRadius: 6,\n};\n\n/** 默认基础主题 */\nexport const defaultBaseTheme: BaseTheme = {\n name: BaseEnum.DEFAULT,\n displayName: \"Default\",\n variables: defaultBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** iOS 风格圆角(较大,如 24) */\nexport const iosBaseVariables: BaseVariables = {\n buttonRadius: 24,\n cardRadius: 24,\n inputRadius: 24,\n};\n\nexport const iosBaseTheme: BaseTheme = {\n name: BaseEnum.IOS,\n displayName: \"iOS\",\n variables: iosBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Linux 风格圆角(较小,如 4) */\nexport const linuxBaseVariables: BaseVariables = {\n buttonRadius: 4,\n cardRadius: 4,\n inputRadius: 4,\n};\n\nexport const linuxBaseTheme: BaseTheme = {\n name: BaseEnum.LINUX,\n displayName: \"Linux\",\n variables: linuxBaseVariables,\n};\n","import type { BaseTheme, BaseVariables } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\n\n/** Windows 风格圆角(如 6) */\nexport const windowsBaseVariables: BaseVariables = {\n buttonRadius: 6,\n cardRadius: 6,\n inputRadius: 6,\n};\n\nexport const windowsBaseTheme: BaseTheme = {\n name: BaseEnum.WINDOWS,\n displayName: \"Windows\",\n variables: windowsBaseVariables,\n};\n","import type { BaseTheme } from \"../../types\";\n\nimport { BaseEnum } from \"../../types\";\nimport { androidBaseTheme } from \"./android\";\nimport { defaultBaseTheme } from \"./default\";\nimport { iosBaseTheme } from \"./ios\";\nimport { linuxBaseTheme } from \"./linux\";\nimport { windowsBaseTheme } from \"./windows\";\n\nexport const bases: Record<BaseEnum, BaseTheme> = {\n [BaseEnum.DEFAULT]: defaultBaseTheme,\n [BaseEnum.IOS]: iosBaseTheme,\n [BaseEnum.ANDROID]: androidBaseTheme,\n [BaseEnum.WINDOWS]: windowsBaseTheme,\n [BaseEnum.LINUX]: linuxBaseTheme,\n};\n\nexport { defaultBaseTheme, defaultBaseVariables } from \"./default\";\nexport { iosBaseTheme, iosBaseVariables } from \"./ios\";\nexport { androidBaseTheme, androidBaseVariables } from \"./android\";\nexport { windowsBaseTheme, windowsBaseVariables } from \"./windows\";\nexport { linuxBaseTheme, linuxBaseVariables } from \"./linux\";\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Coffee 主题 - 基于 8 色盘重新设计\n * 色盘:奶油 #F8F4E1 | 浅灰米 #E4E0E1 | 浅棕 #D6C0B3 | 中棕 #AB886D / #AF8F6F\n * 深棕 #74512D | 暗棕 #493628 | 最深 #543310\n * 深棕背景 + 奶油/米色文字,语义色保持棕/绿棕/红棕调\n */\nexport const coffeeColorTheme: ColorTheme = {\n name: \"coffee\",\n displayName: \"Coffee\",\n variables: {\n // 主色 - 奶油/拿铁系\n primary: \"#AF8F6F\",\n primaryLight: \"#F8F4E1\",\n primaryFg: \"#2a1f18\",\n\n // 语义色 - 棕调配色(微调以协调)\n success: \"#6d8f72\",\n successLight: \"#8aaa8e\",\n info: \"#8a7a6a\",\n infoLight: \"#a89888\",\n warning: \"#b8926a\",\n warningLight: \"#d4b896\",\n danger: \"#a65d5d\",\n dangerLight: \"#c07d7d\",\n\n // 背景 - 由深到浅:最深 → #543310 → #493628 → #74512D\n bg: \"#2e1a08\",\n bg2: \"#543310\",\n bg3: \"#493628\",\n bg4: \"#74512D\",\n\n // 边框 - 深棕到浅米\n border: \"#493628\",\n border2: \"#543310\",\n border3: \"#74512D\",\n border4: \"#AF8F6F\",\n border5: \"#D6C0B3\",\n\n // 文字\n fg: \"#AF8F6F\",\n fgText: \"#F8F4E1\",\n fgHeading: \"#F8F4E1\",\n fgHighlight: \"#E4E0E1\",\n fgOnPrimary: \"#2e1a08\", // 暂时等于 bg\n\n separator: \"#493628\",\n\n temperature: {\n arcFill: [\"#AF8F6F\", \"#AB886D\", \"#D6C0B3\", \"#E4E0E1\", \"#F8F4E1\"],\n arcEmpty: \"#543310\",\n thumbBg: \"#493628\",\n thumbBorder: \"#AF8F6F\",\n },\n\n solar: {\n gradientLeft: \"#AF8F6F\",\n gradientRight: \"#F8F4E1\",\n shadowColor: \"rgba(0, 0, 0, 0.35)\",\n secondSeriesFill: \"#493628\",\n },\n\n traffic: {\n tooltipBg: \"#74512D\",\n tooltipBorderColor: \"#AF8F6F\",\n tooltipTextColor: \"#F8F4E1\",\n yAxisSplitLine: \"#543310\",\n lineBg: \"#493628\",\n itemColor: \"#543310\",\n itemBorderColor: \"#AF8F6F\",\n itemEmphasisBorderColor: \"#F8F4E1\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#493628\",\n gradTo: \"#2e1a08\",\n },\n\n electricity: {\n tooltipBg: \"#543310\",\n tooltipLineColor: \"#F8F4E1\",\n tooltipBorderColor: \"#AF8F6F\",\n tooltipTextColor: \"#F8F4E1\",\n axisLineColor: \"#AF8F6F\",\n xAxisTextColor: \"#AF8F6F\",\n yAxisSplitLine: \"#543310\",\n itemBorderColor: \"#AF8F6F\",\n lineGradFrom: \"#AF8F6F\",\n lineGradTo: \"#F8F4E1\",\n lineShadow: \"rgba(175, 143, 111, 0.3)\",\n areaGradFrom: \"#493628\",\n areaGradTo: \"#2e1a08\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#2e1a08\",\n textColor: \"#F8F4E1\",\n axisLineColor: \"#AF8F6F\",\n splitLineColor: \"#493628\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#543310\",\n },\n\n chartjs: {\n axisLineColor: \"#AF8F6F\",\n textColor: \"#F8F4E1\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\nexport const corporateColorTheme: ColorTheme = {\n name: \"corporate\",\n displayName: \"Corporate\",\n variables: {\n // 基础颜色\n primary: \"#3366ff\",\n primaryLight: \"#598bff\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#ffffff\",\n bg2: \"#f7f9fc\",\n bg3: \"#edf1f7\",\n bg4: \"#e4e9f2\",\n\n // 边框色\n border: \"#ffffff\",\n border2: \"#f7f9fc\",\n border3: \"#edf1f7\",\n border4: \"#e4e9f2\",\n border5: \"#c5cee0\",\n\n // 文字色\n fg: \"#8f9bb3\",\n fgText: \"#222b45\",\n fgHeading: \"#192038\",\n fgHighlight: \"#003694\",\n fgOnPrimary: \"#ffffff\", // 暂时等于 bg\n\n // 分隔符\n separator: \"#edf1f7\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#ffa36b\", \"#ffa36b\", \"#ff9e7a\", \"#ff9888\", \"#ff8ea0\"],\n arcEmpty: \"#f7f9fc\",\n thumbBg: \"#f7f9fc\",\n thumbBorder: \"#ffa36b\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#3366ff\",\n gradientRight: \"#3366ff\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#f7f9fc\",\n },\n\n traffic: {\n tooltipBg: \"#ffffff\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n yAxisSplitLine: \"rgba(0, 0, 0, 0)\",\n lineBg: \"#3366ff\",\n itemColor: \"#e4e9f2\",\n itemBorderColor: \"#e4e9f2\",\n itemEmphasisBorderColor: \"#598bff\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#ffffff\",\n gradTo: \"#ffffff\",\n },\n\n electricity: {\n tooltipBg: \"#ffffff\",\n tooltipLineColor: \"#222b45\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n axisLineColor: \"#edf1f7\",\n xAxisTextColor: \"#8f9bb3\",\n yAxisSplitLine: \"#edf1f7\",\n itemBorderColor: \"#3366ff\",\n lineGradFrom: \"#3366ff\",\n lineGradTo: \"#3366ff\",\n lineShadow: \"rgba(0, 0, 0, 0)\",\n areaGradFrom: \"rgba(0, 0, 0, 0)\",\n areaGradTo: \"rgba(0, 0, 0, 0)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#ffffff\",\n textColor: \"#222b45\",\n axisLineColor: \"#222b45\",\n splitLineColor: \"#edf1f7\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#3366ff\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#edf1f7\",\n textColor: \"#222b45\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\nexport const cosmicColorTheme: ColorTheme = {\n name: \"cosmic\",\n displayName: \"Cosmic\",\n variables: {\n // 基础颜色\n primary: \"#a16eff\",\n primaryLight: \"#b489ff\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#323259\",\n bg2: \"#2a2a48\",\n bg3: \"#272741\",\n bg4: \"#1f1f3a\",\n\n // 边框色\n border: \"#323259\",\n border2: \"#2a2a48\",\n border3: \"#272741\",\n border4: \"#1f1f3a\",\n border5: \"#1f1f3a\",\n\n // 文字色\n fg: \"#b4b4db\",\n fgText: \"#ffffff\",\n fgHeading: \"#ffffff\",\n fgHighlight: \"#a16eff\",\n fgOnPrimary: \"#323259\", // 暂时等于 bg\n\n // 分隔符\n separator: \"#2a2a48\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#2ec7fe\", \"#31ffad\", \"#7bff24\", \"#fff024\", \"#f7bd59\"],\n arcEmpty: \"#2a2a48\",\n thumbBg: \"#ffffff\",\n thumbBorder: \"#ffffff\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#a16eff\",\n gradientRight: \"#a16eff\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#2a2a48\",\n },\n\n traffic: {\n tooltipBg: \"#323259\",\n tooltipBorderColor: \"#2a2a48\",\n tooltipTextColor: \"#ffffff\",\n yAxisSplitLine: \"#2a2a48\",\n lineBg: \"#2a2a48\",\n itemColor: \"#2a2a48\",\n itemBorderColor: \"#2a2a48\",\n itemEmphasisBorderColor: \"#a16eff\",\n shadowLineDarkBg: \"#272741\",\n shadowLineShadow: \"#272741\",\n gradFrom: \"#323259\",\n gradTo: \"#2a2a48\",\n },\n\n electricity: {\n tooltipBg: \"#323259\",\n tooltipLineColor: \"#ffffff\",\n tooltipBorderColor: \"#2a2a48\",\n tooltipTextColor: \"#ffffff\",\n axisLineColor: \"#272741\",\n xAxisTextColor: \"#b4b4db\",\n yAxisSplitLine: \"#2a2a48\",\n itemBorderColor: \"#2a2a48\",\n lineGradFrom: \"#00d68f\",\n lineGradTo: \"#ffaa00\",\n lineShadow: \"#1f1f3a\",\n areaGradFrom: \"#2a2a48\",\n areaGradTo: \"#272741\",\n shadowLineDarkBg: \"#272741\",\n },\n\n echarts: {\n bg: \"#323259\",\n textColor: \"#ffffff\",\n axisLineColor: \"#ffffff\",\n splitLineColor: \"#2a2a48\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#a16eff\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#2a2a48\",\n textColor: \"#ffffff\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Dark 主题 - 重新设计\n * - 背景层级分明(base → surface → elevated)\n * - 边框可见且不刺眼\n * - 主色为蓝色强调,语义色适配深色背景\n * - 文字对比度符合可读性\n */\nexport const darkColorTheme: ColorTheme = {\n name: \"dark\",\n displayName: \"Dark\",\n variables: {\n // 主色 - 金黄色/琥珀色\n primary: \"#d4a017\",\n primaryLight: \"#eab308\",\n primaryFg: \"#1a1a1a\",\n\n // 语义色 - 深色模式、无蓝色,info 用青绿区分\n success: \"#22c55e\",\n successLight: \"#4ade80\",\n info: \"#14b8a6\",\n infoLight: \"#2dd4bf\",\n warning: \"#eab308\",\n warningLight: \"#facc15\",\n danger: \"#ef4444\",\n dangerLight: \"#f87171\",\n\n // 背景色 - 明确层级(由深到浅)\n bg: \"#0f0f11\",\n bg2: \"#18181b\",\n bg3: \"#27272a\",\n bg4: \"#3f3f46\",\n\n // 边框色 - 与背景区分,便于识别边界\n border: \"#18181b\",\n border2: \"#27272a\",\n border3: \"#3f3f46\",\n border4: \"#52525b\",\n border5: \"#71717a\",\n\n // 文字色 - 主文白、标题更亮、辅助文灰\n fg: \"#a1a1aa\",\n fgText: \"#fafafa\",\n fgHeading: \"#ffffff\",\n fgHighlight: \"#fde047\",\n fgOnPrimary: \"#0f0f11\", // 暂时等于 bg\n\n // 分隔线\n separator: \"#27272a\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#d4a017\", \"#eab308\", \"#fcd34d\", \"#fde047\", \"#fde047\"],\n arcEmpty: \"#27272a\",\n thumbBg: \"#27272a\",\n thumbBorder: \"#52525b\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"#d4a017\",\n gradientRight: \"#eab308\",\n shadowColor: \"rgba(0, 0, 0, 0.3)\",\n secondSeriesFill: \"#27272a\",\n },\n\n traffic: {\n tooltipBg: \"#27272a\",\n tooltipBorderColor: \"#3f3f46\",\n tooltipTextColor: \"#fafafa\",\n yAxisSplitLine: \"#27272a\",\n lineBg: \"#3f3f46\",\n itemColor: \"#3f3f46\",\n itemBorderColor: \"#52525b\",\n itemEmphasisBorderColor: \"#eab308\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#27272a\",\n gradTo: \"#18181b\",\n },\n\n electricity: {\n tooltipBg: \"#27272a\",\n tooltipLineColor: \"#fafafa\",\n tooltipBorderColor: \"#3f3f46\",\n tooltipTextColor: \"#fafafa\",\n axisLineColor: \"#3f3f46\",\n xAxisTextColor: \"#a1a1aa\",\n yAxisSplitLine: \"#27272a\",\n itemBorderColor: \"#eab308\",\n lineGradFrom: \"#d4a017\",\n lineGradTo: \"#eab308\",\n lineShadow: \"rgba(212, 160, 23, 0.35)\",\n areaGradFrom: \"#27272a\",\n areaGradTo: \"#18181b\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#18181b\",\n textColor: \"#fafafa\",\n axisLineColor: \"#52525b\",\n splitLineColor: \"#27272a\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#27272a\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#3f3f46\",\n textColor: \"#fafafa\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n// 基于 ReX-App 的 light.ts 红色系配色创建的 default 主题\nexport const defaultColorTheme: ColorTheme = {\n name: \"default\",\n displayName: \"Default\",\n variables: {\n // 基础颜色 - 红色系\n primary: \"rgb(250, 30, 22)\", // #FA1E16 鲜红色\n primaryLight: \"rgb(255, 120, 120)\", // 浅红色\n primaryFg: \"#ffffff\",\n success: \"rgb(62, 168, 30)\", // 浅绿色(对比色)\n successLight: \"rgb(220, 255, 210)\",\n info: \"rgb(255, 160, 150)\", // 亮橙红\n infoLight: \"rgb(255, 200, 180)\",\n warning: \"rgb(248, 104, 7)\", // 明亮橙色\n warningLight: \"rgb(255, 140, 60)\",\n danger: \"rgb(211, 17, 11)\", // 深红色\n dangerLight: \"rgb(243, 70, 64)\",\n\n // 背景色 - 浅色系\n bg: \"rgb(250, 250, 250)\", // 纯白\n bg2: \"rgb(245, 245, 245)\",\n bg3: \"rgb(226, 224, 224)\",\n bg4: \"rgb(207, 207, 207)\",\n\n // 边框色\n border: \"rgb(250, 250, 250)\",\n border2: \"rgb(245, 245, 245)\",\n border3: \"rgb(226, 224, 224)\",\n border4: \"rgb(207, 207, 207)\",\n border5: \"rgb(136, 136, 136)\",\n\n // 文字色\n fg: \"rgb(136, 136, 136)\", // 灰色文字\n fgText: \"rgb(22, 21, 21)\", // 黑色文字\n fgHeading: \"rgb(0, 0, 0)\", // 纯黑标题\n fgHighlight: \"rgb(250, 30, 22)\", // 红色高亮\n fgOnPrimary: \"rgb(250, 250, 250)\", // 暂时等于 bg\n\n // 分隔符\n separator: \"rgb(226, 224, 224)\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\n \"rgb(255, 210, 210)\", // 非常浅的淡红\n \"rgb(255, 200, 160)\", // 柔和杏色\n \"rgb(255, 160, 150)\", // 更偏亮橙红\n \"rgb(255, 120, 120)\", // 浅红\n \"rgb(250, 30, 22)\", // 主红色\n ],\n arcEmpty: \"rgb(245, 245, 245)\",\n thumbBg: \"rgb(245, 245, 245)\",\n thumbBorder: \"rgb(250, 30, 22)\",\n },\n\n // Solar\n solar: {\n gradientLeft: \"rgb(250, 30, 22)\",\n gradientRight: \"rgb(248, 104, 7)\",\n shadowColor: \"rgba(250, 30, 22, 0.1)\",\n secondSeriesFill: \"rgb(245, 245, 245)\",\n },\n\n traffic: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n lineBg: \"rgb(207, 207, 207)\",\n itemColor: \"rgb(207, 207, 207)\",\n itemBorderColor: \"rgb(207, 207, 207)\",\n itemEmphasisBorderColor: \"rgb(250, 30, 22)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"rgb(245, 245, 245)\",\n gradTo: \"rgb(245, 245, 245)\",\n },\n\n electricity: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipLineColor: \"rgb(22, 21, 21)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(226, 224, 224)\",\n xAxisTextColor: \"rgb(136, 136, 136)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n itemBorderColor: \"rgb(250, 30, 22)\",\n lineGradFrom: \"rgb(250, 30, 22)\",\n lineGradTo: \"rgb(248, 104, 7)\",\n lineShadow: \"rgba(250, 30, 22, 0.2)\",\n areaGradFrom: \"rgba(250, 30, 22, 0.1)\",\n areaGradTo: \"rgba(250, 30, 22, 0.05)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"rgb(250, 250, 250)\",\n textColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(136, 136, 136)\",\n splitLineColor: \"rgb(226, 224, 224)\",\n itemHoverShadowColor: \"rgba(250, 30, 22, 0.3)\",\n tooltipBackgroundColor: \"rgb(250, 30, 22)\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"rgb(226, 224, 224)\",\n textColor: \"rgb(22, 21, 21)\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Forest 主题 - 森林绿配色\n * - 主色:翠绿 #1F7A5A,按钮、链接、强调\n * - 深绿底 + 浅绿层级\n */\nexport const forestColorTheme: ColorTheme = {\n name: \"forest\",\n displayName: \"Forest\",\n variables: {\n primary: \"#1F7A5A\",\n primaryLight: \"#E6F2EE\",\n primaryFg: \"#FFFFFF\",\n\n success: \"#1F7A5A\",\n successLight: \"#E6F2EE\",\n\n info: \"#2563EB\",\n infoLight: \"#E8F0FF\",\n\n warning: \"#B45309\",\n warningLight: \"#FFF4E5\",\n\n danger: \"#B42318\",\n dangerLight: \"#FDECEC\",\n\n // ===== Backgrounds (White-based) =====\n bg: \"#FFFFFF\",\n bg2: \"#F7F9F8\",\n bg3: \"#EEF3F1\",\n bg4: \"#E6EFEC\",\n\n // ===== Borders (subtle greys w/ green hint) =====\n border: \"#E5E7EB\",\n border2: \"#D1D5DB\",\n border3: \"#C7D2CF\",\n border4: \"#B6C4BF\",\n border5: \"#1F7A5A\", // strong focus border\n\n // ===== Text =====\n fg: \"#111827\",\n fgText: \"#374151\",\n fgHeading: \"#0F172A\",\n fgHighlight: \"#1F7A5A\",\n fgOnPrimary: \"#FFFFFF\", // 暂时等于 bg\n separator: \"#E5E7EB\",\n\n temperature: {\n arcFill: [\"#E6F2EE\", \"#A7D8C6\", \"#4AA987\", \"#1F7A5A\", \"#145A43\"],\n arcEmpty: \"#E5E7EB\",\n thumbBg: \"#1F7A5A\",\n thumbBorder: \"#145A43\",\n },\n\n solar: {\n gradientLeft: \"#E6F2EE\",\n gradientRight: \"#1F7A5A\",\n shadowColor: \"rgba(31, 122, 90, 0.25)\",\n secondSeriesFill: \"#A7D8C6\",\n },\n\n traffic: {\n tooltipBg: \"#FFFFFF\",\n tooltipBorderColor: \"#E5E7EB\",\n tooltipTextColor: \"#111827\",\n yAxisSplitLine: \"#E5E7EB\",\n lineBg: \"rgba(31, 122, 90, 0.08)\",\n itemColor: \"#1F7A5A\",\n itemBorderColor: \"#145A43\",\n itemEmphasisBorderColor: \"#0E5A41\",\n shadowLineDarkBg: \"rgba(31, 122, 90, 0.15)\",\n shadowLineShadow: \"rgba(31, 122, 90, 0.20)\",\n gradFrom: \"#E6F2EE\",\n gradTo: \"#1F7A5A\",\n },\n\n electricity: {\n tooltipBg: \"#FFFFFF\",\n tooltipLineColor: \"#1F7A5A\",\n tooltipBorderColor: \"#E5E7EB\",\n tooltipTextColor: \"#111827\",\n axisLineColor: \"#D1D5DB\",\n xAxisTextColor: \"#374151\",\n yAxisSplitLine: \"#E5E7EB\",\n itemBorderColor: \"#145A43\",\n lineGradFrom: \"#E6F2EE\",\n lineGradTo: \"#1F7A5A\",\n lineShadow: \"rgba(31, 122, 90, 0.25)\",\n areaGradFrom: \"rgba(31, 122, 90, 0.25)\",\n areaGradTo: \"rgba(31, 122, 90, 0.00)\",\n shadowLineDarkBg: \"rgba(31, 122, 90, 0.10)\",\n },\n\n echarts: {\n bg: \"#FFFFFF\",\n textColor: \"#111827\",\n axisLineColor: \"#D1D5DB\",\n splitLineColor: \"#E5E7EB\",\n itemHoverShadowColor: \"rgba(31, 122, 90, 0.25)\",\n tooltipBackgroundColor: \"#FFFFFF\",\n },\n\n chartjs: {\n axisLineColor: \"#D1D5DB\",\n textColor: \"#111827\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n// 原 ngx-admin 的 default 主题(浅灰蓝色风格)\nexport const lightColorTheme: ColorTheme = {\n name: \"light\",\n displayName: \"Light\",\n variables: {\n // 基础颜色 - 黑白对比色系\n primary: \"#222b45\",\n primaryLight: \"#192038\",\n primaryFg: \"#ffffff\",\n success: \"#00d68f\",\n successLight: \"#33dfaa\",\n info: \"#0095ff\",\n infoLight: \"#33a7ff\",\n warning: \"#ffaa00\",\n warningLight: \"#ffbb33\",\n danger: \"#ff3d71\",\n dangerLight: \"#ff6491\",\n\n // 背景色\n bg: \"#ffffff\",\n bg2: \"#f7f9fc\",\n bg3: \"#edf1f7\",\n bg4: \"#e4e9f2\",\n\n // 边框色\n border: \"#ffffff\",\n border2: \"#f7f9fc\",\n border3: \"#edf1f7\",\n border4: \"#e4e9f2\",\n border5: \"#c5cee0\",\n\n // 文字色\n fg: \"#8f9bb3\",\n fgText: \"#222b45\",\n fgHeading: \"#192038\",\n fgHighlight: \"#003694\",\n fgOnPrimary: \"#ffffff\", // 暂时等于 bg\n\n // 分隔符\n separator: \"#edf1f7\",\n\n // 扩展配置 - Temperature\n temperature: {\n arcFill: [\"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\", \"#8f9bb3\"],\n arcEmpty: \"#f7f9fc\",\n thumbBg: \"#f7f9fc\",\n thumbBorder: \"#8f9bb3\",\n },\n\n solar: {\n gradientLeft: \"#8f9bb3\",\n gradientRight: \"#8f9bb3\",\n shadowColor: \"rgba(0, 0, 0, 0)\",\n secondSeriesFill: \"#f7f9fc\",\n },\n\n traffic: {\n tooltipBg: \"#ffffff\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n yAxisSplitLine: \"#edf1f7\",\n lineBg: \"#e4e9f2\",\n itemColor: \"#e4e9f2\",\n itemBorderColor: \"#e4e9f2\",\n itemEmphasisBorderColor: \"#8f9bb3\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#f7f9fc\",\n gradTo: \"#f7f9fc\",\n },\n\n electricity: {\n tooltipBg: \"#ffffff\",\n tooltipLineColor: \"#222b45\",\n tooltipBorderColor: \"#f7f9fc\",\n tooltipTextColor: \"#222b45\",\n axisLineColor: \"#edf1f7\",\n xAxisTextColor: \"#8f9bb3\",\n yAxisSplitLine: \"#edf1f7\",\n itemBorderColor: \"#8f9bb3\",\n lineGradFrom: \"#8f9bb3\",\n lineGradTo: \"#8f9bb3\",\n lineShadow: \"rgba(0, 0, 0, 0)\",\n areaGradFrom: \"#f7f9fc\",\n areaGradTo: \"#f7f9fc\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#ffffff\",\n textColor: \"#222b45\",\n axisLineColor: \"#222b45\",\n splitLineColor: \"#edf1f7\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.5)\",\n tooltipBackgroundColor: \"#8f9bb3\",\n },\n\n // ChartJS\n chartjs: {\n axisLineColor: \"#edf1f7\",\n textColor: \"#222b45\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/** 麦田:在 default 基础上将白红色系改为金黄色系 */\nexport const wheatColorTheme: ColorTheme = {\n name: \"wheat\",\n displayName: \"麦田\",\n variables: {\n // 主色 - 金黄色系\n primary: \"rgb(201, 162, 39)\", // #C9A227 金黄\n primaryLight: \"rgb(230, 200, 120)\", // 浅金黄\n primaryFg: \"#ffffff\",\n success: \"rgb(62, 168, 30)\",\n successLight: \"rgb(220, 255, 210)\",\n info: \"rgb(220, 180, 80)\", // 暖金\n infoLight: \"rgb(255, 235, 180)\",\n warning: \"rgb(218, 165, 32)\", // 深金\n warningLight: \"rgb(255, 215, 120)\",\n danger: \"rgb(180, 130, 20)\", // 深褐金\n dangerLight: \"rgb(220, 180, 80)\",\n\n // 背景色 - 浅色系(与 default 一致)\n bg: \"rgb(250, 250, 250)\",\n bg2: \"rgb(245, 245, 245)\",\n bg3: \"rgb(226, 224, 224)\",\n bg4: \"rgb(207, 207, 207)\",\n\n border: \"rgb(250, 250, 250)\",\n border2: \"rgb(245, 245, 245)\",\n border3: \"rgb(226, 224, 224)\",\n border4: \"rgb(207, 207, 207)\",\n border5: \"rgb(136, 136, 136)\",\n\n fg: \"rgb(136, 136, 136)\",\n fgText: \"rgb(22, 21, 21)\",\n fgHeading: \"rgb(0, 0, 0)\",\n fgHighlight: \"rgb(201, 162, 39)\", // 金黄高亮\n fgOnPrimary: \"rgb(250, 250, 250)\", // 暂时等于 bg\n\n separator: \"rgb(226, 224, 224)\",\n\n temperature: {\n arcFill: [\n \"rgb(255, 245, 210)\",\n \"rgb(255, 235, 180)\",\n \"rgb(255, 220, 150)\",\n \"rgb(230, 200, 120)\",\n \"rgb(201, 162, 39)\",\n ],\n arcEmpty: \"rgb(245, 245, 245)\",\n thumbBg: \"rgb(245, 245, 245)\",\n thumbBorder: \"rgb(201, 162, 39)\",\n },\n\n solar: {\n gradientLeft: \"rgb(201, 162, 39)\",\n gradientRight: \"rgb(218, 165, 32)\",\n shadowColor: \"rgba(201, 162, 39, 0.1)\",\n secondSeriesFill: \"rgb(245, 245, 245)\",\n },\n\n traffic: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n lineBg: \"rgb(207, 207, 207)\",\n itemColor: \"rgb(207, 207, 207)\",\n itemBorderColor: \"rgb(207, 207, 207)\",\n itemEmphasisBorderColor: \"rgb(201, 162, 39)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"rgb(245, 245, 245)\",\n gradTo: \"rgb(245, 245, 245)\",\n },\n\n electricity: {\n tooltipBg: \"rgb(250, 250, 250)\",\n tooltipLineColor: \"rgb(22, 21, 21)\",\n tooltipBorderColor: \"rgb(245, 245, 245)\",\n tooltipTextColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(226, 224, 224)\",\n xAxisTextColor: \"rgb(136, 136, 136)\",\n yAxisSplitLine: \"rgb(226, 224, 224)\",\n itemBorderColor: \"rgb(201, 162, 39)\",\n lineGradFrom: \"rgb(201, 162, 39)\",\n lineGradTo: \"rgb(218, 165, 32)\",\n lineShadow: \"rgba(201, 162, 39, 0.2)\",\n areaGradFrom: \"rgba(201, 162, 39, 0.1)\",\n areaGradTo: \"rgba(201, 162, 39, 0.05)\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"rgb(250, 250, 250)\",\n textColor: \"rgb(22, 21, 21)\",\n axisLineColor: \"rgb(136, 136, 136)\",\n splitLineColor: \"rgb(226, 224, 224)\",\n itemHoverShadowColor: \"rgba(201, 162, 39, 0.3)\",\n tooltipBackgroundColor: \"rgb(201, 162, 39)\",\n },\n\n chartjs: {\n axisLineColor: \"rgb(226, 224, 224)\",\n textColor: \"rgb(22, 21, 21)\",\n },\n },\n};\n","import type { ColorTheme } from \"../../types\";\n\n/**\n * Wine 主题(深色)- 8 色盘(Burgundy 体系)\n * #2A0B12 Background | #3A0F1A Surface | #4A1322 Secondary | #800020 Primary\n * #9A1F3D Primary Hover | #B23A5C Accent | #C97A8A Muted Highlight | #F4E6E9 Text\n */\nexport const wineColorTheme: ColorTheme = {\n name: \"wine\",\n displayName: \"Wine\",\n variables: {\n primary: \"#800020\",\n primaryLight: \"#F4E6E9\",\n primaryFg: \"#F4E6E9\",\n\n success: \"#6b8f6b\",\n successLight: \"#8aaa8e\",\n info: \"#8a6a6a\",\n infoLight: \"#a88a8a\",\n warning: \"#c49050\",\n warningLight: \"#d4b080\",\n danger: \"#b85050\",\n dangerLight: \"#d07070\",\n\n bg: \"#2A0B12\",\n bg2: \"#3A0F1A\",\n bg3: \"#4A1322\",\n bg4: \"#4A1322\",\n\n border: \"#2A0B12\",\n border2: \"#3A0F1A\",\n border3: \"#4A1322\",\n border4: \"#800020\",\n border5: \"#B23A5C\",\n\n fg: \"#C97A8A\",\n fgText: \"#F4E6E9\",\n fgHeading: \"#F4E6E9\",\n fgHighlight: \"#F4E6E9\",\n fgOnPrimary: \"#2A0B12\", // 暂时等于 bg\n\n separator: \"#3A0F1A\",\n\n temperature: {\n arcFill: [\"#800020\", \"#9A1F3D\", \"#B23A5C\", \"#C97A8A\", \"#F4E6E9\"],\n arcEmpty: \"#2A0B12\",\n thumbBg: \"#3A0F1A\",\n thumbBorder: \"#800020\",\n },\n\n solar: {\n gradientLeft: \"#800020\",\n gradientRight: \"#F4E6E9\",\n shadowColor: \"rgba(0, 0, 0, 0.4)\",\n secondSeriesFill: \"#3A0F1A\",\n },\n\n traffic: {\n tooltipBg: \"#4A1322\",\n tooltipBorderColor: \"#B23A5C\",\n tooltipTextColor: \"#F4E6E9\",\n yAxisSplitLine: \"#3A0F1A\",\n lineBg: \"#3A0F1A\",\n itemColor: \"#2A0B12\",\n itemBorderColor: \"#800020\",\n itemEmphasisBorderColor: \"#F4E6E9\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n shadowLineShadow: \"rgba(0, 0, 0, 0)\",\n gradFrom: \"#3A0F1A\",\n gradTo: \"#2A0B12\",\n },\n\n electricity: {\n tooltipBg: \"#3A0F1A\",\n tooltipLineColor: \"#F4E6E9\",\n tooltipBorderColor: \"#800020\",\n tooltipTextColor: \"#F4E6E9\",\n axisLineColor: \"#B23A5C\",\n xAxisTextColor: \"#C97A8A\",\n yAxisSplitLine: \"#3A0F1A\",\n itemBorderColor: \"#800020\",\n lineGradFrom: \"#800020\",\n lineGradTo: \"#F4E6E9\",\n lineShadow: \"rgba(128, 0, 32, 0.35)\",\n areaGradFrom: \"#3A0F1A\",\n areaGradTo: \"#2A0B12\",\n shadowLineDarkBg: \"rgba(0, 0, 0, 0)\",\n },\n\n echarts: {\n bg: \"#2A0B12\",\n textColor: \"#F4E6E9\",\n axisLineColor: \"#B23A5C\",\n splitLineColor: \"#3A0F1A\",\n itemHoverShadowColor: \"rgba(0, 0, 0, 0.4)\",\n tooltipBackgroundColor: \"#3A0F1A\",\n },\n\n chartjs: {\n axisLineColor: \"#B23A5C\",\n textColor: \"#F4E6E9\",\n },\n },\n};\n","import type { Theme } from \"../../types\";\n\nimport { ThemeEnum } from \"../../types\";\nimport { defaultBaseTheme } from \"../bases/default\";\nimport { coffeeColorTheme } from \"./coffee\";\nimport { corporateColorTheme } from \"./corporate\";\nimport { cosmicColorTheme } from \"./cosmic\";\nimport { darkColorTheme } from \"./dark\";\nimport { defaultColorTheme } from \"./default\";\nimport { forestColorTheme } from \"./forest\";\nimport { lightColorTheme } from \"./light\";\nimport { wheatColorTheme } from \"./wheat\";\nimport { wineColorTheme } from \"./wine\";\n\nconst defaultTheme: Theme = { colors: defaultColorTheme, base: defaultBaseTheme };\nconst lightTheme: Theme = { colors: lightColorTheme, base: defaultBaseTheme };\nconst darkTheme: Theme = { colors: darkColorTheme, base: defaultBaseTheme };\nconst cosmicTheme: Theme = { colors: cosmicColorTheme, base: defaultBaseTheme };\nconst corporateTheme: Theme = { colors: corporateColorTheme, base: defaultBaseTheme };\nconst forestTheme: Theme = { colors: forestColorTheme, base: defaultBaseTheme };\nconst coffeeTheme: Theme = { colors: coffeeColorTheme, base: defaultBaseTheme };\nconst wineTheme: Theme = { colors: wineColorTheme, base: defaultBaseTheme };\nconst wheatTheme: Theme = { colors: wheatColorTheme, base: defaultBaseTheme };\n\nexport const themes: Record<ThemeEnum, Theme> = {\n [ThemeEnum.DEFAULT]: defaultTheme,\n [ThemeEnum.LIGHT]: lightTheme,\n [ThemeEnum.DARK]: darkTheme,\n [ThemeEnum.COSMIC]: cosmicTheme,\n [ThemeEnum.CORPORATE]: corporateTheme,\n [ThemeEnum.FOREST]: forestTheme,\n [ThemeEnum.COFFEE]: coffeeTheme,\n [ThemeEnum.WINE]: wineTheme,\n [ThemeEnum.WHEAT]: wheatTheme,\n};\n\nexport { defaultTheme, lightTheme, darkTheme, cosmicTheme, corporateTheme, forestTheme, coffeeTheme, wineTheme, wheatTheme };\n","/**\n * 主题提供者:提供颜色主题与基础主题(圆角等)上下文。\n * Theme provider: provides color theme and base theme (e.g. radius) context.\n */\nimport type { Theme, ThemeProviderProps } from \"../types\";\n\nimport { memo, useMemo, useState } from \"react\";\n\nimport { ThemeContext } from \"../hooks/useTheme\";\nimport useThemeVariables from \"../hooks/useThemeVariables\";\nimport { bases } from \"../themes/bases\";\nimport { themes } from \"../themes/colors\";\nimport { getThemeBaseStorage, getThemeColorStorage, setThemeBaseStorage } from \"../utils\";\nimport { BASE_VALUES, BaseEnum, THEME_VALUES, ThemeEnum } from \"../types\";\n\nconst ThemeProvider = memo(({ children, defaultTheme = ThemeEnum.DEFAULT, defaultBase = BaseEnum.DEFAULT }: ThemeProviderProps) => {\n const [themeName, setThemeName] = useState<ThemeEnum>(() => {\n const saved = getThemeColorStorage();\n return saved != null && saved in themes ? saved : defaultTheme;\n });\n const [baseName, setBaseName] = useState<BaseEnum>(() => {\n const saved = getThemeBaseStorage();\n return saved != null ? saved : defaultBase;\n });\n\n const currentTheme = useMemo<Theme>(\n () => ({\n colors: themes[themeName].colors,\n base: bases[baseName],\n }),\n [themeName, baseName],\n );\n\n useThemeVariables(currentTheme, themeName);\n\n const setTheme = (newTheme: ThemeEnum) => {\n setThemeName(newTheme);\n };\n const setBase = (newBase: BaseEnum) => {\n setBaseName(newBase);\n setThemeBaseStorage(newBase);\n };\n\n return (\n <ThemeContext.Provider\n value={{\n currentTheme,\n themeName,\n baseName,\n setTheme,\n setBase,\n availableThemes: THEME_VALUES,\n availableBases: BASE_VALUES,\n }}\n >\n {children}\n </ThemeContext.Provider>\n );\n});\n\nThemeProvider.displayName = \"ThemeProvider\";\nexport default ThemeProvider;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nfx-ui",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "type": "module",
5
5
  "description": "Unified frontend UI library for the NFX product family: shared React components, design tokens, theme variables, and layout primitives for a consistent look and behavior across NFX console and other apps.",
6
6
  "repository": {