@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,65 @@
1
+ import { describe, test, expect } from 'vitest';
2
+ import sortConditionPlugin, { sortMobileFirst } from '../sortCondition';
3
+ describe('sortConditionPlugin', () => {
4
+ test('sorts conditions using provided sort function', () => {
5
+ const plugin = sortConditionPlugin((a, b) => a.localeCompare(b));
6
+ const style = {
7
+ color: 'red',
8
+ '@media (min-width: 800px)': { color: 'blue' },
9
+ '@media (min-width: 400px)': { color: 'green' },
10
+ };
11
+ const result = plugin(style);
12
+ const keys = Object.keys(result);
13
+ // Primitive properties should come first
14
+ expect(keys[0]).toBe('color');
15
+ });
16
+ test('primitive properties come before nested', () => {
17
+ const plugin = sortConditionPlugin(sortMobileFirst);
18
+ const style = {
19
+ '@media (min-width: 800px)': { color: 'blue' },
20
+ color: 'red',
21
+ fontSize: 16,
22
+ };
23
+ const result = plugin(style);
24
+ const keys = Object.keys(result);
25
+ expect(keys[0]).toBe('color');
26
+ expect(keys[1]).toBe('fontSize');
27
+ });
28
+ test('recursively sorts nested conditions', () => {
29
+ const plugin = sortConditionPlugin(sortMobileFirst);
30
+ const style = {
31
+ '@media (min-width: 800px)': {
32
+ '@media (min-width: 400px)': { color: 'green' },
33
+ color: 'blue',
34
+ },
35
+ };
36
+ const result = plugin(style);
37
+ const nestedKeys = Object.keys(result['@media (min-width: 800px)']);
38
+ expect(nestedKeys[0]).toBe('color');
39
+ });
40
+ });
41
+ describe('sortMobileFirst', () => {
42
+ test('other selectors come before pseudo selectors', () => {
43
+ const result = sortMobileFirst('[data-active]', ':hover');
44
+ expect(result).toBeLessThan(0);
45
+ });
46
+ test('pseudo selectors come before media queries', () => {
47
+ const result = sortMobileFirst(':hover', '@media (min-width: 800px)');
48
+ expect(result).toBeLessThan(0);
49
+ });
50
+ test('media queries come before supports queries', () => {
51
+ const result = sortMobileFirst('@media (min-width: 800px)', '@supports (display: grid)');
52
+ expect(result).toBeLessThan(0);
53
+ });
54
+ test('pseudo selectors follow LVFHA order', () => {
55
+ expect(sortMobileFirst(':link', ':visited')).toBeLessThan(0);
56
+ expect(sortMobileFirst(':visited', ':focus')).toBeLessThan(0);
57
+ expect(sortMobileFirst(':focus', ':hover')).toBeLessThan(0);
58
+ expect(sortMobileFirst(':hover', ':active')).toBeLessThan(0);
59
+ });
60
+ test('media queries are sorted by min-width', () => {
61
+ const result = sortMobileFirst('@media (min-width: 400px)', '@media (min-width: 800px)');
62
+ expect(result).toBeLessThan(0);
63
+ });
64
+ });
65
+ //# sourceMappingURL=sortCondition.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortCondition.test.js","sourceRoot":"","sources":["../../../src/plugins/__tests__/sortCondition.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sortProperty.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortProperty.test.d.ts","sourceRoot":"","sources":["../../../src/plugins/__tests__/sortProperty.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import { describe, test, expect } from 'vitest';
2
+ import sortPropertyPlugin from '../sortProperty';
3
+ describe('sortPropertyPlugin', () => {
4
+ test('sorts properties by priority', () => {
5
+ const plugin = sortPropertyPlugin({
6
+ background: 1,
7
+ backgroundColor: 2,
8
+ });
9
+ const style = { backgroundColor: 'red', background: 'blue' };
10
+ const result = plugin(style);
11
+ const keys = Object.keys(result);
12
+ expect(keys[0]).toBe('background');
13
+ expect(keys[1]).toBe('backgroundColor');
14
+ });
15
+ test('properties without priority come first', () => {
16
+ const plugin = sortPropertyPlugin({
17
+ marginLeft: 2,
18
+ });
19
+ const style = { marginLeft: 10, color: 'red' };
20
+ const result = plugin(style);
21
+ const keys = Object.keys(result);
22
+ expect(keys[0]).toBe('color');
23
+ expect(keys[1]).toBe('marginLeft');
24
+ });
25
+ test('handles nested style objects', () => {
26
+ const plugin = sortPropertyPlugin({
27
+ padding: 1,
28
+ paddingLeft: 2,
29
+ });
30
+ const style = {
31
+ paddingLeft: 10,
32
+ padding: 5,
33
+ ':hover': {
34
+ paddingLeft: 15,
35
+ padding: 10,
36
+ },
37
+ };
38
+ const result = plugin(style);
39
+ const hoverKeys = Object.keys(result[':hover']);
40
+ expect(hoverKeys[0]).toBe('padding');
41
+ expect(hoverKeys[1]).toBe('paddingLeft');
42
+ });
43
+ test('preserves property values', () => {
44
+ const plugin = sortPropertyPlugin({
45
+ padding: 1,
46
+ paddingLeft: 2,
47
+ });
48
+ const style = { padding: 10, paddingLeft: 20 };
49
+ const result = plugin(style);
50
+ expect(Object.keys(result)).toEqual(['padding', 'paddingLeft']);
51
+ });
52
+ test('handles equal priorities', () => {
53
+ const plugin = sortPropertyPlugin({
54
+ margin: 1,
55
+ padding: 1,
56
+ });
57
+ // Both have same priority, order may vary but both should exist
58
+ expect(Object.keys(plugin({ padding: 10, margin: 5 }))).toEqual([
59
+ 'padding',
60
+ 'margin',
61
+ ]);
62
+ expect(Object.keys(plugin({ margin: 5, padding: 10 }))).toEqual([
63
+ 'margin',
64
+ 'padding',
65
+ ]);
66
+ });
67
+ });
68
+ //# sourceMappingURL=sortProperty.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortProperty.test.js","sourceRoot":"","sources":["../../../src/plugins/__tests__/sortProperty.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit.test.d.ts","sourceRoot":"","sources":["../../../src/plugins/__tests__/unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,66 @@
1
+ import { describe, test, expect } from 'vitest';
2
+ import unitPlugin from '../unit';
3
+ describe('unitPlugin', () => {
4
+ test('adds px units to numeric values', () => {
5
+ const plugin = unitPlugin();
6
+ const result = plugin({ fontSize: 16, padding: 8 });
7
+ expect(result.fontSize).toBe('16px');
8
+ expect(result.padding).toBe('8px');
9
+ });
10
+ test('uses custom default unit', () => {
11
+ const plugin = unitPlugin('rem');
12
+ const result = plugin({ fontSize: 1.5, margin: 2 });
13
+ expect(result.fontSize).toBe('1.5rem');
14
+ expect(result.margin).toBe('2rem');
15
+ });
16
+ test('uses property map for specific properties', () => {
17
+ const plugin = unitPlugin('px', { width: '%' });
18
+ const result = plugin({ fontSize: 16, width: 50 });
19
+ expect(result.fontSize).toBe('16px');
20
+ expect(result.width).toBe('50%');
21
+ });
22
+ test('does not add units to zero values', () => {
23
+ const plugin = unitPlugin();
24
+ const result = plugin({ margin: 0, padding: 0 });
25
+ expect(result.margin).toBe(0);
26
+ expect(result.padding).toBe(0);
27
+ });
28
+ test('does not add units to string values that are not numeric', () => {
29
+ const plugin = unitPlugin();
30
+ const result = plugin({ color: 'red', display: 'flex' });
31
+ expect(result.color).toBe('red');
32
+ expect(result.display).toBe('flex');
33
+ });
34
+ test('adds units to string values that are numeric', () => {
35
+ const plugin = unitPlugin();
36
+ const result = plugin({ fontSize: '16' });
37
+ expect(result.fontSize).toBe('16px');
38
+ });
39
+ test('does not add units to unitless properties', () => {
40
+ const plugin = unitPlugin();
41
+ const result = plugin({ zIndex: 10, opacity: 0.5 });
42
+ expect(result.zIndex).toBe(10);
43
+ expect(result.opacity).toBe(0.5);
44
+ });
45
+ test('handles nested objects', () => {
46
+ const plugin = unitPlugin();
47
+ const result = plugin({
48
+ fontSize: 16,
49
+ ':hover': { padding: 8 },
50
+ });
51
+ expect(result.fontSize).toBe('16px');
52
+ expect(result[':hover']?.padding).toBe('8px');
53
+ });
54
+ test('handles array values', () => {
55
+ const plugin = unitPlugin();
56
+ const result = plugin({ padding: [8, 16, 8, 16] });
57
+ expect(result.padding).toEqual(['8px', '16px', '8px', '16px']);
58
+ });
59
+ test('uses custom isUnitlessProperty function', () => {
60
+ const plugin = unitPlugin('px', {}, (prop) => prop === 'padding');
61
+ const result = plugin({ padding: 10, margin: 20 });
62
+ expect(result.padding).toBe(10);
63
+ expect(result.margin).toBe('20px');
64
+ });
65
+ });
66
+ //# sourceMappingURL=unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit.test.js","sourceRoot":"","sources":["../../../src/plugins/__tests__/unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { T_Context, T_Style } from '../types';
2
+ export type T_CustomStyle<T extends Record<string, (value: any) => T_Style>> = Partial<Record<keyof T, Parameters<T[keyof T]>[0]>>;
3
+ export default function customPropertyPlugin<T extends Record<string, (value: any) => T_Style>>(properties: T): <T_1 extends Record<string, any> = T_Style>(style: T_1, context: T_Context) => T_Style;
4
+ //# sourceMappingURL=customProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customProperty.d.ts","sourceRoot":"","sources":["../../src/plugins/customProperty.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE7C,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IACzE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAErD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,EACjD,UAAU,EAAE,CAAC,IACkB,GAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,EACpE,OAAO,GAAC,EACR,SAAS,SAAS,aAIrB"}
@@ -0,0 +1,23 @@
1
+ import { each } from '@weser/object';
2
+ import isPlainObject from 'isobject';
3
+ export default function customPropertyPlugin(properties) {
4
+ return function customProperty(style, context) {
5
+ return resolveCustomProperty(style, properties, context);
6
+ };
7
+ }
8
+ function resolveCustomProperty(style, properties, context) {
9
+ each(style, (value, property) => {
10
+ if (properties.hasOwnProperty(property)) {
11
+ const resolved = properties[property](value);
12
+ context.mergeStyle(style, resolved);
13
+ if (!resolved.hasOwnProperty(property)) {
14
+ delete style[property];
15
+ }
16
+ }
17
+ if (style.hasOwnProperty(property) && isPlainObject(value)) {
18
+ style[property] = resolveCustomProperty(value, properties, context);
19
+ }
20
+ });
21
+ return style;
22
+ }
23
+ //# sourceMappingURL=customProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customProperty.js","sourceRoot":"","sources":["../../src/plugins/customProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,aAAa,MAAM,UAAU,CAAA;AAOpC,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAE1C,UAAa;IACb,OAAO,SAAS,cAAc,CAC5B,KAAQ,EACR,OAAkB;QAElB,OAAO,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAE5B,KAAc,EAAE,UAAa,EAAE,OAAkB;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC9B,IAAI,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAmB,CAAC,CAAC,KAAK,CAAC,CAAA;YACvD,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YAEnC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QACrE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,6 +1,7 @@
1
- import { Config } from 'styles-debugger';
2
- import { type T_Style } from '../types';
3
- export default function debugPlugin<T = T_Style>(autoActive?: boolean, config?: Config): (style: T & {
1
+ import { type Config } from 'styles-debugger';
2
+ import { T_Style } from '../types';
3
+ export type T_DebugStyle = {
4
4
  debug?: boolean;
5
- }) => any;
5
+ };
6
+ export default function debugPlugin<T = T_Style>(autoActive?: boolean, config?: Config): (style: T & T_DebugStyle) => any;
6
7
  //# sourceMappingURL=debug.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/plugins/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,GAAG,OAAO,EAC7C,UAAU,UAAO,EACjB,MAAM,GAAE,MAAW,IAIG,OAAO,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,SAYrD"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/plugins/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EACZ,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,GAAG,OAAO,EAC7C,UAAU,UAAO,EACjB,MAAM,GAAE,MAAW,IAIG,OAAO,CAAC,GAAG,YAAY,SAY9C"}
