@unocss/rule-utils 0.59.4 → 0.60.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.d.mts CHANGED
@@ -28,5 +28,6 @@ declare function variantGetParameter(prefix: string, matcher: string, separators
28
28
  declare const themeFnRE: RegExp;
29
29
  declare function hasThemeFn(str: string): boolean;
30
30
  declare function transformThemeFn(code: string, theme: Record<string, any>, throwOnMissing?: boolean): string;
31
+ declare function transformThemeString(code: string, theme: Record<string, any>, throwOnMissing?: boolean): string | undefined;
31
32
 
32
- export { type ValueHandler, type ValueHandlerCallback, colorOpacityToString, colorToString, createValueHandler, getBracket, getStringComponent, getStringComponents, hasThemeFn, hex2rgba, parseCssColor, themeFnRE, transformThemeFn, variantGetBracket, variantGetParameter, variantMatcher, variantParentMatcher };
33
+ export { type ValueHandler, type ValueHandlerCallback, colorOpacityToString, colorToString, createValueHandler, getBracket, getStringComponent, getStringComponents, hasThemeFn, hex2rgba, parseCssColor, themeFnRE, transformThemeFn, transformThemeString, variantGetBracket, variantGetParameter, variantMatcher, variantParentMatcher };
package/dist/index.d.ts CHANGED
@@ -28,5 +28,6 @@ declare function variantGetParameter(prefix: string, matcher: string, separators
28
28
  declare const themeFnRE: RegExp;
29
29
  declare function hasThemeFn(str: string): boolean;
30
30
  declare function transformThemeFn(code: string, theme: Record<string, any>, throwOnMissing?: boolean): string;
31
+ declare function transformThemeString(code: string, theme: Record<string, any>, throwOnMissing?: boolean): string | undefined;
31
32
 
32
- export { type ValueHandler, type ValueHandlerCallback, colorOpacityToString, colorToString, createValueHandler, getBracket, getStringComponent, getStringComponents, hasThemeFn, hex2rgba, parseCssColor, themeFnRE, transformThemeFn, variantGetBracket, variantGetParameter, variantMatcher, variantParentMatcher };
33
+ export { type ValueHandler, type ValueHandlerCallback, colorOpacityToString, colorToString, createValueHandler, getBracket, getStringComponent, getStringComponents, hasThemeFn, hex2rgba, parseCssColor, themeFnRE, transformThemeFn, transformThemeString, variantGetBracket, variantGetParameter, variantMatcher, variantParentMatcher };
package/dist/index.mjs CHANGED
@@ -383,25 +383,31 @@ function transformThemeFn(code, theme, throwOnMissing = true) {
383
383
  const rawArg = match[1];
384
384
  if (!rawArg)
385
385
  throw new Error("theme() expect exact one argument, but got 0");
386
- const [rawKey, alpha] = rawArg.split("/");
387
- const keys = rawKey.trim().split(".");
388
- let value = keys.reduce((t, k) => t?.[k], theme);
389
- if (typeof value === "string") {
390
- if (alpha) {
391
- const color = parseCssColor(value);
392
- if (color)
393
- value = colorToString(color, alpha);
394
- }
386
+ const value = transformThemeString(rawArg, theme, throwOnMissing);
387
+ if (value) {
395
388
  s.overwrite(
396
389
  match.index,
397
390
  match.index + match[0].length,
398
391
  value
399
392
  );
400
- } else if (throwOnMissing) {
401
- throw new Error(`theme of "${rawArg}" did not found`);
402
393
  }
403
394
  }
404
395
  return s.toString();
405
396
  }
397
+ function transformThemeString(code, theme, throwOnMissing = true) {
398
+ const [rawKey, alpha] = code.split("/");
399
+ const keys = rawKey.trim().split(".");
400
+ let value = keys.reduce((t, k) => t?.[k], theme);
401
+ if (typeof value === "string") {
402
+ if (alpha) {
403
+ const color = parseCssColor(value);
404
+ if (color)
405
+ value = colorToString(color, alpha);
406
+ }
407
+ return value;
408
+ } else if (throwOnMissing) {
409
+ throw new Error(`theme of "${code}" did not found`);
410
+ }
411
+ }
406
412
 
407
- export { colorOpacityToString, colorToString, createValueHandler, getBracket, getStringComponent, getStringComponents, hasThemeFn, hex2rgba, parseCssColor, themeFnRE, transformThemeFn, variantGetBracket, variantGetParameter, variantMatcher, variantParentMatcher };
413
+ export { colorOpacityToString, colorToString, createValueHandler, getBracket, getStringComponent, getStringComponents, hasThemeFn, hex2rgba, parseCssColor, themeFnRE, transformThemeFn, transformThemeString, variantGetBracket, variantGetParameter, variantMatcher, variantParentMatcher };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@unocss/rule-utils",
3
3
  "type": "module",
4
- "version": "0.59.4",
4
+ "version": "0.60.0",
5
5
  "description": "Utilities for UnoCSS",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "magic-string": "^0.30.10",
37
- "@unocss/core": "^0.59.4"
37
+ "@unocss/core": "^0.60.0"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "unbuild",