@albi_scando/as-design-system-lib 1.4.0 → 1.5.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/styles/themes/colors.scss +19 -0
- package/dist/styles/themes/components-styles.scss +8 -0
- package/dist/styles/themes/dark-purple.scss +32 -0
- package/dist/styles/themes/dark.scss +32 -0
- package/dist/styles/themes/ferrari.scss +32 -0
- package/dist/styles/themes/index.scss +5 -0
- package/dist/styles/themes/light-blue.scss +32 -0
- package/dist/styles/themes/light.scss +32 -0
- package/dist/styles/themes/spacing.scss +72 -0
- package/dist/styles/themes/themes.scss +11 -0
- package/dist/styles/themes/typography.scss +44 -0
- package/dist/styles/web-components/component.scss +25 -0
- package/package.json +10 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
@use 'colors/dark.scss';
|
|
2
|
+
@use 'colors/dark-purple.scss';
|
|
3
|
+
@use 'colors/ferrari.scss';
|
|
4
|
+
@use 'colors/light.scss';
|
|
5
|
+
@use 'colors/light-blue.scss';
|
|
6
|
+
|
|
7
|
+
:root {
|
|
8
|
+
/* Neutral Colors (used across all themes) */
|
|
9
|
+
--color-neutral-50: #f9fafb;
|
|
10
|
+
--color-neutral-100: #f3f4f6;
|
|
11
|
+
--color-neutral-200: #e5e7eb;
|
|
12
|
+
--color-neutral-300: #d1d5db;
|
|
13
|
+
--color-neutral-400: #9ca3af;
|
|
14
|
+
--color-neutral-500: #6b7280;
|
|
15
|
+
--color-neutral-600: #4b5563;
|
|
16
|
+
--color-neutral-700: #373737;
|
|
17
|
+
--color-neutral-800: #1f2937;
|
|
18
|
+
--color-neutral-900: #111827;
|
|
19
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/* Import all component styles */
|
|
2
|
+
@use '../web-components/buttons/base-button/component.scss' as base-button;
|
|
3
|
+
@use '../web-components/buttons/undo-button/component.scss' as undo-button;
|
|
4
|
+
@use '../web-components/buttons/confirm-button/component.scss' as confirm-button;
|
|
5
|
+
@use '../web-components/dialogs/base-dialog/component.scss' as base-dialog;
|
|
6
|
+
@use '../web-components/dialogs/confirmation-dialog/component.scss' as
|
|
7
|
+
confirmation-dialog;
|
|
8
|
+
@use '../web-components/menus/bar-menu/component.scss' as game-menu;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.dark-purple {
|
|
2
|
+
--color-bg-primary: #222222;
|
|
3
|
+
--color-bg-secondary: linear-gradient(135deg, #852392 0%, #090920 100%);
|
|
4
|
+
--color-bg-tertiary: #121130;
|
|
5
|
+
|
|
6
|
+
--color-hover-bg-primary: #090920;
|
|
7
|
+
--color-hover-bg-secondary: linear-gradient(135deg, #a828b9 0%, #2f0035 100%);
|
|
8
|
+
--color-hover-bg-tertiary: #3b0077;
|
|
9
|
+
|
|
10
|
+
--color-text-primary: #f1e5fe;
|
|
11
|
+
--color-text-secondary: #ddd6fe;
|
|
12
|
+
--color-text-tertiary: #c4b5fd;
|
|
13
|
+
|
|
14
|
+
--color-border-primary: #000000;
|
|
15
|
+
--color-border-secondary: #8c0095;
|
|
16
|
+
--color-border-tertiary: #a5b4fc;
|
|
17
|
+
|
|
18
|
+
--color-hover-border-primary: #000000;
|
|
19
|
+
--color-hover-border-secondary: #8c0095;
|
|
20
|
+
--color-hover-border-tertiary: #3b0077;
|
|
21
|
+
|
|
22
|
+
--color-primary: #6366f1;
|
|
23
|
+
--color-primary-light: #818cf8;
|
|
24
|
+
--color-primary-dark: #4f46e5;
|
|
25
|
+
|
|
26
|
+
--color-success: linear-gradient(135deg, #337642 0%, #084c00 100%);
|
|
27
|
+
--color-warning: linear-gradient(135deg, #ffcc37 0%, #c76a00 100%);
|
|
28
|
+
--color-error: linear-gradient(135deg, #f87171 0%, #dc2626 100%);
|
|
29
|
+
--color-info: linear-gradient(135deg, #a78bfa 0%, #06b6d4 100%);
|
|
30
|
+
|
|
31
|
+
--window-backdrop: #000000b3;
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.dark {
|
|
2
|
+
--color-bg-primary: #313131;
|
|
3
|
+
--color-bg-secondary: #1f1f1f;
|
|
4
|
+
--color-bg-tertiary: #121130;
|
|
5
|
+
|
|
6
|
+
--color-hover-bg-primary: #090920;
|
|
7
|
+
--color-hover-bg-secondary: #141414;
|
|
8
|
+
--color-hover-bg-tertiary: #3b0077;
|
|
9
|
+
|
|
10
|
+
--color-text-primary: #eeeeee;
|
|
11
|
+
--color-text-secondary: #ddd6fe;
|
|
12
|
+
--color-text-tertiary: #c4b5fd;
|
|
13
|
+
|
|
14
|
+
--color-border-primary: #7a7a7a;
|
|
15
|
+
--color-border-secondary: #696969;
|
|
16
|
+
--color-border-tertiary: #a5b4fc;
|
|
17
|
+
|
|
18
|
+
--color-hover-border-primary: #000000;
|
|
19
|
+
--color-hover-border-secondary: #979797;
|
|
20
|
+
--color-hover-border-tertiary: #3b0077;
|
|
21
|
+
|
|
22
|
+
--color-primary: #6366f1;
|
|
23
|
+
--color-primary-light: #818cf8;
|
|
24
|
+
--color-primary-dark: #4f46e5;
|
|
25
|
+
|
|
26
|
+
--color-success: #00811a;
|
|
27
|
+
--color-warning: #e68200;
|
|
28
|
+
--color-error: linear-gradient(135deg, #f87171 0%, #dc2626 100%);
|
|
29
|
+
--color-info: linear-gradient(135deg, #a78bfa 0%, #06b6d4 100%);
|
|
30
|
+
|
|
31
|
+
--window-backdrop: #000000b3;
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.ferrari {
|
|
2
|
+
--color-bg-primary: #ff2800;
|
|
3
|
+
--color-bg-secondary: #0096d6;
|
|
4
|
+
--color-bg-tertiary: #121130;
|
|
5
|
+
|
|
6
|
+
--color-hover-bg-primary: #090920;
|
|
7
|
+
--color-hover-bg-secondary: #0282cd;
|
|
8
|
+
--color-hover-bg-tertiary: #3b0077;
|
|
9
|
+
|
|
10
|
+
--color-text-primary: #ffffff;
|
|
11
|
+
--color-text-secondary: #ddd6fe;
|
|
12
|
+
--color-text-tertiary: #c4b5fd;
|
|
13
|
+
|
|
14
|
+
--color-border-primary: #ffffff;
|
|
15
|
+
--color-border-secondary: #ddebf7;
|
|
16
|
+
--color-border-tertiary: #a5b4fc;
|
|
17
|
+
|
|
18
|
+
--color-hover-border-primary: #000000;
|
|
19
|
+
--color-hover-border-secondary: #bedcff;
|
|
20
|
+
--color-hover-border-tertiary: #3b0077;
|
|
21
|
+
|
|
22
|
+
--color-primary: #6366f1;
|
|
23
|
+
--color-primary-light: #818cf8;
|
|
24
|
+
--color-primary-dark: #4f46e5;
|
|
25
|
+
|
|
26
|
+
--color-success: #0e8d00;
|
|
27
|
+
--color-warning: #fd9712;
|
|
28
|
+
--color-error: linear-gradient(135deg, #f87171 0%, #dc2626 100%);
|
|
29
|
+
--color-info: linear-gradient(135deg, #a78bfa 0%, #06b6d4 100%);
|
|
30
|
+
|
|
31
|
+
--window-backdrop: rgba(255, 188, 183, 0.5);
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.light-blue {
|
|
2
|
+
--color-bg-primary: #f7f7f7;
|
|
3
|
+
--color-bg-secondary: linear-gradient(135deg, #d6ebff 0%, #76bdff 100%);
|
|
4
|
+
--color-bg-tertiary: #121130;
|
|
5
|
+
|
|
6
|
+
--color-hover-bg-primary: #090920;
|
|
7
|
+
--color-hover-bg-secondary: linear-gradient(135deg, #bee7ff 0%, #56a7ee 100%);
|
|
8
|
+
--color-hover-bg-tertiary: #3b0077;
|
|
9
|
+
|
|
10
|
+
--color-text-primary: #2b2b2b;
|
|
11
|
+
--color-text-secondary: #ddd6fe;
|
|
12
|
+
--color-text-tertiary: #c4b5fd;
|
|
13
|
+
|
|
14
|
+
--color-border-primary: #d8d8d8;
|
|
15
|
+
--color-border-secondary: #ddebf7;
|
|
16
|
+
--color-border-tertiary: #a5b4fc;
|
|
17
|
+
|
|
18
|
+
--color-hover-border-primary: #000000;
|
|
19
|
+
--color-hover-border-secondary: #bedcff;
|
|
20
|
+
--color-hover-border-tertiary: #3b0077;
|
|
21
|
+
|
|
22
|
+
--color-primary: #6366f1;
|
|
23
|
+
--color-primary-light: #818cf8;
|
|
24
|
+
--color-primary-dark: #4f46e5;
|
|
25
|
+
|
|
26
|
+
--color-success: linear-gradient(135deg, #c3ffd5 0%, #7fe083 100%);
|
|
27
|
+
--color-warning: linear-gradient(135deg, #ffe38e 0%, #ffd970 100%);
|
|
28
|
+
--color-error: linear-gradient(135deg, #f87171 0%, #dc2626 100%);
|
|
29
|
+
--color-info: linear-gradient(135deg, #a78bfa 0%, #06b6d4 100%);
|
|
30
|
+
|
|
31
|
+
--window-backdrop: #c9e6ffb3;
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.light {
|
|
2
|
+
--color-bg-primary: #fbfbfb;
|
|
3
|
+
--color-bg-secondary: #f7f7f7;
|
|
4
|
+
--color-bg-tertiary: #121130;
|
|
5
|
+
|
|
6
|
+
--color-hover-bg-primary: #090920;
|
|
7
|
+
--color-hover-bg-secondary: #ededed;
|
|
8
|
+
--color-hover-bg-tertiary: #3b0077;
|
|
9
|
+
|
|
10
|
+
--color-text-primary: #141414;
|
|
11
|
+
--color-text-secondary: #ddd6fe;
|
|
12
|
+
--color-text-tertiary: #c4b5fd;
|
|
13
|
+
|
|
14
|
+
--color-border-primary: #d8d8d8;
|
|
15
|
+
--color-border-secondary: #f3f3f3;
|
|
16
|
+
--color-border-tertiary: #a5b4fc;
|
|
17
|
+
|
|
18
|
+
--color-hover-border-primary: #000000;
|
|
19
|
+
--color-hover-border-secondary: #cecece;
|
|
20
|
+
--color-hover-border-tertiary: #3b0077;
|
|
21
|
+
|
|
22
|
+
--color-primary: #6366f1;
|
|
23
|
+
--color-primary-light: #818cf8;
|
|
24
|
+
--color-primary-dark: #4f46e5;
|
|
25
|
+
|
|
26
|
+
--color-success: #97e9a8;
|
|
27
|
+
--color-warning: #ffe586;
|
|
28
|
+
--color-error: linear-gradient(135deg, #f87171 0%, #dc2626 100%);
|
|
29
|
+
--color-info: linear-gradient(135deg, #a78bfa 0%, #06b6d4 100%);
|
|
30
|
+
|
|
31
|
+
--window-backdrop: #f7f7f7b3;
|
|
32
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* Spacing Design Tokens */
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
/* Base spacing unit: 4px */
|
|
5
|
+
--spacing-0: 0;
|
|
6
|
+
--spacing-1: 0.25rem; /* 4px */
|
|
7
|
+
--spacing-2: 0.5rem; /* 8px */
|
|
8
|
+
--spacing-3: 0.75rem; /* 12px */
|
|
9
|
+
--spacing-4: 1rem; /* 16px */
|
|
10
|
+
--spacing-5: 1.25rem; /* 20px */
|
|
11
|
+
--spacing-6: 1.5rem; /* 24px */
|
|
12
|
+
--spacing-8: 2rem; /* 32px */
|
|
13
|
+
--spacing-10: 2.5rem; /* 40px */
|
|
14
|
+
--spacing-12: 3rem; /* 48px */
|
|
15
|
+
--spacing-16: 4rem; /* 64px */
|
|
16
|
+
--spacing-20: 5rem; /* 80px */
|
|
17
|
+
--spacing-24: 6rem; /* 96px */
|
|
18
|
+
|
|
19
|
+
/* Button Spacing */
|
|
20
|
+
--button-padding-block-sm: var(--spacing-1);
|
|
21
|
+
--button-padding-block-md: var(--spacing-2);
|
|
22
|
+
--button-padding-block-lg: var(--spacing-3);
|
|
23
|
+
|
|
24
|
+
--button-padding-inline-sm: var(--spacing-3);
|
|
25
|
+
--button-padding-inline-md: var(--spacing-4);
|
|
26
|
+
--button-padding-inline-lg: var(--spacing-6);
|
|
27
|
+
|
|
28
|
+
/* Component Gap */
|
|
29
|
+
--gap-xs: 0.25rem;
|
|
30
|
+
--gap-sm: 0.5rem;
|
|
31
|
+
--gap-md: 1rem;
|
|
32
|
+
--gap-lg: 1.5rem;
|
|
33
|
+
--gap-xl: 2rem;
|
|
34
|
+
|
|
35
|
+
/* Border Radius - Modern & Accessible */
|
|
36
|
+
--border-radius-none: 0;
|
|
37
|
+
--border-radius-sm: 0.25rem; /* 4px */
|
|
38
|
+
--border-radius-md: 0.5rem; /* 8px */
|
|
39
|
+
--border-radius-lg: 0.75rem; /* 12px */
|
|
40
|
+
--border-radius-xl: 1rem; /* 16px */
|
|
41
|
+
--border-radius-2xl: 1.5rem; /* 24px */
|
|
42
|
+
--border-radius-full: 9999px;
|
|
43
|
+
|
|
44
|
+
/* Border Width */
|
|
45
|
+
--border-width-0: 0;
|
|
46
|
+
--border-width-1: 1px;
|
|
47
|
+
--border-width-2: 2px;
|
|
48
|
+
--border-width-4: 4px;
|
|
49
|
+
|
|
50
|
+
/* Shadow System - Depth & Elevation */
|
|
51
|
+
--shadow-none: none;
|
|
52
|
+
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
53
|
+
--shadow-md:
|
|
54
|
+
0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
55
|
+
--shadow-lg:
|
|
56
|
+
0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
57
|
+
--shadow-xl:
|
|
58
|
+
0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
|
59
|
+
--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
|
60
|
+
|
|
61
|
+
/* Transition & Animation */
|
|
62
|
+
--transition-fast: 150ms;
|
|
63
|
+
--transition-base: 300ms;
|
|
64
|
+
--transition-slow: 500ms;
|
|
65
|
+
|
|
66
|
+
/* Z-Index Scale */
|
|
67
|
+
--z-index-dropdown: 1000;
|
|
68
|
+
--z-index-modal-backdrop: 1040;
|
|
69
|
+
--z-index-modal: 1050;
|
|
70
|
+
--z-index-popover: 1060;
|
|
71
|
+
--z-index-tooltip: 1070;
|
|
72
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* Design System - Main Entry Point */
|
|
2
|
+
|
|
3
|
+
/* Include Design Tokens */
|
|
4
|
+
@use './tokens/typography.scss';
|
|
5
|
+
@use './tokens/colors.scss';
|
|
6
|
+
@use './tokens/spacing.scss';
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
Note: Component styles are included in components-styles.scss separately.
|
|
10
|
+
They automatically inherit the CSS custom properties defined above.
|
|
11
|
+
*/
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* Typography Design Tokens */
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
/* Font Family Stack - Professional & Modern */
|
|
5
|
+
--font-family-sans:
|
|
6
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, Roboto,
|
|
7
|
+
'Helvetica Neue', Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
8
|
+
--font-family-mono: 'Courier New', Courier, monospace;
|
|
9
|
+
--font-family-base: var(--font-family-sans);
|
|
10
|
+
|
|
11
|
+
/* Font Sizes - Refined Scale */
|
|
12
|
+
--font-size-xs: 0.75rem; /* 12px */
|
|
13
|
+
--font-size-sm: 0.875rem; /* 14px */
|
|
14
|
+
--font-size-md: 1rem; /* 16px */
|
|
15
|
+
--font-size-lg: 1.125rem; /* 18px */
|
|
16
|
+
--font-size-xl: 1.25rem; /* 20px */
|
|
17
|
+
--font-size-2xl: 1.5rem; /* 24px */
|
|
18
|
+
--font-size-3xl: 1.875rem; /* 30px */
|
|
19
|
+
--font-size-xxl: 2.25rem; /* 36px */
|
|
20
|
+
|
|
21
|
+
/* Font Weights - Semantic Usage */
|
|
22
|
+
--font-weight-light: 300;
|
|
23
|
+
--font-weight-normal: 400;
|
|
24
|
+
--font-weight-medium: 500;
|
|
25
|
+
--font-weight-semibold: 600;
|
|
26
|
+
--font-weight-bold: 700;
|
|
27
|
+
--font-weight-extrabold: 800;
|
|
28
|
+
|
|
29
|
+
/* Line Heights - Improved Readability */
|
|
30
|
+
--line-height-tight: 1.2;
|
|
31
|
+
--line-height-normal: 1.5;
|
|
32
|
+
--line-height-relaxed: 1.75;
|
|
33
|
+
--line-height-loose: 2;
|
|
34
|
+
|
|
35
|
+
/* Letter Spacing - Refined */
|
|
36
|
+
--letter-spacing-tight: -0.02em;
|
|
37
|
+
--letter-spacing-normal: 0em;
|
|
38
|
+
--letter-spacing-wide: 0.02em;
|
|
39
|
+
|
|
40
|
+
/* Text Transform */
|
|
41
|
+
--text-transform-none: none;
|
|
42
|
+
--text-transform-uppercase: uppercase;
|
|
43
|
+
--text-transform-capitalize: capitalize;
|
|
44
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
dialog header[part='header'] {
|
|
2
|
+
border-bottom: var(--border-width-1) solid var(--color-neutral-600);
|
|
3
|
+
padding-bottom: var(--spacing-4);
|
|
4
|
+
|
|
5
|
+
&:empty {
|
|
6
|
+
display: none;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
dialog div[part='body'] {
|
|
11
|
+
padding: var(--spacing-4) 0;
|
|
12
|
+
|
|
13
|
+
&:empty {
|
|
14
|
+
display: none;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
dialog footer[part='footer'] {
|
|
19
|
+
border-top: var(--border-width-1) solid var(--color-neutral-600);
|
|
20
|
+
padding-top: var(--spacing-4);
|
|
21
|
+
|
|
22
|
+
&:empty {
|
|
23
|
+
display: none;
|
|
24
|
+
}
|
|
25
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@albi_scando/as-design-system-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "A library of reusable, strongly typed Web Components built with TypeScript, designed for creating consistent and maintainable user interfaces.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -19,6 +19,15 @@
|
|
|
19
19
|
"main": "./dist/as-design-system-lib.umd.js",
|
|
20
20
|
"module": "./dist/as-design-system-lib.es.js",
|
|
21
21
|
"typings": "./dist/types/main.d.ts",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"import": "./dist/as-design-system-lib.es.js",
|
|
25
|
+
"require": "./dist/as-design-system-lib.umd.js",
|
|
26
|
+
"types": "./dist/types/main.d.ts"
|
|
27
|
+
},
|
|
28
|
+
"./styles": "./dist/styles/themes/index.scss",
|
|
29
|
+
"./styles/*": "./dist/styles/*"
|
|
30
|
+
},
|
|
22
31
|
"scripts": {
|
|
23
32
|
"build": "tsc && vite build",
|
|
24
33
|
"commit": "cz",
|