@incremark/theme 0.4.0-alpha.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ var colorGreen = generateColorSystem("#10b981");
7
7
  var colorRed = generateColorSystem("#ef4444");
8
8
  var colorOrange = generateColorSystem("#f97316");
9
9
  var colorCyan = generateColorSystem("#06b6d4");
10
+ var colorTeal = generateColorSystem("#0D9488");
10
11
  var colorIndigo = generateColorSystem("#5776ff");
11
12
  var neutralSeries = {
12
13
  1: "#ffffff",
@@ -33,6 +34,7 @@ var defaultTheme = {
33
34
  // ============ 基础色系统 ============
34
35
  baseColors: {
35
36
  blue: colorBlue,
37
+ teal: colorTeal,
36
38
  purple: colorPurple,
37
39
  green: colorGreen,
38
40
  red: colorRed,
@@ -56,6 +58,16 @@ var defaultTheme = {
56
58
  },
57
59
  // ============ 品牌主题色(引用 indigo)============
58
60
  brand: {
61
+ 1: colorIndigo[1],
62
+ 2: colorIndigo[2],
63
+ 3: colorIndigo[3],
64
+ 4: colorIndigo[4],
65
+ 5: colorIndigo[5],
66
+ 6: colorIndigo[6],
67
+ 7: colorIndigo[7],
68
+ 8: colorIndigo[8],
69
+ 9: colorIndigo[9],
70
+ 10: colorIndigo[10],
59
71
  primary: colorIndigo.primary,
60
72
  // indigo[6]
61
73
  primaryHover: colorIndigo.hover,
@@ -97,12 +109,12 @@ var defaultTheme = {
97
109
  // neutral-3 - 行内代码浅色背景
98
110
  inlineText: neutralSeries[8],
99
111
  // neutral-8 - 行内代码深色文本
100
- blockBackground: neutralSeries[9],
101
- // neutral-9 - 代码块深色背景
102
- blockText: neutralSeries[2],
103
- // neutral-2 - 代码块浅色文本
104
- headerBackground: neutralSeries[10]
105
- // neutral-10 - 代码块头部更深背景
112
+ blockBackground: neutralSeries[2],
113
+ // neutral-2 - 代码块浅色背景(配合 github-light Shiki 主题)
114
+ blockText: neutralSeries[9],
115
+ // neutral-9 - 代码块深色文本
116
+ headerBackground: neutralSeries[3]
117
+ // neutral-3 - 代码块头部稍深背景
106
118
  // border 使用通用的 border.strong,不单独定义
107
119
  },
108
120
  status: {
@@ -231,6 +243,7 @@ var darkTheme = {
231
243
  // ============ 基础色系统 ============
232
244
  baseColors: {
233
245
  blue: defaultTheme.baseColors.blue,
246
+ teal: defaultTheme.baseColors.teal,
234
247
  indigo: darkColorIndigo,
235
248
  purple: darkColorPurple,
236
249
  green: darkColorGreen,
@@ -255,14 +268,24 @@ var darkTheme = {
255
268
  },
256
269
  // ============ 品牌主题色(暗色模式引用 indigo)============
257
270
  brand: {
271
+ 1: darkColorIndigo[1],
272
+ 2: darkColorIndigo[2],
273
+ 3: darkColorIndigo[3],
274
+ 4: darkColorIndigo[4],
275
+ 5: darkColorIndigo[5],
276
+ 6: darkColorIndigo[6],
277
+ 7: darkColorIndigo[7],
278
+ 8: darkColorIndigo[8],
279
+ 9: darkColorIndigo[9],
280
+ 10: darkColorIndigo[10],
258
281
  primary: darkColorIndigo.primary,
259
282
  // indigo[6]
260
283
  primaryHover: darkColorIndigo.hover,
261
284
  // indigo[7]
262
285
  primaryActive: darkColorIndigo.active,
263
286
  // indigo[8]
264
- primaryLight: darkColorIndigo.light
265
- // indigo[2]
287
+ primaryLight: darkColorIndigo[9]
288
+ // 暗色模式用深色调
266
289
  },
267
290
  // ============ 语义化颜色 ============
268
291
  text: {
@@ -337,6 +360,16 @@ function createTheme(brandColor) {
337
360
  color: {
338
361
  ...defaultTheme.color,
339
362
  brand: {
363
+ 1: colorSystem[1],
364
+ 2: colorSystem[2],
365
+ 3: colorSystem[3],
366
+ 4: colorSystem[4],
367
+ 5: colorSystem[5],
368
+ 6: colorSystem[6],
369
+ 7: colorSystem[7],
370
+ 8: colorSystem[8],
371
+ 9: colorSystem[9],
372
+ 10: colorSystem[10],
340
373
  primary: colorSystem.primary,
341
374
  primaryHover: colorSystem.hover,
342
375
  primaryActive: colorSystem.active,
@@ -358,10 +391,20 @@ function createDarkTheme(brandColor) {
358
391
  color: {
359
392
  ...darkTheme.color,
360
393
  brand: {
394
+ 1: defaultDarkColor[1],
395
+ 2: defaultDarkColor[2],
396
+ 3: defaultDarkColor[3],
397
+ 4: defaultDarkColor[4],
398
+ 5: defaultDarkColor[5],
399
+ 6: defaultDarkColor[6],
400
+ 7: defaultDarkColor[7],
401
+ 8: defaultDarkColor[8],
402
+ 9: defaultDarkColor[9],
403
+ 10: defaultDarkColor[10],
361
404
  primary: defaultDarkColor.primary,
362
405
  primaryHover: defaultDarkColor.hover,
363
406
  primaryActive: defaultDarkColor.active,
364
- primaryLight: defaultDarkColor.light
407
+ primaryLight: defaultDarkColor[9]
365
408
  },
366
409
  interactive: {
367
410
  ...darkTheme.color.interactive,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/themes/default.ts","../src/themes/dark.ts","../src/themes/index.ts","../src/utils/generate-css-vars.ts","../src/utils/merge-theme.ts","../src/utils/apply-theme.ts"],"names":["generateColorSystem"],"mappings":";;;AAQA,IAAM,SAAA,GAAY,oBAAoB,SAAS,CAAA;AAC/C,IAAM,WAAA,GAAc,oBAAoB,SAAS,CAAA;AACjD,IAAM,UAAA,GAAa,oBAAoB,SAAS,CAAA;AAChD,IAAM,QAAA,GAAW,oBAAoB,SAAS,CAAA;AAC9C,IAAM,WAAA,GAAc,oBAAoB,SAAS,CAAA;AACjD,IAAM,SAAA,GAAY,oBAAoB,SAAS,CAAA;AAC/C,IAAM,WAAA,GAAc,oBAAoB,SAAS,CAAA;AAGjD,IAAM,aAAA,GAAgB;AAAA,EACpB,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,EAAA,EAAI;AAAA;AACN,CAAA;AAEO,IAAM,YAAA,GAA6B;AAAA;AAAA,EAExC,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,UAAA;AAAA,IACP,GAAA,EAAK,QAAA;AAAA,IACL,MAAA,EAAQ,WAAA;AAAA,IACR,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,KAAA,EAAO;AAAA;AAAA,IAEL,OAAA,EAAS;AAAA,MACP,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,EAAA,EAAI,cAAc,EAAE;AAAA,KACtB;AAAA;AAAA,IAEA,KAAA,EAAO;AAAA,MACL,SAAS,WAAA,CAAY,OAAA;AAAA;AAAA,MACrB,cAAc,WAAA,CAAY,KAAA;AAAA;AAAA,MAC1B,eAAe,WAAA,CAAY,MAAA;AAAA;AAAA,MAC3B,cAAc,WAAA,CAAY;AAAA;AAAA,KAC5B;AAAA;AAAA,IAEA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,cAAc,CAAC,CAAA;AAAA;AAAA,MACxB,SAAA,EAAW,cAAc,CAAC,CAAA;AAAA;AAAA,MAC1B,QAAA,EAAU,cAAc,CAAC,CAAA;AAAA;AAAA,MACzB,OAAA,EAAS,cAAc,CAAC;AAAA;AAAA,KAC1B;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,cAAc,CAAC,CAAA;AAAA;AAAA,MACrB,QAAA,EAAU,cAAc,CAAC,CAAA;AAAA;AAAA,MACzB,OAAA,EAAS;AAAA;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,cAAc,CAAC,CAAA;AAAA;AAAA,MACxB,MAAA,EAAQ,cAAc,CAAC,CAAA;AAAA;AAAA,MACvB,MAAA,EAAQ,cAAc,CAAC;AAAA;AAAA,KACzB;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,gBAAA,EAAkB,cAAc,CAAC,CAAA;AAAA;AAAA,MACjC,UAAA,EAAY,cAAc,CAAC,CAAA;AAAA;AAAA,MAC3B,eAAA,EAAiB,cAAc,CAAC,CAAA;AAAA;AAAA,MAChC,SAAA,EAAW,cAAc,CAAC,CAAA;AAAA;AAAA,MAC1B,gBAAA,EAAkB,cAAc,EAAE;AAAA;AAAA;AAAA,KAEpC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,SAAS,WAAA,CAAY,OAAA;AAAA;AAAA,MACrB,WAAW,UAAA,CAAW;AAAA;AAAA,KACxB;AAAA;AAAA,IAEA,WAAA,EAAa;AAAA,MACX,MAAM,WAAA,CAAY,OAAA;AAAA;AAAA,MAClB,WAAW,WAAA,CAAY,KAAA;AAAA;AAAA,MACvB,aAAa,WAAA,CAAY,IAAA;AAAA;AAAA,MACzB,SAAS,UAAA,CAAW;AAAA;AAAA;AACtB,GACF;AAAA,EACA,UAAA,EAAY;AAAA,IACV,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,4FAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACR;AAAA,IACA,QAAA,EAAU;AAAA,MACR,EAAA,EAAI,MAAA;AAAA,MACJ,EAAA,EAAI,MAAA;AAAA,MACJ,IAAA,EAAM,MAAA;AAAA,MACN,EAAA,EAAI,MAAA;AAAA,MACJ,EAAA,EAAI,MAAA;AAAA,MACJ,OAAA,EAAS;AAAA,QACP,EAAA,EAAI,KAAA;AAAA,QACJ,EAAA,EAAI,OAAA;AAAA,QACJ,EAAA,EAAI,QAAA;AAAA,QACJ,EAAA,EAAI,KAAA;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,UAAA,EAAY;AAAA,MACV,MAAA,EAAQ,GAAA;AAAA,MACR,MAAA,EAAQ,GAAA;AAAA,MACR,QAAA,EAAU,GAAA;AAAA,MACV,IAAA,EAAM;AAAA,KACR;AAAA,IACA,UAAA,EAAY;AAAA,MACV,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,GAAA;AAAA,MACR,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ;AAAA,MACN,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,MAAA,EAAQ;AAAA;AAAA,IAEN,EAAA,EAAI,iCAAA;AAAA,IACJ,EAAA,EAAI,kCAAA;AAAA,IACJ,EAAA,EAAI,kCAAA;AAAA,IACJ,MAAA,EAAQ,+BAAA;AAAA;AAAA,IAER,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,iCAAA;AAAA,MACN,EAAA,EAAI,kCAAA;AAAA,MACJ,IAAA,EAAM,kCAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA;AAAA,IAEA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,kCAAA;AAAA,MACN,EAAA,EAAI,mCAAA;AAAA,MACJ,IAAA,EAAM,mCAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA;AAAA,IAEA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,kCAAA;AAAA,MACN,EAAA,EAAI,mCAAA;AAAA,MACJ,IAAA,EAAM,mCAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA;AAAA,IAEA,SAAA,EAAW;AAAA,GACb;AAAA,EACA,SAAA,EAAW;AAAA,IACT,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,OAAA;AAAA,MACN,MAAA,EAAQ,OAAA;AAAA,MACR,IAAA,EAAM;AAAA,KACR;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,SAAA,EAAW,8BAAA;AAAA,MACX,OAAA,EAAS;AAAA;AACX;AAEJ;ACjLA,IAAM,eAAA,GAAkBA,oBAAoB,SAAS,CAAA;AACrD,IAAM,eAAA,GAAkBA,oBAAoB,SAAS,CAAA;AACrD,IAAM,cAAA,GAAiBA,oBAAoB,SAAS,CAAA;AAGpD,IAAM,iBAAA,GAAoB;AAAA,EACxB,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,EAAA,EAAI;AACN,CAAA;AAEO,IAAM,SAAA,GAA0B;AAAA,EACrC,GAAG,YAAA;AAAA;AAAA,EAEH,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,aAAa,UAAA,CAAW,IAAA;AAAA,IAC9B,MAAA,EAAQ,eAAA;AAAA,IACR,MAAA,EAAQ,eAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA;AAAA,IAEP,GAAA,EAAK,aAAa,UAAA,CAAW,GAAA;AAAA,IAC7B,MAAA,EAAQ,aAAa,UAAA,CAAW,MAAA;AAAA,IAChC,IAAA,EAAM,aAAa,UAAA,CAAW;AAAA,GAChC;AAAA,EACA,KAAA,EAAO;AAAA;AAAA,IAEL,OAAA,EAAS;AAAA,MACP,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,EAAA,EAAI,kBAAkB,EAAE;AAAA,KAC1B;AAAA;AAAA,IAEA,KAAA,EAAO;AAAA,MACL,SAAS,eAAA,CAAgB,OAAA;AAAA;AAAA,MACzB,cAAc,eAAA,CAAgB,KAAA;AAAA;AAAA,MAC9B,eAAe,eAAA,CAAgB,MAAA;AAAA;AAAA,MAC/B,cAAc,eAAA,CAAgB;AAAA;AAAA,KAChC;AAAA;AAAA,IAEA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC5B,SAAA,EAAW,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC9B,QAAA,EAAU,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC7B,OAAA,EAAS,kBAAkB,CAAC;AAAA;AAAA,KAC9B;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,kBAAkB,CAAC,CAAA;AAAA;AAAA,MACzB,QAAA,EAAU,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC7B,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,MAAA,EAAQ,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC3B,OAAA,EAAS,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC5B,MAAA,EAAQ,kBAAkB,CAAC;AAAA;AAAA,KAC7B;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,gBAAA,EAAkB,kBAAkB,CAAC,CAAA;AAAA;AAAA,MACrC,UAAA,EAAY,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC/B,eAAA,EAAiB,kBAAkB,CAAC,CAAA;AAAA;AAAA,MACpC,SAAA,EAAW,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC9B,gBAAA,EAAkB,kBAAkB,CAAC;AAAA;AAAA;AAAA,KAEvC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,SAAS,eAAA,CAAgB,OAAA;AAAA;AAAA,MACzB,WAAW,cAAA,CAAe;AAAA;AAAA,KAC5B;AAAA;AAAA,IAEA,WAAA,EAAa;AAAA,MACX,MAAM,eAAA,CAAgB,OAAA;AAAA;AAAA,MACtB,WAAW,eAAA,CAAgB,KAAA;AAAA;AAAA,MAC3B,aAAa,eAAA,CAAgB,OAAA;AAAA;AAAA,MAC7B,SAAS,cAAA,CAAe;AAAA;AAAA;AAC1B,GACF;AAAA;AAAA,EAEA,YAAY,YAAA,CAAa,UAAA;AAAA,EACzB,SAAS,YAAA,CAAa,OAAA;AAAA,EACtB,QAAQ,YAAA,CAAa,MAAA;AAAA,EACrB,QAAQ,YAAA,CAAa,MAAA;AAAA,EACrB,WAAW,YAAA,CAAa;AAC1B;;;AC5EO,SAAS,YAAY,UAAA,EAAmC;AAE7D,EAAA,MAAM,cAAc,UAAA,GAChBA,mBAAAA,CAAoB,UAAU,CAAA,GAC9B,aAAiB,UAAA,CAAW,MAAA;AAEhC,EAAA,OAAO;AAAA,IACL,GAAG,YAAA;AAAA,IACH,KAAA,EAAO;AAAA,MACL,GAAG,YAAA,CAAiB,KAAA;AAAA,MACpB,KAAA,EAAO;AAAA,QACL,SAAS,WAAA,CAAY,OAAA;AAAA,QACrB,cAAc,WAAA,CAAY,KAAA;AAAA,QAC1B,eAAe,WAAA,CAAY,MAAA;AAAA,QAC3B,cAAc,WAAA,CAAY;AAAA,OAC5B;AAAA;AAAA,MAEA,WAAA,EAAa;AAAA,QACX,GAAG,aAAiB,KAAA,CAAM,WAAA;AAAA,QAC1B,MAAM,WAAA,CAAY,OAAA;AAAA,QAClB,WAAW,WAAA,CAAY;AAAA;AACzB;AACF,GACF;AACF;AAQO,SAAS,gBAAgB,UAAA,EAAmC;AAEjE,EAAA,MAAM,mBAAmB,UAAA,GACrBA,mBAAAA,CAAoB,UAAU,CAAA,GAC9B,UAAc,UAAA,CAAW,MAAA;AAE7B,EAAA,OAAO;AAAA,IACL,GAAG,SAAA;AAAA,IACH,KAAA,EAAO;AAAA,MACL,GAAG,SAAA,CAAc,KAAA;AAAA,MACjB,KAAA,EAAO;AAAA,QACL,SAAS,gBAAA,CAAiB,OAAA;AAAA,QAC1B,cAAc,gBAAA,CAAiB,KAAA;AAAA,QAC/B,eAAe,gBAAA,CAAiB,MAAA;AAAA,QAChC,cAAc,gBAAA,CAAiB;AAAA,OACjC;AAAA,MACA,WAAA,EAAa;AAAA,QACX,GAAG,UAAc,KAAA,CAAM,WAAA;AAAA,QACvB,MAAM,gBAAA,CAAiB,OAAA;AAAA,QACvB,WAAW,gBAAA,CAAiB;AAAA;AAC9B;AACF,GACF;AACF;;;ACnEA,SAAS,eAAA,CACP,GAAA,EACA,MAAA,EACA,MAAA,GAAmB,EAAC,EACd;AACN,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,GAAG,CAAA,EAAG;AAC9C,IAAA,MAAM,UAAU,MAAA,GAAS,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,GAAK,GAAA;AAC9C,IAAA,MAAM,WAAW,OAAA,CAAQ,OAAA,CAAQ,UAAA,EAAY,KAAK,EAAE,WAAA,EAAY;AAEhE,IAAA,IAAI,OAAO,UAAU,QAAA,IAAY,KAAA,KAAU,QAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AAExE,MAAA,eAAA,CAAgB,KAAA,EAAO,UAAU,MAAM,CAAA;AAAA,IACzC,CAAA,MAAO;AAEL,MAAA,MAAA,CAAO,IAAA,CAAK,CAAA,IAAA,EAAO,QAAQ,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA,CAAG,CAAA;AAAA,IAC1C;AAAA,EACF;AACF;AAkBO,SAAS,eAAA,CACd,MAAA,EACA,OAAA,GAAkC,EAAC,EAC3B;AACR,EAAA,MAAM,EAAE,MAAA,GAAS,WAAA,EAAa,QAAA,GAAW,SAAQ,GAAI,OAAA;AAErD,EAAA,MAAM,OAAiB,EAAC;AACxB,EAAA,eAAA,CAAgB,MAAA,EAAQ,QAAQ,IAAI,CAAA;AAEpC,EAAA,IAAI,IAAA,CAAK,WAAW,CAAA,EAAG;AACrB,IAAA,OAAO,QAAA,GAAW,CAAA,EAAG,QAAQ,CAAA,GAAA,CAAA,GAAQ,EAAA;AAAA,EACvC;AAGA,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,OAAO,IAAA,CAAK,KAAK,IAAI,CAAA;AAAA,EACvB;AAEA,EAAA,OAAO,GAAG,QAAQ,CAAA;AAAA,EAAO,IAAA,CAAK,IAAA,CAAK,IAAI,CAAC;AAAA,CAAA,CAAA;AAC1C;;;AC7DA,SAAS,SAAA,CACP,QACA,MAAA,EACG;AACH,EAAA,MAAM,MAAA,GAAS,EAAE,GAAG,MAAA,EAAO;AAE3B,EAAA,KAAA,MAAW,OAAO,MAAA,EAAQ;AACxB,IAAA,IAAI,MAAA,CAAO,GAAG,CAAA,IAAK,OAAO,OAAO,GAAG,CAAA,KAAM,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,GAAG,CAAC,CAAA,EAAG;AAEjF,MAAA,MAAA,CAAO,GAAG,CAAA,GAAI,SAAA;AAAA,QACZ,MAAA,CAAO,GAAG,CAAA,IAAM,EAAC;AAAA,QACjB,OAAO,GAAG;AAAA,OACZ;AAAA,IACF,CAAA,MAAA,IAAW,MAAA,CAAO,GAAG,CAAA,KAAM,MAAA,EAAW;AAEpC,MAAA,MAAA,CAAO,GAAG,CAAA,GAAI,MAAA,CAAO,GAAG,CAAA;AAAA,IAC1B;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT;AAiBO,SAAS,UAAA,CACd,MACA,QAAA,EACc;AACd,EAAA,OAAO,SAAA,CAAU,MAAM,QAAQ,CAAA;AACjC;;;AChBO,SAAS,UAAA,CACd,OAAA,GAAkC,QAAA,EAClC,KAAA,EACM;AACN,EAAA,MAAM,MAAA,GAAsB,OAAA,KAAY,QAAA,GAAW,QAAA,CAAS,eAAA,GAAmB,OAAA;AAG/E,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,IAAA,IAAI,UAAU,MAAA,EAAQ;AAEpB,MAAA,MAAA,CAAO,SAAA,CAAU,IAAI,YAAY,CAAA;AACjC,MAAA,MAAA,CAAO,YAAA,CAAa,cAAc,MAAM,CAAA;AAAA,IAC1C,CAAA,MAAO;AAEL,MAAA,MAAA,CAAO,SAAA,CAAU,OAAO,YAAY,CAAA;AACpC,MAAA,MAAA,CAAO,gBAAgB,YAAY,CAAA;AAAA,IACrC;AACA,IAAA,MAAA,CAAO,MAAM,OAAA,GAAU,EAAA;AACvB,IAAA;AAAA,EACF;AAGA,EAAA,IAAI,UAAA;AAGJ,EAAA,MAAM,eAAA,GACJ,KAAA,CAAM,KAAA,EAAO,IAAA,EAAM,OAAA,KAAY,MAAA,IAC/B,KAAA,CAAM,UAAA,EAAY,UAAA,EAAY,IAAA,KAAS,MAAA,IACvC,KAAA,CAAM,SAAS,EAAA,KAAO,MAAA;AAExB,EAAA,IAAI,eAAA,EAAiB;AACnB,IAAA,UAAA,GAAa,KAAA;AAAA,EACf,CAAA,MAAO;AAEL,IAAA,UAAA,GAAa,UAAA,CAAW,cAAc,KAAK,CAAA;AAAA,EAC7C;AAGA,EAAA,MAAA,CAAO,SAAA,CAAU,OAAO,YAAY,CAAA;AACpC,EAAA,MAAA,CAAO,gBAAgB,YAAY,CAAA;AAGnC,EAAA,MAAM,OAAA,GAAU,gBAAgB,UAAA,EAAY;AAAA,IAC1C,MAAA,EAAQ,WAAA;AAAA,IACR,QAAA,EAAU;AAAA;AAAA,GACX,CAAA;AAED,EAAA,MAAA,CAAO,MAAM,OAAA,GAAU,OAAA;AACzB","file":"index.js","sourcesContent":["/**\n * 默认主题值定义\n */\n\nimport type { DesignTokens } from '../tokens'\nimport { generateColorSystem } from '@incremark/colors'\n\n// 生成完整的颜色系统(包含交互状态)\nconst colorBlue = generateColorSystem('#3b82f6')\nconst colorPurple = generateColorSystem('#a855f7')\nconst colorGreen = generateColorSystem('#10b981')\nconst colorRed = generateColorSystem('#ef4444')\nconst colorOrange = generateColorSystem('#f97316')\nconst colorCyan = generateColorSystem('#06b6d4')\nconst colorIndigo = generateColorSystem('#5776ff')\n\n// 中性色系列(调整后的颜色,增强对比度)\nconst neutralSeries = {\n 1: '#ffffff',\n 2: '#fafbfc', // 极浅背景\n 3: '#f3f4f6', // hover 背景(加深)\n 4: '#e5e7eb', // active/selected 背景(加深)\n 5: '#d1d5db', // 边框色(加深)\n 6: '#9ca3af', // 次要文字\n 7: '#6b7280', // 主要文字\n 8: '#374151', // 深色文字\n 9: '#1f2937', // 代码块背景\n 10: '#111827' // 最深色\n} as const;\n\nexport const defaultTheme: DesignTokens = {\n // ============ 基础色系统 ============\n baseColors: {\n blue: colorBlue,\n purple: colorPurple,\n green: colorGreen,\n red: colorRed,\n orange: colorOrange,\n cyan: colorCyan,\n indigo: colorIndigo\n },\n color: {\n // ============ Neutral 中性色系统 ============\n neutral: {\n 1: neutralSeries[1],\n 2: neutralSeries[2],\n 3: neutralSeries[3],\n 4: neutralSeries[4],\n 5: neutralSeries[5],\n 6: neutralSeries[6],\n 7: neutralSeries[7],\n 8: neutralSeries[8],\n 9: neutralSeries[9],\n 10: neutralSeries[10]\n },\n // ============ 品牌主题色(引用 indigo)============\n brand: {\n primary: colorIndigo.primary, // indigo[6]\n primaryHover: colorIndigo.hover, // indigo[7]\n primaryActive: colorIndigo.active, // indigo[8]\n primaryLight: colorIndigo.light // indigo[2]\n },\n // ============ 语义化颜色(基于 neutral) ============\n text: {\n primary: neutralSeries[8], // neutral-8\n secondary: neutralSeries[7], // neutral-7\n tertiary: neutralSeries[6], // neutral-6\n inverse: neutralSeries[1] // neutral-1\n },\n background: {\n base: neutralSeries[1], // neutral-1\n elevated: neutralSeries[2], // neutral-2\n overlay: 'rgba(1, 20, 49, 0.6)' // neutral-9 with alpha\n },\n border: {\n default: neutralSeries[4], // neutral-4 - 浅灰色边框\n subtle: neutralSeries[3], // neutral-3 - 极浅边框\n strong: neutralSeries[7] // neutral-7 - 深灰色边框\n },\n code: {\n inlineBackground: neutralSeries[3], // neutral-3 - 行内代码浅色背景\n inlineText: neutralSeries[8], // neutral-8 - 行内代码深色文本\n blockBackground: neutralSeries[9], // neutral-9 - 代码块深色背景\n blockText: neutralSeries[2], // neutral-2 - 代码块浅色文本\n headerBackground: neutralSeries[10] // neutral-10 - 代码块头部更深背景\n // border 使用通用的 border.strong,不单独定义\n },\n status: {\n pending: colorPurple.primary, // 使用紫色系主色\n completed: colorGreen.primary // 使用绿色系主色\n },\n // ============ 交互元素颜色 ============\n interactive: {\n link: colorIndigo.primary, // 使用 indigo 主色\n linkHover: colorIndigo.hover, // 使用 indigo hover\n linkVisited: colorPurple.dark, // 使用紫色系深色表示访问过\n checked: colorGreen.primary // 使用绿色系主色表示选中\n }\n },\n typography: {\n fontFamily: {\n base: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif\",\n mono: \"'Fira Code', 'SF Mono', 'Monaco', 'Consolas', monospace\"\n },\n fontSize: {\n xs: '12px',\n sm: '13px',\n base: '14px',\n md: '16px',\n lg: '18px',\n heading: {\n h1: '2em',\n h2: '1.5em',\n h3: '1.25em',\n h4: '1em',\n h5: '0.875em',\n h6: '0.85em'\n }\n },\n fontWeight: {\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n relaxed: 1.75\n }\n },\n spacing: {\n xs: '4px',\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '24px'\n },\n border: {\n radius: {\n sm: '4px',\n md: '8px',\n lg: '12px'\n }\n },\n shadow: {\n // 基础阴影(使用深蓝色基底,更有质感)\n sm: '0 2px 4px rgba(0, 19, 48, 0.06)',\n md: '0 2px 12px rgba(0, 19, 48, 0.08)',\n lg: '0 2px 16px rgba(0, 19, 48, 0.12)',\n center: '0 0 8px rgba(0, 19, 48, 0.08)',\n // 方向性阴影 - 一级(轻量)\n level1: {\n down: '0 2px 4px rgba(0, 19, 48, 0.06)',\n up: '0 -2px 4px rgba(0, 19, 48, 0.06)',\n left: '-2px 0 8px rgba(0, 19, 48, 0.06)',\n right: '2px 0 8px rgba(0, 19, 48, 0.06)'\n },\n // 方向性阴影 - 二级(中等)\n level2: {\n down: '0 2px 12px rgba(0, 19, 48, 0.08)',\n up: '0 -2px 12px rgba(0, 19, 48, 0.08)',\n left: '-2px 0 12px rgba(0, 19, 48, 0.08)',\n right: '2px 0 12px rgba(0, 19, 48, 0.08)'\n },\n // 方向性阴影 - 三级(强调)\n level3: {\n down: '0 2px 16px rgba(0, 19, 48, 0.12)',\n up: '0 -2px 16px rgba(0, 19, 48, 0.12)',\n left: '-2px 0 16px rgba(0, 19, 48, 0.12)',\n right: '2px 0 16px rgba(0, 19, 48, 0.12)'\n },\n // 品牌色卡片阴影\n brandCard: '0 2px 12px rgba(1, 69, 197, 0.12)'\n },\n animation: {\n duration: {\n fast: '150ms',\n normal: '200ms',\n slow: '300ms'\n },\n easing: {\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n easeOut: 'cubic-bezier(0, 0, 0.2, 1)'\n }\n }\n}\n","/**\n * 深色主题值定义\n */\n\nimport type { DesignTokens } from '../tokens'\nimport { defaultTheme } from './default'\nimport { generateColorSystem } from '@incremark/colors'\n\n// 生成暗色模式的颜色系统(稍微调亮)\nconst darkColorIndigo = generateColorSystem('#7D95FF')\nconst darkColorPurple = generateColorSystem('#c084fc')\nconst darkColorGreen = generateColorSystem('#34d399')\n\n// 暗色模式中性色系列(反转后的颜色,增强 1-2 对比度)\nconst darkNeutralSeries = {\n 1: '#0a1628',\n 2: '#162033',\n 3: '#273548',\n 4: '#546070',\n 5: '#8891a0',\n 6: '#cdd1da',\n 7: '#e2e5ec',\n 8: '#f1f3f8',\n 9: '#f8f9fc',\n 10: '#ffffff'\n} as const\n\nexport const darkTheme: DesignTokens = {\n ...defaultTheme,\n // ============ 基础色系统 ============\n baseColors: {\n blue: defaultTheme.baseColors.blue,\n indigo: darkColorIndigo,\n purple: darkColorPurple,\n green: darkColorGreen,\n // 其他颜色继承默认主题\n red: defaultTheme.baseColors.red,\n orange: defaultTheme.baseColors.orange,\n cyan: defaultTheme.baseColors.cyan\n },\n color: {\n // ============ Neutral 中性色系统(暗色模式反转) ============\n neutral: {\n 1: darkNeutralSeries[1],\n 2: darkNeutralSeries[2],\n 3: darkNeutralSeries[3],\n 4: darkNeutralSeries[4],\n 5: darkNeutralSeries[5],\n 6: darkNeutralSeries[6],\n 7: darkNeutralSeries[7],\n 8: darkNeutralSeries[8],\n 9: darkNeutralSeries[9],\n 10: darkNeutralSeries[10]\n },\n // ============ 品牌主题色(暗色模式引用 indigo)============\n brand: {\n primary: darkColorIndigo.primary, // indigo[6]\n primaryHover: darkColorIndigo.hover, // indigo[7]\n primaryActive: darkColorIndigo.active, // indigo[8]\n primaryLight: darkColorIndigo.light // indigo[2]\n },\n // ============ 语义化颜色 ============\n text: {\n primary: darkNeutralSeries[8], // neutral-8 (dark)\n secondary: darkNeutralSeries[7], // neutral-7 (dark)\n tertiary: darkNeutralSeries[6], // neutral-6 (dark)\n inverse: darkNeutralSeries[1] // neutral-1 (dark)\n },\n background: {\n base: darkNeutralSeries[1], // neutral-1 (dark)\n elevated: darkNeutralSeries[2], // neutral-2 (dark)\n overlay: 'rgba(0, 0, 0, 0.75)'\n },\n border: {\n subtle: darkNeutralSeries[3], // neutral-3 (dark) - 极浅边框\n default: darkNeutralSeries[4], // neutral-4 (dark) - 浅灰色边框\n strong: darkNeutralSeries[7] // neutral-7 (dark) - 深灰色边框\n },\n code: {\n inlineBackground: darkNeutralSeries[3], // neutral-3 (dark) - 行内代码适中暗色背景\n inlineText: darkNeutralSeries[8], // neutral-8 (dark) - 行内代码浅色文本\n blockBackground: darkNeutralSeries[3], // neutral-2 (dark) - 代码块深色背景\n blockText: darkNeutralSeries[9], // neutral-9 (dark) - 代码块极浅文本\n headerBackground: darkNeutralSeries[2] // neutral-2 (dark) - 代码块头部背景\n // border 使用通用的 border.strong,不单独定义\n },\n status: {\n pending: darkColorPurple.primary, // 使用暗色紫色系主色\n completed: darkColorGreen.primary // 使用暗色绿色系主色\n },\n // ============ 交互元素颜色 ============\n interactive: {\n link: darkColorIndigo.primary, // 使用暗色 indigo 主色\n linkHover: darkColorIndigo.hover, // 使用 hover 变体\n linkVisited: darkColorPurple.lighter, // 使用暗色紫色系浅色\n checked: darkColorGreen.primary // 使用暗色绿色系主色\n }\n },\n // 其他 Token 继承自 defaultTheme\n typography: defaultTheme.typography,\n spacing: defaultTheme.spacing,\n border: defaultTheme.border,\n shadow: defaultTheme.shadow,\n animation: defaultTheme.animation\n}\n","/**\n * 主题导出\n */\n\nimport type { DesignTokens } from '../tokens'\nimport { generateColorSystem } from '@incremark/colors'\nimport { defaultTheme as baseDefaultTheme } from './default'\nimport { darkTheme as baseDarkTheme } from './dark'\n\n/**\n * 创建自定义主题\n *\n * @param brandColor 品牌主色(hex 格式),如果不提供则使用默认的 indigo\n * @returns 自定义主题\n *\n * @example\n * ```typescript\n * // 使用默认主题(indigo)\n * import { defaultTheme } from '@incremark/theme'\n *\n * // 自定义品牌色\n * import { createTheme } from '@incremark/theme'\n * const purpleTheme = createTheme('#a855f7')\n *\n * // 运行时切换\n * const myTheme = createTheme(userSettings.brandColor)\n * ```\n */\nexport function createTheme(brandColor?: string): DesignTokens {\n // 如果没有提供颜色,使用默认的 indigo(从 defaultTheme 中获取)\n const colorSystem = brandColor\n ? generateColorSystem(brandColor)\n : baseDefaultTheme.baseColors.indigo\n\n return {\n ...baseDefaultTheme,\n color: {\n ...baseDefaultTheme.color,\n brand: {\n primary: colorSystem.primary,\n primaryHover: colorSystem.hover,\n primaryActive: colorSystem.active,\n primaryLight: colorSystem.light\n },\n // 同步更新 link 颜色\n interactive: {\n ...baseDefaultTheme.color.interactive,\n link: colorSystem.primary,\n linkHover: colorSystem.hover\n }\n }\n }\n}\n\n/**\n * 创建深色主题\n *\n * @param brandColor 品牌主色(hex 格式),如果不提供则使用默认的较亮 indigo\n * @returns 深色主题\n */\nexport function createDarkTheme(brandColor?: string): DesignTokens {\n // 深色模式默认使用较亮的品牌色\n const defaultDarkColor = brandColor\n ? generateColorSystem(brandColor)\n : baseDarkTheme.baseColors.indigo\n\n return {\n ...baseDarkTheme,\n color: {\n ...baseDarkTheme.color,\n brand: {\n primary: defaultDarkColor.primary,\n primaryHover: defaultDarkColor.hover,\n primaryActive: defaultDarkColor.active,\n primaryLight: defaultDarkColor.light\n },\n interactive: {\n ...baseDarkTheme.color.interactive,\n link: defaultDarkColor.primary,\n linkHover: defaultDarkColor.hover\n }\n }\n }\n}\n\n// 导出默认主题(indigo)\nexport { defaultTheme } from './default'\n\n// 导出深色主题(indigo)\nexport { darkTheme } from './dark'\n\n// 导出类型\nexport type { DesignTokens } from '../tokens'\n","/**\n * 从 Token 生成 CSS Variables\n */\n\nimport type { DesignTokens } from '../tokens'\n\nexport interface GenerateCSSVarsOptions {\n /** CSS Variables 前缀,默认 'incremark' */\n prefix?: string\n /** CSS 选择器,默认 ':root' */\n selector?: string\n}\n\n/**\n * 递归将对象转换为 CSS Variables\n */\nfunction objectToCSSVars(\n obj: Record<string, any>,\n prefix: string,\n result: string[] = []\n): void {\n for (const [key, value] of Object.entries(obj)) {\n const varName = prefix ? `${prefix}-${key}` : key\n const kebabKey = varName.replace(/([A-Z])/g, '-$1').toLowerCase()\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n // 递归处理嵌套对象\n objectToCSSVars(value, kebabKey, result)\n } else {\n // 叶子节点,生成 CSS Variable\n result.push(` --${kebabKey}: ${value};`)\n }\n }\n}\n\n/**\n * 从 DesignTokens 生成 CSS Variables 字符串\n * \n * @example\n * ```typescript\n * const cssVars = generateCSSVars(defaultTheme, {\n * prefix: 'incremark',\n * selector: ':root'\n * })\n * // 输出:\n * // :root {\n * // --incremark-color-text-primary: #1f2328;\n * // ...\n * // }\n * ```\n */\nexport function generateCSSVars(\n tokens: DesignTokens,\n options: GenerateCSSVarsOptions = {}\n): string {\n const { prefix = 'incremark', selector = ':root' } = options\n\n const vars: string[] = []\n objectToCSSVars(tokens, prefix, vars)\n\n if (vars.length === 0) {\n return selector ? `${selector} {}` : ''\n }\n\n // 如果选择器为空,只返回变量声明(用于 applyTheme)\n if (!selector) {\n return vars.join('\\n')\n }\n\n return `${selector} {\\n${vars.join('\\n')}\\n}`\n}\n\n","/**\n * 深度合并主题,支持部分替换\n */\n\nimport type { DesignTokens } from '../tokens'\n\n/**\n * 深度合并两个对象\n */\nfunction deepMerge<T extends Record<string, any>>(\n target: T,\n source: Partial<T>\n): T {\n const result = { ...target }\n\n for (const key in source) {\n if (source[key] && typeof source[key] === 'object' && !Array.isArray(source[key])) {\n // 递归合并嵌套对象\n result[key] = deepMerge(\n target[key] || ({} as any),\n source[key] as any\n )\n } else if (source[key] !== undefined) {\n // 直接覆盖\n result[key] = source[key] as any\n }\n }\n\n return result\n}\n\n/**\n * 合并主题,支持部分替换\n * \n * @example\n * ```typescript\n * const customTheme = mergeTheme(defaultTheme, {\n * color: {\n * text: {\n * primary: '#custom-color'\n * }\n * }\n * })\n * // 只替换 text.primary,其他保持默认值\n * ```\n */\nexport function mergeTheme(\n base: DesignTokens,\n override: Partial<DesignTokens>\n): DesignTokens {\n return deepMerge(base, override)\n}\n\n","/**\n * 应用主题到 DOM 元素\n */\n\nimport type { DesignTokens } from '../tokens'\nimport { generateCSSVars } from './generate-css-vars'\nimport { mergeTheme } from './merge-theme'\nimport { defaultTheme } from '../themes/default'\nimport { darkTheme } from '../themes/dark'\n\n/**\n * 应用主题到 DOM 元素\n *\n * @param element - 目标元素,默认为 document.documentElement\n * @param theme - 主题配置,可以是:\n * - 字符串:'default' | 'dark'\n * - 完整主题对象:DesignTokens\n * - 部分主题对象:Partial<DesignTokens>(会合并到默认主题)\n *\n * @example\n * ```typescript\n * // 使用预设主题(通过类名切换)\n * applyTheme(containerElement, 'dark') // 添加 .theme-dark 类\n * applyTheme(containerElement, 'default') // 移除 .theme-dark 类\n *\n * // 使用自定义主题(通过 inline style 设置 CSS 变量)\n * applyTheme(containerElement, {\n * color: {\n * brand: {\n * primary: '#8b5cf6'\n * }\n * }\n * })\n * ```\n */\nexport function applyTheme(\n element: HTMLElement | Document = document,\n theme: 'default' | 'dark' | DesignTokens | Partial<DesignTokens>\n): void {\n const target: HTMLElement = element === document ? document.documentElement : (element as HTMLElement)\n\n // 处理字符串主题名(使用类名切换)\n if (typeof theme === 'string') {\n if (theme === 'dark') {\n // 添加 dark 主题类名\n target.classList.add('theme-dark')\n target.setAttribute('data-theme', 'dark')\n } else {\n // 移除 dark 主题类名(回到默认主题)\n target.classList.remove('theme-dark')\n target.removeAttribute('data-theme')\n }\n target.style.cssText = \"\";\n return\n }\n\n // 处理主题对象(使用 inline style 设置 CSS 变量)\n let finalTheme: DesignTokens\n\n // 检查是否是完整主题(有所有必需字段)还是部分主题\n const isCompleteTheme =\n theme.color?.text?.primary !== undefined &&\n theme.typography?.fontFamily?.base !== undefined &&\n theme.spacing?.sm !== undefined\n\n if (isCompleteTheme) {\n finalTheme = theme as DesignTokens\n } else {\n // 部分主题,合并到默认主题\n finalTheme = mergeTheme(defaultTheme, theme)\n }\n\n // 移除预设主题类名(使用自定义主题时)\n target.classList.remove('theme-dark')\n target.removeAttribute('data-theme')\n\n // 生成 CSS Variables(不包含选择器)\n const cssVars = generateCSSVars(finalTheme, {\n prefix: 'incremark',\n selector: '' // 空选择器,只生成变量声明\n })\n\n target.style.cssText = cssVars;\n}\n"]}
1
+ {"version":3,"sources":["../src/themes/default.ts","../src/themes/dark.ts","../src/themes/index.ts","../src/utils/generate-css-vars.ts","../src/utils/merge-theme.ts","../src/utils/apply-theme.ts"],"names":["generateColorSystem"],"mappings":";;;AAQA,IAAM,SAAA,GAAY,oBAAoB,SAAS,CAAA;AAC/C,IAAM,WAAA,GAAc,oBAAoB,SAAS,CAAA;AACjD,IAAM,UAAA,GAAa,oBAAoB,SAAS,CAAA;AAChD,IAAM,QAAA,GAAW,oBAAoB,SAAS,CAAA;AAC9C,IAAM,WAAA,GAAc,oBAAoB,SAAS,CAAA;AACjD,IAAM,SAAA,GAAY,oBAAoB,SAAS,CAAA;AAC/C,IAAM,SAAA,GAAY,oBAAoB,SAAS,CAAA;AAC/C,IAAM,WAAA,GAAc,oBAAoB,SAAS,CAAA;AAGjD,IAAM,aAAA,GAAgB;AAAA,EACpB,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA;AAAA,EACH,EAAA,EAAI;AAAA;AACN,CAAA;AAEO,IAAM,YAAA,GAA6B;AAAA;AAAA,EAExC,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,UAAA;AAAA,IACP,GAAA,EAAK,QAAA;AAAA,IACL,MAAA,EAAQ,WAAA;AAAA,IACR,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,KAAA,EAAO;AAAA;AAAA,IAEL,OAAA,EAAS;AAAA,MACP,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,CAAA,EAAG,cAAc,CAAC,CAAA;AAAA,MAClB,EAAA,EAAI,cAAc,EAAE;AAAA,KACtB;AAAA;AAAA,IAEA,KAAA,EAAO;AAAA,MACL,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,MAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,MAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,MAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,MAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,MAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,MAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,MAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,MAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,MAChB,EAAA,EAAI,YAAY,EAAE,CAAA;AAAA,MAClB,SAAS,WAAA,CAAY,OAAA;AAAA;AAAA,MACrB,cAAc,WAAA,CAAY,KAAA;AAAA;AAAA,MAC1B,eAAe,WAAA,CAAY,MAAA;AAAA;AAAA,MAC3B,cAAc,WAAA,CAAY;AAAA;AAAA,KAC5B;AAAA;AAAA,IAEA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,cAAc,CAAC,CAAA;AAAA;AAAA,MACxB,SAAA,EAAW,cAAc,CAAC,CAAA;AAAA;AAAA,MAC1B,QAAA,EAAU,cAAc,CAAC,CAAA;AAAA;AAAA,MACzB,OAAA,EAAS,cAAc,CAAC;AAAA;AAAA,KAC1B;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,cAAc,CAAC,CAAA;AAAA;AAAA,MACrB,QAAA,EAAU,cAAc,CAAC,CAAA;AAAA;AAAA,MACzB,OAAA,EAAS;AAAA;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,cAAc,CAAC,CAAA;AAAA;AAAA,MACxB,MAAA,EAAQ,cAAc,CAAC,CAAA;AAAA;AAAA,MACvB,MAAA,EAAQ,cAAc,CAAC;AAAA;AAAA,KACzB;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,gBAAA,EAAkB,cAAc,CAAC,CAAA;AAAA;AAAA,MACjC,UAAA,EAAY,cAAc,CAAC,CAAA;AAAA;AAAA,MAC3B,eAAA,EAAiB,cAAc,CAAC,CAAA;AAAA;AAAA,MAChC,SAAA,EAAW,cAAc,CAAC,CAAA;AAAA;AAAA,MAC1B,gBAAA,EAAkB,cAAc,CAAC;AAAA;AAAA;AAAA,KAEnC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,SAAS,WAAA,CAAY,OAAA;AAAA;AAAA,MACrB,WAAW,UAAA,CAAW;AAAA;AAAA,KACxB;AAAA;AAAA,IAEA,WAAA,EAAa;AAAA,MACX,MAAM,WAAA,CAAY,OAAA;AAAA;AAAA,MAClB,WAAW,WAAA,CAAY,KAAA;AAAA;AAAA,MACvB,aAAa,WAAA,CAAY,IAAA;AAAA;AAAA,MACzB,SAAS,UAAA,CAAW;AAAA;AAAA;AACtB,GACF;AAAA,EACA,UAAA,EAAY;AAAA,IACV,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,4FAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACR;AAAA,IACA,QAAA,EAAU;AAAA,MACR,EAAA,EAAI,MAAA;AAAA,MACJ,EAAA,EAAI,MAAA;AAAA,MACJ,IAAA,EAAM,MAAA;AAAA,MACN,EAAA,EAAI,MAAA;AAAA,MACJ,EAAA,EAAI,MAAA;AAAA,MACJ,OAAA,EAAS;AAAA,QACP,EAAA,EAAI,KAAA;AAAA,QACJ,EAAA,EAAI,OAAA;AAAA,QACJ,EAAA,EAAI,QAAA;AAAA,QACJ,EAAA,EAAI,KAAA;AAAA,QACJ,EAAA,EAAI,SAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,UAAA,EAAY;AAAA,MACV,MAAA,EAAQ,GAAA;AAAA,MACR,MAAA,EAAQ,GAAA;AAAA,MACR,QAAA,EAAU,GAAA;AAAA,MACV,IAAA,EAAM;AAAA,KACR;AAAA,IACA,UAAA,EAAY;AAAA,MACV,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,GAAA;AAAA,MACR,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ;AAAA,MACN,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,MAAA,EAAQ;AAAA;AAAA,IAEN,EAAA,EAAI,iCAAA;AAAA,IACJ,EAAA,EAAI,kCAAA;AAAA,IACJ,EAAA,EAAI,kCAAA;AAAA,IACJ,MAAA,EAAQ,+BAAA;AAAA;AAAA,IAER,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,iCAAA;AAAA,MACN,EAAA,EAAI,kCAAA;AAAA,MACJ,IAAA,EAAM,kCAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA;AAAA,IAEA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,kCAAA;AAAA,MACN,EAAA,EAAI,mCAAA;AAAA,MACJ,IAAA,EAAM,mCAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA;AAAA,IAEA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,kCAAA;AAAA,MACN,EAAA,EAAI,mCAAA;AAAA,MACJ,IAAA,EAAM,mCAAA;AAAA,MACN,KAAA,EAAO;AAAA,KACT;AAAA;AAAA,IAEA,SAAA,EAAW;AAAA,GACb;AAAA,EACA,SAAA,EAAW;AAAA,IACT,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,OAAA;AAAA,MACN,MAAA,EAAQ,OAAA;AAAA,MACR,IAAA,EAAM;AAAA,KACR;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,SAAA,EAAW,8BAAA;AAAA,MACX,OAAA,EAAS;AAAA;AACX;AAEJ;AC7LA,IAAM,eAAA,GAAkBA,oBAAoB,SAAS,CAAA;AACrD,IAAM,eAAA,GAAkBA,oBAAoB,SAAS,CAAA;AACrD,IAAM,cAAA,GAAiBA,oBAAoB,SAAS,CAAA;AAGpD,IAAM,iBAAA,GAAoB;AAAA,EACxB,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,CAAA,EAAG,SAAA;AAAA,EACH,EAAA,EAAI;AACN,CAAA;AAEO,IAAM,SAAA,GAA0B;AAAA,EACrC,GAAG,YAAA;AAAA;AAAA,EAEH,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,aAAa,UAAA,CAAW,IAAA;AAAA,IAC9B,IAAA,EAAM,aAAa,UAAA,CAAW,IAAA;AAAA,IAC9B,MAAA,EAAQ,eAAA;AAAA,IACR,MAAA,EAAQ,eAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA;AAAA,IAEP,GAAA,EAAK,aAAa,UAAA,CAAW,GAAA;AAAA,IAC7B,MAAA,EAAQ,aAAa,UAAA,CAAW,MAAA;AAAA,IAChC,IAAA,EAAM,aAAa,UAAA,CAAW;AAAA,GAChC;AAAA,EACA,KAAA,EAAO;AAAA;AAAA,IAEL,OAAA,EAAS;AAAA,MACP,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,CAAA,EAAG,kBAAkB,CAAC,CAAA;AAAA,MACtB,EAAA,EAAI,kBAAkB,EAAE;AAAA,KAC1B;AAAA;AAAA,IAEA,KAAA,EAAO;AAAA,MACL,CAAA,EAAG,gBAAgB,CAAC,CAAA;AAAA,MACpB,CAAA,EAAG,gBAAgB,CAAC,CAAA;AAAA,MACpB,CAAA,EAAG,gBAAgB,CAAC,CAAA;AAAA,MACpB,CAAA,EAAG,gBAAgB,CAAC,CAAA;AAAA,MACpB,CAAA,EAAG,gBAAgB,CAAC,CAAA;AAAA,MACpB,CAAA,EAAG,gBAAgB,CAAC,CAAA;AAAA,MACpB,CAAA,EAAG,gBAAgB,CAAC,CAAA;AAAA,MACpB,CAAA,EAAG,gBAAgB,CAAC,CAAA;AAAA,MACpB,CAAA,EAAG,gBAAgB,CAAC,CAAA;AAAA,MACpB,EAAA,EAAI,gBAAgB,EAAE,CAAA;AAAA,MACtB,SAAS,eAAA,CAAgB,OAAA;AAAA;AAAA,MACzB,cAAc,eAAA,CAAgB,KAAA;AAAA;AAAA,MAC9B,eAAe,eAAA,CAAgB,MAAA;AAAA;AAAA,MAC/B,YAAA,EAAc,gBAAgB,CAAC;AAAA;AAAA,KACjC;AAAA;AAAA,IAEA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC5B,SAAA,EAAW,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC9B,QAAA,EAAU,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC7B,OAAA,EAAS,kBAAkB,CAAC;AAAA;AAAA,KAC9B;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,kBAAkB,CAAC,CAAA;AAAA;AAAA,MACzB,QAAA,EAAU,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC7B,OAAA,EAAS;AAAA,KACX;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,MAAA,EAAQ,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC3B,OAAA,EAAS,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC5B,MAAA,EAAQ,kBAAkB,CAAC;AAAA;AAAA,KAC7B;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,gBAAA,EAAkB,kBAAkB,CAAC,CAAA;AAAA;AAAA,MACrC,UAAA,EAAY,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC/B,eAAA,EAAiB,kBAAkB,CAAC,CAAA;AAAA;AAAA,MACpC,SAAA,EAAW,kBAAkB,CAAC,CAAA;AAAA;AAAA,MAC9B,gBAAA,EAAkB,kBAAkB,CAAC;AAAA;AAAA;AAAA,KAEvC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,SAAS,eAAA,CAAgB,OAAA;AAAA;AAAA,MACzB,WAAW,cAAA,CAAe;AAAA;AAAA,KAC5B;AAAA;AAAA,IAEA,WAAA,EAAa;AAAA,MACX,MAAM,eAAA,CAAgB,OAAA;AAAA;AAAA,MACtB,WAAW,eAAA,CAAgB,KAAA;AAAA;AAAA,MAC3B,aAAa,eAAA,CAAgB,OAAA;AAAA;AAAA,MAC7B,SAAS,cAAA,CAAe;AAAA;AAAA;AAC1B,GACF;AAAA;AAAA,EAEA,YAAY,YAAA,CAAa,UAAA;AAAA,EACzB,SAAS,YAAA,CAAa,OAAA;AAAA,EACtB,QAAQ,YAAA,CAAa,MAAA;AAAA,EACrB,QAAQ,YAAA,CAAa,MAAA;AAAA,EACrB,WAAW,YAAA,CAAa;AAC1B;;;ACvFO,SAAS,YAAY,UAAA,EAAmC;AAE7D,EAAA,MAAM,cAAc,UAAA,GAChBA,mBAAAA,CAAoB,UAAU,CAAA,GAC9B,aAAiB,UAAA,CAAW,MAAA;AAEhC,EAAA,OAAO;AAAA,IACL,GAAG,YAAA;AAAA,IACH,KAAA,EAAO;AAAA,MACL,GAAG,YAAA,CAAiB,KAAA;AAAA,MACpB,KAAA,EAAO;AAAA,QACL,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,QAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,QAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,QAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,QAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,QAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,QAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,QAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,QAChB,CAAA,EAAG,YAAY,CAAC,CAAA;AAAA,QAChB,EAAA,EAAI,YAAY,EAAE,CAAA;AAAA,QAClB,SAAS,WAAA,CAAY,OAAA;AAAA,QACrB,cAAc,WAAA,CAAY,KAAA;AAAA,QAC1B,eAAe,WAAA,CAAY,MAAA;AAAA,QAC3B,cAAc,WAAA,CAAY;AAAA,OAC5B;AAAA;AAAA,MAEA,WAAA,EAAa;AAAA,QACX,GAAG,aAAiB,KAAA,CAAM,WAAA;AAAA,QAC1B,MAAM,WAAA,CAAY,OAAA;AAAA,QAClB,WAAW,WAAA,CAAY;AAAA;AACzB;AACF,GACF;AACF;AAQO,SAAS,gBAAgB,UAAA,EAAmC;AAEjE,EAAA,MAAM,mBAAmB,UAAA,GACrBA,mBAAAA,CAAoB,UAAU,CAAA,GAC9B,UAAc,UAAA,CAAW,MAAA;AAE7B,EAAA,OAAO;AAAA,IACL,GAAG,SAAA;AAAA,IACH,KAAA,EAAO;AAAA,MACL,GAAG,SAAA,CAAc,KAAA;AAAA,MACjB,KAAA,EAAO;AAAA,QACL,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,QACrB,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,QACrB,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,QACrB,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,QACrB,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,QACrB,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,QACrB,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,QACrB,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,QACrB,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,QACrB,EAAA,EAAI,iBAAiB,EAAE,CAAA;AAAA,QACvB,SAAS,gBAAA,CAAiB,OAAA;AAAA,QAC1B,cAAc,gBAAA,CAAiB,KAAA;AAAA,QAC/B,eAAe,gBAAA,CAAiB,MAAA;AAAA,QAChC,YAAA,EAAc,iBAAiB,CAAC;AAAA,OAClC;AAAA,MACA,WAAA,EAAa;AAAA,QACX,GAAG,UAAc,KAAA,CAAM,WAAA;AAAA,QACvB,MAAM,gBAAA,CAAiB,OAAA;AAAA,QACvB,WAAW,gBAAA,CAAiB;AAAA;AAC9B;AACF,GACF;AACF;;;ACvFA,SAAS,eAAA,CACP,GAAA,EACA,MAAA,EACA,MAAA,GAAmB,EAAC,EACd;AACN,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,GAAG,CAAA,EAAG;AAC9C,IAAA,MAAM,UAAU,MAAA,GAAS,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,GAAK,GAAA;AAC9C,IAAA,MAAM,WAAW,OAAA,CAAQ,OAAA,CAAQ,UAAA,EAAY,KAAK,EAAE,WAAA,EAAY;AAEhE,IAAA,IAAI,OAAO,UAAU,QAAA,IAAY,KAAA,KAAU,QAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AAExE,MAAA,eAAA,CAAgB,KAAA,EAAO,UAAU,MAAM,CAAA;AAAA,IACzC,CAAA,MAAO;AAEL,MAAA,MAAA,CAAO,IAAA,CAAK,CAAA,IAAA,EAAO,QAAQ,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA,CAAG,CAAA;AAAA,IAC1C;AAAA,EACF;AACF;AAkBO,SAAS,eAAA,CACd,MAAA,EACA,OAAA,GAAkC,EAAC,EAC3B;AACR,EAAA,MAAM,EAAE,MAAA,GAAS,WAAA,EAAa,QAAA,GAAW,SAAQ,GAAI,OAAA;AAErD,EAAA,MAAM,OAAiB,EAAC;AACxB,EAAA,eAAA,CAAgB,MAAA,EAAQ,QAAQ,IAAI,CAAA;AAEpC,EAAA,IAAI,IAAA,CAAK,WAAW,CAAA,EAAG;AACrB,IAAA,OAAO,QAAA,GAAW,CAAA,EAAG,QAAQ,CAAA,GAAA,CAAA,GAAQ,EAAA;AAAA,EACvC;AAGA,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,OAAO,IAAA,CAAK,KAAK,IAAI,CAAA;AAAA,EACvB;AAEA,EAAA,OAAO,GAAG,QAAQ,CAAA;AAAA,EAAO,IAAA,CAAK,IAAA,CAAK,IAAI,CAAC;AAAA,CAAA,CAAA;AAC1C;;;AC7DA,SAAS,SAAA,CACP,QACA,MAAA,EACG;AACH,EAAA,MAAM,MAAA,GAAS,EAAE,GAAG,MAAA,EAAO;AAE3B,EAAA,KAAA,MAAW,OAAO,MAAA,EAAQ;AACxB,IAAA,IAAI,MAAA,CAAO,GAAG,CAAA,IAAK,OAAO,OAAO,GAAG,CAAA,KAAM,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,GAAG,CAAC,CAAA,EAAG;AAEjF,MAAA,MAAA,CAAO,GAAG,CAAA,GAAI,SAAA;AAAA,QACZ,MAAA,CAAO,GAAG,CAAA,IAAM,EAAC;AAAA,QACjB,OAAO,GAAG;AAAA,OACZ;AAAA,IACF,CAAA,MAAA,IAAW,MAAA,CAAO,GAAG,CAAA,KAAM,MAAA,EAAW;AAEpC,MAAA,MAAA,CAAO,GAAG,CAAA,GAAI,MAAA,CAAO,GAAG,CAAA;AAAA,IAC1B;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT;AAiBO,SAAS,UAAA,CACd,MACA,QAAA,EACc;AACd,EAAA,OAAO,SAAA,CAAU,MAAM,QAAQ,CAAA;AACjC;;;AChBO,SAAS,UAAA,CACd,OAAA,GAAkC,QAAA,EAClC,KAAA,EACM;AACN,EAAA,MAAM,MAAA,GAAsB,OAAA,KAAY,QAAA,GAAW,QAAA,CAAS,eAAA,GAAmB,OAAA;AAG/E,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,IAAA,IAAI,UAAU,MAAA,EAAQ;AAEpB,MAAA,MAAA,CAAO,SAAA,CAAU,IAAI,YAAY,CAAA;AACjC,MAAA,MAAA,CAAO,YAAA,CAAa,cAAc,MAAM,CAAA;AAAA,IAC1C,CAAA,MAAO;AAEL,MAAA,MAAA,CAAO,SAAA,CAAU,OAAO,YAAY,CAAA;AACpC,MAAA,MAAA,CAAO,gBAAgB,YAAY,CAAA;AAAA,IACrC;AACA,IAAA,MAAA,CAAO,MAAM,OAAA,GAAU,EAAA;AACvB,IAAA;AAAA,EACF;AAGA,EAAA,IAAI,UAAA;AAGJ,EAAA,MAAM,eAAA,GACJ,KAAA,CAAM,KAAA,EAAO,IAAA,EAAM,OAAA,KAAY,MAAA,IAC/B,KAAA,CAAM,UAAA,EAAY,UAAA,EAAY,IAAA,KAAS,MAAA,IACvC,KAAA,CAAM,SAAS,EAAA,KAAO,MAAA;AAExB,EAAA,IAAI,eAAA,EAAiB;AACnB,IAAA,UAAA,GAAa,KAAA;AAAA,EACf,CAAA,MAAO;AAEL,IAAA,UAAA,GAAa,UAAA,CAAW,cAAc,KAAK,CAAA;AAAA,EAC7C;AAGA,EAAA,MAAA,CAAO,SAAA,CAAU,OAAO,YAAY,CAAA;AACpC,EAAA,MAAA,CAAO,gBAAgB,YAAY,CAAA;AAGnC,EAAA,MAAM,OAAA,GAAU,gBAAgB,UAAA,EAAY;AAAA,IAC1C,MAAA,EAAQ,WAAA;AAAA,IACR,QAAA,EAAU;AAAA;AAAA,GACX,CAAA;AAED,EAAA,MAAA,CAAO,MAAM,OAAA,GAAU,OAAA;AACzB","file":"index.js","sourcesContent":["/**\n * 默认主题值定义\n */\n\nimport type { DesignTokens } from '../tokens'\nimport { generateColorSystem } from '@incremark/colors'\n\n// 生成完整的颜色系统(包含交互状态)\nconst colorBlue = generateColorSystem('#3b82f6')\nconst colorPurple = generateColorSystem('#a855f7')\nconst colorGreen = generateColorSystem('#10b981')\nconst colorRed = generateColorSystem('#ef4444')\nconst colorOrange = generateColorSystem('#f97316')\nconst colorCyan = generateColorSystem('#06b6d4')\nconst colorTeal = generateColorSystem('#0D9488')\nconst colorIndigo = generateColorSystem('#5776ff')\n\n// 中性色系列(调整后的颜色,增强对比度)\nconst neutralSeries = {\n 1: '#ffffff',\n 2: '#fafbfc', // 极浅背景\n 3: '#f3f4f6', // hover 背景(加深)\n 4: '#e5e7eb', // active/selected 背景(加深)\n 5: '#d1d5db', // 边框色(加深)\n 6: '#9ca3af', // 次要文字\n 7: '#6b7280', // 主要文字\n 8: '#374151', // 深色文字\n 9: '#1f2937', // 代码块背景\n 10: '#111827' // 最深色\n} as const;\n\nexport const defaultTheme: DesignTokens = {\n // ============ 基础色系统 ============\n baseColors: {\n blue: colorBlue,\n teal: colorTeal,\n purple: colorPurple,\n green: colorGreen,\n red: colorRed,\n orange: colorOrange,\n cyan: colorCyan,\n indigo: colorIndigo\n },\n color: {\n // ============ Neutral 中性色系统 ============\n neutral: {\n 1: neutralSeries[1],\n 2: neutralSeries[2],\n 3: neutralSeries[3],\n 4: neutralSeries[4],\n 5: neutralSeries[5],\n 6: neutralSeries[6],\n 7: neutralSeries[7],\n 8: neutralSeries[8],\n 9: neutralSeries[9],\n 10: neutralSeries[10]\n },\n // ============ 品牌主题色(引用 indigo)============\n brand: {\n 1: colorIndigo[1],\n 2: colorIndigo[2],\n 3: colorIndigo[3],\n 4: colorIndigo[4],\n 5: colorIndigo[5],\n 6: colorIndigo[6],\n 7: colorIndigo[7],\n 8: colorIndigo[8],\n 9: colorIndigo[9],\n 10: colorIndigo[10],\n primary: colorIndigo.primary, // indigo[6]\n primaryHover: colorIndigo.hover, // indigo[7]\n primaryActive: colorIndigo.active, // indigo[8]\n primaryLight: colorIndigo.light // indigo[2]\n },\n // ============ 语义化颜色(基于 neutral) ============\n text: {\n primary: neutralSeries[8], // neutral-8\n secondary: neutralSeries[7], // neutral-7\n tertiary: neutralSeries[6], // neutral-6\n inverse: neutralSeries[1] // neutral-1\n },\n background: {\n base: neutralSeries[1], // neutral-1\n elevated: neutralSeries[2], // neutral-2\n overlay: 'rgba(1, 20, 49, 0.6)' // neutral-9 with alpha\n },\n border: {\n default: neutralSeries[4], // neutral-4 - 浅灰色边框\n subtle: neutralSeries[3], // neutral-3 - 极浅边框\n strong: neutralSeries[7] // neutral-7 - 深灰色边框\n },\n code: {\n inlineBackground: neutralSeries[3], // neutral-3 - 行内代码浅色背景\n inlineText: neutralSeries[8], // neutral-8 - 行内代码深色文本\n blockBackground: neutralSeries[2], // neutral-2 - 代码块浅色背景(配合 github-light Shiki 主题)\n blockText: neutralSeries[9], // neutral-9 - 代码块深色文本\n headerBackground: neutralSeries[3] // neutral-3 - 代码块头部稍深背景\n // border 使用通用的 border.strong,不单独定义\n },\n status: {\n pending: colorPurple.primary, // 使用紫色系主色\n completed: colorGreen.primary // 使用绿色系主色\n },\n // ============ 交互元素颜色 ============\n interactive: {\n link: colorIndigo.primary, // 使用 indigo 主色\n linkHover: colorIndigo.hover, // 使用 indigo hover\n linkVisited: colorPurple.dark, // 使用紫色系深色表示访问过\n checked: colorGreen.primary // 使用绿色系主色表示选中\n }\n },\n typography: {\n fontFamily: {\n base: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif\",\n mono: \"'Fira Code', 'SF Mono', 'Monaco', 'Consolas', monospace\"\n },\n fontSize: {\n xs: '12px',\n sm: '13px',\n base: '14px',\n md: '16px',\n lg: '18px',\n heading: {\n h1: '2em',\n h2: '1.5em',\n h3: '1.25em',\n h4: '1em',\n h5: '0.875em',\n h6: '0.85em'\n }\n },\n fontWeight: {\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n relaxed: 1.75\n }\n },\n spacing: {\n xs: '4px',\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '24px'\n },\n border: {\n radius: {\n sm: '4px',\n md: '8px',\n lg: '12px'\n }\n },\n shadow: {\n // 基础阴影(使用深蓝色基底,更有质感)\n sm: '0 2px 4px rgba(0, 19, 48, 0.06)',\n md: '0 2px 12px rgba(0, 19, 48, 0.08)',\n lg: '0 2px 16px rgba(0, 19, 48, 0.12)',\n center: '0 0 8px rgba(0, 19, 48, 0.08)',\n // 方向性阴影 - 一级(轻量)\n level1: {\n down: '0 2px 4px rgba(0, 19, 48, 0.06)',\n up: '0 -2px 4px rgba(0, 19, 48, 0.06)',\n left: '-2px 0 8px rgba(0, 19, 48, 0.06)',\n right: '2px 0 8px rgba(0, 19, 48, 0.06)'\n },\n // 方向性阴影 - 二级(中等)\n level2: {\n down: '0 2px 12px rgba(0, 19, 48, 0.08)',\n up: '0 -2px 12px rgba(0, 19, 48, 0.08)',\n left: '-2px 0 12px rgba(0, 19, 48, 0.08)',\n right: '2px 0 12px rgba(0, 19, 48, 0.08)'\n },\n // 方向性阴影 - 三级(强调)\n level3: {\n down: '0 2px 16px rgba(0, 19, 48, 0.12)',\n up: '0 -2px 16px rgba(0, 19, 48, 0.12)',\n left: '-2px 0 16px rgba(0, 19, 48, 0.12)',\n right: '2px 0 16px rgba(0, 19, 48, 0.12)'\n },\n // 品牌色卡片阴影\n brandCard: '0 2px 12px rgba(1, 69, 197, 0.12)'\n },\n animation: {\n duration: {\n fast: '150ms',\n normal: '200ms',\n slow: '300ms'\n },\n easing: {\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n easeOut: 'cubic-bezier(0, 0, 0.2, 1)'\n }\n }\n}\n","/**\n * 深色主题值定义\n */\n\nimport type { DesignTokens } from '../tokens'\nimport { defaultTheme } from './default'\nimport { generateColorSystem } from '@incremark/colors'\n\n// 生成暗色模式的颜色系统(稍微调亮)\nconst darkColorIndigo = generateColorSystem('#7D95FF')\nconst darkColorPurple = generateColorSystem('#c084fc')\nconst darkColorGreen = generateColorSystem('#34d399')\n\n// 暗色模式中性色系列(反转后的颜色,增强 1-2 对比度)\nconst darkNeutralSeries = {\n 1: '#0a1628',\n 2: '#162033',\n 3: '#273548',\n 4: '#546070',\n 5: '#8891a0',\n 6: '#cdd1da',\n 7: '#e2e5ec',\n 8: '#f1f3f8',\n 9: '#f8f9fc',\n 10: '#ffffff'\n} as const\n\nexport const darkTheme: DesignTokens = {\n ...defaultTheme,\n // ============ 基础色系统 ============\n baseColors: {\n blue: defaultTheme.baseColors.blue,\n teal: defaultTheme.baseColors.teal,\n indigo: darkColorIndigo,\n purple: darkColorPurple,\n green: darkColorGreen,\n // 其他颜色继承默认主题\n red: defaultTheme.baseColors.red,\n orange: defaultTheme.baseColors.orange,\n cyan: defaultTheme.baseColors.cyan\n },\n color: {\n // ============ Neutral 中性色系统(暗色模式反转) ============\n neutral: {\n 1: darkNeutralSeries[1],\n 2: darkNeutralSeries[2],\n 3: darkNeutralSeries[3],\n 4: darkNeutralSeries[4],\n 5: darkNeutralSeries[5],\n 6: darkNeutralSeries[6],\n 7: darkNeutralSeries[7],\n 8: darkNeutralSeries[8],\n 9: darkNeutralSeries[9],\n 10: darkNeutralSeries[10]\n },\n // ============ 品牌主题色(暗色模式引用 indigo)============\n brand: {\n 1: darkColorIndigo[1],\n 2: darkColorIndigo[2],\n 3: darkColorIndigo[3],\n 4: darkColorIndigo[4],\n 5: darkColorIndigo[5],\n 6: darkColorIndigo[6],\n 7: darkColorIndigo[7],\n 8: darkColorIndigo[8],\n 9: darkColorIndigo[9],\n 10: darkColorIndigo[10],\n primary: darkColorIndigo.primary, // indigo[6]\n primaryHover: darkColorIndigo.hover, // indigo[7]\n primaryActive: darkColorIndigo.active, // indigo[8]\n primaryLight: darkColorIndigo[9] // 暗色模式用深色调\n },\n // ============ 语义化颜色 ============\n text: {\n primary: darkNeutralSeries[8], // neutral-8 (dark)\n secondary: darkNeutralSeries[7], // neutral-7 (dark)\n tertiary: darkNeutralSeries[6], // neutral-6 (dark)\n inverse: darkNeutralSeries[1] // neutral-1 (dark)\n },\n background: {\n base: darkNeutralSeries[1], // neutral-1 (dark)\n elevated: darkNeutralSeries[2], // neutral-2 (dark)\n overlay: 'rgba(0, 0, 0, 0.75)'\n },\n border: {\n subtle: darkNeutralSeries[3], // neutral-3 (dark) - 极浅边框\n default: darkNeutralSeries[4], // neutral-4 (dark) - 浅灰色边框\n strong: darkNeutralSeries[7] // neutral-7 (dark) - 深灰色边框\n },\n code: {\n inlineBackground: darkNeutralSeries[3], // neutral-3 (dark) - 行内代码适中暗色背景\n inlineText: darkNeutralSeries[8], // neutral-8 (dark) - 行内代码浅色文本\n blockBackground: darkNeutralSeries[3], // neutral-2 (dark) - 代码块深色背景\n blockText: darkNeutralSeries[9], // neutral-9 (dark) - 代码块极浅文本\n headerBackground: darkNeutralSeries[2] // neutral-2 (dark) - 代码块头部背景\n // border 使用通用的 border.strong,不单独定义\n },\n status: {\n pending: darkColorPurple.primary, // 使用暗色紫色系主色\n completed: darkColorGreen.primary // 使用暗色绿色系主色\n },\n // ============ 交互元素颜色 ============\n interactive: {\n link: darkColorIndigo.primary, // 使用暗色 indigo 主色\n linkHover: darkColorIndigo.hover, // 使用 hover 变体\n linkVisited: darkColorPurple.lighter, // 使用暗色紫色系浅色\n checked: darkColorGreen.primary // 使用暗色绿色系主色\n }\n },\n // 其他 Token 继承自 defaultTheme\n typography: defaultTheme.typography,\n spacing: defaultTheme.spacing,\n border: defaultTheme.border,\n shadow: defaultTheme.shadow,\n animation: defaultTheme.animation\n}\n","/**\n * 主题导出\n */\n\nimport type { DesignTokens } from '../tokens'\nimport { generateColorSystem } from '@incremark/colors'\nimport { defaultTheme as baseDefaultTheme } from './default'\nimport { darkTheme as baseDarkTheme } from './dark'\n\n/**\n * 创建自定义主题\n *\n * @param brandColor 品牌主色(hex 格式),如果不提供则使用默认的 indigo\n * @returns 自定义主题\n *\n * @example\n * ```typescript\n * // 使用默认主题(indigo)\n * import { defaultTheme } from '@incremark/theme'\n *\n * // 自定义品牌色\n * import { createTheme } from '@incremark/theme'\n * const purpleTheme = createTheme('#a855f7')\n *\n * // 运行时切换\n * const myTheme = createTheme(userSettings.brandColor)\n * ```\n */\nexport function createTheme(brandColor?: string): DesignTokens {\n // 如果没有提供颜色,使用默认的 indigo(从 defaultTheme 中获取)\n const colorSystem = brandColor\n ? generateColorSystem(brandColor)\n : baseDefaultTheme.baseColors.indigo\n\n return {\n ...baseDefaultTheme,\n color: {\n ...baseDefaultTheme.color,\n brand: {\n 1: colorSystem[1],\n 2: colorSystem[2],\n 3: colorSystem[3],\n 4: colorSystem[4],\n 5: colorSystem[5],\n 6: colorSystem[6],\n 7: colorSystem[7],\n 8: colorSystem[8],\n 9: colorSystem[9],\n 10: colorSystem[10],\n primary: colorSystem.primary,\n primaryHover: colorSystem.hover,\n primaryActive: colorSystem.active,\n primaryLight: colorSystem.light\n },\n // 同步更新 link 颜色\n interactive: {\n ...baseDefaultTheme.color.interactive,\n link: colorSystem.primary,\n linkHover: colorSystem.hover\n }\n }\n }\n}\n\n/**\n * 创建深色主题\n *\n * @param brandColor 品牌主色(hex 格式),如果不提供则使用默认的较亮 indigo\n * @returns 深色主题\n */\nexport function createDarkTheme(brandColor?: string): DesignTokens {\n // 深色模式默认使用较亮的品牌色\n const defaultDarkColor = brandColor\n ? generateColorSystem(brandColor)\n : baseDarkTheme.baseColors.indigo\n\n return {\n ...baseDarkTheme,\n color: {\n ...baseDarkTheme.color,\n brand: {\n 1: defaultDarkColor[1],\n 2: defaultDarkColor[2],\n 3: defaultDarkColor[3],\n 4: defaultDarkColor[4],\n 5: defaultDarkColor[5],\n 6: defaultDarkColor[6],\n 7: defaultDarkColor[7],\n 8: defaultDarkColor[8],\n 9: defaultDarkColor[9],\n 10: defaultDarkColor[10],\n primary: defaultDarkColor.primary,\n primaryHover: defaultDarkColor.hover,\n primaryActive: defaultDarkColor.active,\n primaryLight: defaultDarkColor[9]\n },\n interactive: {\n ...baseDarkTheme.color.interactive,\n link: defaultDarkColor.primary,\n linkHover: defaultDarkColor.hover\n }\n }\n }\n}\n\n// 导出默认主题(indigo)\nexport { defaultTheme } from './default'\n\n// 导出深色主题(indigo)\nexport { darkTheme } from './dark'\n\n// 导出类型\nexport type { DesignTokens } from '../tokens'\n","/**\n * 从 Token 生成 CSS Variables\n */\n\nimport type { DesignTokens } from '../tokens'\n\nexport interface GenerateCSSVarsOptions {\n /** CSS Variables 前缀,默认 'incremark' */\n prefix?: string\n /** CSS 选择器,默认 ':root' */\n selector?: string\n}\n\n/**\n * 递归将对象转换为 CSS Variables\n */\nfunction objectToCSSVars(\n obj: Record<string, any>,\n prefix: string,\n result: string[] = []\n): void {\n for (const [key, value] of Object.entries(obj)) {\n const varName = prefix ? `${prefix}-${key}` : key\n const kebabKey = varName.replace(/([A-Z])/g, '-$1').toLowerCase()\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n // 递归处理嵌套对象\n objectToCSSVars(value, kebabKey, result)\n } else {\n // 叶子节点,生成 CSS Variable\n result.push(` --${kebabKey}: ${value};`)\n }\n }\n}\n\n/**\n * 从 DesignTokens 生成 CSS Variables 字符串\n * \n * @example\n * ```typescript\n * const cssVars = generateCSSVars(defaultTheme, {\n * prefix: 'incremark',\n * selector: ':root'\n * })\n * // 输出:\n * // :root {\n * // --incremark-color-text-primary: #1f2328;\n * // ...\n * // }\n * ```\n */\nexport function generateCSSVars(\n tokens: DesignTokens,\n options: GenerateCSSVarsOptions = {}\n): string {\n const { prefix = 'incremark', selector = ':root' } = options\n\n const vars: string[] = []\n objectToCSSVars(tokens, prefix, vars)\n\n if (vars.length === 0) {\n return selector ? `${selector} {}` : ''\n }\n\n // 如果选择器为空,只返回变量声明(用于 applyTheme)\n if (!selector) {\n return vars.join('\\n')\n }\n\n return `${selector} {\\n${vars.join('\\n')}\\n}`\n}\n\n","/**\n * 深度合并主题,支持部分替换\n */\n\nimport type { DesignTokens } from '../tokens'\n\n/**\n * 深度合并两个对象\n */\nfunction deepMerge<T extends Record<string, any>>(\n target: T,\n source: Partial<T>\n): T {\n const result = { ...target }\n\n for (const key in source) {\n if (source[key] && typeof source[key] === 'object' && !Array.isArray(source[key])) {\n // 递归合并嵌套对象\n result[key] = deepMerge(\n target[key] || ({} as any),\n source[key] as any\n )\n } else if (source[key] !== undefined) {\n // 直接覆盖\n result[key] = source[key] as any\n }\n }\n\n return result\n}\n\n/**\n * 合并主题,支持部分替换\n * \n * @example\n * ```typescript\n * const customTheme = mergeTheme(defaultTheme, {\n * color: {\n * text: {\n * primary: '#custom-color'\n * }\n * }\n * })\n * // 只替换 text.primary,其他保持默认值\n * ```\n */\nexport function mergeTheme(\n base: DesignTokens,\n override: Partial<DesignTokens>\n): DesignTokens {\n return deepMerge(base, override)\n}\n\n","/**\n * 应用主题到 DOM 元素\n */\n\nimport type { DesignTokens } from '../tokens'\nimport { generateCSSVars } from './generate-css-vars'\nimport { mergeTheme } from './merge-theme'\nimport { defaultTheme } from '../themes/default'\nimport { darkTheme } from '../themes/dark'\n\n/**\n * 应用主题到 DOM 元素\n *\n * @param element - 目标元素,默认为 document.documentElement\n * @param theme - 主题配置,可以是:\n * - 字符串:'default' | 'dark'\n * - 完整主题对象:DesignTokens\n * - 部分主题对象:Partial<DesignTokens>(会合并到默认主题)\n *\n * @example\n * ```typescript\n * // 使用预设主题(通过类名切换)\n * applyTheme(containerElement, 'dark') // 添加 .theme-dark 类\n * applyTheme(containerElement, 'default') // 移除 .theme-dark 类\n *\n * // 使用自定义主题(通过 inline style 设置 CSS 变量)\n * applyTheme(containerElement, {\n * color: {\n * brand: {\n * primary: '#8b5cf6'\n * }\n * }\n * })\n * ```\n */\nexport function applyTheme(\n element: HTMLElement | Document = document,\n theme: 'default' | 'dark' | DesignTokens | Partial<DesignTokens>\n): void {\n const target: HTMLElement = element === document ? document.documentElement : (element as HTMLElement)\n\n // 处理字符串主题名(使用类名切换)\n if (typeof theme === 'string') {\n if (theme === 'dark') {\n // 添加 dark 主题类名\n target.classList.add('theme-dark')\n target.setAttribute('data-theme', 'dark')\n } else {\n // 移除 dark 主题类名(回到默认主题)\n target.classList.remove('theme-dark')\n target.removeAttribute('data-theme')\n }\n target.style.cssText = \"\";\n return\n }\n\n // 处理主题对象(使用 inline style 设置 CSS 变量)\n let finalTheme: DesignTokens\n\n // 检查是否是完整主题(有所有必需字段)还是部分主题\n const isCompleteTheme =\n theme.color?.text?.primary !== undefined &&\n theme.typography?.fontFamily?.base !== undefined &&\n theme.spacing?.sm !== undefined\n\n if (isCompleteTheme) {\n finalTheme = theme as DesignTokens\n } else {\n // 部分主题,合并到默认主题\n finalTheme = mergeTheme(defaultTheme, theme)\n }\n\n // 移除预设主题类名(使用自定义主题时)\n target.classList.remove('theme-dark')\n target.removeAttribute('data-theme')\n\n // 生成 CSS Variables(不包含选择器)\n const cssVars = generateCSSVars(finalTheme, {\n prefix: 'incremark',\n selector: '' // 空选择器,只生成变量声明\n })\n\n target.style.cssText = cssVars;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@incremark/theme",
3
- "version": "0.4.0-alpha.1",
3
+ "version": "1.0.0",
4
4
  "description": "Incremark theme package - Unified design tokens and styling system for markdown rendering.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "typescript": "^5.9.3"
26
26
  },
27
27
  "dependencies": {
28
- "@incremark/colors": "0.4.0-alpha.1"
28
+ "@incremark/colors": "1.0.0"
29
29
  },
30
30
  "keywords": [
31
31
  "incremark",