@weser/style 1.0.0 → 2.0.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 (123) hide show
  1. package/dist/core/__tests__/createRenderer.test.d.ts +2 -0
  2. package/dist/core/__tests__/createRenderer.test.d.ts.map +1 -0
  3. package/dist/core/__tests__/createRenderer.test.js +25 -0
  4. package/dist/core/__tests__/createRenderer.test.js.map +1 -0
  5. package/dist/core/createRenderer.d.ts +16 -16
  6. package/dist/core/createRenderer.d.ts.map +1 -1
  7. package/dist/core/createRenderer.js +67 -14
  8. package/dist/core/createRenderer.js.map +1 -1
  9. package/dist/core/createStyleNode.d.ts +10 -0
  10. package/dist/core/createStyleNode.d.ts.map +1 -0
  11. package/dist/core/createStyleNode.js +11 -0
  12. package/dist/core/createStyleNode.js.map +1 -0
  13. package/dist/helpers/extend.d.ts +3 -0
  14. package/dist/helpers/extend.d.ts.map +1 -0
  15. package/dist/helpers/extend.js +4 -0
  16. package/dist/helpers/extend.js.map +1 -0
  17. package/dist/helpers/hash.d.ts +2 -0
  18. package/dist/helpers/hash.d.ts.map +1 -0
  19. package/dist/helpers/hash.js +17 -0
  20. package/dist/helpers/hash.js.map +1 -0
  21. package/dist/index.d.ts +13 -7
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +13 -5
  24. package/dist/index.js.map +1 -1
  25. package/dist/plugins/__tests__/customProperty.test.d.ts +2 -0
  26. package/dist/plugins/__tests__/customProperty.test.d.ts.map +1 -0
  27. package/dist/plugins/__tests__/customProperty.test.js +63 -0
  28. package/dist/plugins/__tests__/customProperty.test.js.map +1 -0
  29. package/dist/plugins/__tests__/debug.test.d.ts +2 -0
  30. package/dist/plugins/__tests__/debug.test.d.ts.map +1 -0
  31. package/dist/plugins/__tests__/debug.test.js +52 -0
  32. package/dist/plugins/__tests__/debug.test.js.map +1 -0
  33. package/dist/plugins/__tests__/embedded.test.d.ts +2 -0
  34. package/dist/plugins/__tests__/embedded.test.d.ts.map +1 -0
  35. package/dist/plugins/__tests__/embedded.test.js +76 -0
  36. package/dist/plugins/__tests__/embedded.test.js.map +1 -0
  37. package/dist/plugins/__tests__/enforceLonghand.test.d.ts +2 -0
  38. package/dist/plugins/__tests__/enforceLonghand.test.d.ts.map +1 -0
  39. package/dist/plugins/__tests__/enforceLonghand.test.js +88 -0
  40. package/dist/plugins/__tests__/enforceLonghand.test.js.map +1 -0
  41. package/dist/plugins/__tests__/fallbackValue.test.d.ts +2 -0
  42. package/dist/plugins/__tests__/fallbackValue.test.d.ts.map +1 -0
  43. package/dist/plugins/__tests__/fallbackValue.test.js +94 -0
  44. package/dist/plugins/__tests__/fallbackValue.test.js.map +1 -0
  45. package/dist/plugins/__tests__/logger.test.d.ts +2 -0
  46. package/dist/plugins/__tests__/logger.test.d.ts.map +1 -0
  47. package/dist/plugins/__tests__/logger.test.js +57 -0
  48. package/dist/plugins/__tests__/logger.test.js.map +1 -0
  49. package/dist/plugins/__tests__/prefixer.test.d.ts +2 -0
  50. package/dist/plugins/__tests__/prefixer.test.d.ts.map +1 -0
  51. package/dist/plugins/__tests__/prefixer.test.js +64 -0
  52. package/dist/plugins/__tests__/prefixer.test.js.map +1 -0
  53. package/dist/plugins/__tests__/pseudoElement.test.d.ts +2 -0
  54. package/dist/plugins/__tests__/pseudoElement.test.d.ts.map +1 -0
  55. package/dist/plugins/__tests__/pseudoElement.test.js +92 -0
  56. package/dist/plugins/__tests__/pseudoElement.test.js.map +1 -0
  57. package/dist/plugins/__tests__/responsiveValue.test.d.ts +2 -0
  58. package/dist/plugins/__tests__/responsiveValue.test.d.ts.map +1 -0
  59. package/dist/plugins/__tests__/responsiveValue.test.js +68 -0
  60. package/dist/plugins/__tests__/responsiveValue.test.js.map +1 -0
  61. package/dist/plugins/__tests__/rtl.test.d.ts +2 -0
  62. package/dist/plugins/__tests__/rtl.test.d.ts.map +1 -0
  63. package/dist/plugins/__tests__/rtl.test.js +57 -0
  64. package/dist/plugins/__tests__/rtl.test.js.map +1 -0
  65. package/dist/plugins/__tests__/sortCondition.test.d.ts +2 -0
  66. package/dist/plugins/__tests__/sortCondition.test.d.ts.map +1 -0
  67. package/dist/plugins/__tests__/sortCondition.test.js +65 -0
  68. package/dist/plugins/__tests__/sortCondition.test.js.map +1 -0
  69. package/dist/plugins/__tests__/sortProperty.test.d.ts +2 -0
  70. package/dist/plugins/__tests__/sortProperty.test.d.ts.map +1 -0
  71. package/dist/plugins/__tests__/sortProperty.test.js +68 -0
  72. package/dist/plugins/__tests__/sortProperty.test.js.map +1 -0
  73. package/dist/plugins/__tests__/unit.test.d.ts +2 -0
  74. package/dist/plugins/__tests__/unit.test.d.ts.map +1 -0
  75. package/dist/plugins/__tests__/unit.test.js +66 -0
  76. package/dist/plugins/__tests__/unit.test.js.map +1 -0
  77. package/dist/plugins/customProperty.d.ts +4 -0
  78. package/dist/plugins/customProperty.d.ts.map +1 -0
  79. package/dist/plugins/customProperty.js +23 -0
  80. package/dist/plugins/customProperty.js.map +1 -0
  81. package/dist/plugins/debug.d.ts +5 -4
  82. package/dist/plugins/debug.d.ts.map +1 -1
  83. package/dist/plugins/debug.js +1 -1
  84. package/dist/plugins/debug.js.map +1 -1
  85. package/dist/plugins/embedded.d.ts +7 -0
  86. package/dist/plugins/embedded.d.ts.map +1 -0
  87. package/dist/plugins/embedded.js +23 -0
  88. package/dist/plugins/embedded.js.map +1 -0
  89. package/dist/plugins/enforceLonghand.d.ts +1 -1
  90. package/dist/plugins/enforceLonghand.d.ts.map +1 -1
  91. package/dist/plugins/enforceLonghand.js +9 -9
  92. package/dist/plugins/enforceLonghand.js.map +1 -1
  93. package/dist/plugins/fallbackValue.d.ts +7 -0
  94. package/dist/plugins/fallbackValue.d.ts.map +1 -0
  95. package/dist/plugins/fallbackValue.js +35 -0
  96. package/dist/plugins/fallbackValue.js.map +1 -0
  97. package/dist/plugins/logger.d.ts +9 -0
  98. package/dist/plugins/logger.d.ts.map +1 -0
  99. package/dist/plugins/logger.js +15 -0
  100. package/dist/plugins/logger.js.map +1 -0
  101. package/dist/plugins/prefixer.d.ts +3 -2
  102. package/dist/plugins/prefixer.d.ts.map +1 -1
  103. package/dist/plugins/prefixer.js +51 -46
  104. package/dist/plugins/prefixer.js.map +1 -1
  105. package/dist/plugins/pseudoElement.d.ts +3 -0
  106. package/dist/plugins/pseudoElement.d.ts.map +1 -0
  107. package/dist/plugins/pseudoElement.js +27 -0
  108. package/dist/plugins/pseudoElement.js.map +1 -0
  109. package/dist/plugins/responsiveValue.js +1 -1
  110. package/dist/plugins/responsiveValue.js.map +1 -1
  111. package/dist/plugins/rtl.d.ts +3 -0
  112. package/dist/plugins/rtl.d.ts.map +1 -0
  113. package/dist/plugins/rtl.js +11 -0
  114. package/dist/plugins/rtl.js.map +1 -0
  115. package/dist/plugins/sortCondition.d.ts +4 -0
  116. package/dist/plugins/sortCondition.d.ts.map +1 -0
  117. package/dist/plugins/sortCondition.js +70 -0
  118. package/dist/plugins/sortCondition.js.map +1 -0
  119. package/dist/plugins/sortProperty.d.ts.map +1 -1
  120. package/dist/plugins/sortProperty.js.map +1 -1
  121. package/dist/types.d.ts +16 -8
  122. package/dist/types.d.ts.map +1 -1
  123. package/package.json +14 -17
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createRenderer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRenderer.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/createRenderer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import createRenderer from '../createRenderer.js';
3
+ describe('createRenderer', () => {
4
+ it('returns a css function', () => {
5
+ const css = createRenderer();
6
+ expect(typeof css).toBe('function');
7
+ });
8
+ });
9
+ describe('css function', () => {
10
+ it('returns returns a tuple of the processed style object and a style node', () => {
11
+ const css = createRenderer();
12
+ const [props, node] = css({ color: 'red' });
13
+ expect(props.style).toEqual({ color: 'red' });
14
+ expect(node).toMatchSnapshot();
15
+ });
16
+ it('supports nested selectors', () => {
17
+ const css = createRenderer();
18
+ const [props, node] = css({ color: 'red', ':hover': { color: 'blue' } });
19
+ expect(props.style).toEqual({
20
+ color: 'var(--3dwc1p-1, blue) var(--3dwc1p-0, red)',
21
+ });
22
+ expect(node).toMatchSnapshot();
23
+ });
24
+ });
25
+ //# sourceMappingURL=createRenderer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRenderer.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/createRenderer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,cAAc,MAAM,sBAAsB,CAAA;AAEjD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;QAE5B,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;QAE5B,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAA;IAChC,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;QAE5B,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QACxE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAC1B,KAAK,EAAE,4CAA4C;SACpD,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,21 +1,21 @@
1
- import { createHooks as baseCreateHooks } from '@css-hooks/react';
2
- import { WithHooks as BaseWithHooks } from '@css-hooks/core';
3
1
  import { assignStyle } from 'css-in-js-utils';
