@codeleap/styles 7.0.0 → 7.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/classes/Cacher.js +166 -0
- package/dist/classes/Cacher.js.map +1 -0
- package/dist/classes/StaleControl.js +101 -0
- package/dist/classes/StaleControl.js.map +1 -0
- package/dist/classes/StyleCache.js +91 -0
- package/dist/classes/StyleCache.js.map +1 -0
- package/dist/classes/StylePersistor.js +54 -0
- package/dist/classes/StylePersistor.js.map +1 -0
- package/dist/classes/StyleRegistry.js +470 -0
- package/dist/classes/StyleRegistry.js.map +1 -0
- package/dist/classes/index.js +3 -0
- package/dist/classes/index.js.map +1 -0
- package/dist/constants.js +24 -0
- package/dist/constants.js.map +1 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useCompositionStyles.js +27 -0
- package/dist/hooks/useCompositionStyles.js.map +1 -0
- package/dist/hooks/useNestedStylesByKey.js +17 -0
- package/dist/hooks/useNestedStylesByKey.js.map +1 -0
- package/dist/hooks/useStyleObserver.js +22 -0
- package/dist/hooks/useStyleObserver.js.map +1 -0
- package/dist/hooks/useTheme.js +24 -0
- package/dist/hooks/useTheme.js.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/calc.js +44 -0
- package/dist/lib/calc.js.map +1 -0
- package/dist/lib/createStyles.js +58 -0
- package/dist/lib/createStyles.js.map +1 -0
- package/dist/lib/createTheme.js +143 -0
- package/dist/lib/createTheme.js.map +1 -0
- package/dist/lib/cssVariables.js +73 -0
- package/dist/lib/cssVariables.js.map +1 -0
- package/dist/lib/index.js +5 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/theme/generateColorScheme.js +38 -0
- package/dist/theme/generateColorScheme.js.map +1 -0
- package/dist/theme/index.js +4 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/themeStore.js +139 -0
- package/dist/theme/themeStore.js.map +1 -0
- package/dist/theme/validateTheme.js +33 -0
- package/dist/theme/validateTheme.js.map +1 -0
- package/dist/tools/colors.js +138 -0
- package/dist/tools/colors.js.map +1 -0
- package/dist/tools/deepClone.js +8 -0
- package/dist/tools/deepClone.js.map +1 -0
- package/dist/tools/deepmerge.js +13 -0
- package/dist/tools/deepmerge.js.map +1 -0
- package/dist/tools/hashKey.js +16 -0
- package/dist/tools/hashKey.js.map +1 -0
- package/dist/tools/index.js +7 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/minifier.js +34 -0
- package/dist/tools/minifier.js.map +1 -0
- package/dist/tools/multiplierProperty.js +9 -0
- package/dist/tools/multiplierProperty.js.map +1 -0
- package/dist/types/cache.js +2 -0
- package/dist/types/cache.js.map +1 -0
- package/dist/types/component.js +2 -0
- package/dist/types/component.js.map +1 -0
- package/dist/types/core.js +3 -0
- package/dist/types/core.js.map +1 -0
- package/dist/types/icon.js +3 -0
- package/dist/types/icon.js.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/spacing.js +28 -0
- package/dist/types/spacing.js.map +1 -0
- package/dist/types/store.js +2 -0
- package/dist/types/store.js.map +1 -0
- package/dist/types/style.js +2 -0
- package/dist/types/style.js.map +1 -0
- package/dist/types/theme.js +2 -0
- package/dist/types/theme.js.map +1 -0
- package/dist/utils.js +97 -0
- package/dist/utils.js.map +1 -0
- package/dist/variants/borderCreator.js +26 -0
- package/dist/variants/borderCreator.js.map +1 -0
- package/dist/variants/createAppVariants.js +17 -0
- package/dist/variants/createAppVariants.js.map +1 -0
- package/dist/variants/defaultVariants.js +137 -0
- package/dist/variants/defaultVariants.js.map +1 -0
- package/dist/variants/dynamicVariants.js +89 -0
- package/dist/variants/dynamicVariants.js.map +1 -0
- package/dist/variants/index.js +7 -0
- package/dist/variants/index.js.map +1 -0
- package/dist/variants/mediaQuery.js +56 -0
- package/dist/variants/mediaQuery.js.map +1 -0
- package/dist/variants/spacing.js +81 -0
- package/dist/variants/spacing.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static built-in style variants available to every component without any registration.
|
|
3
|
+
* These are merged as the lowest-priority layer in `commonVariants`, so app-defined
|
|
4
|
+
* variants and dynamic variants can override them.
|
|
5
|
+
*
|
|
6
|
+
* Notable entries:
|
|
7
|
+
* - `grow` — sets `flex: 1` (not `display: flex`; use `row`/`column` for flex containers).
|
|
8
|
+
* - `inset` — shorthand for `{ top:0, bottom:0, left:0, right:0 }` (useful with `absolute`).
|
|
9
|
+
* - `insetX` / `insetY` — pin to horizontal or vertical edges only.
|
|
10
|
+
* - `centerChildren` — centers children via `alignItems`/`justifyContent`; requires a flex container.
|
|
11
|
+
* - `'visibility:hidden'` / `'display:none'` — use quoted keys in style arrays.
|
|
12
|
+
*/
|
|
13
|
+
export const defaultVariants = {
|
|
14
|
+
block: {
|
|
15
|
+
display: 'block',
|
|
16
|
+
},
|
|
17
|
+
grow: {
|
|
18
|
+
flex: 1,
|
|
19
|
+
},
|
|
20
|
+
absolute: {
|
|
21
|
+
position: 'absolute',
|
|
22
|
+
},
|
|
23
|
+
relative: {
|
|
24
|
+
position: 'relative',
|
|
25
|
+
},
|
|
26
|
+
fixed: {
|
|
27
|
+
position: 'fixed',
|
|
28
|
+
},
|
|
29
|
+
sticky: {
|
|
30
|
+
position: 'sticky',
|
|
31
|
+
},
|
|
32
|
+
insetX: {
|
|
33
|
+
left: 0,
|
|
34
|
+
right: 0,
|
|
35
|
+
},
|
|
36
|
+
insetY: {
|
|
37
|
+
top: 0,
|
|
38
|
+
bottom: 0,
|
|
39
|
+
},
|
|
40
|
+
full: {
|
|
41
|
+
width: '100%',
|
|
42
|
+
height: '100%',
|
|
43
|
+
},
|
|
44
|
+
noWrap: {
|
|
45
|
+
whiteSpace: 'nowrap',
|
|
46
|
+
},
|
|
47
|
+
fullWidth: {
|
|
48
|
+
width: '100%',
|
|
49
|
+
},
|
|
50
|
+
fullHeight: {
|
|
51
|
+
height: '100%',
|
|
52
|
+
},
|
|
53
|
+
inset: {
|
|
54
|
+
top: 0,
|
|
55
|
+
bottom: 0,
|
|
56
|
+
left: 0,
|
|
57
|
+
right: 0,
|
|
58
|
+
},
|
|
59
|
+
centerRow: {
|
|
60
|
+
display: 'flex',
|
|
61
|
+
flexDirection: 'row',
|
|
62
|
+
alignItems: 'center',
|
|
63
|
+
},
|
|
64
|
+
row: {
|
|
65
|
+
display: 'flex',
|
|
66
|
+
flexDirection: 'row',
|
|
67
|
+
},
|
|
68
|
+
column: {
|
|
69
|
+
display: 'flex',
|
|
70
|
+
flexDirection: 'column',
|
|
71
|
+
},
|
|
72
|
+
centerChildren: {
|
|
73
|
+
alignItems: 'center',
|
|
74
|
+
justifyContent: 'center',
|
|
75
|
+
},
|
|
76
|
+
alignStart: {
|
|
77
|
+
alignItems: 'flex-start',
|
|
78
|
+
},
|
|
79
|
+
alignEnd: {
|
|
80
|
+
alignItems: 'flex-end',
|
|
81
|
+
},
|
|
82
|
+
alignCenter: {
|
|
83
|
+
alignItems: 'center',
|
|
84
|
+
},
|
|
85
|
+
alignStretch: {
|
|
86
|
+
alignItems: 'stretch',
|
|
87
|
+
},
|
|
88
|
+
alignSelfCenter: {
|
|
89
|
+
alignSelf: 'center',
|
|
90
|
+
},
|
|
91
|
+
alignSelfStart: {
|
|
92
|
+
alignSelf: 'flex-start',
|
|
93
|
+
},
|
|
94
|
+
alignSelfStretch: {
|
|
95
|
+
alignSelf: 'stretch',
|
|
96
|
+
},
|
|
97
|
+
alignSelfEnd: {
|
|
98
|
+
alignSelf: 'flex-end',
|
|
99
|
+
},
|
|
100
|
+
justifyStart: {
|
|
101
|
+
justifyContent: 'flex-start',
|
|
102
|
+
},
|
|
103
|
+
justifyEnd: {
|
|
104
|
+
justifyContent: 'flex-end',
|
|
105
|
+
},
|
|
106
|
+
justifyCenter: {
|
|
107
|
+
justifyContent: 'center',
|
|
108
|
+
},
|
|
109
|
+
justifySpaceBetween: {
|
|
110
|
+
justifyContent: 'space-between',
|
|
111
|
+
},
|
|
112
|
+
justifySpaceAround: {
|
|
113
|
+
justifyContent: 'space-around',
|
|
114
|
+
},
|
|
115
|
+
textRight: {
|
|
116
|
+
textAlign: 'right',
|
|
117
|
+
},
|
|
118
|
+
textLeft: {
|
|
119
|
+
textAlign: 'left',
|
|
120
|
+
},
|
|
121
|
+
textCenter: {
|
|
122
|
+
textAlign: 'center',
|
|
123
|
+
},
|
|
124
|
+
flexWrap: {
|
|
125
|
+
flexWrap: 'wrap',
|
|
126
|
+
},
|
|
127
|
+
'visibility:hidden': {
|
|
128
|
+
visibility: 'hidden'
|
|
129
|
+
},
|
|
130
|
+
'visibility:visible': {
|
|
131
|
+
visibility: 'visible'
|
|
132
|
+
},
|
|
133
|
+
'display:none': {
|
|
134
|
+
display: 'none'
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
//# sourceMappingURL=defaultVariants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultVariants.js","sourceRoot":"","sources":["../../src/variants/defaultVariants.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE;QACL,OAAO,EAAE,OAAO;KACjB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,CAAC;KACR;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;KACrB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;KACrB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO;KAClB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,QAAQ;KACnB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;KACT;IACD,MAAM,EAAE;QACN,GAAG,EAAE,CAAC;QACN,MAAM,EAAE,CAAC;KACV;IAED,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;KACf;IACD,MAAM,EAAE;QACN,UAAU,EAAE,QAAQ;KACrB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;KACd;IACD,UAAU,EAAE;QACV,MAAM,EAAE,MAAM;KACf;IACD,KAAK,EAAE;QACL,GAAG,EAAE,CAAC;QACN,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;KACT;IACD,SAAS,EAAE;QACT,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;KACrB;IACD,GAAG,EAAE;QACH,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,KAAK;KACrB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;KACxB;IACD,cAAc,EAAE;QACd,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,UAAU,EAAE;QACV,UAAU,EAAE,YAAY;KACzB;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,UAAU;KACvB;IACD,WAAW,EAAE;QACX,UAAU,EAAE,QAAQ;KACrB;IACD,YAAY,EAAE;QACZ,UAAU,EAAE,SAAS;KACtB;IACD,eAAe,EAAE;QACf,SAAS,EAAE,QAAQ;KACpB;IACD,cAAc,EAAE;QACd,SAAS,EAAE,YAAY;KACxB;IACD,gBAAgB,EAAE;QAChB,SAAS,EAAE,SAAS;KACrB;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,UAAU;KACtB;IACD,YAAY,EAAE;QACZ,cAAc,EAAE,YAAY;KAC7B;IACD,UAAU,EAAE;QACV,cAAc,EAAE,UAAU;KAC3B;IACD,aAAa,EAAE;QACb,cAAc,EAAE,QAAQ;KACzB;IACD,mBAAmB,EAAE;QACnB,cAAc,EAAE,eAAe;KAChC;IACD,kBAAkB,EAAE;QAClB,cAAc,EAAE,cAAc;KAC/B;IACD,SAAS,EAAE;QACT,SAAS,EAAE,OAAO;KACnB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM;KAClB;IACD,UAAU,EAAE;QACV,SAAS,EAAE,QAAQ;KACpB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM;KACjB;IACD,mBAAmB,EAAE;QACnB,UAAU,EAAE,QAAQ;KACrB;IACD,oBAAoB,EAAE;QACpB,UAAU,EAAE,SAAS;KACtB;IACD,cAAc,EAAE;QACd,OAAO,EAAC,MAAM;KACf;CACO,CAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { capitalize } from '../utils';
|
|
2
|
+
/** CSS properties that accept a color token: `backgroundColor` and `color`. */
|
|
3
|
+
export const colorVariants = ['backgroundColor', 'color'];
|
|
4
|
+
/** Horizontal border directions used when generating per-corner radius variants. */
|
|
5
|
+
export const borderXDirection = ['left', 'right'];
|
|
6
|
+
/** Vertical border directions used when generating per-corner radius variants. */
|
|
7
|
+
export const borderYDirection = ['bottom', 'top'];
|
|
8
|
+
/** All four border directions plus the un-suffixed (all-sides) form. */
|
|
9
|
+
export const borderDirection = [...borderYDirection, ...borderXDirection, ''];
|
|
10
|
+
/** Border sub-properties generated for each direction. */
|
|
11
|
+
export const borderProperties = ['color', 'radius', 'width'];
|
|
12
|
+
/** CSS cursor values surfaced as `cursor:<value>` style variants. */
|
|
13
|
+
export const cursorTypes = [
|
|
14
|
+
'not-allowed',
|
|
15
|
+
'help',
|
|
16
|
+
'pointer',
|
|
17
|
+
'wait',
|
|
18
|
+
'',
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* Builds the dynamic variant registry object at module initialisation time.
|
|
22
|
+
* Each entry is a function `(theme, value) => ICSS` keyed by the variant name
|
|
23
|
+
* (the part before `:` in the variant string). The registry is consumed by
|
|
24
|
+
* `CodeleapStyleRegistry.computeCommonVariantStyle`.
|
|
25
|
+
*/
|
|
26
|
+
export const createDynamicVariants = () => {
|
|
27
|
+
const dynamicVariants = {};
|
|
28
|
+
function createVariant(variantName, variantReturn) {
|
|
29
|
+
dynamicVariants[variantName] = variantReturn;
|
|
30
|
+
}
|
|
31
|
+
colorVariants.forEach(variant => {
|
|
32
|
+
createVariant(variant, (theme, color) => ({
|
|
33
|
+
[variant]: theme.colors[color],
|
|
34
|
+
}));
|
|
35
|
+
});
|
|
36
|
+
borderDirection.forEach(direction => {
|
|
37
|
+
if (borderYDirection.includes(direction)) {
|
|
38
|
+
borderXDirection.forEach(y => {
|
|
39
|
+
const variant = `border${capitalize(direction)}${capitalize(y)}Radius`;
|
|
40
|
+
createVariant(variant, (theme, value) => ({
|
|
41
|
+
[variant]: theme.radius[value],
|
|
42
|
+
}));
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
borderProperties.forEach(property => {
|
|
46
|
+
const variant = `border${capitalize(direction)}${capitalize(property)}`;
|
|
47
|
+
createVariant(variant, (theme, value) => ({
|
|
48
|
+
[variant]: property == 'color' ? theme.colors[value] : theme.radius[value],
|
|
49
|
+
}));
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
borderXDirection.forEach(x => {
|
|
53
|
+
const variant = `border${capitalize(x)}Radius`;
|
|
54
|
+
createVariant(variant, (theme, value) => ({
|
|
55
|
+
[variant]: theme.radius[value],
|
|
56
|
+
}));
|
|
57
|
+
});
|
|
58
|
+
borderYDirection.forEach(y => {
|
|
59
|
+
const variant = `border${capitalize(y)}Radius`;
|
|
60
|
+
createVariant(variant, (theme, value) => ({
|
|
61
|
+
[variant]: theme.radius[value],
|
|
62
|
+
}));
|
|
63
|
+
});
|
|
64
|
+
createVariant('cursor', (theme, cursor) => ({ cursor }));
|
|
65
|
+
createVariant('bg', (theme, color) => ({
|
|
66
|
+
backgroundColor: theme.colors[color],
|
|
67
|
+
}));
|
|
68
|
+
createVariant('effect', (theme, effect) => theme.effects[effect]);
|
|
69
|
+
createVariant('scale', (theme, value) => ({
|
|
70
|
+
transform: theme.isBrowser ? `scale(${value})` : [{ 'scale': Number(value) }],
|
|
71
|
+
}));
|
|
72
|
+
createVariant('br', (theme, value) => ({
|
|
73
|
+
borderRadius: theme.radius[value],
|
|
74
|
+
}));
|
|
75
|
+
createVariant('borderRadius', (theme, value) => ({
|
|
76
|
+
borderRadius: theme.radius[value],
|
|
77
|
+
}));
|
|
78
|
+
createVariant('size', (theme, value) => ({
|
|
79
|
+
height: theme.size[value],
|
|
80
|
+
width: theme.size[value],
|
|
81
|
+
}));
|
|
82
|
+
return dynamicVariants;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Pre-built dynamic variant registry used by the `CodeleapStyleRegistry`.
|
|
86
|
+
* Created once at module load; re-creation would lose the closed-over variant map.
|
|
87
|
+
*/
|
|
88
|
+
export const dynamicVariants = createDynamicVariants();
|
|
89
|
+
//# sourceMappingURL=dynamicVariants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamicVariants.js","sourceRoot":"","sources":["../../src/variants/dynamicVariants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/variants/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
function getBreakpointValue(breakpoint, breakpoints) {
|
|
2
|
+
if (breakpoints[breakpoint]) {
|
|
3
|
+
return breakpoints[breakpoint];
|
|
4
|
+
}
|
|
5
|
+
return Infinity;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Produces a `MediaQueries` object bound to the provided `breakpoints` map.
|
|
9
|
+
* Unknown breakpoints (not in the map) fall back to `Infinity`, making `up(unknown)`
|
|
10
|
+
* match all widths and `down(unknown)` match none.
|
|
11
|
+
*/
|
|
12
|
+
export function createMediaQueries(breakpoints) {
|
|
13
|
+
function getBreakpoint(breakpoint) {
|
|
14
|
+
return getBreakpointValue(breakpoint, breakpoints);
|
|
15
|
+
}
|
|
16
|
+
const queries = {
|
|
17
|
+
up: (breakpoint) => {
|
|
18
|
+
// Upwards of... (excluding)
|
|
19
|
+
const min = getBreakpoint(breakpoint);
|
|
20
|
+
return `@media screen and (min-width:${min}px)`;
|
|
21
|
+
},
|
|
22
|
+
down: (breakpoint) => {
|
|
23
|
+
// Downwards of... (excluding)
|
|
24
|
+
const max = getBreakpoint(breakpoint);
|
|
25
|
+
return `@media screen and (max-width:${max}px)`;
|
|
26
|
+
},
|
|
27
|
+
is: (breakpoint) => {
|
|
28
|
+
// Is media... (exact)
|
|
29
|
+
const value = getBreakpoint(breakpoint);
|
|
30
|
+
return `@media screen and (min-width:${value}px) and (max-width:${value}px)`;
|
|
31
|
+
},
|
|
32
|
+
not: (breakpoint) => {
|
|
33
|
+
// Is NOT media... (exact)
|
|
34
|
+
const value = getBreakpoint(breakpoint);
|
|
35
|
+
return `@media not screen and (min-width:${value}px) and (max-width:${value}px)`;
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
const renderToPlatformQuery = (props) => {
|
|
39
|
+
let query = '';
|
|
40
|
+
if (props === null || props === void 0 ? void 0 : props.is) {
|
|
41
|
+
query = queries.not(props.is);
|
|
42
|
+
}
|
|
43
|
+
else if (props === null || props === void 0 ? void 0 : props.not) {
|
|
44
|
+
query = queries.is(props.not);
|
|
45
|
+
}
|
|
46
|
+
else if (props === null || props === void 0 ? void 0 : props.up) {
|
|
47
|
+
query = queries.down(props.up);
|
|
48
|
+
}
|
|
49
|
+
else if (props === null || props === void 0 ? void 0 : props.down) {
|
|
50
|
+
query = queries.up(props.down);
|
|
51
|
+
}
|
|
52
|
+
return query;
|
|
53
|
+
};
|
|
54
|
+
return Object.assign(Object.assign({}, queries), { renderToPlatformQuery });
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=mediaQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mediaQuery.js","sourceRoot":"","sources":["../../src/variants/mediaQuery.ts"],"names":[],"mappings":"AA0BA,SAAS,kBAAkB,CAAC,UAAe,EAAE,WAAgB;IAC3D,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,UAAU,CAAC,CAAA;IAChC,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAgB,WAAc;IAC9D,SAAS,aAAa,CAAC,UAAe;QACpC,OAAO,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,CAAC,UAAe,EAAE,EAAE;YACtB,4BAA4B;YAC5B,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;YACrC,OAAO,gCAAgC,GAAG,KAAK,CAAA;QACjD,CAAC;QACD,IAAI,EAAE,CAAC,UAAe,EAAE,EAAE;YACxB,8BAA8B;YAC9B,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;YACrC,OAAO,gCAAgC,GAAG,KAAK,CAAA;QACjD,CAAC;QACD,EAAE,EAAE,CAAC,UAAe,EAAE,EAAE;YACtB,sBAAsB;YACtB,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;YACvC,OAAO,gCAAgC,KAAK,sBAAsB,KAAK,KAAK,CAAA;QAC9E,CAAC;QACD,GAAG,EAAE,CAAC,UAAe,EAAE,EAAE;YACvB,0BAA0B;YAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;YACvC,OAAO,oCAAoC,KAAK,sBAAsB,KAAK,KAAK,CAAA;QAClF,CAAC;KACF,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,KAAiC,EAAE,EAAE;QAClE,IAAI,KAAK,GAAG,EAAE,CAAA;QAEd,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,EAAE,CAAC;YACd,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAW,CAAC,CAAA;QACxC,CAAC;aAAM,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,EAAE,CAAC;YACtB,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAY,CAAC,CAAA;QACxC,CAAC;aAAM,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,EAAE,CAAC;YACrB,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAW,CAAC,CAAA;QACzC,CAAC;aAAM,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,CAAC;YACvB,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAa,CAAC,CAAA;QACzC,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,uCACK,OAAO,KACV,qBAAqB,IACtB;AACH,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { spacingVariants, spacingShortVariants } from '../types/spacing';
|
|
2
|
+
const shortMapValues = {
|
|
3
|
+
'x': 'Horizontal',
|
|
4
|
+
'y': 'Vertical',
|
|
5
|
+
'l': 'Left',
|
|
6
|
+
'r': 'Right',
|
|
7
|
+
't': 'Top',
|
|
8
|
+
'b': 'Bottom',
|
|
9
|
+
'm': 'margin',
|
|
10
|
+
'p': 'padding'
|
|
11
|
+
};
|
|
12
|
+
const shortPositionMap = {
|
|
13
|
+
'x': 'Horizontal',
|
|
14
|
+
'y': 'Vertical',
|
|
15
|
+
'l': 'Left',
|
|
16
|
+
'r': 'Right',
|
|
17
|
+
't': 'Top',
|
|
18
|
+
'b': 'Bottom'
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Builds a spacing variant map for a CSS property (`'padding'`, `'margin'`, `'p'`, `'m'`).
|
|
22
|
+
* Each key in the returned object is a callable that multiplies its argument by `base`.
|
|
23
|
+
* Passing `isShort = true` uses single-letter direction suffixes and maps them to their
|
|
24
|
+
* long-form equivalents before producing the CSS property name.
|
|
25
|
+
* The `'Horizontal'` and `'Vertical'` (or `'x'`/`'y'`) directions expand to two
|
|
26
|
+
* properties each; the empty-string direction produces all four sides at once.
|
|
27
|
+
*/
|
|
28
|
+
export function spacingFactory(base, spacingProperty, isShort = false) {
|
|
29
|
+
const baseProperty = isShort ? shortMapValues[spacingProperty] : spacingProperty;
|
|
30
|
+
const positions = isShort ? spacingShortVariants : spacingVariants;
|
|
31
|
+
const spacings = {
|
|
32
|
+
[`${spacingProperty}`]: (n) => {
|
|
33
|
+
if (n === 'auto') {
|
|
34
|
+
return { [baseProperty]: 'auto' };
|
|
35
|
+
}
|
|
36
|
+
return { [baseProperty]: base * Number(n) };
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
for (const _position of positions) {
|
|
40
|
+
const position = isShort
|
|
41
|
+
? shortPositionMap[_position] || _position
|
|
42
|
+
: _position;
|
|
43
|
+
const key = `${spacingProperty}${_position}`;
|
|
44
|
+
let getter = null;
|
|
45
|
+
switch (position) {
|
|
46
|
+
case 'Horizontal':
|
|
47
|
+
getter = (value) => ({
|
|
48
|
+
[`${baseProperty}Left`]: value,
|
|
49
|
+
[`${baseProperty}Right`]: value,
|
|
50
|
+
});
|
|
51
|
+
break;
|
|
52
|
+
case 'Vertical':
|
|
53
|
+
getter = (value) => ({
|
|
54
|
+
[`${baseProperty}Top`]: value,
|
|
55
|
+
[`${baseProperty}Bottom`]: value,
|
|
56
|
+
});
|
|
57
|
+
break;
|
|
58
|
+
case '':
|
|
59
|
+
getter = (value) => ({
|
|
60
|
+
[`${baseProperty}Top`]: value,
|
|
61
|
+
[`${baseProperty}Right`]: value,
|
|
62
|
+
[`${baseProperty}Bottom`]: value,
|
|
63
|
+
[`${baseProperty}Left`]: value,
|
|
64
|
+
});
|
|
65
|
+
break;
|
|
66
|
+
default:
|
|
67
|
+
getter = (value) => ({
|
|
68
|
+
[`${baseProperty}${position}`]: value,
|
|
69
|
+
});
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
spacings[key] = (n) => {
|
|
73
|
+
if (n === 'auto')
|
|
74
|
+
return getter('auto');
|
|
75
|
+
const value = base * Number(n);
|
|
76
|
+
return getter(value);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
return spacings;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=spacing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.js","sourceRoot":"","sources":["../../src/variants/spacing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codeleap/styles",
|
|
3
|
-
"version": "7.0.
|
|
4
|
-
"main": "
|
|
3
|
+
"version": "7.0.1",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"directory": "packages/styles"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@codeleap/config": "7.0.
|
|
25
|
+
"@codeleap/config": "7.0.1",
|
|
26
26
|
"ts-node-dev": "^1.1.8"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|