ngx-strata 0.1.0 → 0.2.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 (72) hide show
  1. package/assets/styles/base.scss +7 -3
  2. package/assets/styles/colors.scss +3 -11
  3. package/assets/styles/components/_breadcrumb.scss +68 -0
  4. package/assets/styles/components/accordion.scss +4 -2
  5. package/assets/styles/components/action-menu.scss +14 -3
  6. package/assets/styles/components/alert.scss +112 -0
  7. package/assets/styles/components/avatar.scss +40 -22
  8. package/assets/styles/components/button.scss +27 -20
  9. package/assets/styles/components/card.scss +21 -13
  10. package/assets/styles/components/checkbox.scss +11 -9
  11. package/assets/styles/components/icon.scss +5 -0
  12. package/assets/styles/components/input-field.scss +6 -3
  13. package/assets/styles/components/item.scss +11 -1
  14. package/assets/styles/components/modal.scss +3 -9
  15. package/assets/styles/components/notification.scss +40 -20
  16. package/assets/styles/components/overlay.scss +4 -0
  17. package/assets/styles/components/pagination.scss +16 -8
  18. package/assets/styles/components/progress.scss +32 -22
  19. package/assets/styles/components/radio.scss +101 -0
  20. package/assets/styles/components/segmented-control.scss +41 -9
  21. package/assets/styles/components/select.scss +24 -30
  22. package/assets/styles/components/sidemenu.scss +62 -0
  23. package/assets/styles/components/spinner.scss +10 -7
  24. package/assets/styles/components/table.scss +4 -2
  25. package/assets/styles/components/tabs.scss +71 -0
  26. package/assets/styles/components/tag.scss +17 -13
  27. package/assets/styles/components/toggle.scss +69 -40
  28. package/assets/styles/focus-outline.scss +2 -1
  29. package/assets/styles/primitives/color-primitives.scss +88 -0
  30. package/assets/styles/primitives/spacing-primitives.scss +16 -0
  31. package/assets/styles/public-api.scss +43 -34
  32. package/assets/styles/semantics/color-semantic.scss +121 -0
  33. package/assets/styles/typography.scss +123 -34
  34. package/dist/strata/strata.css +1 -1
  35. package/fesm2022/ngx-strata.mjs +1154 -439
  36. package/fesm2022/ngx-strata.mjs.map +1 -1
  37. package/package.json +3 -3
  38. package/skills/ngx-strata/SKILL.md +106 -0
  39. package/skills/ngx-strata/components/accordion.md +38 -0
  40. package/skills/ngx-strata/components/action-menu.md +36 -0
  41. package/skills/ngx-strata/components/alert.md +28 -0
  42. package/skills/ngx-strata/components/avatar.md +33 -0
  43. package/skills/ngx-strata/components/breadcrumb.md +32 -0
  44. package/skills/ngx-strata/components/button.md +34 -0
  45. package/skills/ngx-strata/components/card.md +24 -0
  46. package/skills/ngx-strata/components/checkbox.md +22 -0
  47. package/skills/ngx-strata/components/divider.md +19 -0
  48. package/skills/ngx-strata/components/icon.md +21 -0
  49. package/skills/ngx-strata/components/input-field.md +29 -0
  50. package/skills/ngx-strata/components/item.md +31 -0
  51. package/skills/ngx-strata/components/kbd.md +18 -0
  52. package/skills/ngx-strata/components/message-state.md +32 -0
  53. package/skills/ngx-strata/components/modal.md +86 -0
  54. package/skills/ngx-strata/components/notification.md +46 -0
  55. package/skills/ngx-strata/components/number-display.md +26 -0
  56. package/skills/ngx-strata/components/overlay.md +20 -0
  57. package/skills/ngx-strata/components/pagination.md +23 -0
  58. package/skills/ngx-strata/components/progress.md +46 -0
  59. package/skills/ngx-strata/components/radio.md +29 -0
  60. package/skills/ngx-strata/components/segmented-control.md +38 -0
  61. package/skills/ngx-strata/components/shell.md +18 -0
  62. package/skills/ngx-strata/components/sidemenu.md +41 -0
  63. package/skills/ngx-strata/components/single-select.md +45 -0
  64. package/skills/ngx-strata/components/slider.md +24 -0
  65. package/skills/ngx-strata/components/spinner.md +17 -0
  66. package/skills/ngx-strata/components/tabs.md +27 -0
  67. package/skills/ngx-strata/components/tag.md +17 -0
  68. package/skills/ngx-strata/components/text-stack.md +21 -0
  69. package/skills/ngx-strata/components/theming.md +19 -0
  70. package/skills/ngx-strata/components/toggle.md +22 -0
  71. package/types/ngx-strata.d.ts +464 -228
  72. package/dist/my-lib/strata.css +0 -1