4
- import { type T_Fallback, type T_RawStyle, type T_Style } from '../types';
5
- type WithHooks<Hooks, T> = BaseWithHooks<Hooks, T>;
6
- type Plugin<T> = (style: T) => T;
7
- type HookOptions<Hooks extends string> = Parameters<typeof baseCreateHooks<Hooks>>[0];
8
- type Config<T, Hooks extends string> = {
9
- hooks: HookOptions<Hooks>;
10
- fallbacks?: Array<T_Fallback>;
11
- plugins?: Array<Plugin<T>>;
2
+ import { ReactNode } from 'react';
3
+ import { T_Style, T_Props, T_Context } from '../types';
4
+ type StyleInput<T = T_Style> = undefined | T | Array<StyleInput<T>>;
5
+ type Plugin = (style: T_Style, context: T_Context) => T_Style;
6
+ type Config = {
7
+ plugins?: Array<Plugin>;
12
8
  mergeStyle?: typeof assignStyle;
9
+ devMode?: boolean;
13
10
  };
14
- export type Properties<T, Hooks> = Array<Properties<T, Hooks>> | WithHooks<Hooks, T> | undefined;
15
- export type CSSFunction<T, Hooks> = (...style: Array<Properties<T, Hooks>>) => T_RawStyle;
16
- export default function createRenderer<Hooks extends Record<string, string>, T extends Record<string, any> = T_Style>({ hooks, fallbacks, plugins, mergeStyle, }: Config<T, keyof Hooks & string>): [
17
- string,
18
- CSSFunction<T, keyof Hooks & string>
19
- ];
11
+ export default function createRenderer<T extends Record<string, any> = T_Style>(config?: Config): (...style: Array<StyleInput<T>>) => readonly [T_Props, MapIterator<ReactNode> | null] | readonly [T_Props, readonly [...ReactNode[], import("react").DetailedReactHTMLElement<{
12
+ dangerouslySetInnerHTML: {
13
+ __html: string;
14
+ };
15
+ precedence: string;
16
+ href: string;
17
+ key: string;
18
+ nonce: string | undefined;
19
+ }, HTMLElement>]];
20
20
  export {};
21
21
  //# sourceMappingURL=createRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createRenderer.d.ts","sourceRoot":"","sources":["../../src/core/createRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAK7C,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzE,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AAElD,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAA;AAEhC,KAAK,WAAW,CAAC,KAAK,SAAS,MAAM,IAAI,UAAU,CACjD,OAAO,eAAe,CAAC,KAAK,CAAC,CAC9B,CAAC,CAAC,CAAC,CAAA;AAEJ,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,IAAI;IACrC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,WAAW,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,KAAK,IAC3B,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAC3B,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GACnB,SAAS,CAAA;AACb,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,KAAK,IAAI,CAClC,GAAG,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAClC,UAAU,CAAA;AACf,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,EACvC,EACA,KAAK,EACL,SAAc,EACd,OAAY,EACZ,UAAwB,GACzB,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG;IACnC,MAAM;IACN,WAAW,CAAC,CAAC,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC;CACrC,CA2BA"}
1
+ {"version":3,"file":"createRenderer.d.ts","sourceRoot":"","sources":["../../src/core/createRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAIhD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEtD,KAAK,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAEnE,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,KAAK,OAAO,CAAA;AAC7D,KAAK,MAAM,GAAG;IACZ,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,WAAW,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,EAC5E,MAAM,GAAE,MAAW,IAIC,GAAG,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;;;;;;;;kBA8CnD"}
@@ -1,23 +1,76 @@
1
- import { createHooks as baseCreateHooks } from '@css-hooks/react';
1
+ import { each } from '@weser/object';
2
+ import { reduce } from '@weser/array';
2
3
  import { assignStyle } from 'css-in-js-utils';
3
- import fallbackValuePlugin from './fallbackValuePlugin';
4
- import getFallbackCSS from './getFallbackCSS';
5
- export default function createRenderer({ hooks, fallbacks = [], plugins = [], mergeStyle = assignStyle, }) {
6
- if (fallbacks.length > 0) {
7
- plugins.unshift(fallbackValuePlugin(fallbacks));
8
- }
9
- const fallbackCSS = getFallbackCSS(fallbacks);
10
- const [baseCSS, fn] = baseCreateHooks(hooks);
11
- const staticCSS = [baseCSS, fallbackCSS].join('');
12
- function css(...style) {
4
+ import createStyleNode from './createStyleNode';
5
+ import hash from '../helpers/hash';
6
+ export default function createRenderer(config = {}) {
7
+ const { plugins = [], mergeStyle = assignStyle, devMode = false } = config;
8
+ return function css(...style) {
9
+ const flags = {};
10
+ // we use a map to cache nodes to avoid duplicate
11
+ const nodes = new Map();
12
+ const props = {
13
+ style: {},
14
+ };
15
+ function createNode(css) {
16
+ const id = hash(css);
17
+ const node = createStyleNode(id, css);
18
+ nodes.set(id, node);
19
+ }
20
+ const context = {
21
+ devMode,
22
+ createNode,
23
+ props,
24
+ mergeStyle,
25
+ };
13
26
  // we ignore the "Type instantiation is excessively deep and possibly infinite."
14
27
  // @ts-ignore
15
28
  const flattened = style.flat(Infinity);
16
29
  const filtered = flattened.filter(Boolean);
30
+ // @ts-ignore
17
31
  const merged = mergeStyle({}, ...filtered);
18
- const processed = plugins.reduce((processed, plugin) => plugin(processed), merged);
19
- return fn(processed);
32
+ const resolved = resolveStyle(merged, plugins, flags, context);
33
+ props.style = resolved;
34
+ if (Object.keys(flags).length === 0) {
35
+ return [props, nodes.size > 0 ? nodes.values() : null];
36
+ }
37
+ const flagsSetup = Object.values(flags).map(getFlagSetup);
38
+ const flagsUsage = Object.entries(flags).map(([property, flag]) => getFlagUsage(property, flag));
39
+ const join = devMode ? '\n' : '';
40
+ const id = Object.values(flags).sort().join('_');
41
+ const markup = `*{${flagsSetup.join(join)}}${join}${flagsUsage.join(join)}`;
42
+ const node = createStyleNode(id, markup);
43
+ return [props, [...nodes.values(), node]];
44
+ };
45
+ }
46
+ function resolveStyle(style, plugins, flags = {}, context) {
47
+ const processed = reduce(plugins, (style, plugin) => plugin(style, context), style);
48
+ const { devMode } = context;
49
+ each(processed, (value, property) => {
50
+ if (typeof value === 'object' && value !== null) {
51
+ const resolved = resolveStyle(value, plugins, flags, context);
52
+ const flag = devMode
53
+ ? property.replace(/ /g, '-').replace(/[^a-z0-9-]/gi, '')
54
+ : hash(property);
55
+ flags[property] = flag;
56
+ each(resolved, (value, key) => {
57
+ const fallback = processed[key] ?? 'unset';
58
+ processed[key] =
59
+ `var(--${flag}-1, ${value}) var(--${flag}-0, ${fallback})`;
60
+ });
61
+ delete processed[property];
62
+ }
63
+ });
64
+ return processed;
65
+ }
66
+ function getFlagSetup(flag) {
67
+ return `--${flag}-0:initial;--${flag}-1: ;`;
68
+ }
69
+ function getFlagUsage(property, flag) {
70
+ const usage = `--${flag}-0: ;--${flag}-1:initial`;
71
+ if (property.startsWith('@')) {
72
+ return `${property}{*{${usage}}}`;
20
73
  }
21
- return [staticCSS, css];
74
+ return `${property.replace(/&/gi, '*')}{${usage}}`;
22
75
  }
23
76
  //# sourceMappingURL=createRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createRenderer.js","sourceRoot":"","sources":["../../src/core/createRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,cAAc,MAAM,kBAAkB,CAAA;AA0B7C,MAAM,CAAC,OAAO,UAAU,cAAc,CAGpC,EACA,KAAK,EACL,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,EAAE,EACZ,UAAU,GAAG,WAAW,GACQ;IAIhC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAE7C,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAE5C,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEjD,SAAS,GAAG,CAAC,GAAG,KAAiD;QAC/D,gFAAgF;QAChF,aAAa;QACb,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAwB,CAAA;QAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE1C,MAAM,MAAM,GAAG,UAAU,CAAC,EAAO,EAAE,GAAG,QAAQ,CAAC,CAAA;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAC9B,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EACxC,MAAM,CACP,CAAA;QAED,OAAO,EAAE,CAAC,SAAgD,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"createRenderer.js","sourceRoot":"","sources":["../../src/core/createRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export default function createStyleNode(id: string, css: string, nonce?: string): import("react").DetailedReactHTMLElement<{
2
+ dangerouslySetInnerHTML: {
3
+ __html: string;
4
+ };
5
+ precedence: string;
6
+ href: string;
7
+ key: string;
8
+ nonce: string | undefined;
9
+ }, HTMLElement>;
10
+ //# sourceMappingURL=createStyleNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStyleNode.d.ts","sourceRoot":"","sources":["../../src/core/createStyleNode.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM;;;;;;;;gBASf"}
@@ -0,0 +1,11 @@
1
+ import { createElement } from 'react';
2
+ export default function createStyleNode(id, css, nonce) {
3
+ return createElement('style', {
4
+ dangerouslySetInnerHTML: { __html: css },
5
+ precedence: 'low',
6
+ href: id,
7
+ key: id,
8
+ nonce,
9
+ });
10
+ }
11
+ //# sourceMappingURL=createStyleNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStyleNode.js","sourceRoot":"","sources":["../../src/core/createStyleNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,EAAU,EACV,GAAW,EACX,KAAc;IAEd,OAAO,aAAa,CAAC,OAAO,EAAE;QAC5B,uBAAuB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;QACxC,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;QACP,KAAK;KACN,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { T_Style } from '../types';
2
+ export default function extend<T = T_Style>(condition: boolean, style: T): T_Style;
3
+ //# sourceMappingURL=extend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../src/helpers/extend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC,GAAG,OAAO,EACxC,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,CAAC,GACP,OAAO,CAET"}
@@ -0,0 +1,4 @@
1
+ export default function extend(condition, style) {
2
+ return (condition ? style : {});
3
+ }
4
+ //# sourceMappingURL=extend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../src/helpers/extend.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,SAAkB,EAClB,KAAQ;IAER,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAY,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function hash(str: string): string;
2
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/helpers/hash.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBhD"}
@@ -0,0 +1,17 @@
1
+ // copied from restyle
2
+ export default function hash(str) {
3
+ let h = 0 ^ 0x811c9dc5;
4
+ for (let index = 0; index < str.length; index++) {
5
+ h ^= str.charCodeAt(index);
6
+ h = (h * 0x01000193) >>> 0;
7
+ }
8
+ const letters = 'abcdefghijklmnopqrstuvwxyz';
9
+ const base36 = '0123456789' + letters;
10
+ let result = '';
11
+ do {
12
+ result = base36[h % 36] + result;
13
+ h = Math.floor(h / 36);
14
+ } while (h > 0);
15
+ return result;
16
+ }
17
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/helpers/hash.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,GAAW;IACtC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAA;IACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,4BAA4B,CAAA;IAC5C,MAAM,MAAM,GAAG,YAAY,GAAG,OAAO,CAAA;IACrC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,GAAG,CAAC;QACF,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;QAChC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IACxB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC;IAEf,OAAO,MAAM,CAAA;AACf,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,18 @@
1
- export { default as createRenderer, type Properties, type CSSFunction, } from './core/createRenderer';
2
- export { default as fallbackValue } from './core/fallbackValue';
3
- export { default as extend } from './core/extend';
4
- export { default as responsiveValuePlugin, responsiveValue, type T_ResponsiveStyle, type T_ResponsiveValue, } from './plugins/responsiveValue';
5
- export { default as prefixerPlugin, fallbacks as prefixerFallbacks, } from './plugins/prefixer';
6
- export { default as debugPlugin } from './plugins/debug';
1
+ export { default as createRenderer } from './core/createRenderer';
2
+ export { default as customPropertyPlugin, type T_CustomStyle, } from './plugins/customProperty';
3
+ export { default as debugPlugin, type T_DebugStyle } from './plugins/debug';
4
+ export { default as embeddedPlugin, type T_EmbeddedStyle, } from './plugins/embedded';
7
5
  export { default as enforceLonghandPlugin } from './plugins/enforceLonghand';
6
+ export { default as fallbackValuePlugin, type T_Fallback, } from './plugins/fallbackValue';
7
+ export { default as loggerPlugin } from './plugins/logger';
8
+ export { default as prefixerPlugin, fallbacks as prefixerFallbacks, } from './plugins/prefixer';
9
+ export { default as pseudoElementPlugin } from './plugins/pseudoElement';
10
+ export { default as responsiveValuePlugin, responsiveValue, type T_ResponsiveValue, type T_ResponsiveStyle, } from './plugins/responsiveValue';
11
+ export { default as rtlPlugin } from './plugins/rtl';
12
+ export { default as sortConditionPlugin, sortMobileFirst, } from './plugins/sortCondition';
8
13
  export { default as sortPropertyPlugin } from './plugins/sortProperty';
9
14
  export { default as unitPlugin } from './plugins/unit';
15
+ export { default as extend } from './helpers/extend';
10
16
  export { default as useCSSVariable } from './helpers/useCSSVariable';
11
- export { type T_Fallback, type T_Style } from './types';
17
+ export type { T_Style } from './types';
12
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,SAAS,IAAI,iBAAiB,GAC/B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEpE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGjE,OAAO,EACL,OAAO,IAAI,oBAAoB,EAC/B,KAAK,aAAa,GACnB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EACL,OAAO,IAAI,mBAAmB,EAC9B,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,SAAS,IAAI,iBAAiB,GAC/B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EACL,OAAO,IAAI,mBAAmB,EAC9B,eAAe,GAChB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGtD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGpE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -1,11 +1,19 @@
1
- export { default as createRenderer, } from './core/createRenderer';
2
- export { default as fallbackValue } from './core/fallbackValue';
3
- export { default as extend } from './core/extend';
4
- export { default as responsiveValuePlugin, responsiveValue, } from './plugins/responsiveValue';
5
- export { default as prefixerPlugin, fallbacks as prefixerFallbacks, } from './plugins/prefixer';
1
+ export { default as createRenderer } from './core/createRenderer';
2
+ // plugins
3
+ export { default as customPropertyPlugin, } from './plugins/customProperty';
6
4
  export { default as debugPlugin } from './plugins/debug';
5
+ export { default as embeddedPlugin, } from './plugins/embedded';
7
6
  export { default as enforceLonghandPlugin } from './plugins/enforceLonghand';
7
+ export { default as fallbackValuePlugin, } from './plugins/fallbackValue';
8
+ export { default as loggerPlugin } from './plugins/logger';
9
+ export { default as prefixerPlugin, fallbacks as prefixerFallbacks, } from './plugins/prefixer';
10
+ export { default as pseudoElementPlugin } from './plugins/pseudoElement';
11
+ export { default as responsiveValuePlugin, responsiveValue, } from './plugins/responsiveValue';
12
+ export { default as rtlPlugin } from './plugins/rtl';
13
+ export { default as sortConditionPlugin, sortMobileFirst, } from './plugins/sortCondition';
8
14
  export { default as sortPropertyPlugin } from './plugins/sortProperty';
9
15
  export { default as unitPlugin } from './plugins/unit';
16
+ // helpers
17
+ export { default as extend } from './helpers/extend';
10
18
  export { default as useCSSVariable } from './helpers/useCSSVariable';
11
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,cAAc,GAG1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,eAAe,GAGhB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,SAAS,IAAI,iBAAiB,GAC/B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEjE,UAAU;AACV,OAAO,EACL,OAAO,IAAI,oBAAoB,GAEhC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAqB,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EACL,OAAO,IAAI,cAAc,GAE1B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EACL,OAAO,IAAI,mBAAmB,GAE/B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,SAAS,IAAI,iBAAiB,GAC/B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,eAAe,GAGhB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EACL,OAAO,IAAI,mBAAmB,EAC9B,eAAe,GAChB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEtD,UAAU;AACV,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=customProperty.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customProperty.test.d.ts","sourceRoot":"","sources":["../../../src/plugins/__tests__/customProperty.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ import { describe, test, expect, vi } from 'vitest';
2
+ import customPropertyPlugin from '../customProperty';
3
+ describe('customPropertyPlugin', () => {
4
+ const context = {
5
+ mergeStyle: (target, source) => Object.assign(target, source),
6
+ createNode: vi.fn(),
7
+ props: { style: {} },
8
+ devMode: false,
9
+ };
10
+ test('resolves custom properties to style objects', () => {
11
+ const plugin = customPropertyPlugin({
12
+ size: (value) => ({ width: value, height: value }),
13
+ });
14
+ const result = plugin({ size: 100 }, context);
15
+ expect(result.width).toBe(100);
16
+ expect(result.height).toBe(100);
17
+ });
18
+ test('removes original property if not in resolved style', () => {
19
+ const plugin = customPropertyPlugin({
20
+ spacing: (value) => ({ padding: value, margin: value }),
21
+ });
22
+ const result = plugin({ spacing: 10 }, context);
23
+ expect('spacing' in result).toBeFalsy();
24
+ expect(result.padding).toBe(10);
25
+ expect(result.margin).toBe(10);
26
+ });
27
+ test('preserves original property if in resolved style', () => {
28
+ const plugin = customPropertyPlugin({
29
+ padding: (value) => ({ padding: value * 2 }),
30
+ });
31
+ const result = plugin({ padding: 10 }, context);
32
+ expect(result.padding).toBe(20);
33
+ });
34
+ test('handles nested style objects', () => {
35
+ const plugin = customPropertyPlugin({
36
+ size: (value) => ({ width: value, height: value }),
37
+ });
38
+ const result = plugin({
39
+ ':hover': { size: 50 },
40
+ }, context);
41
+ expect(result[':hover']?.width).toBe(50);
42
+ expect(result[':hover']?.height).toBe(50);
43
+ });
44
+ test('passes through non-custom properties', () => {
45
+ const plugin = customPropertyPlugin({
46
+ size: (value) => ({ width: value }),
47
+ });
48
+ const result = plugin({ size: 100, color: 'red' }, context);
49
+ expect(result.color).toBe('red');
50
+ expect(result.width).toBe(100);
51
+ });
52
+ test('handles multiple custom properties', () => {
53
+ const plugin = customPropertyPlugin({
54
+ size: (value) => ({ width: value, height: value }),
55
+ spacing: (value) => ({ padding: value }),
56
+ });
57
+ const result = plugin({ size: 100, spacing: 10 }, context);
58
+ expect(result.width).toBe(100);
59
+ expect(result.height).toBe(100);
60
+ expect(result.padding).toBe(10);
61
+ });
62
+ });
63
+ //# sourceMappingURL=customProperty.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customProperty.test.js","sourceRoot":"","sources":["../../../src/plugins/__tests__/customProperty.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=debug.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.test.d.ts","sourceRoot":"","sources":["../../../src/plugins/__tests__/debug.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { describe, test, expect, vi } from 'vitest';
2
+ import debugPlugin from '../debug';
3
+ // Mock the styles-debugger module
4
+ vi.mock('styles-debugger', () => ({
5
+ CreateStylesDebugger: vi.fn(() => () => ({
6
+ outline: '1px solid red',
7
+ backgroundColor: 'rgba(255,0,0,0.1)',
8
+ })),
9
+ }));
10
+ describe('debugPlugin', () => {
11
+ test('adds debug styles when autoActive is true', () => {
12
+ const plugin = debugPlugin(true);
13
+ const style = { color: 'blue' };
14
+ const result = plugin(style);
15
+ expect(result.outline).toBe('1px solid red');
16
+ expect(result.backgroundColor).toBe('rgba(255,0,0,0.1)');
17
+ expect(result.color).toBe('blue');
18
+ });
19
+ test('does not add debug styles when autoActive is false and no debug flag', () => {
20
+ const plugin = debugPlugin(false);
21
+ const style = { color: 'blue' };
22
+ const result = plugin(style);
23
+ expect(result.outline).toBeUndefined();
24
+ expect(result.color).toBe('blue');
25
+ });
26
+ test('adds debug styles when debug flag is true', () => {
27
+ const plugin = debugPlugin(false);
28
+ const style = { color: 'blue', debug: true };
29
+ const result = plugin(style);
30
+ expect(result.outline).toBe('1px solid red');
31
+ expect(result.debug).toBeUndefined(); // debug flag should be removed
32
+ });
33
+ test('removes debug property from result', () => {
34
+ const plugin = debugPlugin(true);
35
+ const style = { color: 'blue', debug: true };
36
+ const result = plugin(style);
37
+ expect(result.debug).toBeUndefined();
38
+ });
39
+ test('preserves original styles', () => {
40
+ const plugin = debugPlugin(true);
41
+ const style = {
42
+ color: 'red',
43
+ fontSize: 16,
44
+ padding: 10,
45
+ };
46
+ const result = plugin(style);
47
+ expect(result.color).toBe('red');
48
+ expect(result.fontSize).toBe(16);
49
+ expect(result.padding).toBe(10);
50
+ });
51
+ });
52
+ //# sourceMappingURL=debug.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.test.js","sourceRoot":"","sources":["../../../src/plugins/__tests__/debug.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=embedded.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.test.d.ts","sourceRoot":"","sources":["../../../src/plugins/__tests__/embedded.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,76 @@
1
+ import { describe, test, expect, vi } from 'vitest';
2
+ import embeddedPlugin from '../embedded';
3
+ describe('embeddedPlugin', () => {
4
+ const createMockContext = () => ({
5
+ createNode: vi.fn(),
6
+ mergeStyle: vi.fn(),
7
+ props: {},
8
+ });
9
+ test('converts animationName object to keyframe reference', () => {
10
+ const mockContext = createMockContext();
11
+ const plugin = embeddedPlugin();
12
+ const style = {
13
+ animationName: {
14
+ from: { opacity: 0 },
15
+ to: { opacity: 1 },
16
+ },
17
+ };
18
+ const result = plugin(style, mockContext);
19
+ // animationName should be replaced with a string reference
20
+ expect(typeof result.animationName).toBe('string');
21
+ expect(mockContext.createNode).toHaveBeenCalled();
22
+ });
23
+ test('passes through non-animationName object properties', () => {
24
+ const mockContext = createMockContext();
25
+ const plugin = embeddedPlugin();
26
+ const style = {
27
+ color: 'red',
28
+ fontSize: 16,
29
+ };
30
+ const result = plugin(style, mockContext);
31
+ expect(result.color).toBe('red');
32
+ expect(result.fontSize).toBe(16);
33
+ expect(mockContext.createNode).not.toHaveBeenCalled();
34
+ });
35
+ test('handles nested style objects', () => {
36
+ const mockContext = createMockContext();
37
+ const plugin = embeddedPlugin();
38
+ const style = {
39
+ ':hover': {
40
+ animationName: {
41
+ '0%': { transform: 'scale(1)' },
42
+ '100%': { transform: 'scale(1.1)' },
43
+ },
44
+ },
45
+ };
46
+ const result = plugin(style, mockContext);
47
+ expect(typeof result[':hover']?.animationName).toBe('string');
48
+ expect(mockContext.createNode).toHaveBeenCalled();
49
+ });
50
+ test('preserves other properties in style with animationName', () => {
51
+ const mockContext = createMockContext();
52
+ const plugin = embeddedPlugin();
53
+ const style = {
54
+ animationName: {
55
+ from: { opacity: 0 },
56
+ to: { opacity: 1 },
57
+ },
58
+ animationDuration: '1s',
59
+ animationTimingFunction: 'ease-in-out',
60
+ };
61
+ const result = plugin(style, mockContext);
62
+ expect(result.animationDuration).toBe('1s');
63
+ expect(result.animationTimingFunction).toBe('ease-in-out');
64
+ });
65
+ test('handles string animationName (already resolved)', () => {
66
+ const mockContext = createMockContext();
67
+ const plugin = embeddedPlugin();
68
+ const style = {
69
+ animationName: 'existingAnimation',
70
+ };
71
+ const result = plugin(style, mockContext);
72
+ expect(result.animationName).toBe('existingAnimation');
73
+ expect(mockContext.createNode).not.toHaveBeenCalled();
74
+ });
75
+ });
76
+ //# sourceMappingURL=embedded.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.test.js","sourceRoot":"","sources":["../../../src/plugins/__tests__/embedded.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=enforceLonghand.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforceLonghand.test.d.ts","sourceRoot":"","sources":["../../../src/plugins/__tests__/enforceLonghand.test.ts"],"names":[],"mappings":""}