@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.
Files changed (93) hide show
  1. package/dist/classes/Cacher.js +166 -0
  2. package/dist/classes/Cacher.js.map +1 -0
  3. package/dist/classes/StaleControl.js +101 -0
  4. package/dist/classes/StaleControl.js.map +1 -0
  5. package/dist/classes/StyleCache.js +91 -0
  6. package/dist/classes/StyleCache.js.map +1 -0
  7. package/dist/classes/StylePersistor.js +54 -0
  8. package/dist/classes/StylePersistor.js.map +1 -0
  9. package/dist/classes/StyleRegistry.js +470 -0
  10. package/dist/classes/StyleRegistry.js.map +1 -0
  11. package/dist/classes/index.js +3 -0
  12. package/dist/classes/index.js.map +1 -0
  13. package/dist/constants.js +24 -0
  14. package/dist/constants.js.map +1 -0
  15. package/dist/hooks/index.js +5 -0
  16. package/dist/hooks/index.js.map +1 -0
  17. package/dist/hooks/useCompositionStyles.js +27 -0
  18. package/dist/hooks/useCompositionStyles.js.map +1 -0
  19. package/dist/hooks/useNestedStylesByKey.js +17 -0
  20. package/dist/hooks/useNestedStylesByKey.js.map +1 -0
  21. package/dist/hooks/useStyleObserver.js +22 -0
  22. package/dist/hooks/useStyleObserver.js.map +1 -0
  23. package/dist/hooks/useTheme.js +24 -0
  24. package/dist/hooks/useTheme.js.map +1 -0
  25. package/dist/index.js +12 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/lib/calc.js +44 -0
  28. package/dist/lib/calc.js.map +1 -0
  29. package/dist/lib/createStyles.js +58 -0
  30. package/dist/lib/createStyles.js.map +1 -0
  31. package/dist/lib/createTheme.js +143 -0
  32. package/dist/lib/createTheme.js.map +1 -0
  33. package/dist/lib/cssVariables.js +73 -0
  34. package/dist/lib/cssVariables.js.map +1 -0
  35. package/dist/lib/index.js +5 -0
  36. package/dist/lib/index.js.map +1 -0
  37. package/dist/theme/generateColorScheme.js +38 -0
  38. package/dist/theme/generateColorScheme.js.map +1 -0
  39. package/dist/theme/index.js +4 -0
  40. package/dist/theme/index.js.map +1 -0
  41. package/dist/theme/themeStore.js +139 -0
  42. package/dist/theme/themeStore.js.map +1 -0
  43. package/dist/theme/validateTheme.js +33 -0
  44. package/dist/theme/validateTheme.js.map +1 -0
  45. package/dist/tools/colors.js +138 -0
  46. package/dist/tools/colors.js.map +1 -0
  47. package/dist/tools/deepClone.js +8 -0
  48. package/dist/tools/deepClone.js.map +1 -0
  49. package/dist/tools/deepmerge.js +13 -0
  50. package/dist/tools/deepmerge.js.map +1 -0
  51. package/dist/tools/hashKey.js +16 -0
  52. package/dist/tools/hashKey.js.map +1 -0
  53. package/dist/tools/index.js +7 -0
  54. package/dist/tools/index.js.map +1 -0
  55. package/dist/tools/minifier.js +34 -0
  56. package/dist/tools/minifier.js.map +1 -0
  57. package/dist/tools/multiplierProperty.js +9 -0
  58. package/dist/tools/multiplierProperty.js.map +1 -0
  59. package/dist/types/cache.js +2 -0
  60. package/dist/types/cache.js.map +1 -0
  61. package/dist/types/component.js +2 -0
  62. package/dist/types/component.js.map +1 -0
  63. package/dist/types/core.js +3 -0
  64. package/dist/types/core.js.map +1 -0
  65. package/dist/types/icon.js +3 -0
  66. package/dist/types/icon.js.map +1 -0
  67. package/dist/types/index.js +6 -0
  68. package/dist/types/index.js.map +1 -0
  69. package/dist/types/spacing.js +28 -0
  70. package/dist/types/spacing.js.map +1 -0
  71. package/dist/types/store.js +2 -0
  72. package/dist/types/store.js.map +1 -0
  73. package/dist/types/style.js +2 -0
  74. package/dist/types/style.js.map +1 -0
  75. package/dist/types/theme.js +2 -0
  76. package/dist/types/theme.js.map +1 -0
  77. package/dist/utils.js +97 -0
  78. package/dist/utils.js.map +1 -0
  79. package/dist/variants/borderCreator.js +26 -0
  80. package/dist/variants/borderCreator.js.map +1 -0
  81. package/dist/variants/createAppVariants.js +17 -0
  82. package/dist/variants/createAppVariants.js.map +1 -0
  83. package/dist/variants/defaultVariants.js +137 -0
  84. package/dist/variants/defaultVariants.js.map +1 -0
  85. package/dist/variants/dynamicVariants.js +89 -0
  86. package/dist/variants/dynamicVariants.js.map +1 -0
  87. package/dist/variants/index.js +7 -0
  88. package/dist/variants/index.js.map +1 -0
  89. package/dist/variants/mediaQuery.js +56 -0
  90. package/dist/variants/mediaQuery.js.map +1 -0
  91. package/dist/variants/spacing.js +81 -0
  92. package/dist/variants/spacing.js.map +1 -0
  93. 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,7 @@
1
+ export * from './borderCreator';
2
+ export * from './createAppVariants';
3
+ export * from './defaultVariants';
4
+ export * from './dynamicVariants';
5
+ export * from './mediaQuery';
6
+ export * from './spacing';
7
+ //# sourceMappingURL=index.js.map
@@ -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.0",
4
- "main": "src/index.ts",
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.0",
25
+ "@codeleap/config": "7.0.1",
26
26
  "ts-node-dev": "^1.1.8"
27
27
  },
28
28
  "scripts": {