@unocss/core 66.2.1 → 66.2.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.
package/dist/index.d.mts CHANGED
@@ -535,7 +535,7 @@ interface VariantObject<Theme extends object = object> {
535
535
  type Variant<Theme extends object = object> = VariantFunction<Theme> | VariantObject<Theme>;
536
536
  type Preprocessor = (matcher: string) => string | undefined;
537
537
  type Postprocessor = (util: UtilObject) => void;
538
- type ThemeExtender<T> = (theme: T) => T | void;
538
+ type ThemeExtender<Theme extends object = object> = (theme: Theme, config: Readonly<ResolvedConfig<Theme>>) => Theme | void;
539
539
  interface ConfigBase<Theme extends object = object> {
540
540
  /**
541
541
  * Rules to generate CSS utilities.
@@ -651,7 +651,7 @@ interface ConfigBase<Theme extends object = object> {
651
651
  *
652
652
  * First presets runs first and the user config
653
653
  */
654
- configResolved?: (config: ResolvedConfig) => void;
654
+ configResolved?: (config: ResolvedConfig<Theme>) => void;
655
655
  /**
656
656
  * Expose internal details for debugging / inspecting
657
657
  *
package/dist/index.d.ts CHANGED
@@ -535,7 +535,7 @@ interface VariantObject<Theme extends object = object> {
535
535
  type Variant<Theme extends object = object> = VariantFunction<Theme> | VariantObject<Theme>;
536
536
  type Preprocessor = (matcher: string) => string | undefined;
537
537
  type Postprocessor = (util: UtilObject) => void;
538
- type ThemeExtender<T> = (theme: T) => T | void;
538
+ type ThemeExtender<Theme extends object = object> = (theme: Theme, config: Readonly<ResolvedConfig<Theme>>) => Theme | void;
539
539
  interface ConfigBase<Theme extends object = object> {
540
540
  /**
541
541
  * Rules to generate CSS utilities.
@@ -651,7 +651,7 @@ interface ConfigBase<Theme extends object = object> {
651
651
  *
652
652
  * First presets runs first and the user config
653
653
  */
654
- configResolved?: (config: ResolvedConfig) => void;
654
+ configResolved?: (config: ResolvedConfig<Theme>) => void;
655
655
  /**
656
656
  * Expose internal details for debugging / inspecting
657
657
  *
package/dist/index.mjs CHANGED
@@ -567,10 +567,6 @@ async function resolveConfig(userConfig = {}, defaults = {}) {
567
567
  });
568
568
  return false;
569
569
  }).reverse();
570
- let theme = mergeThemes(sources.map((p) => p.theme));
571
- const extendThemes = getMerged("extendTheme");
572
- for (const extendTheme of extendThemes)
573
- theme = extendTheme(theme) || theme;
574
570
  const autocomplete = {
575
571
  templates: uniq(sources.flatMap((p) => toArray(p.autocomplete?.templates))),
576
572
  extractors: sources.flatMap((p) => toArray(p.autocomplete?.extractors)).sort((a, b) => (a.order || 0) - (b.order || 0)),
@@ -591,7 +587,7 @@ async function resolveConfig(userConfig = {}, defaults = {}) {
591
587
  envMode: config.envMode || "build",
592
588
  shortcutsLayer: config.shortcutsLayer || "shortcuts",
593
589
  layers,
594
- theme,
590
+ theme: mergeThemes(sources.map((p) => p.theme)),
595
591
  rules,
596
592
  rulesSize,
597
593
  rulesDynamic,
@@ -609,6 +605,9 @@ async function resolveConfig(userConfig = {}, defaults = {}) {
609
605
  content,
610
606
  transformers: uniqueBy(getMerged("transformers"), (a, b) => a.name === b.name)
611
607
  };
608
+ const extendThemes = getMerged("extendTheme");
609
+ for (const extendTheme of extendThemes)
610
+ resolved.theme = extendTheme(resolved.theme, resolved) || resolved.theme;
612
611
  for (const p of sources)
613
612
  p?.configResolved?.(resolved);
614
613
  return resolved;
@@ -657,7 +656,7 @@ function definePreset(preset) {
657
656
  return preset;
658
657
  }
659
658
 
660
- const version = "66.2.1";
659
+ const version = "66.2.2";
661
660
 
662
661
  const symbols = {
663
662
  shortcutsNoMerge: "$$symbol-shortcut-no-merge",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@unocss/core",
3
3
  "type": "module",
4
- "version": "66.2.1",
4
+ "version": "66.2.2",
5
5
  "description": "The instant on-demand Atomic CSS engine.",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",