@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.
- package/dist/core/__tests__/createRenderer.test.d.ts +2 -0
- package/dist/core/__tests__/createRenderer.test.d.ts.map +1 -0
- package/dist/core/__tests__/createRenderer.test.js +25 -0
- package/dist/core/__tests__/createRenderer.test.js.map +1 -0
- package/dist/core/createRenderer.d.ts +16 -16
- package/dist/core/createRenderer.d.ts.map +1 -1
- package/dist/core/createRenderer.js +67 -14
- package/dist/core/createRenderer.js.map +1 -1
- package/dist/core/createStyleNode.d.ts +10 -0
- package/dist/core/createStyleNode.d.ts.map +1 -0
- package/dist/core/createStyleNode.js +11 -0
- package/dist/core/createStyleNode.js.map +1 -0
- package/dist/helpers/extend.d.ts +3 -0
- package/dist/helpers/extend.d.ts.map +1 -0
- package/dist/helpers/extend.js +4 -0
- package/dist/helpers/extend.js.map +1 -0
- package/dist/helpers/hash.d.ts +2 -0
- package/dist/helpers/hash.d.ts.map +1 -0
- package/dist/helpers/hash.js +17 -0
- package/dist/helpers/hash.js.map +1 -0
- package/dist/index.d.ts +13 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -5
- package/dist/index.js.map +1 -1
- package/dist/plugins/__tests__/customProperty.test.d.ts +2 -0
- package/dist/plugins/__tests__/customProperty.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/customProperty.test.js +63 -0
- package/dist/plugins/__tests__/customProperty.test.js.map +1 -0
- package/dist/plugins/__tests__/debug.test.d.ts +2 -0
- package/dist/plugins/__tests__/debug.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/debug.test.js +52 -0
- package/dist/plugins/__tests__/debug.test.js.map +1 -0
- package/dist/plugins/__tests__/embedded.test.d.ts +2 -0
- package/dist/plugins/__tests__/embedded.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/embedded.test.js +76 -0
- package/dist/plugins/__tests__/embedded.test.js.map +1 -0
- package/dist/plugins/__tests__/enforceLonghand.test.d.ts +2 -0
- package/dist/plugins/__tests__/enforceLonghand.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/enforceLonghand.test.js +88 -0
- package/dist/plugins/__tests__/enforceLonghand.test.js.map +1 -0
- package/dist/plugins/__tests__/fallbackValue.test.d.ts +2 -0
- package/dist/plugins/__tests__/fallbackValue.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/fallbackValue.test.js +94 -0
- package/dist/plugins/__tests__/fallbackValue.test.js.map +1 -0
- package/dist/plugins/__tests__/logger.test.d.ts +2 -0
- package/dist/plugins/__tests__/logger.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/logger.test.js +57 -0
- package/dist/plugins/__tests__/logger.test.js.map +1 -0
- package/dist/plugins/__tests__/prefixer.test.d.ts +2 -0
- package/dist/plugins/__tests__/prefixer.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/prefixer.test.js +64 -0
- package/dist/plugins/__tests__/prefixer.test.js.map +1 -0
- package/dist/plugins/__tests__/pseudoElement.test.d.ts +2 -0
- package/dist/plugins/__tests__/pseudoElement.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/pseudoElement.test.js +92 -0
- package/dist/plugins/__tests__/pseudoElement.test.js.map +1 -0
- package/dist/plugins/__tests__/responsiveValue.test.d.ts +2 -0
- package/dist/plugins/__tests__/responsiveValue.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/responsiveValue.test.js +68 -0
- package/dist/plugins/__tests__/responsiveValue.test.js.map +1 -0
- package/dist/plugins/__tests__/rtl.test.d.ts +2 -0
- package/dist/plugins/__tests__/rtl.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/rtl.test.js +57 -0
- package/dist/plugins/__tests__/rtl.test.js.map +1 -0
- package/dist/plugins/__tests__/sortCondition.test.d.ts +2 -0
- package/dist/plugins/__tests__/sortCondition.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/sortCondition.test.js +65 -0
- package/dist/plugins/__tests__/sortCondition.test.js.map +1 -0
- package/dist/plugins/__tests__/sortProperty.test.d.ts +2 -0
- package/dist/plugins/__tests__/sortProperty.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/sortProperty.test.js +68 -0
- package/dist/plugins/__tests__/sortProperty.test.js.map +1 -0
- package/dist/plugins/__tests__/unit.test.d.ts +2 -0
- package/dist/plugins/__tests__/unit.test.d.ts.map +1 -0
- package/dist/plugins/__tests__/unit.test.js +66 -0
- package/dist/plugins/__tests__/unit.test.js.map +1 -0
- package/dist/plugins/customProperty.d.ts +4 -0
- package/dist/plugins/customProperty.d.ts.map +1 -0
- package/dist/plugins/customProperty.js +23 -0
- package/dist/plugins/customProperty.js.map +1 -0
- package/dist/plugins/debug.d.ts +5 -4
- package/dist/plugins/debug.d.ts.map +1 -1
- package/dist/plugins/debug.js +1 -1
- package/dist/plugins/debug.js.map +1 -1
- package/dist/plugins/embedded.d.ts +7 -0
- package/dist/plugins/embedded.d.ts.map +1 -0
- package/dist/plugins/embedded.js +23 -0
- package/dist/plugins/embedded.js.map +1 -0
- package/dist/plugins/enforceLonghand.d.ts +1 -1
- package/dist/plugins/enforceLonghand.d.ts.map +1 -1
- package/dist/plugins/enforceLonghand.js +9 -9
- package/dist/plugins/enforceLonghand.js.map +1 -1
- package/dist/plugins/fallbackValue.d.ts +7 -0
- package/dist/plugins/fallbackValue.d.ts.map +1 -0
- package/dist/plugins/fallbackValue.js +35 -0
- package/dist/plugins/fallbackValue.js.map +1 -0
- package/dist/plugins/logger.d.ts +9 -0
- package/dist/plugins/logger.d.ts.map +1 -0
- package/dist/plugins/logger.js +15 -0
- package/dist/plugins/logger.js.map +1 -0
- package/dist/plugins/prefixer.d.ts +3 -2
- package/dist/plugins/prefixer.d.ts.map +1 -1
- package/dist/plugins/prefixer.js +51 -46
- package/dist/plugins/prefixer.js.map +1 -1
- package/dist/plugins/pseudoElement.d.ts +3 -0
- package/dist/plugins/pseudoElement.d.ts.map +1 -0
- package/dist/plugins/pseudoElement.js +27 -0
- package/dist/plugins/pseudoElement.js.map +1 -0
- package/dist/plugins/responsiveValue.js +1 -1
- package/dist/plugins/responsiveValue.js.map +1 -1
- package/dist/plugins/rtl.d.ts +3 -0
- package/dist/plugins/rtl.d.ts.map +1 -0
- package/dist/plugins/rtl.js +11 -0
- package/dist/plugins/rtl.js.map +1 -0
- package/dist/plugins/sortCondition.d.ts +4 -0
- package/dist/plugins/sortCondition.d.ts.map +1 -0
- package/dist/plugins/sortCondition.js +70 -0
- package/dist/plugins/sortCondition.js.map +1 -0
- package/dist/plugins/sortProperty.d.ts.map +1 -1
- package/dist/plugins/sortProperty.js.map +1 -1
- package/dist/types.d.ts +16 -8
- package/dist/types.d.ts.map +1 -1
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/dist/plugins/debug.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Config } from 'styles-debugger';
|
|
2
|
-
import {
|
|
3
|
-
export
|
|
1
|
+
import { type Config } from 'styles-debugger';
|
|
2
|
+
import { T_Style } from '../types';
|
|
3
|
+
export type T_DebugStyle = {
|
|
4
4
|
debug?: boolean;
|
|
5
|
-
}
|
|
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,
|
|
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"}
|
package/dist/plugins/debug.js
CHANGED
|
@@ -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;
|
|
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
|
|
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":"
|
|
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
|
|
3
|
-
|
|
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
|
-
|
|
101
|
-
|
|
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":"AAAA,OAAO,YAAuC,MAAM,gBAAgB,CAAA;AAIpE,
|
|
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 @@
|
|
|
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
|
|
2
|
-
|
|
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":"
|
|
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"}
|
package/dist/plugins/prefixer.js
CHANGED
|
@@ -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
|