@pubinfo/config 2.0.0-beta.9 → 2.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/eslint/index.d.ts +2 -6
  2. package/dist/eslint/index.js +3 -0
  3. package/dist/eslint-B0bQR0lJ.js +121 -0
  4. package/dist/index-BlfMIrXI.d.ts +6 -0
  5. package/dist/index-DFGyu9wF.d.ts +9 -0
  6. package/dist/{themes/index.d.mts → index-xzslCJW7.d.ts} +9 -10
  7. package/dist/index.d.ts +5 -6
  8. package/dist/index.js +6 -0
  9. package/dist/stylelint-9CMQiIxC.d.ts +107 -0
  10. package/dist/stylelint-QHUuft1u.js +114 -0
  11. package/dist/stylelint.d.ts +2 -106
  12. package/dist/stylelint.js +3 -0
  13. package/dist/themes/index.d.ts +2 -29
  14. package/dist/themes/index.js +3 -0
  15. package/dist/themes-CL2YKvqM.js +558 -0
  16. package/dist/unocss/index.d.ts +3 -5
  17. package/dist/unocss/index.js +4 -0
  18. package/dist/unocss-Be8qA77X.js +92 -0
  19. package/package.json +25 -25
  20. package/src/eslint/config/ignores.ts +10 -0
  21. package/src/eslint/config/stylistic.ts +21 -0
  22. package/src/eslint/config/vue.ts +54 -0
  23. package/src/eslint/factory.ts +20 -0
  24. package/src/eslint/globs.ts +86 -0
  25. package/src/eslint/index.ts +3 -0
  26. package/src/index.ts +4 -0
  27. package/src/stylelint.ts +134 -0
  28. package/src/themes/index.ts +3 -0
  29. package/src/themes/system/dark/dark.ts +47 -0
  30. package/src/themes/system/dark/dracula.ts +47 -0
  31. package/src/themes/system/dark/luxury.ts +47 -0
  32. package/src/themes/system/dark/night.ts +47 -0
  33. package/src/themes/system/dark/stone.ts +47 -0
  34. package/src/themes/system/dark/synthwave.ts +47 -0
  35. package/src/themes/system/light/barbie.ts +47 -0
  36. package/src/themes/system/light/classic.ts +47 -0
  37. package/src/themes/system/light/cyberpunk.ts +47 -0
  38. package/src/themes/system/light/light.ts +47 -0
  39. package/src/themes/system/light/naive.ts +47 -0
  40. package/src/themes/system/light/winter.ts +47 -0
  41. package/src/themes/theme.ts +18 -0
  42. package/src/themes/unocss-utils.ts +52 -0
  43. package/src/themes/utils.ts +81 -0
  44. package/src/unocss/index.ts +61 -0
  45. package/src/unocss/presetThemes.ts +57 -0
  46. package/dist/eslint/index.d.mts +0 -6
  47. package/dist/eslint/index.mjs +0 -6
  48. package/dist/index.d.mts +0 -6
  49. package/dist/index.mjs +0 -7
  50. package/dist/shared/config.CSqBb4YU.d.mts +0 -5
  51. package/dist/shared/config.CSqBb4YU.d.ts +0 -5
  52. package/dist/shared/config.DPEra-Xx.mjs +0 -141
  53. package/dist/stylelint.d.mts +0 -106
  54. package/dist/stylelint.mjs +0 -137
  55. package/dist/themes/index.mjs +0 -626
  56. package/dist/unocss/index.d.mts +0 -5
  57. package/dist/unocss/index.mjs +0 -99
package/package.json CHANGED
@@ -1,60 +1,60 @@
1
1
  {
2
2
  "name": "@pubinfo/config",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.9",
4
+ "version": "2.0.0-rc.1",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",
8
- "default": "./dist/index.mjs"
8
+ "default": "./dist/index.js"
9
9
  },
10
10
  "./eslint": {
11
11
  "types": "./dist/eslint/index.d.ts",
12
- "default": "./dist/eslint/index.mjs"
12
+ "default": "./dist/eslint/index.js"
13
13
  },
