@shohojdhara/atomix 0.6.7 → 0.6.9
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/atomix.css +3002 -252
- package/dist/atomix.css.map +1 -1
- package/dist/atomix.min.css +1 -1
- package/dist/atomix.min.css.map +1 -1
- package/dist/atomix.umd.js +1 -1
- package/dist/atomix.umd.js.map +1 -1
- package/dist/atomix.umd.min.js +1 -1
- package/dist/charts.js +1 -1
- package/dist/core.js +1 -1
- package/dist/forms.js +1 -1
- package/dist/heavy.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +21 -1
- package/src/lib/constants/components.ts +1 -1
- package/src/styles/01-settings/_settings.design-tokens.scss +4 -0
- package/src/styles/01-settings/_settings.grid.scss +53 -0
- package/src/styles/01-settings/_settings.motion.scss +50 -0
- package/src/styles/01-settings/_settings.spacing.scss +13 -1
- package/src/styles/01-settings/_settings.typography.scss +5 -1
- package/src/styles/02-tools/_tools.map-loop.scss +19 -0
- package/src/styles/02-tools/_tools.utility-api.scss +57 -53
- package/src/styles/99-utilities/_index.core.scss +24 -0
- package/src/styles/99-utilities/_index.grid.scss +3 -0
- package/src/styles/99-utilities/_index.interaction.scss +3 -0
- package/src/styles/99-utilities/_index.motion.scss +5 -0
- package/src/styles/99-utilities/_index.scss +5 -0
- package/src/styles/99-utilities/_utilities.core.scss +44 -0
- package/src/styles/99-utilities/_utilities.generate-grid.scss +7 -0
- package/src/styles/99-utilities/_utilities.generate-interaction.scss +7 -0
- package/src/styles/99-utilities/_utilities.generate-motion.scss +15 -0
- package/src/styles/99-utilities/_utilities.grid.scss +55 -0
- package/src/styles/99-utilities/_utilities.interaction.scss +44 -0
- package/src/styles/99-utilities/_utilities.link.scss +3 -3
- package/src/styles/99-utilities/_utilities.position.scss +15 -0
- package/src/styles/99-utilities/_utilities.scss +10 -0
- package/src/styles/99-utilities/_utilities.sizes.scss +0 -4
- package/src/styles/99-utilities/_utilities.spacing.scss +3 -3
- package/src/styles/99-utilities/_utilities.state.scss +64 -0
- package/src/styles/99-utilities/_utilities.text-gradient.scss +26 -37
- package/src/styles/99-utilities/_utilities.text.scss +0 -11
- package/src/styles/99-utilities/_utilities.transform.scss +15 -0
- package/src/styles/99-utilities/_utilities.transition.scss +20 -0
- package/src/styles/__tests__/utilities-compile.test.ts +37 -0
|
@@ -28,6 +28,21 @@ $utilities-position: (
|
|
|
28
28
|
class: u-end,
|
|
29
29
|
values: $position-values,
|
|
30
30
|
),
|
|
31
|
+
'inset': (
|
|
32
|
+
property: inset,
|
|
33
|
+
class: u-inset,
|
|
34
|
+
values: $position-values,
|
|
35
|
+
),
|
|
36
|
+
'inset-x': (
|
|
37
|
+
property: inset-inline,
|
|
38
|
+
class: u-inset-x,
|
|
39
|
+
values: $position-values,
|
|
40
|
+
),
|
|
41
|
+
'inset-y': (
|
|
42
|
+
property: inset-block,
|
|
43
|
+
class: u-inset-y,
|
|
44
|
+
values: $position-values,
|
|
45
|
+
),
|
|
31
46
|
'translate-middle': (
|
|
32
47
|
property: transform,
|
|
33
48
|
class: u-translate-middle,
|
|
@@ -22,6 +22,11 @@
|
|
|
22
22
|
@use 'utilities.text-gradient' as textGradient;
|
|
23
23
|
@use 'utilities.visibility' as visibility;
|
|
24
24
|
@use 'utilities.z-index' as z-index;
|
|
25
|
+
@use 'utilities.grid' as grid;
|
|
26
|
+
@use 'utilities.interaction' as interaction;
|
|
27
|
+
@use 'utilities.transition' as transition;
|
|
28
|
+
@use 'utilities.transform' as transform;
|
|
29
|
+
@use 'utilities.state' as state;
|
|
25
30
|
|
|
26
31
|
// Merge all utility maps
|
|
27
32
|
$utilities: ();
|
|
@@ -42,6 +47,11 @@ $utilities: map.merge($utilities, text.$utilities-text);
|
|
|
42
47
|
$utilities: map.merge($utilities, visibility.$utilities-visibility);
|
|
43
48
|
$utilities: map.merge($utilities, z-index.$utilities-z-index);
|
|
44
49
|
$utilities: map.merge($utilities, textGradient.$utilities-text-gradient);
|
|
50
|
+
$utilities: map.merge($utilities, grid.$utilities-grid);
|
|
51
|
+
$utilities: map.merge($utilities, interaction.$utilities-interaction);
|
|
52
|
+
$utilities: map.merge($utilities, transition.$utilities-transition);
|
|
53
|
+
$utilities: map.merge($utilities, transform.$utilities-transform);
|
|
54
|
+
$utilities: map.merge($utilities, state.$utilities-state);
|
|
45
55
|
|
|
46
56
|
// Generate all utility classes
|
|
47
57
|
@include util-api.generate-utilities($utilities, breakpoints.$grid-breakpoints);
|
|
@@ -10,8 +10,6 @@ $utilities-sizes: (
|
|
|
10
10
|
values: map.merge(
|
|
11
11
|
$spacing-sizes,
|
|
12
12
|
(
|
|
13
|
-
5: 5%,
|
|
14
|
-
10: 10%,
|
|
15
13
|
25: 25%,
|
|
16
14
|
50: 50%,
|
|
17
15
|
75: 75%,
|
|
@@ -63,8 +61,6 @@ $utilities-sizes: (
|
|
|
63
61
|
values: map.merge(
|
|
64
62
|
$spacing-sizes,
|
|
65
63
|
(
|
|
66
|
-
5: 5%,
|
|
67
|
-
10: 10%,
|
|
68
64
|
25: 25%,
|
|
69
65
|
50: 50%,
|
|
70
66
|
75: 75%,
|
|
@@ -178,18 +178,18 @@ $utilities-spacing: (
|
|
|
178
178
|
responsive: true,
|
|
179
179
|
property: gap,
|
|
180
180
|
class: u-gap,
|
|
181
|
-
values: $spacing-sizes,
|
|
181
|
+
values: map.merge($spacing-sizes, $semantic-gap-sizes),
|
|
182
182
|
),
|
|
183
183
|
'row-gap': (
|
|
184
184
|
responsive: true,
|
|
185
185
|
property: row-gap,
|
|
186
186
|
class: u-row-gap,
|
|
187
|
-
values: $spacing-sizes,
|
|
187
|
+
values: map.merge($spacing-sizes, $semantic-gap-sizes),
|
|
188
188
|
),
|
|
189
189
|
'column-gap': (
|
|
190
190
|
responsive: true,
|
|
191
191
|
property: column-gap,
|
|
192
192
|
class: u-column-gap,
|
|
193
|
-
values: $spacing-sizes,
|
|
193
|
+
values: map.merge($spacing-sizes, $semantic-gap-sizes),
|
|
194
194
|
),
|
|
195
195
|
);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use '../01-settings/settings.design-tokens' as color-maps;
|
|
3
|
+
@use '../01-settings/settings.box-shadow' as shadows;
|
|
4
|
+
|
|
5
|
+
// State-variant utilities (hover, focus, active) using pseudo-class wrapping
|
|
6
|
+
$utilities-state: (
|
|
7
|
+
'hover-background-color': (
|
|
8
|
+
property: background-color,
|
|
9
|
+
class: u-hover-bg,
|
|
10
|
+
pseudo: hover,
|
|
11
|
+
responsive: false,
|
|
12
|
+
values: color-maps.$utilities-bg-colors,
|
|
13
|
+
),
|
|
14
|
+
'hover-color': (
|
|
15
|
+
property: color,
|
|
16
|
+
class: u-hover-text,
|
|
17
|
+
pseudo: hover,
|
|
18
|
+
responsive: false,
|
|
19
|
+
values: color-maps.$utilities-text-colors,
|
|
20
|
+
),
|
|
21
|
+
'hover-box-shadow': (
|
|
22
|
+
property: box-shadow,
|
|
23
|
+
class: u-hover-shadow,
|
|
24
|
+
pseudo: hover,
|
|
25
|
+
responsive: false,
|
|
26
|
+
values: (
|
|
27
|
+
sm: shadows.$box-shadow-sm,
|
|
28
|
+
md: shadows.$box-shadow-md,
|
|
29
|
+
lg: shadows.$box-shadow-lg,
|
|
30
|
+
xl: shadows.$box-shadow-xl,
|
|
31
|
+
),
|
|
32
|
+
),
|
|
33
|
+
'hover-transform-scale': (
|
|
34
|
+
property: transform,
|
|
35
|
+
class: u-hover-scale,
|
|
36
|
+
pseudo: hover,
|
|
37
|
+
responsive: false,
|
|
38
|
+
values: (
|
|
39
|
+
95: scale(0.95),
|
|
40
|
+
100: scale(1),
|
|
41
|
+
105: scale(1.05),
|
|
42
|
+
110: scale(1.1),
|
|
43
|
+
),
|
|
44
|
+
),
|
|
45
|
+
'active-transform-scale': (
|
|
46
|
+
property: transform,
|
|
47
|
+
class: u-active-scale,
|
|
48
|
+
pseudo: active,
|
|
49
|
+
responsive: false,
|
|
50
|
+
values: (
|
|
51
|
+
95: scale(0.95),
|
|
52
|
+
100: scale(1),
|
|
53
|
+
),
|
|
54
|
+
),
|
|
55
|
+
'focus-outline': (
|
|
56
|
+
property: outline,
|
|
57
|
+
class: u-focus-outline,
|
|
58
|
+
pseudo: focus-visible,
|
|
59
|
+
responsive: false,
|
|
60
|
+
values: (
|
|
61
|
+
none: none,
|
|
62
|
+
),
|
|
63
|
+
),
|
|
64
|
+
);
|
|
@@ -1,45 +1,34 @@
|
|
|
1
1
|
// Text gradient utilities - requires special CSS properties
|
|
2
2
|
// These utilities apply gradient colors to text using background-clip technique
|
|
3
|
-
// Using utility generator system with advanced best practices
|
|
4
3
|
|
|
5
|
-
@use 'sass:map';
|
|
6
4
|
@use '../01-settings/settings.design-tokens' as *;
|
|
7
5
|
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class: u-text-gradient,
|
|
15
|
-
values: (
|
|
16
|
-
null: null,
|
|
17
|
-
),
|
|
18
|
-
local-vars: (
|
|
19
|
-
'background-clip': text,
|
|
20
|
-
'-webkit-background-clip': text,
|
|
21
|
-
'-webkit-text-fill-color': transparent,
|
|
22
|
-
),
|
|
23
|
-
),
|
|
6
|
+
// Base clip properties shared by all text-gradient variants
|
|
7
|
+
.u-text-gradient {
|
|
8
|
+
background-clip: text;
|
|
9
|
+
-webkit-background-clip: text;
|
|
10
|
+
-webkit-text-fill-color: transparent;
|
|
11
|
+
}
|
|
24
12
|
|
|
25
|
-
|
|
13
|
+
// Define utilities for text gradient color variants
|
|
14
|
+
$utilities-text-gradient: (
|
|
26
15
|
'text-gradient-colors': (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
16
|
+
property: background-image,
|
|
17
|
+
class: u-text-gradient,
|
|
18
|
+
values: (
|
|
19
|
+
primary: var(--atomix-primary-gradient),
|
|
20
|
+
secondary: var(--atomix-secondary-gradient),
|
|
21
|
+
success: var(--atomix-success-gradient),
|
|
22
|
+
warning: var(--atomix-warning-gradient),
|
|
23
|
+
error: var(--atomix-error-gradient),
|
|
24
|
+
info: var(--atomix-info-gradient),
|
|
25
|
+
light: var(--atomix-light-gradient),
|
|
26
|
+
dark: var(--atomix-dark-gradient),
|
|
27
|
+
),
|
|
28
|
+
local-vars: (
|
|
29
|
+
'background-clip': text,
|
|
30
|
+
'-webkit-background-clip': text,
|
|
31
|
+
'-webkit-text-fill-color': transparent,
|
|
32
|
+
),
|
|
33
|
+
),
|
|
45
34
|
);
|
|
@@ -7,22 +7,11 @@
|
|
|
7
7
|
// Define utilities for text
|
|
8
8
|
$utilities-text: (
|
|
9
9
|
'font-size': (
|
|
10
|
-
rfs: true,
|
|
11
10
|
property: font-size,
|
|
12
11
|
class: u-text,
|
|
13
12
|
values: map.merge(
|
|
14
13
|
color-maps.$font-sizes-extended,
|
|
15
14
|
(
|
|
16
|
-
xs: map.get(color-maps.$font-sizes-extended, 'xs'),
|
|
17
|
-
sm: map.get(color-maps.$font-sizes-extended, 'sm'),
|
|
18
|
-
base: map.get(color-maps.$font-sizes-extended, 'base'),
|
|
19
|
-
lg: map.get(color-maps.$font-sizes-extended, 'lg'),
|
|
20
|
-
xl: map.get(color-maps.$font-sizes-extended, 'xl'),
|
|
21
|
-
'2xl': map.get(color-maps.$font-sizes-extended, '2xl'),
|
|
22
|
-
'3xl': map.get(color-maps.$font-sizes-extended, '3xl'),
|
|
23
|
-
'4xl': map.get(color-maps.$font-sizes-extended, '4xl'),
|
|
24
|
-
'5xl': map.get(color-maps.$font-sizes-extended, '5xl'),
|
|
25
|
-
'6xl': map.get(color-maps.$font-sizes-extended, '6xl'),
|
|
26
15
|
1: map.get(color-maps.$font-sizes-extended, 'h1'),
|
|
27
16
|
2: map.get(color-maps.$font-sizes-extended, 'h2'),
|
|
28
17
|
3: map.get(color-maps.$font-sizes-extended, 'h3'),
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
@use '../01-settings/settings.motion' as motion;
|
|
2
|
+
|
|
3
|
+
// Define utilities for CSS transforms
|
|
4
|
+
$utilities-transform: (
|
|
5
|
+
'transform': (
|
|
6
|
+
property: transform,
|
|
7
|
+
class: u-scale,
|
|
8
|
+
values: motion.$utility-transform-scales,
|
|
9
|
+
),
|
|
10
|
+
'transform-rotate': (
|
|
11
|
+
property: transform,
|
|
12
|
+
class: u-rotate,
|
|
13
|
+
values: motion.$utility-transform-rotates,
|
|
14
|
+
),
|
|
15
|
+
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@use '../01-settings/settings.motion' as motion;
|
|
2
|
+
|
|
3
|
+
// Define utilities for CSS transitions
|
|
4
|
+
$utilities-transition: (
|
|
5
|
+
'transition-property': (
|
|
6
|
+
property: transition-property,
|
|
7
|
+
class: u-transition,
|
|
8
|
+
values: motion.$utility-transition-properties,
|
|
9
|
+
),
|
|
10
|
+
'transition-duration': (
|
|
11
|
+
property: transition-duration,
|
|
12
|
+
class: u-duration,
|
|
13
|
+
values: motion.$utility-transition-durations,
|
|
14
|
+
),
|
|
15
|
+
'transition-timing-function': (
|
|
16
|
+
property: transition-timing-function,
|
|
17
|
+
class: u-ease,
|
|
18
|
+
values: motion.$utility-transition-timing-functions,
|
|
19
|
+
),
|
|
20
|
+
);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
import { mkdtempSync, rmSync } from 'node:fs';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { dirname, join, resolve } from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import { describe, expect, it } from 'vitest';
|
|
7
|
+
|
|
8
|
+
const projectRoot = resolve(dirname(fileURLToPath(import.meta.url)), '../../..');
|
|
9
|
+
|
|
10
|
+
const utilityBundles = [
|
|
11
|
+
'src/styles/99-utilities/_index.scss',
|
|
12
|
+
'src/styles/99-utilities/_index.core.scss',
|
|
13
|
+
'src/styles/99-utilities/_index.grid.scss',
|
|
14
|
+
'src/styles/99-utilities/_index.interaction.scss',
|
|
15
|
+
'src/styles/99-utilities/_index.motion.scss',
|
|
16
|
+
] as const;
|
|
17
|
+
|
|
18
|
+
function compileUtilityBundle(entry: string): void {
|
|
19
|
+
const tempDir = mkdtempSync(join(tmpdir(), 'atomix-utilities-'));
|
|
20
|
+
const outputFile = join(tempDir, 'out.css');
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
execSync(`npx sass "${entry}" "${outputFile}"`, {
|
|
24
|
+
cwd: projectRoot,
|
|
25
|
+
stdio: 'pipe',
|
|
26
|
+
encoding: 'utf8',
|
|
27
|
+
});
|
|
28
|
+
} finally {
|
|
29
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
describe('utility SCSS bundles', () => {
|
|
34
|
+
it.each(utilityBundles)('compiles %s without errors', (entry) => {
|
|
35
|
+
expect(() => compileUtilityBundle(entry)).not.toThrow();
|
|
36
|
+
});
|
|
37
|
+
});
|