@@ -3,7 +3,7 @@ export default function debugPlugin(autoActive = true, config = {}) {
3
3
  const debugStyle = createStylesDebugger(config);
4
4
  return function debug(style) {
5
5
  if (autoActive || style?.debug) {
6
- const { debug, ...rest } = style;
6
+ const { debug: _, ...rest } = style;
7
7
  return {
8
8
  ...rest,
9
9
  ...debugStyle(),
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/plugins/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,IAAI,oBAAoB,GAE7C,MAAM,iBAAiB,CAAA;AAGxB,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,UAAU,GAAG,IAAI,EACjB,SAAiB,EAAE;IAEnB,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAE/C,OAAO,SAAS,KAAK,CAAC,KAA8B;QAClD,IAAI,UAAU,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;YAEhC,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,UAAU,EAAE;aAChB,CAAA;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/plugins/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,IAAI,oBAAoB,GAE7C,MAAM,iBAAiB,CAAA;AAQxB,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,UAAU,GAAG,IAAI,EACjB,SAAiB,EAAE;IAEnB,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAE/C,OAAO,SAAS,KAAK,CAAC,KAAuB;QAC3C,IAAI,UAAU,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YAC/B,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;YAEnC,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,UAAU,EAAE;aAChB,CAAA;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type T_Keyframe } from '@weser/keyframe';
2
+ import { T_Context, T_Style } from '../types';
3
+ export type T_EmbeddedStyle = Omit<T_Style, 'animationName'> & {
4
+ animationName?: T_Style['animationName'] | T_Keyframe;
5
+ };
6
+ export default function embeddedPlugin<T extends Record<string, any> = T_Style>(): (style: T, context: T_Context) => T;
7
+ //# sourceMappingURL=embedded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.d.ts","sourceRoot":"","sources":["../../src/plugins/embedded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAA;CACtD,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,MAEd,OAAO,CAAC,EAAE,SAAS,SAAS,OAGtD"}
@@ -0,0 +1,23 @@
1
+ import { createKeyframe } from '@weser/keyframe';
2
+ import { each } from '@weser/object';
3
+ export default function embeddedPlugin() {
4
+ return function embedded(style, context) {
5
+ return resolveEmbedded(style, context);
6
+ };
7
+ }
8
+ function resolveEmbedded(style, context) {
9
+ each(style, (value, property) => {
10
+ if (typeof value === 'object' && value !== null) {
11
+ if (property === 'animationName') {
12
+ const [keyframe, node] = createKeyframe(value);
13
+ context.createNode(node.props.dangerouslySetInnerHTML.__html);
14
+ style[property] = keyframe;
15
+ }
16
+ else {
17
+ style[property] = resolveEmbedded(value, context);
18
+ }
19
+ }
20
+ });
21
+ return style;
22
+ }
23
+ //# sourceMappingURL=embedded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.js","sourceRoot":"","sources":["../../src/plugins/embedded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAmB,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAQpC,MAAM,CAAC,OAAO,UAAU,cAAc;IAGpC,OAAO,SAAS,QAAQ,CAAC,KAAQ,EAAE,OAAkB;QACnD,OAAO,eAAe,CAAI,KAAK,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CACtB,KAAQ,EACR,OAAkB;IAElB,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;gBACjC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;gBAC9C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAA;gBAC7D,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAe,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type T_Style } from '../types';
2
2
  type BorderMode = 'none' | 'longhand' | 'directional';
3
- export default function enforceLonghandPlugin<T extends Record<string, any> = T_Style>(borderMode?: BorderMode): (style: T) => T;
3
+ export default function enforceLonghandPlugin<T extends T_Style>(borderMode?: BorderMode): (style: T) => T;
4
4
  export {};
5
5
  //# sourceMappingURL=enforceLonghand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enforceLonghand.d.ts","sourceRoot":"","sources":["../../src/plugins/enforceLonghand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAA;AAsHvC,KAAK,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAA;AACrD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,EACvC,UAAU,GAAE,UAAmB,mBAQhC"}
1
+ {"version":3,"file":"enforceLonghand.d.ts","sourceRoot":"","sources":["../../src/plugins/enforceLonghand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC,KAAK,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAA;AACrD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,CAAC,SAAS,OAAO,EAC7D,UAAU,GAAE,UAAmB,mBAShC"}
@@ -1,6 +1,11 @@
1
1
  import sortProperty from './sortProperty';
2
- function capitalize(str) {
3
- return str.charAt(0).toUpperCase() + str.slice(1);
2
+ export default function enforceLonghandPlugin(borderMode = 'none') {
3
+ const propertyPriority = getPropertyPriority({
4
+ borderDirectional: borderMode === 'directional' ? 3 : 2,
5
+ borderLonghand: borderMode === 'longhand' ? 3 : 2,
6
+ borderDirectionalLonghand: borderMode === 'none' ? 3 : 4,
7
+ });
8
+ return sortProperty(propertyPriority);
4
9
  }
5
10
  function getPropertyPriority({ borderLonghand, borderDirectional, borderDirectionalLonghand, }) {
6
11
  const propertyPriority = {
@@ -97,12 +102,7 @@ function getPropertyPriority({ borderLonghand, borderDirectional, borderDirectio
97
102
  return acc;
98
103
  }, propertyPriority);
99
104
  }
100
- export default function enforceLonghandPlugin(borderMode = 'none') {
101
- const propertyPriority = getPropertyPriority({
102
- borderDirectional: borderMode === 'directional' ? 3 : 2,
103
- borderLonghand: borderMode === 'longhand' ? 3 : 2,
104
- borderDirectionalLonghand: borderMode === 'none' ? 3 : 4,
105
- });
106
- return sortProperty(propertyPriority);
105
+ function capitalize(str) {
106
+ return str.charAt(0).toUpperCase() + str.slice(1);
107
107
  }
108
108
  //# sourceMappingURL=enforceLonghand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enforceLonghand.js","sourceRoot":"","sources":["../../src/plugins/enforceLonghand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enforceLonghand.js","sourceRoot":"","sources":["../../src/plugins/enforceLonghand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { T_Context, T_Style } from '../types';
2
+ export type T_Fallback = {
3
+ property: Array<keyof T_Style>;
4
+ fallback: (value: string) => Array<string> | undefined;
5
+ };
6
+ export default function fallbackValuePlugin(fallbacks?: Array<T_Fallback>): (style: T_Style, context: T_Context) => T_Style;
7
+ //# sourceMappingURL=fallbackValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallbackValue.d.ts","sourceRoot":"","sources":["../../src/plugins/fallbackValue.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE7C,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,CAAA;IAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACvD,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,SAAS,GAAE,KAAK,CAAC,UAAU,CAAM,IAC7C,OAAO,OAAO,EAAE,SAAS,SAAS,aAGjE"}
@@ -0,0 +1,35 @@
1
+ import { each } from '@weser/object';
2
+ import { hyphenateProperty } from 'css-in-js-utils';
3
+ import isPlainObject from 'isobject';
4
+ export default function fallbackValuePlugin(fallbacks = []) {
5
+ return function fallbackValue(style, context) {
6
+ return resolveFallbackValue(style, fallbacks, context);
7
+ };
8
+ }
9
+ function resolveFallbackValue(style, fallbacks, context) {
10
+ each(style, (value, property) => {
11
+ if (isPlainObject(value)) {
12
+ style[property] = resolveFallbackValue(value, fallbacks, context);
13
+ }
14
+ else {
15
+ const fallback = fallbacks.find((fallback) => fallback.property.includes(property) && fallback.fallback(value));
16
+ if (fallback) {
17
+ const values = fallback.fallback(value) ?? [];
18
+ const css = getFallbackCSS(property, values, value);
19
+ const variable = getFallbackVariable(property, value);
20
+ context.createNode(css);
21
+ style[property] = `var(${variable})`;
22
+ }
23
+ }
24
+ });
25
+ return style;
26
+ }
27
+ function getFallbackCSS(property, values, value) {
28
+ const rootCSS = `:root {${getFallbackVariable(property, value)}:;}`;
29
+ const supportsCSS = values.map((item) => `@supports (${hyphenateProperty(property)}:${item}){:root{${getFallbackVariable(property, value)}:${item}}}`);
30
+ return rootCSS + supportsCSS.join('');
31
+ }
32
+ function getFallbackVariable(property, value) {
33
+ return '--' + property + '-' + value;
34
+ }
35
+ //# sourceMappingURL=fallbackValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallbackValue.js","sourceRoot":"","sources":["../../src/plugins/fallbackValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,aAAa,MAAM,UAAU,CAAA;AASpC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,YAA+B,EAAE;IAC3E,OAAO,SAAS,aAAa,CAAC,KAAc,EAAE,OAAkB;QAC9D,OAAO,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc,EACd,SAA4B,EAC5B,OAAkB;IAElB,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC9B,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAC7B,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CACnE,CAAA;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;gBAC7C,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;gBACnD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;gBACrD,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;gBACvB,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,QAAQ,GAAG,CAAA;YACtC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,cAAc,CACrB,QAAgB,EAChB,MAAqB,EACrB,KAAa;IAEb,MAAM,OAAO,GAAG,UAAU,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAA;IAEnE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAC5B,CAAC,IAAI,EAAE,EAAE,CACP,cAAc,iBAAiB,CAAC,QAAQ,CAAC,IAAI,IAAI,WAAW,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAC/G,CAAA;IAED,OAAO,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,KAAa;IAC1D,OAAO,IAAI,GAAG,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAA;AACtC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { T_Style } from '../types';
2
+ type Config = {
3
+ prefix?: string;
4
+ stringify?: boolean;
5
+ clone?: boolean;
6
+ };
7
+ export default function logger(config?: Config): (style: T_Style) => T_Style;
8
+ export {};
9
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/plugins/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AACD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,GAAE,MAAW,IAGzB,OAAO,OAAO,aAYtC"}
@@ -0,0 +1,15 @@
1
+ export default function logger(config = {}) {
2
+ const { prefix, stringify = false, clone = true } = config;
3
+ return function logger(style) {
4
+ const cloned = clone ? { ...style } : style;
5
+ const value = stringify ? JSON.stringify(cloned) : cloned;
6
+ if (prefix) {
7
+ console.log(prefix, value);
8
+ }
9
+ else {
10
+ console.log(value);
11
+ }
12
+ return style;
13
+ };
14
+ }
15
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/plugins/logger.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,SAAiB,EAAE;IAChD,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAE1D,OAAO,SAAS,MAAM,CAAC,KAAc;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;QAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAEzD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
- import { type T_Fallback, type T_Style } from '../types';
2
- export default function prefixerPlugin<T = T_Style>(): (style: T) => {};
1
+ import { type T_Style } from '../types';
2
+ import { type T_Fallback } from './fallbackValue';
3
+ export default function prefixerPlugin(): (style: T_Style) => T_Style;
3
4
  export declare const fallbacks: Array<T_Fallback>;
4
5
  //# sourceMappingURL=prefixer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prefixer.d.ts","sourceRoot":"","sources":["../../src/plugins/prefixer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAA;AA+CxD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,GAAG,OAAO,MACd,OAAO,CAAC,QAuB3C;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,UAAU,CAuBvC,CAAA"}
1
+ {"version":3,"file":"prefixer.d.ts","sourceRoot":"","sources":["../../src/plugins/prefixer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,CAAC,OAAO,UAAU,cAAc,KACF,OAAO,OAAO,aAiBjD;AACD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,UAAU,CA+BvC,CAAA"}
@@ -1,4 +1,55 @@
1
+ import { each } from '@weser/object';
1
2
  import isObject from 'isobject';
3
+ export default function prefixerPlugin() {
4
+ return function addVendorPrefixes(style) {
5
+ const prefixed = {};
6
+ each(style, (value, property) => {
7
+ if (isObject(value)) {
8
+ prefixed[property] = addVendorPrefixes(value);
9
+ }
10
+ else {
11
+ if (prefixes[property]) {
12
+ const prefixedProperty = prefixes[property] + capitalize(property);
13
+ prefixed[prefixedProperty] = value;
14
+ }
15
+ prefixed[property] = value;
16
+ }
17
+ });
18
+ return prefixed;
19
+ };
20
+ }
21
+ export const fallbacks = [
22
+ {
23
+ property: [
24
+ 'width',
25
+ 'minWidth',
26
+ 'maxWidth',
27
+ 'height',
28
+ 'minHeight',
29
+ 'maxHeight',
30
+ ],
31
+ fallback: (value) => {
32
+ if (value === 'min-content') {
33
+ return ['-webkit-min-content', 'min-content'];
34
+ }
35
+ },
36
+ },
37
+ {
38
+ property: [
39
+ 'width',
40
+ 'minWidth',
41
+ 'maxWidth',
42
+ 'height',
43
+ 'minHeight',
44
+ 'maxHeight',
45
+ ],
46
+ fallback: (value) => {
47
+ if (value === 'max-content') {
48
+ return ['-webkit-max-content', 'max-content'];
49
+ }
50
+ },
51
+ },
52
+ ];
2
53
  function capitalize(str) {
3
54
  return str.charAt(0).toUpperCase() + str.slice(1);
4
55
  }
@@ -41,50 +92,4 @@ const prefixes = {
41
92
  textDecorationLine: w,
42
93
  textDecorationColor: w,
43
94
  };
44
- export default function prefixerPlugin() {
45
- return function addVendorPrefixes(style) {
46
- const prefixed = {};
47
- for (const property in style) {
48
- const value = style[property];
49
- if (isObject(value)) {
50
- // @ts-ignore
51
- prefixed[property] = addVendorPrefixes(value);
52
- }
53
- else {
54
- // @ts-ignore
55
- if (prefixes[property]) {
56
- // @ts-ignore
57
- prefixed[prefixes[property] + capitalize(property)] = value;
58
- }
59
- // @ts-ignore
60
- prefixed[property] = value;
61
- }
62
- }
63
- return prefixed;
64
- };
65
- }
66
- export const fallbacks = [
67
- {
68
- property: [
69
- 'width',
70
- 'minWidth',
71
- 'maxWidth',
72
- 'height',
73
- 'minHeight',
74
- 'maxHeight',
75
- ],
76
- values: ['-webkit-min-content', 'min-content'],
77
- },
78
- {
79
- property: [
80
- 'width',
81
- 'minWidth',
82
- 'maxWidth',
83
- 'height',
84
- 'minHeight',
85
- 'maxHeight',
86
- ],
87
- values: ['-webkit-max-content', 'max-content'],
88
- },
89
- ];
90
95
  //# sourceMappingURL=prefixer.js.map