14
14
  "./themes": {
15
15
  "types": "./dist/themes/index.d.ts",
16
- "default": "./dist/themes/index.mjs"
16
+ "default": "./dist/themes/index.js"
17
17
  },
18
18
  "./stylelint": {
19
19
  "types": "./dist/stylelint.d.ts",
20
- "default": "./dist/stylelint.mjs"
20
+ "default": "./dist/stylelint.js"
21
21
  },
22
22
  "./unocss": {
23
23
  "types": "./dist/unocss/index.d.ts",
24
- "default": "./dist/unocss/index.mjs"
24
+ "default": "./dist/unocss/index.js"
25
25
  }
26
26
  },
27
- "main": "./dist/index.mjs",
28
- "module": "./dist/index.mjs",
27
+ "main": "./dist/index.js",
28
+ "module": "./dist/index.js",
29
29
  "types": "./dist/index.d.ts",
30
30
  "files": [
31
- "dist"
31
+ "dist",
32
+ "src"
32
33
  ],
33
34
  "peerDependencies": {
34
- "eslint": "^9.21.0",
35
- "stylelint": "^16.15.0",
36
- "unocss": "^65.5.0"
35
+ "eslint": "^9.30.1",
36
+ "stylelint": "^16.21.0",
37
+ "unocss": ">=65.5.0"
37
38
  },
38
39
  "dependencies": {
39
- "@antfu/eslint-config": "^3.16.0",
40
- "@stylistic/stylelint-plugin": "^2.1.3",
41
- "@unocss/core": "^65.5.0",
40
+ "@antfu/eslint-config": "^4.16.2",
41
+ "@stylistic/stylelint-plugin": "^3.1.3",
42
+ "@unocss/core": "65.5.0",
42
43
  "postcss-html": "^1.8.0",
43
- "postcss-preset-env": "^10.1.5",
44
- "stylelint-config-recess-order": "^5.1.1",
44
+ "postcss-preset-env": "^10.2.4",
45
+ "stylelint-config-recess-order": "^7.1.0",
45
46
  "stylelint-config-standard-less": "^3.0.1",
46
- "stylelint-config-standard-scss": "^13.1.0",
47
+ "stylelint-config-standard-scss": "^15.0.1",
47
48
  "stylelint-config-standard-vue": "^1.0.0",
48
- "stylelint-scss": "^6.11.1"
49
+ "stylelint-scss": "^6.12.1"
49
50
  },
50
51
  "devDependencies": {
51
- "eslint": "^9.21.0",
52
- "stylelint": "^16.15.0",
53
- "unbuild": "^3.5.0",
54
- "unocss": "^65.5.0"
52
+ "eslint": "^9.30.1",
53
+ "stylelint": "^16.21.0",
54
+ "unocss": "65.5.0"
55
55
  },
56
56
  "scripts": {
57
- "stub": "unbuild --stub",
58
- "build": "unbuild"
57
+ "dev": "tsdown --watch",
58
+ "build": "tsdown"
59
59
  }
60
60
  }