@@ -1,8 +1,10 @@
1
1
  st-spinner {
2
2
  --st-spinner-size: var(--st-size-xl);
3
3
  --st-spinner-stroke-width: var(--st-size-xxxxs);
4
- --st-spinner-main-color: var(--st-text-faded);
5
- --st-spinner-accent-color: var(--st-text);
4
+ --st-spinner-main-color: var(--st-color-text-tertiary);
5
+
6
+ --st-spinner-accent-color: var(--st-color-text-primary);
7
+
6
8
  --st-spinner-inner-width: calc(var(--st-spinner-size) - (var(--st-spinner-stroke-width) * 4));
7
9
 
8
10
  display: flex;
@@ -25,24 +27,25 @@ st-spinner {
25
27
  }
26
28
 
27
29
  &.st-theme-brand {
28
- --st-spinner-accent-color: var(--st-brand);
30
+ --st-spinner-accent-color: var(--st-color-accent-default);
29
31
  }
30
32
 
31
33
  &.st-theme-info {
32
- --st-spinner-accent-color: var(--st-info);
34
+ --st-spinner-accent-color: var(--st-color-feedback-info-default);
33
35
  }
34
36
 
35
37
  &.st-theme-success {
36
- --st-spinner-accent-color: var(--st-success);
38
+ --st-spinner-accent-color: var(--st-color-feedback-success-default);
37
39
  }
38
40
 
39
41
  &.st-theme-warning {
40
- --st-spinner-accent-color: var(--st-warning);
42
+ --st-spinner-accent-color: var(--st-color-feedback-warning-default);
41
43
  }
42
44
 
43
45
  &.st-theme-danger {
44
- --st-spinner-accent-color: var(--st-danger);
46
+ --st-spinner-accent-color: var(--st-color-feedback-error-default);
45
47
  }
48
+
46
49
  .st-spinner {
47
50
  width: var(--st-spinner-size);
48
51
  height: var(--st-spinner-size);
@@ -1,6 +1,7 @@
1
1
  table.st-table {
2
2
  --st-table-background-color: var(transparent);
3
- --st-table-background-color-even-row: var(--st-bg);
3
+ --st-table-background-color-even-row: var(--st-color-bg-raised);
4
+
4
5
  --st-table-divider-color: var(--st-border-faded);
5
6
 
6
7
  width: 100%;
@@ -14,7 +15,8 @@ table.st-table {
14
15
 
15
16
  th {
16
17
  font-weight: var(--st-font-weight-bold);
17
- color: var(--st-text-muted);
18
+ color: var(--st-color-text-secondary);
19
+
18
20
  font-size: var(--st-font-sm);
19
21
  padding: var(--st-size-xxxs);
20
22
  padding-bottom: var(--st-size-xxs);
@@ -0,0 +1,71 @@
1
+ st-tabs {
2
+ display: block;
3
+ width: 100%;
4
+
5
+ .tabs-container {
6
+ display: flex;
7
+ position: relative;
8
+ border-bottom: 1px solid var(--st-border);
9
+ gap: var(--st-size-sm);
10
+ width: 100%;
11
+ }
12
+
13
+ st-tab-item {
14
+ padding: 12px 16px;
15
+ font-size: 14px;
16
+ font-weight: 500;
17
+ color: var(--st-color-text-tertiary);
18
+
19
+ cursor: pointer;
20
+ user-select: none;
21
+ transition: color 0.15s ease-in-out;
22
+ border-bottom: 2px solid transparent;
23
+ margin-bottom: -1px; // Align with container border
24
+ outline: none;
25
+
26
+ &:focus,
27
+ &:active {
28
+ outline: none;
29
+ }
30
+
31
+ &:active:not(.disabled) {
32
+ background-image: linear-gradient(var(--st-border-muted), var(--st-border-muted));
33
+ background-size: 100% calc(100% - 2px);
34
+ background-repeat: no-repeat;
35
+ border-radius: var(--st-border-radius-sm);
36
+ }
37
+
38
+ &:focus-visible {
39
+ outline: none;
40
+ background-color: var(--st-bg-light);
41
+ border-radius: var(--st-border-radius-sm);
42
+ }
43
+
44
+ &:hover:not(.disabled):not(.active) {
45
+ color: var(--st-color-text-primary);
46
+
47
+ }
48
+
49
+ &.active {
50
+ color: var(--st-color-accent-default);
51
+
52
+ }
53
+
54
+ &.disabled {
55
+ cursor: not-allowed;
56
+ opacity: 0.5;
57
+ pointer-events: none;
58
+ }
59
+ }
60
+
61
+ .selection-indicator {
62
+ position: absolute;
63
+ bottom: 0;
64
+ height: 2px;
65
+ background-color: var(--st-color-accent-default);
66
+
67
+ transition:
68
+ left 0.25s cubic-bezier(0.4, 0, 0.2, 1),
69
+ width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
70
+ }
71
+ }
@@ -1,7 +1,9 @@
1
1
  st-tag {
2
- --st-tag-border-color: var(--st-divider);
3
- --st-tag-background-color: var(--st-bg-light);
4
- --st-tag-text-color: var(--st-text);
2
+ --st-tag-border-color: var(--st-color-neutral-300);
3
+ --st-tag-background-color: var(--st-color-neutral-200);
4
+ --st-tag-text-color: var(--st-color-neutral-800);
5
+
6
+
5
7
  color: var(--st-tag-text-color);
6
8
  border: 1px solid var(--st-tag-border-color);
7
9
  border-radius: var(--st-border-radius-sm);
@@ -34,27 +36,29 @@ st-tag {
34
36
  }
35
37
 
36
38
  &.st-theme-brand {
37
- --st-tag-background-color: var(--st-brand);
38
- --st-tag-text-color: var(--st-text-contrast);
39
+ --st-tag-background-color: var(--st-color-accent-subtle);
40
+ --st-tag-text-color: var(--st-color-accent-text);
39
41
  }
40
42
 
41
43
  &.st-theme-info {
42
- --st-tag-background-color: var(--st-info);
43
- --st-tag-text-color: var(--st-text-contrast);
44
+ --st-tag-background-color: var(--st-color-feedback-info-subtle);
45
+ --st-tag-text-color: var(--st-color-feedback-info-text);
44
46
  }
45
47
 
46
48
  &.st-theme-success {
47
- --st-tag-background-color: var(--st-success);
48
- --st-tag-text-color: var(--st-text-contrast);
49
+ --st-tag-background-color: var(--st-color-feedback-success-subtle);
50
+ --st-tag-text-color: var(--st-color-feedback-success-text);
49
51
  }
50
52
 
51
53
  &.st-theme-danger {
52
- --st-tag-background-color: var(--st-danger);
53
- --st-tag-text-color: var(--st-text-contrast);
54
+ --st-tag-background-color: var(--st-color-feedback-error-subtle);
55
+ --st-tag-text-color: var(--st-color-feedback-error-text);
54
56
  }
55
57
 
56
58
  &.st-theme-warning {
57
- --st-tag-background-color: var(--st-warning);
58
- --st-tag-text-color: var(--st-text-contrast);
59
+ --st-tag-background-color: var(--st-color-feedback-warning-subtle);
60
+ --st-tag-text-color: var(--st-color-feedback-warning-text);
59
61
  }
62
+
63
+
60
64
  }
@@ -1,64 +1,93 @@
1
1
  st-toggle {
2
- --st-toggle-border-color: var(--st-divider);
3
- --st-toggle-background-color: var(--st-bg-light);
4
- --st-toggle-handle-background-color: var(--st-brand);
5
- --st-toggle-handle-background-color-hover: var(--st-brand-dark);
6
- --st-toggle-handle-size: 32px;
7
- background-color: var(--st-toggle-background-color);
8
- border: 1px solid var(--st-toggle-border-color);
9
- height: var(--st-toggle-handle-size);
10
- width: calc(var(--st-toggle-handle-size) * 1.5);
11
- border-radius: var(--st-border-radius-sm);
2
+ // Internal component hooks
3
+ --st-toggle-height: var(--st-size-md);
4
+ --st-toggle-width: var(--st-space-10);
5
+ --st-toggle-padding: var(--st-size-xxxs);
6
+ --st-toggle-handle-size: var(--st-size-sm);
7
+ --st-toggle-gap: var(--st-size-xxs);
12
8
 
13
- &.sm {
14
- --st-toggle-handle-size: 28px;
9
+ --st-toggle-bg-unchecked: var(--st-color-input-default);
10
+ --st-toggle-bg-checked: var(--st-color-accent-default);
11
+ --st-toggle-handle-bg: var(--st-color-neutral-50);
12
+
13
+ display: inline-flex;
14
+ align-items: center;
15
+ gap: var(--st-toggle-gap);
16
+ cursor: pointer;
17
+ user-select: none;
18
+ box-sizing: border-box;
19
+
20
+ &.st-toggle-label-before {
21
+ flex-direction: row-reverse;
15
22
  }
16
23
 
17
- &.md {
18
- --st-toggle-handle-size: 32px;
24
+ // Accessibility
25
+ &:focus-visible {
26
+ outline: none;
27
+ .st-toggle-track {
28
+ outline: 2px solid var(--st-color-accent-default);
29
+ outline-offset: 2px;
30
+ }
19
31
  }
20
32
 
21
- &.lg {
22
- --st-toggle-handle-size: 40px;
33
+ &:focus {
34
+ outline: none;
35
+ }
36
+
37
+ .st-toggle-track {
38
+ position: relative;
39
+ display: flex;
40
+ align-items: center;
41
+ box-sizing: border-box;
42
+ height: var(--st-toggle-height);
43
+ width: var(--st-toggle-width);
44
+ padding: var(--st-toggle-padding);
45
+ background-color: var(--st-toggle-bg-unchecked);
46
+ border-radius: var(--st-size-xxxs); // 4px
47
+ transition: background-color 0.2s ease;
48
+ }
49
+
50
+ .st-toggle-label {
51
+ font-family: var(--st-font-family);
52
+ font-size: var(--st-font-size-md);
53
+ color: var(--st-color-text-primary);
23
54
  }
24
55
 
25
56
  .toggle-handle {
26
57
  display: block;
27
58
  height: var(--st-toggle-handle-size);
28
59
  width: var(--st-toggle-handle-size);
29
- background-color: var(--st-toggle-handle-background-color);
30
- margin-right: calc(var(--st-toggle-handle-size) / 4);
31
- margin-left: calc(var(--st-toggle-handle-size) / 4);
32
- border-radius: var(--st-border-radius-sm);
33
- transition: all 0.1s linear;
60
+ background-color: var(--st-toggle-handle-bg);
61
+ border-radius: var(--st-size-xxxxs); // 2px
62
+ transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
63
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
34
64
  }
35
65
 
36
- &[data-checked='false'] {
37
- .toggle-handle {
38
- margin-right: var(--st-toggle-handle-size);
39
- background-color: var(--st-bg);
40
- margin-left: 0px;
66
+ &[data-checked='true'] {
67
+ .st-toggle-track {
68
+ background-color: var(--st-toggle-bg-checked);
41
69
  }
42
- }
43
70
 
44
- &[data-checked='true'] {
45
71
  .toggle-handle {
46
- margin-left: calc(var(--st-toggle-handle-size) / 2);
47
- margin-right: 0px;
48
- background-color: var(--st-brand);
72
+ // Move by: Width (40) - Padding (4) - Handle (16) - Padding (4) = 16px
73
+ transform: translateX(calc(var(--st-toggle-width) - var(--st-toggle-handle-size) - (var(--st-toggle-padding) * 2)));
49
74
  }
50
75
  }
51
76
 
52
- &:focus {
53
- outline: 1px solid var(--st-brand);
54
- outline-offset: 2px;
77
+ &[data-checked='false']:not([data-disabled='true']):hover {
78
+ .st-toggle-track {
79
+ background-color: var(--st-color-input-hover);
80
+ }
55
81
  }
56
82
 
57
- &:not(:disabled):hover {
58
- cursor: pointer;
59
- background-color: var(--st-bg-dark);
60
- .toggle-handle {
61
- background-color: var(--st-brand-light);
83
+ &[data-checked='true']:not([data-disabled='true']):hover {
84
+ .st-toggle-track {
85
+ background-color: var(--st-color-accent-hover);
62
86
  }
63
87
  }
64
- }
88
+
89
+ &[data-disabled='true'] {
90
+ cursor: not-allowed;
91
+ opacity: 0.5;
92
+ }
93
+ }
@@ -1,7 +1,8 @@
1
1
  :root {
2
2
  --st-focus-ring-width: 2px;
3
3
  --st-focus-ring-style: solid;
4
- --st-focus-ring-color: var(--st-brand);
4
+ --st-focus-ring-color: var(--st-color-accent-default);
5
+
5
6
  --st-focus-ring-offset: 2px;
6
7
  }
7
8
 
@@ -0,0 +1,88 @@
1
+ :root {
2
+
3
+ /* --- Neutral --- */
4
+ --st-color-neutral-0: #ffffff;
5
+ --st-color-neutral-50: #FBF9F8;
6
+ --st-color-neutral-100: #F5F3F3;
7
+ --st-color-neutral-200: #dbd7d6;
8
+ --st-color-neutral-300: #bebcbb;
9
+ --st-color-neutral-400: #9c9896;
10
+ --st-color-neutral-500: #78716C;
11
+ --st-color-neutral-600: #5F5E5E;
12
+ --st-color-neutral-700: #484747;
13
+ --st-color-neutral-800: #343232;
14
+ --st-color-neutral-900: #212121;
15
+ --st-color-neutral-950: #151414;
16
+
17
+ /* --- Blue (brand/accent) --- */
18
+ --st-color-blue-50: #eff6ff;
19
+ --st-color-blue-100: #dbeafe;
20
+ --st-color-blue-200: #bfdbfe;
21
+ --st-color-blue-300: #93c5fd;
22
+ --st-color-blue-400: #60a5fa;
23
+ --st-color-blue-500: #3b82f6;
24
+ --st-color-blue-600: #2563eb;
25
+ --st-color-blue-700: #1d4ed8;
26
+ --st-color-blue-800: #1e40af;
27
+ --st-color-blue-900: #1e3a8a;
28
+
29
+ /* --- Red (error/danger) --- */
30
+ --st-color-red-50: #FFE1DF;
31
+ --st-color-red-100: #fabbb8;
32
+ --st-color-red-200: #ee9895;
33
+ --st-color-red-300: #de7f7d;
34
+ --st-color-red-400: #c76666;
35
+ --st-color-red-500: #A85657;
36
+ --st-color-red-600: #AC373A;
37
+ --st-color-red-700: #80171D;
38
+ --st-color-red-800: #5c0f13;
39
+ --st-color-red-900: #3a080b;
40
+
41
+ /* --- Green (success) --- */
42
+ --st-color-green-50: #EBF7EC;
43
+ --st-color-green-100: #c8e9ce;
44
+ --st-color-green-200: #9dd8ac;
45
+ --st-color-green-300: #6ec48c;
46
+ --st-color-green-400: #4eb779;
47
+ --st-color-green-500: #3C9365;
48
+ --st-color-green-600: #198f4c;
49
+ --st-color-green-700: #008234;
50
+ --st-color-green-800: #006b30;
51
+ --st-color-green-900: #005529;
52
+
53
+ /* --- Yellow (warning) --- */
54
+ --st-color-yellow-50: #fefce8;
55
+ --st-color-yellow-100: #fef9c3;
56
+ --st-color-yellow-200: #fef08a;
57
+ --st-color-yellow-300: #fde047;
58
+ --st-color-yellow-400: #facc15;
59
+ --st-color-yellow-500: #eab308;
60
+ --st-color-yellow-600: #ca8a04;
61
+ --st-color-yellow-700: #a16207;
62
+ --st-color-yellow-800: #854d0e;
63
+ --st-color-yellow-900: #713f12;
64
+
65
+ /* --- Orange --- */
66
+ --st-color-orange-50: #FFF8E4;
67
+ --st-color-orange-100: #ffe6b8;
68
+ --st-color-orange-200: #ffca8a;
69
+ --st-color-orange-300: #ffa85c;
70
+ --st-color-orange-400: #ff7b2e;
71
+ --st-color-orange-500: #FD4900;
72
+ --st-color-orange-600: #d53d01;
73
+ --st-color-orange-700: #b03103;
74
+ --st-color-orange-800: #882703;
75
+ --st-color-orange-900: #561801;
76
+
77
+ /* --- Teal (info) --- */
78
+ --st-color-teal-50: #f0fdfa;
79
+ --st-color-teal-100: #ccfbf1;
80
+ --st-color-teal-200: #99f6e4;
81
+ --st-color-teal-300: #5eead4;
82
+ --st-color-teal-400: #2dd4bf;
83
+ --st-color-teal-500: #14b8a6;
84
+ --st-color-teal-600: #0d9488;
85
+ --st-color-teal-700: #0f766e;
86
+ --st-color-teal-800: #115e59;
87
+ --st-color-teal-900: #134e4a;
88
+ }
@@ -0,0 +1,16 @@
1
+ /*
2
+ --st-space-{step}
3
+ Steps follow a 4px base grid. Uses integers that map to the grid.
4
+ */
5
+
6
+ :root {
7
+ --st-space-1: 4px;
8
+ --st-space-2: 8px;
9
+ --st-space-3: 12px;
10
+ --st-space-4: 16px;
11
+ --st-space-6: 24px;
12
+ --st-space-8: 32px;
13
+ --st-space-10: 40px;
14
+ --st-space-12: 48px;
15
+ --st-space-16: 64px;
16
+ }
@@ -1,36 +1,45 @@
1
- @use "base";
2
- @use "breakpoints";
3
- @use "colors";
4
- @use "focus-outline";
5
- @use "scrollbar";
6
- @use "shadows";
7
- @use "sizes";
8
- @use "typography";
1
+ @use "./primitives/color-primitives";
2
+ @use "./primitives/spacing-primitives";
3
+
4
+ @use "./base";
5
+ @use "./breakpoints";
6
+ @use "./colors";
7
+ @use "./focus-outline";
8
+ @use "./scrollbar";
9
+ @use "./shadows";
10
+ @use "./sizes";
11
+ @use "./typography";
12
+ @use "./semantics/color-semantic";
9
13
 
10
14
  // Components
11
- @use "components/action-menu";
12
- @use "components/avatar";
13
- @use "components/accordion";
14
- @use "components/button";
15
- @use "components/card";
16
- @use "components/checkbox";
17
- @use "components/divider";
18
- @use "components/grid";
19
- @use "components/icon";
20
- @use "components/input-field";
21
- @use "components/item";
22
- @use "components/modal";
23
- @use "components/number-display";
24
- @use "components/notification";
25
- @use "components/overlay";
26
- @use "components/pagination";
27
- @use "components/progress";
28
- @use "components/segmented-control";
29
- @use "components/select";
30
- @use "components/slider";
31
- @use "components/spinner";
32
- @use "components/table";
33
- @use "components/tag";
34
- @use "components/text-stack";
35
- @use "components/toggle";
36
- @use "components/tooltip";
15
+ @use "./components/action-menu";
16
+ @use "./components/alert";
17
+ @use "./components/avatar";
18
+ @use "./components/accordion";
19
+ @use "./components/button";
20
+ @use "./components/card";
21
+ @use "./components/checkbox";
22
+ @use "./components/divider";
23
+ @use "./components/grid";
24
+ @use "./components/icon";
25
+ @use "./components/input-field";
26
+ @use "./components/item";
27
+ @use "./components/modal";
28
+ @use "./components/number-display";
29
+ @use "./components/notification";
30
+ @use "./components/overlay";
31
+ @use "./components/pagination";
32
+ @use "./components/progress";
33
+ @use "./components/radio";
34
+ @use "./components/segmented-control";
35
+ @use "./components/select";
36
+ @use "./components/slider";
37
+ @use "./components/spinner";
38
+ @use "./components/table";
39
+ @use "./components/tag";
40
+ @use "./components/tabs";
41
+ @use "./components/text-stack";
42
+ @use "./components/toggle";
43
+ @use "./components/tooltip";
44
+ @use "./components/breadcrumb";
45
+ @use "./components/sidemenu";
@@ -0,0 +1,121 @@
1
+ :root {
2
+ /* --- Background --- */
3
+ --st-color-bg-default: var(--st-color-neutral-100);
4
+ --st-color-bg-subtle: var(--st-color-neutral-0);
5
+ --st-color-bg-raised: var(--st-color-neutral-0);
6
+ --st-color-bg-overlay: var(--st-color-neutral-0);
7
+ --st-color-bg-inverse: var(--st-color-neutral-900);
8
+ --st-color-bg-disabled: var(--st-color-neutral-100);
9
+
10
+ /* --- Text --- */
11
+ --st-color-text-primary: var(--st-color-neutral-900);
12
+ --st-color-text-secondary: var(--st-color-neutral-600);
13
+ --st-color-text-tertiary: var(--st-color-neutral-400);
14
+ --st-color-text-disabled: var(--st-color-neutral-300);
15
+ --st-color-text-inverse: var(--st-color-neutral-0);
16
+ --st-color-text-on-accent: var(--st-color-neutral-0);
17
+ --st-color-text-link: var(--st-color-blue-600);
18
+ --st-color-text-link-hover: var(--st-color-blue-700);
19
+
20
+ /* --- Accent (interactive / brand) --- */
21
+ --st-color-accent-default: var(--st-color-orange-600);
22
+ --st-color-accent-hover: var(--st-color-orange-700);
23
+ --st-color-accent-active: var(--st-color-orange-800);
24
+ --st-color-accent-subtle: var(--st-color-orange-50);
25
+ --st-color-accent-text: var(--st-color-orange-700);
26
+
27
+
28
+ /* --- Feedback: Error --- */
29
+ --st-color-feedback-error-default: var(--st-color-red-500);
30
+ --st-color-feedback-error-hover: var(--st-color-red-600);
31
+ --st-color-feedback-error-subtle: var(--st-color-red-50);
32
+ --st-color-feedback-error-border: var(--st-color-red-300);
33
+ --st-color-feedback-error-text: var(--st-color-red-700);
34
+
35
+ /* --- Feedback: Warning --- */
36
+ --st-color-feedback-warning-default: var(--st-color-yellow-400);
37
+ --st-color-feedback-warning-hover: var(--st-color-yellow-500);
38
+ --st-color-feedback-warning-subtle: var(--st-color-yellow-50);
39
+ --st-color-feedback-warning-border: var(--st-color-yellow-300);
40
+ --st-color-feedback-warning-text: var(--st-color-yellow-800);
41
+
42
+ /* --- Feedback: Success --- */
43
+ --st-color-feedback-success-default: var(--st-color-green-500);
44
+ --st-color-feedback-success-hover: var(--st-color-green-600);
45
+ --st-color-feedback-success-subtle: var(--st-color-green-100);
46
+ --st-color-feedback-success-border: var(--st-color-green-300);
47
+ --st-color-feedback-success-text: var(--st-color-green-700);
48
+
49
+ /* --- Feedback: Info --- */
50
+ --st-color-feedback-info-default: var(--st-color-blue-500);
51
+ --st-color-feedback-info-hover: var(--st-color-blue-600);
52
+ --st-color-feedback-info-subtle: var(--st-color-blue-100);
53
+ --st-color-feedback-info-border: var(--st-color-blue-300);
54
+ --st-color-feedback-info-text: var(--st-color-blue-800);
55
+
56
+
57
+ --st-color-input-default: var(--st-color-neutral-200);
58
+ --st-color-input-disabled: var(--st-color-neutral-100);
59
+ --st-color-input-hover: var(--st-color-neutral-300);
60
+ }
61
+
62
+
63
+ :root[data-theme="dark"] {
64
+ /* --- Background --- */
65
+ --st-color-bg-default: var(--st-color-neutral-950);
66
+ --st-color-bg-subtle: var(--st-color-neutral-900);
67
+ --st-color-bg-raised: var(--st-color-neutral-800);
68
+ --st-color-bg-overlay: var(--st-color-neutral-800);
69
+ --st-color-bg-inverse: var(--st-color-neutral-0);
70
+ --st-color-bg-disabled: var(--st-color-neutral-800);
71
+
72
+ /* --- Text --- */
73
+ --st-color-text-primary: var(--st-color-neutral-50);
74
+ --st-color-text-secondary: var(--st-color-neutral-400);
75
+ --st-color-text-tertiary: var(--st-color-neutral-600);
76
+ --st-color-text-disabled: var(--st-color-neutral-700);
77
+ --st-color-text-inverse: var(--st-color-neutral-900);
78
+ --st-color-text-on-accent: var(--st-color-neutral-0);
79
+ --st-color-text-link: var(--st-color-blue-400);
80
+ --st-color-text-link-hover: var(--st-color-blue-300);
81
+
82
+ /* --- Accent --- */
83
+ --st-color-accent-default: var(--st-color-orange-500);
84
+ --st-color-accent-hover: var(--st-color-orange-400);
85
+ --st-color-accent-active: var(--st-color-orange-300);
86
+ --st-color-accent-subtle: var(--st-color-orange-900);
87
+ --st-color-accent-text: var(--st-color-orange-400);
88
+
89
+ /* --- Feedback: Error --- */
90
+ --st-color-feedback-error-default: var(--st-color-red-400);
91
+ --st-color-feedback-error-hover: var(--st-color-red-300);
92
+ --st-color-feedback-error-subtle: var(--st-color-red-800);
93
+ --st-color-feedback-error-border: var(--st-color-red-700);
94
+ --st-color-feedback-error-text: var(--st-color-red-200);
95
+
96
+
97
+ /* --- Feedback: Warning --- */
98
+ --st-color-feedback-warning-default: var(--st-color-yellow-400);
99
+ --st-color-feedback-warning-hover: var(--st-color-yellow-300);
100
+ --st-color-feedback-warning-subtle: var(--st-color-yellow-900);
101
+ --st-color-feedback-warning-border: var(--st-color-yellow-700);
102
+ --st-color-feedback-warning-text: var(--st-color-yellow-300);
103
+
104
+ /* --- Feedback: Success --- */
105
+ --st-color-feedback-success-default: var(--st-color-green-400);
106
+ --st-color-feedback-success-hover: var(--st-color-green-300);
107
+ --st-color-feedback-success-subtle: var(--st-color-green-900);
108
+ --st-color-feedback-success-border: var(--st-color-green-700);
109
+ --st-color-feedback-success-text: var(--st-color-green-300);
110
+
111
+ /* --- Feedback: Info --- */
112
+ --st-color-feedback-info-default: var(--st-color-blue-400);
113
+ --st-color-feedback-info-hover: var(--st-color-blue-300);
114
+ --st-color-feedback-info-subtle: var(--st-color-blue-900);
115
+ --st-color-feedback-info-border: var(--st-color-blue-700);
116
+ --st-color-feedback-info-text: var(--st-color-blue-300);
117
+
118
+ --st-color-input-default: var(--st-color-neutral-800);
119
+ --st-color-input-disabled: var(--st-color-neutral-900);
120
+ --st-color-input-hover: var(--st-color-neutral-700);
121
+ }