@@ -0,0 +1,10 @@
1
+ import type { TypedFlatConfigItem } from '@antfu/eslint-config';
2
+ import { GLOB_EXCLUDE } from '../globs';
3
+
4
+ export async function ignores(): Promise<TypedFlatConfigItem[]> {
5
+ return [
6
+ {
7
+ ignores: GLOB_EXCLUDE,
8
+ },
9
+ ];
10
+ }
@@ -0,0 +1,21 @@
1
+ import type { TypedFlatConfigItem } from '@antfu/eslint-config';
2
+
3
+ export async function stylistic(): Promise<TypedFlatConfigItem[]> {
4
+ return [
5
+ {
6
+ rules: {
7
+ 'eslint-comments/no-unlimited-disable': 'off',
8
+ 'curly': ['error', 'all'],
9
+ 'antfu/consistent-list-newline': 'off',
10
+ 'regexp/no-unused-capturing-group': 'off',
11
+ 'unused-imports/no-unused-vars': 'off',
12
+ 'unicorn/consistent-function-scoping': 'off',
13
+ },
14
+ },
15
+ {
16
+ rules: {
17
+ 'style/semi': ['error', 'always'],
18
+ },
19
+ },
20
+ ];
21
+ }
@@ -0,0 +1,54 @@
1
+ import type { TypedFlatConfigItem } from '@antfu/eslint-config';
2
+
3
+ export async function vue(): Promise<TypedFlatConfigItem[]> {
4
+ return [
5
+ {
6
+ files: [
7
+ '**/*.vue',
8
+ ],
9
+ rules: {
10
+ 'vue/block-order': ['error', {
11
+ order: [
12
+ 'route',
13
+ 'i18n',
14
+ 'script',
15
+ 'template',
16
+ 'style',
17
+ ],
18
+ }],
19
+ 'vue/component-api-style': ['error',
20
+ ['script-setup', 'composition'],
21
+ ],
22
+ 'vue/match-component-import-name': ['error'],
23
+ 'vue/new-line-between-multi-line-property': ['error'],
24
+ 'vue/no-empty-component-block': ['error'],
25
+ 'vue/no-potential-component-option-typo': ['error', {
26
+ presets: ['all'],
27
+ }],
28
+ 'vue/prefer-define-options': ['error'],
29
+ 'vue/valid-define-options': ['error'],
30
+ 'vue/require-macro-variable-name': ['error', {
31
+ defineProps: 'props',
32
+ defineEmits: 'emit',
33
+ defineSlots: 'slots',
34
+ useSlots: 'slots',
35
+ useAttrs: 'attrs',
36
+ }],
37
+ 'vue/no-unused-emit-declarations': ['error'],
38
+ 'vue/attribute-hyphenation': [
39
+ 'warn',
40
+ 'always',
41
+ {},
42
+ ],
43
+ },
44
+ },
45
+ {
46
+ files: [
47
+ '**/views/**/*.vue',
48
+ ],
49
+ rules: {
50
+ 'vue/no-multiple-template-root': ['error'],
51
+ },
52
+ },
53
+ ];
54
+ }
@@ -0,0 +1,20 @@
1
+ import type { TypedFlatConfigItem } from '@antfu/eslint-config';
2
+
3
+ import antfu from '@antfu/eslint-config';
4
+ import { ignores } from './config/ignores';
5
+ import { stylistic } from './config/stylistic';
6
+ import { vue } from './config/vue';
7
+
8
+ export async function pubinfo(
9
+ ...userConfigs: Parameters<typeof antfu>[1][]
10
+ ): Promise<TypedFlatConfigItem[]> {
11
+ return antfu(
12
+ {
13
+ unocss: false,
14
+ },
15
+ vue(),
16
+ stylistic(),
17
+ ignores(),
18
+ ...userConfigs,
19
+ );
20
+ }
@@ -0,0 +1,86 @@
1
+ export const GLOB_SRC_EXT = '?([cm])[jt]s?(x)';
2
+ export const GLOB_SRC = '**/*.?([cm])[jt]s?(x)';
3
+
4
+ export const GLOB_JS = '**/*.?([cm])js';
5
+ export const GLOB_JSX = '**/*.?([cm])jsx';
6
+
7
+ export const GLOB_TS = '**/*.?([cm])ts';
8
+ export const GLOB_TSX = '**/*.?([cm])tsx';
9
+
10
+ export const GLOB_STYLE = '**/*.{c,le,sc}ss';
11
+ export const GLOB_CSS = '**/*.css';
12
+ export const GLOB_POSTCSS = '**/*.{p,post}css';
13
+ export const GLOB_LESS = '**/*.less';
14
+ export const GLOB_SCSS = '**/*.scss';
15
+
16
+ export const GLOB_JSON = '**/*.json';
17
+ export const GLOB_JSON5 = '**/*.json5';
18
+ export const GLOB_JSONC = '**/*.jsonc';
19
+
20
+ export const GLOB_MARKDOWN = '**/*.md';
21
+ export const GLOB_MARKDOWN_IN_MARKDOWN = '**/*.md/*.md';
22
+ export const GLOB_SVELTE = '**/*.svelte';
23
+ export const GLOB_VUE = '**/*.vue';
24
+ export const GLOB_YAML = '**/*.y?(a)ml';
25
+ export const GLOB_TOML = '**/*.toml';
26
+ export const GLOB_HTML = '**/*.htm?(l)';
27
+
28
+ export const GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;
29
+
30
+ export const GLOB_TESTS = [
31
+ `**/__tests__/**/*.${GLOB_SRC_EXT}`,
32
+ `**/*.spec.${GLOB_SRC_EXT}`,
33
+ `**/*.test.${GLOB_SRC_EXT}`,
34
+ `**/*.bench.${GLOB_SRC_EXT}`,
35
+ `**/*.benchmark.${GLOB_SRC_EXT}`,
36
+ ];
37
+
38
+ export const GLOB_ALL_SRC = [
39
+ GLOB_SRC,
40
+ GLOB_STYLE,
41
+ GLOB_JSON,
42
+ GLOB_JSON5,
43
+ GLOB_MARKDOWN,
44
+ GLOB_SVELTE,
45
+ GLOB_VUE,
46
+ GLOB_YAML,
47
+ GLOB_HTML,
48
+ ];
49
+
50
+ export const GLOB_EXCLUDE = [
51
+ '**/node_modules',
52
+ '**/dist',
53
+ '**/package-lock.json',
54
+ '**/yarn.lock',
55
+ '**/pnpm-lock.yaml',
56
+ '**/bun.lockb',
57
+
58
+ '**/output',
59
+ '**/coverage',
60
+ '**/temp',
61
+ '**/.temp',
62
+ '**/tmp',
63
+ '**/.tmp',
64
+ '**/.history',
65
+ '**/.vitepress/cache',
66
+ '**/.nuxt',
67
+ '**/.next',
68
+ '**/.vercel',
69
+ '**/.changeset',
70
+ '**/.idea',
71
+ '**/.cache',
72
+ '**/.output',
73
+ '**/.vite-inspect',
74
+ '**/es',
75
+ '**/lib',
76
+
77
+ '**/CHANGELOG*.md',
78
+ '**/*.min.*',
79
+ '**/LICENSE*',
80
+ '**/__snapshots__',
81
+ '**/auto-import?(s).d.ts',
82
+ '**/components.d.ts',
83
+ '**/*.cjs',
84
+ '**/*.mjs',
85
+ '**/assets/**/*.json',
86
+ ];
@@ -0,0 +1,3 @@
1
+ import { pubinfo } from './factory';
2
+
3
+ export default pubinfo;
package/src/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ export { default as eslint } from './eslint';
2
+ export { default as stylelint } from './stylelint';
3
+ export * from './themes';
4
+ export { default as presetPubinfo } from './unocss';
@@ -0,0 +1,134 @@
1
+ export default {
2
+ extends: [
3
+ 'stylelint-config-recess-order',
4
+ ],
5
+ plugins: [
6
+ 'stylelint-scss',
7
+ '@stylistic/stylelint-plugin',
8
+ ],
9
+ overrides: [
10
+ {
11
+ files: ['**/*.(css|html|vue)'],
12
+ customSyntax: 'postcss-html',
13
+ },
14
+ {
15
+ files: ['*.less', '**/*.less'],
16
+ customSyntax: 'postcss-less',
17
+ extends: ['stylelint-config-standard-less', 'stylelint-config-standard-vue'],
18
+ },
19
+ {
20
+ files: ['*.scss', '**/*.scss'],
21
+ customSyntax: 'postcss-scss',
22
+ extends: ['stylelint-config-standard-scss', 'stylelint-config-standard-vue/scss'],
23
+ rule: {
24
+ 'scss/double-slash-comment-empty-line-before': null,
25
+ 'scss/no-global-function-names': null,
26
+ },
27
+ },
28
+ ],
29
+ rules: {
30
+ 'at-rule-no-unknown': null,
31
+ 'no-descending-specificity': null,
32
+ 'property-no-unknown': null,
33
+ 'font-family-no-missing-generic-family-keyword': null,
34
+ 'selector-class-pattern': null,
35
+ 'function-no-unknown': [
36
+ true,
37
+ {
38
+ ignoreFunctions: [
39
+ 'v-bind',
40
+ 'map-get',
41
+ 'lighten',
42
+ 'darken',
43
+ ],
44
+ },
45
+ ],
46
+ 'selector-pseudo-element-no-unknown': [
47
+ true,
48
+ {
49
+ ignorePseudoElements: [
50
+ '/^view-transition/',
51
+ ],
52
+ },
53
+ ],
54
+ // 提取自 https://github.com/elirasza/stylelint-stylistic/blob/main/config/index.js
55
+ '@stylistic/at-rule-name-case': 'lower',
56
+ '@stylistic/at-rule-name-space-after': 'always-single-line',
57
+ '@stylistic/at-rule-semicolon-newline-after': 'always',
58
+ '@stylistic/block-closing-brace-empty-line-before': 'never',
59
+ '@stylistic/block-closing-brace-newline-before': 'always-multi-line',
60
+ '@stylistic/block-closing-brace-space-before': 'always-single-line',
61
+ '@stylistic/block-opening-brace-newline-after': 'always-multi-line',
62
+ '@stylistic/block-opening-brace-space-after': 'always-single-line',
63
+ '@stylistic/block-opening-brace-space-before': 'always',
64
+ '@stylistic/color-hex-case': 'lower',
65
+ '@stylistic/declaration-bang-space-after': 'never',
66
+ '@stylistic/declaration-bang-space-before': 'always',
67
+ '@stylistic/declaration-block-semicolon-newline-after': 'always-multi-line',
68
+ '@stylistic/declaration-block-semicolon-space-after': 'always-single-line',
69
+ '@stylistic/declaration-block-semicolon-space-before': 'never',
70
+ '@stylistic/declaration-block-trailing-semicolon': 'always',
71
+ '@stylistic/declaration-colon-newline-after': 'always-multi-line',
72
+ '@stylistic/declaration-colon-space-after': 'always-single-line',
73
+ '@stylistic/declaration-colon-space-before': 'never',
74
+ '@stylistic/function-comma-newline-after': 'always-multi-line',
75
+ '@stylistic/function-comma-space-after': 'always-single-line',
76
+ '@stylistic/function-comma-space-before': 'never',
77
+ '@stylistic/function-max-empty-lines': 0,
78
+ '@stylistic/function-parentheses-newline-inside': 'always-multi-line',
79
+ '@stylistic/function-parentheses-space-inside': 'never-single-line',
80
+ '@stylistic/function-whitespace-after': 'always',
81
+ '@stylistic/indentation': 2,
82
+ '@stylistic/max-empty-lines': 1,
83
+ '@stylistic/media-feature-colon-space-after': 'always',
84
+ '@stylistic/media-feature-colon-space-before': 'never',
85
+ '@stylistic/media-feature-name-case': 'lower',
86
+ '@stylistic/media-feature-parentheses-space-inside': 'never',
87
+ '@stylistic/media-feature-range-operator-space-after': 'always',
88
+ '@stylistic/media-feature-range-operator-space-before': 'always',
89
+ '@stylistic/media-query-list-comma-newline-after': 'always-multi-line',
90
+ '@stylistic/media-query-list-comma-space-after': 'always-single-line',
91
+ '@stylistic/media-query-list-comma-space-before': 'never',
92
+ '@stylistic/no-empty-first-line': true,
93
+ '@stylistic/no-eol-whitespace': true,
94
+ '@stylistic/no-extra-semicolons': true,
95
+ '@stylistic/no-missing-end-of-source-newline': true,
96
+ '@stylistic/number-leading-zero': 'always',
97
+ '@stylistic/number-no-trailing-zeros': true,
98
+ '@stylistic/property-case': 'lower',
99
+ '@stylistic/selector-attribute-brackets-space-inside': 'never',
100
+ '@stylistic/selector-attribute-operator-space-after': 'never',
101
+ '@stylistic/selector-attribute-operator-space-before': 'never',
102
+ '@stylistic/selector-combinator-space-after': 'always',
103
+ '@stylistic/selector-combinator-space-before': 'always',
104
+ '@stylistic/selector-descendant-combinator-no-non-space': true,
105
+ '@stylistic/selector-list-comma-newline-after': 'always',
106
+ '@stylistic/selector-list-comma-space-before': 'never',
107
+ '@stylistic/selector-max-empty-lines': 0,
108
+ '@stylistic/selector-pseudo-class-case': 'lower',
109
+ '@stylistic/selector-pseudo-class-parentheses-space-inside': 'never',
110
+ '@stylistic/selector-pseudo-element-case': 'lower',
111
+ '@stylistic/string-quotes': 'double',
112
+ '@stylistic/unit-case': 'lower',
113
+ '@stylistic/value-list-comma-newline-after': 'always-multi-line',
114
+ '@stylistic/value-list-comma-space-after': 'always-single-line',
115
+ '@stylistic/value-list-comma-space-before': 'never',
116
+ '@stylistic/value-list-max-empty-lines': 0,
117
+ // 根据需要覆盖部分规则
118
+ '@stylistic/max-line-length': null,
119
+ '@stylistic/block-closing-brace-newline-after': [
120
+ 'always',
121
+ {
122
+ ignoreAtRules: ['if', 'else'],
123
+ },
124
+ ],
125
+ },
126
+ allowEmptyInput: true,
127
+ ignoreFiles: [
128
+ '**/node_modules/**/*',
129
+ '**/dist*/**/*',
130
+ '**/*.cjs',
131
+ '**/*.ejs',
132
+ '**/.pubinfo/**/*',
133
+ ],
134
+ };
@@ -0,0 +1,3 @@
1
+ import './theme';
2
+
3
+ export * from './utils';
@@ -0,0 +1,47 @@
1
+ import { defineTheme } from '../../utils';
2
+
3
+ export default defineTheme({
4
+ name: 'dark',
5
+ colors: {
6
+ 'label': '墨夜幽',
7
+ // 颜色主题
8
+ 'color-scheme': 'dark',
9
+ // 内置 UI
10
+ '--ui-primary': '#e5e5e5',
11
+ '--ui-text': '#0f0f0f',
12
+ // 主体
13
+ '--g-bg': '#0a0a0a',
14
+ '--g-container-bg': '#141414',
15
+ '--g-border-color': '#15191e',
16
+ // 头部
17
+ '--g-header-bg': '#141414',
18
+ '--g-header-color': '#e5e5e5',
19
+ '--g-header-menu-color': '#a8a29e',
20
+ '--g-header-menu-hover-bg': '#141414',
21
+ '--g-header-menu-hover-color': '#e5e5e5',
22
+ '--g-header-menu-active-bg': '#2d2c2c',
23
+ '--g-header-menu-active-color': '#ffffff',
24
+ // 主导航
25
+ '--g-main-sidebar-bg': '#101010',
26
+ '--g-main-sidebar-menu-color': '#a8a29e',
27
+ '--g-main-sidebar-menu-hover-bg': '#141414',
28
+ '--g-main-sidebar-menu-hover-color': '#e5e5e5',
29
+ '--g-main-sidebar-menu-active-bg': '#1D1D1D',
30
+ '--g-main-sidebar-menu-active-color': '#ffffff',
31
+ // 次导航
32
+ '--g-sub-sidebar-bg': '#202020',
33
+ '--g-sub-sidebar-logo-bg': '#0f0f0f',
34
+ '--g-sub-sidebar-logo-color': '#e5e5e5',
35
+ '--g-sub-sidebar-menu-color': '#a8a29e',
36
+ '--g-sub-sidebar-menu-hover-bg': '#0a0a0a',
37
+ '--g-sub-sidebar-menu-hover-color': '#e5e5e5',
38
+ '--g-sub-sidebar-menu-active-bg': '#0a0a0a',
39
+ '--g-sub-sidebar-menu-active-color': '#fff',
40
+ // 标签栏
41
+ '--g-tabbar-dividers-bg': '#a8a29e',
42
+ '--g-tabbar-tab-color': '#a8a29e',
43
+ '--g-tabbar-tab-hover-bg': '#1b1b1b',
44
+ '--g-tabbar-tab-hover-color': '#e5e5e5',
45
+ '--g-tabbar-tab-active-color': '#e5e5e5',
46
+ },
47
+ });
@@ -0,0 +1,47 @@
1
+ import { defineTheme } from '../../utils';
2
+
3
+ export default defineTheme({
4
+ name: 'dracula',
5
+ colors: {
6
+ 'label': '暗蓝秘',
7
+ // 颜色主题
8
+ 'color-scheme': 'dark',
9
+ // 内置 UI
10
+ '--ui-primary': '#a6adbb',
11
+ '--ui-text': '#242b33',
12
+ // 主体
13
+ '--g-bg': '#272935',
14
+ '--g-container-bg': '#1d232a',
15
+ '--g-border-color': '#191E24',
16
+ // 头部
17
+ '--g-header-bg': '#191E24',
18
+ '--g-header-color': '#f8f8f2',
19
+ '--g-header-menu-color': '#a6adbb',
20
+ '--g-header-menu-hover-color': '#f8f8f2',
21
+ '--g-header-menu-hover-bg': '#181920',
22
+ '--g-header-menu-active-color': '#f8f8f2',
23
+ '--g-header-menu-active-bg': '#414558',
24
+ // 主导航
25
+ '--g-main-sidebar-bg': '#191E24',
26
+ '--g-main-sidebar-menu-color': '#a6adbb',
27
+ '--g-main-sidebar-menu-hover-color': '#f8f8f2',
28
+ '--g-main-sidebar-menu-hover-bg': '#181920',
29
+ '--g-main-sidebar-menu-active-color': '#f8f8f2',
30
+ '--g-main-sidebar-menu-active-bg': '#414558',
31
+ // 次导航
32
+ '--g-sub-sidebar-bg': '#1d232a',
33
+ '--g-sub-sidebar-logo-color': '#1d232a',
34
+ '--g-sub-sidebar-logo-bg': '#a6adbb',
35
+ '--g-sub-sidebar-menu-color': '#a6adbb',
36
+ '--g-sub-sidebar-menu-hover-color': '#f8f8f2',
37
+ '--g-sub-sidebar-menu-hover-bg': '#181920',
38
+ '--g-sub-sidebar-menu-active-color': '#f8f8f2',
39
+ '--g-sub-sidebar-menu-active-bg': '#414558',
40
+ // 标签栏
41
+ '--g-tabbar-dividers-bg': '#a6adbb',
42
+ '--g-tabbar-tab-color': '#a6adbb',
43
+ '--g-tabbar-tab-hover-color': '#f8f8f2',
44
+ '--g-tabbar-tab-hover-bg': '#242b33',
45
+ '--g-tabbar-tab-active-color': '#f8f8f2',
46
+ },
47
+ });
@@ -0,0 +1,47 @@
1
+ import { defineTheme } from '../../utils';
2
+
3
+ export default defineTheme({
4
+ name: 'luxury',
5
+ colors: {
6
+ 'label': '金华丽',
7
+ // 颜色主题
8
+ 'color-scheme': 'dark',
9
+ // 内置 UI
10
+ '--ui-primary': '#dca54c',
11
+ '--ui-text': '#242b33',
12
+ // 主体
13
+ '--g-bg': '#09090b',
14
+ '--g-container-bg': '#171618',
15
+ '--g-border-color': '#191E24',
16
+ // 头部
17
+ '--g-header-bg': '#09090b',
18
+ '--g-header-color': '#dca54c',
19
+ '--g-header-menu-color': '#dca54c',
20
+ '--g-header-menu-hover-color': '#dca54c',
21
+ '--g-header-menu-hover-bg': '#331800',
22
+ '--g-header-menu-active-color': '#ffe7a3',
23
+ '--g-header-menu-active-bg': '#331800',
24
+ // 主导航
25
+ '--g-main-sidebar-bg': '#09090b',
26
+ '--g-main-sidebar-menu-color': '#dca54c',
27
+ '--g-main-sidebar-menu-hover-color': '#dca54c',
28
+ '--g-main-sidebar-menu-hover-bg': '#331800',
29
+ '--g-main-sidebar-menu-active-color': '#ffe7a3',
30
+ '--g-main-sidebar-menu-active-bg': '#331800',
31
+ // 次导航
32
+ '--g-sub-sidebar-bg': '#171618',
33
+ '--g-sub-sidebar-logo-color': '#e3d664',
34
+ '--g-sub-sidebar-logo-bg': '#09090b',
35
+ '--g-sub-sidebar-menu-color': '#dca54c',
36
+ '--g-sub-sidebar-menu-hover-color': '#dca54c',
37
+ '--g-sub-sidebar-menu-hover-bg': '#331800',
38
+ '--g-sub-sidebar-menu-active-color': '#ffe7a3',
39
+ '--g-sub-sidebar-menu-active-bg': '#331800',
40
+ // 标签栏
41
+ '--g-tabbar-dividers-bg': '#a6adbb',
42
+ '--g-tabbar-tab-color': '#a6adbb',
43
+ '--g-tabbar-tab-hover-color': '#c8cad0',
44
+ '--g-tabbar-tab-hover-bg': '#242b33',
45
+ '--g-tabbar-tab-active-color': '#c8cad0',
46
+ },
47
+ });
@@ -0,0 +1,47 @@
1
+ import { defineTheme } from '../../utils';
2
+
3
+ export default defineTheme({
4
+ name: 'night',
5
+ colors: {
6
+ 'label': '夜蓝梦',
7
+ // 颜色主题
8
+ 'color-scheme': 'dark',
9
+ // 内置 UI
10
+ '--ui-primary': '#0ca6e9',
11
+ '--ui-text': '#242b33',
12
+ // 主体
13
+ '--g-bg': '#0f1729',
14
+ '--g-container-bg': '#1d283a',
15
+ '--g-border-color': '#191E24',
16
+ // 头部
17
+ '--g-header-bg': '#0f1729',
18
+ '--g-header-color': '#c8cad0',
19
+ '--g-header-menu-color': '#a6adbb',
20
+ '--g-header-menu-hover-color': '#c8cad0',
21
+ '--g-header-menu-hover-bg': '#1d283a',
22
+ '--g-header-menu-active-color': '#c8cad0',
23
+ '--g-header-menu-active-bg': '#1d283a',
24
+ // 主导航
25
+ '--g-main-sidebar-bg': '#0f1729',
26
+ '--g-main-sidebar-menu-color': '#a6adbb',
27
+ '--g-main-sidebar-menu-hover-color': '#c8cad0',
28
+ '--g-main-sidebar-menu-hover-bg': '#1d283a',
29
+ '--g-main-sidebar-menu-active-color': '#c8cad0',
30
+ '--g-main-sidebar-menu-active-bg': '#1d283a',
31
+ // 次导航
32
+ '--g-sub-sidebar-bg': '#1d283a',
33
+ '--g-sub-sidebar-logo-color': '#1d232a',
34
+ '--g-sub-sidebar-logo-bg': '#a6adbb',
35
+ '--g-sub-sidebar-menu-color': '#a6adbb',
36
+ '--g-sub-sidebar-menu-hover-color': '#c8cad0',
37
+ '--g-sub-sidebar-menu-hover-bg': '#273449',
38
+ '--g-sub-sidebar-menu-active-color': '#c8cad0',
39
+ '--g-sub-sidebar-menu-active-bg': '#0f1729',
40
+ // 标签栏
41
+ '--g-tabbar-dividers-bg': '#a6adbb',
42
+ '--g-tabbar-tab-color': '#a6adbb',
43
+ '--g-tabbar-tab-hover-color': '#c8cad0',
44
+ '--g-tabbar-tab-hover-bg': '#242b33',
45
+ '--g-tabbar-tab-active-color': '#c8cad0',
46
+ },
47
+ });