@inchurch/matcha-theme 20.276.0 → 20.278.0
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/abstracts/_functions.scss +0 -26
- package/abstracts/_theme-api.scss +230 -0
- package/base/_reset.scss +5 -1
- package/components/app-page-header.scss +16 -17
- package/components/matcha-accordion.scss +5 -6
- package/components/matcha-audio-player.scss +1 -2
- package/components/matcha-autocomplete.scss +10 -11
- package/components/matcha-avatar.scss +3 -3
- package/components/matcha-badge.scss +11 -11
- package/components/matcha-breadcrumb.scss +6 -7
- package/components/matcha-button-toggle.scss +2 -2
- package/components/matcha-buttons.scss +34 -34
- package/components/matcha-calendar.scss +31 -35
- package/components/matcha-cards.scss +31 -32
- package/components/matcha-chart-card.scss +5 -12
- package/components/matcha-checkbox.scss +13 -13
- package/components/matcha-chip.scss +2 -2
- package/components/matcha-color-pick.scss +1 -2
- package/components/matcha-command-palette.scss +17 -18
- package/components/matcha-crop.scss +0 -1
- package/components/matcha-date.scss +3 -3
- package/components/matcha-draggable.scss +4 -5
- package/components/matcha-drawer.scss +18 -28
- package/components/matcha-drop-list.scss +51 -52
- package/components/matcha-emoji.scss +2 -2
- package/components/{matcha-uploader.scss → matcha-file-uploader.scss} +193 -116
- package/components/matcha-footer.scss +3 -4
- package/components/matcha-form-field.scss +3 -3
- package/components/matcha-form-section.scss +5 -6
- package/components/matcha-header.scss +3 -4
- package/components/matcha-hint-text.scss +4 -4
- package/components/matcha-horizontal-tree.scss +15 -16
- package/components/matcha-icon.scss +27 -27
- package/components/matcha-image.scss +2 -3
- package/components/matcha-list.scss +11 -12
- package/components/matcha-menu.scss +2 -2
- package/components/matcha-modal.scss +5 -6
- package/components/matcha-nav.scss +16 -16
- package/components/matcha-notification.scss +3 -4
- package/components/matcha-option.scss +19 -0
- package/components/matcha-page-builder.scss +16 -16
- package/components/matcha-paginator.scss +6 -7
- package/components/matcha-panel.scss +4 -5
- package/components/matcha-profile-card.scss +3 -3
- package/components/matcha-progress-bar.scss +1 -1
- package/components/matcha-radio.scss +6 -6
- package/components/matcha-scrollbar.scss +1 -2
- package/components/matcha-scrollbox-shadow.scss +35 -37
- package/components/matcha-section.scss +5 -9
- package/components/matcha-select-multiple.scss +56 -0
- package/components/matcha-select.scss +7 -7
- package/components/matcha-skeleton.scss +6 -7
- package/components/matcha-slide-toggle.scss +33 -299
- package/components/matcha-slider.scss +5 -5
- package/components/matcha-snack-bar.scss +17 -18
- package/components/matcha-spin.scss +12 -103
- package/components/matcha-spinner.scss +1 -1
- package/components/matcha-stepper.scss +15 -16
- package/components/matcha-table.scss +14 -15
- package/components/matcha-tabs.scss +22 -24
- package/components/matcha-text-editor.scss +78 -78
- package/components/matcha-time.scss +2 -2
- package/components/matcha-toolbar.scss +1 -1
- package/components/matcha-tooltip.scss +14 -12
- package/main.scss +7 -2
- package/package.json +1 -1
- package/tokens/_color-tokens.scss +0 -3
- package/tokens/_css-custom-properties.scss +233 -179
- package/tokens/_primitives.scss +82 -0
- package/tokens/_semantic-aliases.scss +120 -0
|
@@ -6,54 +6,53 @@
|
|
|
6
6
|
// =============================================================================
|
|
7
7
|
|
|
8
8
|
@mixin matcha-horizontal-tree-theme($theme) {
|
|
9
|
-
$is-dark: map.get($theme, is-dark);
|
|
10
9
|
|
|
11
10
|
.svg-line line {
|
|
12
|
-
stroke: var(--matcha-color-text-placeholder
|
|
11
|
+
stroke: var(--matcha-color-text-placeholder);
|
|
13
12
|
}
|
|
14
13
|
|
|
15
14
|
.child {
|
|
16
15
|
.the-line-connect-first {
|
|
17
|
-
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent
|
|
16
|
+
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent);
|
|
18
17
|
}
|
|
19
18
|
|
|
20
19
|
.the-line-connect {
|
|
21
|
-
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent
|
|
20
|
+
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent);
|
|
22
21
|
}
|
|
23
22
|
|
|
24
23
|
.the-line-connect-last {
|
|
25
|
-
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent
|
|
24
|
+
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent);
|
|
26
25
|
}
|
|
27
26
|
|
|
28
27
|
.the-line-connect-first-modal {
|
|
29
|
-
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent-alpha
|
|
28
|
+
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent-alpha);
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
.the-line-connect-second-modal {
|
|
33
|
-
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent-alpha
|
|
32
|
+
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent-alpha);
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
.the-line-connect-last-modal {
|
|
37
|
-
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent-alpha
|
|
36
|
+
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent-alpha);
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
.the-line-connect-start-modal {
|
|
41
|
-
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent-alpha
|
|
40
|
+
box-shadow: inset 2px -2px 0 2px var(--matcha-color-accent-alpha);
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
.the-line-connect-middle {
|
|
45
|
-
box-shadow: inset 2px -2px 0 2px var(--matcha-color-border
|
|
44
|
+
box-shadow: inset 2px -2px 0 2px var(--matcha-color-border);
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
47
|
|
|
49
48
|
.tree-node {
|
|
50
49
|
&-content {
|
|
51
50
|
&-btn-add-node {
|
|
52
|
-
background: var(--matcha-color-surface
|
|
53
|
-
box-shadow: inset 0 0 0 3px var(--matcha-color-accent
|
|
51
|
+
background: var(--matcha-color-surface);
|
|
52
|
+
box-shadow: inset 0 0 0 3px var(--matcha-color-accent);
|
|
54
53
|
|
|
55
54
|
&-i {
|
|
56
|
-
color: var(--matcha-color-accent
|
|
55
|
+
color: var(--matcha-color-accent);
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
58
|
}
|
|
@@ -62,11 +61,11 @@
|
|
|
62
61
|
.tree-first-node {
|
|
63
62
|
&-begin {
|
|
64
63
|
&-btn-add-node {
|
|
65
|
-
background: var(--matcha-color-surface
|
|
66
|
-
box-shadow: inset 0 0 0 3px var(--matcha-color-accent
|
|
64
|
+
background: var(--matcha-color-surface);
|
|
65
|
+
box-shadow: inset 0 0 0 3px var(--matcha-color-accent);
|
|
67
66
|
|
|
68
67
|
&-i {
|
|
69
|
-
color: var(--matcha-color-accent
|
|
68
|
+
color: var(--matcha-color-accent);
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
71
|
}
|
|
@@ -22,10 +22,10 @@ $icon-size-xl: 48px;
|
|
|
22
22
|
[class^="i-matcha-"],
|
|
23
23
|
[class*=" i-matcha-"],
|
|
24
24
|
matcha-icon[library="symbols"] {
|
|
25
|
-
font-size: var(--matcha-icon-size-md
|
|
26
|
-
width: var(--matcha-icon-size-md
|
|
27
|
-
height: var(--matcha-icon-size-md
|
|
28
|
-
line-height: var(--matcha-icon-size-md
|
|
25
|
+
font-size: var(--matcha-icon-size-md);
|
|
26
|
+
width: var(--matcha-icon-size-md);
|
|
27
|
+
height: var(--matcha-icon-size-md);
|
|
28
|
+
line-height: var(--matcha-icon-size-md);
|
|
29
29
|
|
|
30
30
|
&.i-size-xs,
|
|
31
31
|
&[size="xs"] {
|
|
@@ -37,34 +37,34 @@ matcha-icon[library="symbols"] {
|
|
|
37
37
|
|
|
38
38
|
&.i-size-sm,
|
|
39
39
|
&[size="sm"] {
|
|
40
|
-
font-size: var(--matcha-icon-size-sm
|
|
41
|
-
width: var(--matcha-icon-size-sm
|
|
42
|
-
height: var(--matcha-icon-size-sm
|
|
43
|
-
line-height: var(--matcha-icon-size-sm
|
|
40
|
+
font-size: var(--matcha-icon-size-sm);
|
|
41
|
+
width: var(--matcha-icon-size-sm);
|
|
42
|
+
height: var(--matcha-icon-size-sm);
|
|
43
|
+
line-height: var(--matcha-icon-size-sm);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
&.i-size-md,
|
|
47
47
|
&[size="md"] {
|
|
48
|
-
font-size: var(--matcha-icon-size-md
|
|
49
|
-
width: var(--matcha-icon-size-md
|
|
50
|
-
height: var(--matcha-icon-size-md
|
|
51
|
-
line-height: var(--matcha-icon-size-md
|
|
48
|
+
font-size: var(--matcha-icon-size-md);
|
|
49
|
+
width: var(--matcha-icon-size-md);
|
|
50
|
+
height: var(--matcha-icon-size-md);
|
|
51
|
+
line-height: var(--matcha-icon-size-md);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
&.i-size-lg,
|
|
55
55
|
&[size="lg"] {
|
|
56
|
-
font-size: var(--matcha-icon-size-lg
|
|
57
|
-
width: var(--matcha-icon-size-lg
|
|
58
|
-
height: var(--matcha-icon-size-lg
|
|
59
|
-
line-height: var(--matcha-icon-size-lg
|
|
56
|
+
font-size: var(--matcha-icon-size-lg);
|
|
57
|
+
width: var(--matcha-icon-size-lg);
|
|
58
|
+
height: var(--matcha-icon-size-lg);
|
|
59
|
+
line-height: var(--matcha-icon-size-lg);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
&.i-size-xl,
|
|
63
63
|
&[size="xl"] {
|
|
64
|
-
font-size: var(--matcha-icon-size-xl
|
|
65
|
-
width: var(--matcha-icon-size-xl
|
|
66
|
-
height: var(--matcha-icon-size-xl
|
|
67
|
-
line-height: var(--matcha-icon-size-xl
|
|
64
|
+
font-size: var(--matcha-icon-size-xl);
|
|
65
|
+
width: var(--matcha-icon-size-xl);
|
|
66
|
+
height: var(--matcha-icon-size-xl);
|
|
67
|
+
line-height: var(--matcha-icon-size-xl);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -81,14 +81,14 @@ matcha-icon[library="symbols"] {
|
|
|
81
81
|
matcha-icon,
|
|
82
82
|
[class^="i-matcha-"],
|
|
83
83
|
[class*=" i-matcha-"] {
|
|
84
|
-
color: var(--matcha-icon-color, var(--matcha-color-icon-default
|
|
84
|
+
color: var(--matcha-icon-color, var(--matcha-color-icon-default));
|
|
85
85
|
|
|
86
|
-
&.color-fg, &[color="fg"] { --matcha-icon-color: var(--matcha-color-fg
|
|
87
|
-
&.color-accent, &[color="accent"] { --matcha-icon-color: var(--matcha-color-accent
|
|
88
|
-
&.color-primary, &[color="primary"] { --matcha-icon-color: var(--matcha-color-primary
|
|
89
|
-
&.color-danger, &[color="danger"] { --matcha-icon-color: var(--matcha-color-danger
|
|
90
|
-
&.color-warn, &[color="warn"] { --matcha-icon-color: var(--matcha-color-warn
|
|
91
|
-
&.color-success, &[color="success"] { --matcha-icon-color: var(--matcha-color-success
|
|
86
|
+
&.color-fg, &[color="fg"] { --matcha-icon-color: var(--matcha-color-fg); }
|
|
87
|
+
&.color-accent, &[color="accent"] { --matcha-icon-color: var(--matcha-color-accent); }
|
|
88
|
+
&.color-primary, &[color="primary"] { --matcha-icon-color: var(--matcha-color-primary); }
|
|
89
|
+
&.color-danger, &[color="danger"] { --matcha-icon-color: var(--matcha-color-danger); }
|
|
90
|
+
&.color-warn, &[color="warn"] { --matcha-icon-color: var(--matcha-color-warn); }
|
|
91
|
+
&.color-success, &[color="success"] { --matcha-icon-color: var(--matcha-color-success); }
|
|
92
92
|
|
|
93
93
|
&[disabled],
|
|
94
94
|
&.disabled {
|
|
@@ -8,14 +8,13 @@
|
|
|
8
8
|
// =============================================================================
|
|
9
9
|
|
|
10
10
|
@mixin matcha-image-theme($theme) {
|
|
11
|
-
$is-dark: map.get($theme, is-dark);
|
|
12
11
|
|
|
13
12
|
.matcha-image {
|
|
14
|
-
background: var(--matcha-color-surface
|
|
13
|
+
background: var(--matcha-color-surface);
|
|
15
14
|
}
|
|
16
15
|
|
|
17
16
|
.matcha-image__placeholder-icon {
|
|
18
|
-
color: var(--matcha-color-text-placeholder
|
|
17
|
+
color: var(--matcha-color-text-placeholder);
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
20
|
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
// =============================================================================
|
|
40
40
|
|
|
41
41
|
@mixin matcha-list-theme($theme) {
|
|
42
|
-
$is-dark: map.get($theme, is-dark);
|
|
43
42
|
|
|
44
43
|
// ── List container ──
|
|
45
44
|
matcha-list,
|
|
@@ -67,13 +66,13 @@
|
|
|
67
66
|
border-radius: var(--matcha-radius-md, 4px);
|
|
68
67
|
cursor: pointer;
|
|
69
68
|
outline: none;
|
|
70
|
-
color: var(--matcha-list-item-text, var(--matcha-color-fg
|
|
69
|
+
color: var(--matcha-list-item-text, var(--matcha-color-fg));
|
|
71
70
|
text-decoration: none;
|
|
72
71
|
transition: background-color 150ms;
|
|
73
72
|
|
|
74
73
|
// Focus ring
|
|
75
74
|
&:focus-visible {
|
|
76
|
-
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent
|
|
75
|
+
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
|
|
77
76
|
outline-offset: var(--matcha-state-focus-ring-offset, 2px);
|
|
78
77
|
}
|
|
79
78
|
|
|
@@ -87,15 +86,15 @@
|
|
|
87
86
|
|
|
88
87
|
// Active/Selected
|
|
89
88
|
&.matcha-list-item--active {
|
|
90
|
-
background-color: var(--matcha-color-accent-surface,
|
|
89
|
+
background-color: var(--matcha-color-accent-surface, var(--matcha-color-accent-alpha));
|
|
91
90
|
|
|
92
91
|
.matcha-list-item__label {
|
|
93
|
-
color: var(--matcha-color-accent
|
|
92
|
+
color: var(--matcha-color-accent);
|
|
94
93
|
font-weight: 600;
|
|
95
94
|
}
|
|
96
95
|
|
|
97
96
|
.matcha-list-item__leading {
|
|
98
|
-
color: var(--matcha-color-accent
|
|
97
|
+
color: var(--matcha-color-accent);
|
|
99
98
|
}
|
|
100
99
|
}
|
|
101
100
|
}
|
|
@@ -115,7 +114,7 @@
|
|
|
115
114
|
display: flex;
|
|
116
115
|
align-items: center;
|
|
117
116
|
justify-content: center;
|
|
118
|
-
color: var(--matcha-color-hint,
|
|
117
|
+
color: var(--matcha-color-hint, var(--matcha-color-text-muted));
|
|
119
118
|
}
|
|
120
119
|
|
|
121
120
|
// ── Text area (label + description) ──
|
|
@@ -131,7 +130,7 @@
|
|
|
131
130
|
font-size: var(--matcha-text-body-md, 14px);
|
|
132
131
|
font-weight: var(--matcha-weight-regular, 400);
|
|
133
132
|
line-height: var(--matcha-leading-body-md, 20px);
|
|
134
|
-
color: var(--matcha-list-item-text, var(--matcha-color-fg
|
|
133
|
+
color: var(--matcha-list-item-text, var(--matcha-color-fg));
|
|
135
134
|
overflow: hidden;
|
|
136
135
|
text-overflow: ellipsis;
|
|
137
136
|
white-space: nowrap;
|
|
@@ -141,7 +140,7 @@
|
|
|
141
140
|
font-size: var(--matcha-text-body-sm, 12px);
|
|
142
141
|
font-weight: var(--matcha-weight-regular, 400);
|
|
143
142
|
line-height: var(--matcha-leading-body-sm, 16px);
|
|
144
|
-
color: var(--matcha-color-hint,
|
|
143
|
+
color: var(--matcha-color-hint, var(--matcha-color-text-muted));
|
|
145
144
|
overflow: hidden;
|
|
146
145
|
text-overflow: ellipsis;
|
|
147
146
|
white-space: nowrap;
|
|
@@ -153,14 +152,14 @@
|
|
|
153
152
|
display: flex;
|
|
154
153
|
align-items: center;
|
|
155
154
|
gap: var(--matcha-space-100, 8px);
|
|
156
|
-
color: var(--matcha-color-hint,
|
|
155
|
+
color: var(--matcha-color-hint, var(--matcha-color-text-muted));
|
|
157
156
|
}
|
|
158
157
|
|
|
159
158
|
// ── Divider between items ──
|
|
160
159
|
.matcha-list-divider {
|
|
161
160
|
height: var(--matcha-border-hairline, 1px);
|
|
162
161
|
margin: var(--matcha-space-050, 4px) var(--matcha-space-200, 16px);
|
|
163
|
-
background-color: var(--matcha-color-border
|
|
162
|
+
background-color: var(--matcha-color-border);
|
|
164
163
|
opacity: var(--matcha-opacity-subtle, 0.10);
|
|
165
164
|
}
|
|
166
165
|
|
|
@@ -174,7 +173,7 @@
|
|
|
174
173
|
line-height: var(--matcha-leading-p-tiny, 14px);
|
|
175
174
|
letter-spacing: var(--matcha-letter-spacing-wide, 0.5px);
|
|
176
175
|
text-transform: uppercase;
|
|
177
|
-
color: var(--matcha-color-hint,
|
|
176
|
+
color: var(--matcha-color-hint, var(--matcha-color-text-muted));
|
|
178
177
|
}
|
|
179
178
|
|
|
180
179
|
// ── 2-line variant (with description) ──
|
|
@@ -60,7 +60,7 @@ matcha-menu > matcha-panel {
|
|
|
60
60
|
font-weight: var(--matcha-weight-medium, 500);
|
|
61
61
|
|
|
62
62
|
&:focus-visible:not([disabled]) {
|
|
63
|
-
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent
|
|
63
|
+
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
|
|
64
64
|
outline-offset: var(--matcha-state-focus-ring-offset, 2px);
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -82,7 +82,7 @@ matcha-menu > matcha-panel {
|
|
|
82
82
|
transform: translateY(-50%);
|
|
83
83
|
width: 0;
|
|
84
84
|
height: 0;
|
|
85
|
-
border-left: calc(var(--matcha-border-medium, 4px) + var(--matcha-border-hairline, 1px)) solid var(--matcha-color-hint,
|
|
85
|
+
border-left: calc(var(--matcha-border-medium, 4px) + var(--matcha-border-hairline, 1px)) solid var(--matcha-color-hint, var(--matcha-color-text-muted));
|
|
86
86
|
border-top: var(--matcha-border-medium, 4px) solid transparent;
|
|
87
87
|
border-bottom: var(--matcha-border-medium, 4px) solid transparent;
|
|
88
88
|
opacity: var(--matcha-opacity-secondary, 0.54);
|
|
@@ -96,7 +96,6 @@
|
|
|
96
96
|
// =============================================================================
|
|
97
97
|
|
|
98
98
|
@mixin matcha-modal-theme($theme) {
|
|
99
|
-
$is-dark: map.get($theme, is-dark);
|
|
100
99
|
|
|
101
100
|
// ── Host element ──
|
|
102
101
|
matcha-modal {
|
|
@@ -146,8 +145,8 @@
|
|
|
146
145
|
// Floating overlay sobre scrim — usa surface-card-strong (pure white
|
|
147
146
|
// no light, lifted dark) pra máximo destaque. Cards inline usam o card
|
|
148
147
|
// soft default (#f8faf8) mas modal precisa pop.
|
|
149
|
-
background-color: var(--matcha-color-surface-card-strong, var(--matcha-color-surface-card
|
|
150
|
-
color: var(--matcha-color-fg
|
|
148
|
+
background-color: var(--matcha-color-surface-card-strong, var(--matcha-color-surface-card));
|
|
149
|
+
color: var(--matcha-color-fg);
|
|
151
150
|
overflow: hidden;
|
|
152
151
|
animation: matcha-modal-in var(--matcha-duration-fast, 200ms) var(--matcha-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));
|
|
153
152
|
|
|
@@ -161,16 +160,16 @@
|
|
|
161
160
|
// Theme só pinta: bg dos slots herda surface-card-strong do parent .matcha-modal,
|
|
162
161
|
// texto pega text-primary, dividers usam surface-border.
|
|
163
162
|
.matcha-modal-header__title {
|
|
164
|
-
color: var(--matcha-color-text-primary
|
|
163
|
+
color: var(--matcha-color-text-primary);
|
|
165
164
|
}
|
|
166
165
|
|
|
167
166
|
.matcha-modal-content {
|
|
168
|
-
color: var(--matcha-color-text-primary
|
|
167
|
+
color: var(--matcha-color-text-primary);
|
|
169
168
|
}
|
|
170
169
|
|
|
171
170
|
// ── Focus ring on modal ──
|
|
172
171
|
.matcha-modal:focus-visible {
|
|
173
|
-
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent
|
|
172
|
+
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
|
|
174
173
|
outline-offset: var(--matcha-state-focus-ring-offset, 2px);
|
|
175
174
|
}
|
|
176
175
|
}
|
|
@@ -454,15 +454,15 @@
|
|
|
454
454
|
// Bg/border/etc aplicados no .matcha-nav-item__row (não no host) — assim
|
|
455
455
|
// os filhos aninhados não herdam o bg do pai expandido/ativo.
|
|
456
456
|
.matcha-nav-item {
|
|
457
|
-
color: var(--matcha-color-text-primary
|
|
457
|
+
color: var(--matcha-color-text-primary);
|
|
458
458
|
|
|
459
459
|
.matcha-nav-item__label {
|
|
460
|
-
color: var(--matcha-color-text-primary
|
|
460
|
+
color: var(--matcha-color-text-primary);
|
|
461
461
|
}
|
|
462
462
|
|
|
463
463
|
.matcha-nav-item__icon,
|
|
464
464
|
.matcha-nav-item__chevron {
|
|
465
|
-
color: var(--matcha-color-text-secondary
|
|
465
|
+
color: var(--matcha-color-text-secondary);
|
|
466
466
|
}
|
|
467
467
|
|
|
468
468
|
// Hover — bg accent/surface-hover direto (Figma usa este token, não state-layer).
|
|
@@ -493,7 +493,7 @@
|
|
|
493
493
|
|
|
494
494
|
// Badge — Figma DSV3 feedback/danger bg + danger-contrast fg (Padrão).
|
|
495
495
|
.matcha-nav-item__badge {
|
|
496
|
-
background: var(--matcha-color-feedback-danger
|
|
496
|
+
background: var(--matcha-color-feedback-danger);
|
|
497
497
|
color: var(--matcha-color-feedback-danger-contrast, rgba(0, 0, 0, 0.87));
|
|
498
498
|
}
|
|
499
499
|
|
|
@@ -519,8 +519,8 @@
|
|
|
519
519
|
.matcha-nav-rail {
|
|
520
520
|
background-color: color-mix(
|
|
521
521
|
in srgb,
|
|
522
|
-
var(--matcha-color-surface-bg
|
|
523
|
-
var(--matcha-color-fg
|
|
522
|
+
var(--matcha-color-surface-bg) 96%,
|
|
523
|
+
var(--matcha-color-fg) 4%
|
|
524
524
|
);
|
|
525
525
|
}
|
|
526
526
|
|
|
@@ -529,10 +529,10 @@
|
|
|
529
529
|
// Inactive: text-secondary no button + override no matcha-icon filho
|
|
530
530
|
// (matcha-icon tem regra global no theme com mesma especificidade,
|
|
531
531
|
// então precisa target explícito pra vencer no cascade).
|
|
532
|
-
color: var(--matcha-color-text-secondary
|
|
532
|
+
color: var(--matcha-color-text-secondary);
|
|
533
533
|
|
|
534
534
|
matcha-icon {
|
|
535
|
-
color: var(--matcha-color-text-secondary
|
|
535
|
+
color: var(--matcha-color-text-secondary);
|
|
536
536
|
}
|
|
537
537
|
|
|
538
538
|
// Hover (inactive): bg accent/surface-hover (state-layer canon Figma).
|
|
@@ -546,35 +546,35 @@
|
|
|
546
546
|
&.matcha-nav-rail__module--active,
|
|
547
547
|
&[aria-current] {
|
|
548
548
|
background-color: var(--matcha-color-accent-surface-hover);
|
|
549
|
-
color: var(--matcha-color-accent
|
|
549
|
+
color: var(--matcha-color-accent);
|
|
550
550
|
|
|
551
551
|
matcha-icon {
|
|
552
|
-
color: var(--matcha-color-accent
|
|
552
|
+
color: var(--matcha-color-accent);
|
|
553
553
|
}
|
|
554
554
|
}
|
|
555
555
|
}
|
|
556
556
|
|
|
557
557
|
.matcha-nav-rail__divider {
|
|
558
|
-
background-color: var(--matcha-color-surface-border
|
|
558
|
+
background-color: var(--matcha-color-surface-border);
|
|
559
559
|
}
|
|
560
560
|
|
|
561
561
|
// ── Nav Panel (Figma DSV3 1:1) ──
|
|
562
562
|
// bg surface/card (1 step acima do rail). Sem shadow — só tonal hierarchy.
|
|
563
563
|
.matcha-nav-panel {
|
|
564
|
-
background-color: var(--matcha-color-surface-card
|
|
565
|
-
border-right: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border
|
|
564
|
+
background-color: var(--matcha-color-surface-card);
|
|
565
|
+
border-right: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border);
|
|
566
566
|
}
|
|
567
567
|
|
|
568
568
|
.matcha-nav-panel__divider {
|
|
569
|
-
background-color: var(--matcha-color-surface-border
|
|
569
|
+
background-color: var(--matcha-color-surface-border);
|
|
570
570
|
}
|
|
571
571
|
|
|
572
572
|
.matcha-nav-panel__title {
|
|
573
|
-
color: var(--matcha-color-text-primary
|
|
573
|
+
color: var(--matcha-color-text-primary);
|
|
574
574
|
}
|
|
575
575
|
|
|
576
576
|
.matcha-nav-panel__title-icon {
|
|
577
|
-
color: var(--matcha-color-text-secondary
|
|
577
|
+
color: var(--matcha-color-text-secondary);
|
|
578
578
|
}
|
|
579
579
|
|
|
580
580
|
// ── Command Palette theme em matcha-command-palette.scss (canônico) ──
|
|
@@ -9,17 +9,16 @@
|
|
|
9
9
|
// =============================================================================
|
|
10
10
|
|
|
11
11
|
@mixin matcha-notification-theme($theme) {
|
|
12
|
-
$is-dark: map.get($theme, is-dark);
|
|
13
12
|
|
|
14
13
|
// Title sempre text-primary, description sempre text-secondary (Figma DSV3).
|
|
15
14
|
// Texto fica legível porque bg é alpha 10% — usuário lê o texto sobre o
|
|
16
15
|
// surface real, não sobre a tinta.
|
|
17
16
|
.matcha-notification__title {
|
|
18
|
-
color: var(--matcha-color-text-primary
|
|
17
|
+
color: var(--matcha-color-text-primary);
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
.matcha-notification__description {
|
|
22
|
-
color: var(--matcha-color-text-secondary
|
|
21
|
+
color: var(--matcha-color-text-secondary);
|
|
23
22
|
}
|
|
24
23
|
|
|
25
24
|
// Close icon — color icon/default (token DSV3 #5f656b light / #9aa0a6 dark).
|
|
@@ -27,7 +26,7 @@
|
|
|
27
26
|
color: var(--matcha-color-icon-default, var(--matcha-color-text-secondary));
|
|
28
27
|
|
|
29
28
|
&:focus-visible {
|
|
30
|
-
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent
|
|
29
|
+
outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent);
|
|
31
30
|
outline-offset: var(--matcha-state-focus-ring-offset, 2px);
|
|
32
31
|
}
|
|
33
32
|
}
|
|
@@ -110,6 +110,25 @@
|
|
|
110
110
|
background: var(--matcha-color-accent-surface-hover);
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
+
|
|
114
|
+
// ── Modo múltiplo (matcha-select-multiple) — checkbox à esquerda ──
|
|
115
|
+
// O realce do item marcado é o próprio checkbox; por isso o fundo
|
|
116
|
+
// accent/alpha do single-select é neutralizado quando não há hover/cursor.
|
|
117
|
+
&.matcha-option-multiple {
|
|
118
|
+
gap: var(--matcha-space-100, 8px);
|
|
119
|
+
|
|
120
|
+
&[aria-selected="true"]:not(:hover):not(.matcha-option-highlighted) {
|
|
121
|
+
background: transparent;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.matcha-option-checkbox {
|
|
125
|
+
display: inline-flex;
|
|
126
|
+
align-items: center;
|
|
127
|
+
// Checkbox é puramente visual: o clique cai no host matcha-option,
|
|
128
|
+
// que faz o toggle (tanto na opção quanto sobre o checkbox).
|
|
129
|
+
pointer-events: none;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
113
132
|
}
|
|
114
133
|
}
|
|
115
134
|
|
|
@@ -10,25 +10,25 @@
|
|
|
10
10
|
min-height: 800px;
|
|
11
11
|
width: 100%;
|
|
12
12
|
|
|
13
|
-
--gjs-main-color:
|
|
14
|
-
--gjs-primary-color:
|
|
15
|
-
--gjs-secondary-color:
|
|
16
|
-
--gjs-tertiary-color:
|
|
17
|
-
--gjs-quaternary-color:
|
|
18
|
-
|
|
19
|
-
--gjs-main-dark-color:
|
|
20
|
-
--gjs-secondary-dark-color:
|
|
21
|
-
--gjs-quaternary-dark-color:
|
|
22
|
-
|
|
23
|
-
--gjs-font-color:
|
|
24
|
-
--gjs-font-color-active:
|
|
13
|
+
--gjs-main-color: var(--matcha-color-surface);
|
|
14
|
+
--gjs-primary-color: var(--matcha-color-bg);
|
|
15
|
+
--gjs-secondary-color: var(--matcha-color-text-hint);
|
|
16
|
+
--gjs-tertiary-color: var(--matcha-color-surface);
|
|
17
|
+
--gjs-quaternary-color: var(--matcha-color-accent);
|
|
18
|
+
|
|
19
|
+
--gjs-main-dark-color: var(--matcha-color-surface-card-alpha);
|
|
20
|
+
--gjs-secondary-dark-color: var(--matcha-color-surface);
|
|
21
|
+
--gjs-quaternary-dark-color: var(--matcha-color-accent-alpha);
|
|
22
|
+
|
|
23
|
+
--gjs-font-color: var(--matcha-color-fg);
|
|
24
|
+
--gjs-font-color-active: var(--matcha-color-fg-alpha);
|
|
25
25
|
--gjs-main-light-color: rgba(255, 255, 255, 0.1);
|
|
26
26
|
--gjs-secondary-light-color: rgba(255, 255, 255, 0.7);
|
|
27
27
|
--gjs-soft-light-color: rgba(255, 255, 255, 0.015);
|
|
28
|
-
--gjs-color-blue:
|
|
29
|
-
--gjs-color-red:
|
|
30
|
-
--gjs-color-yellow:
|
|
31
|
-
--gjs-color-green:
|
|
28
|
+
--gjs-color-blue: var(--matcha-prim-blue-700);
|
|
29
|
+
--gjs-color-red: var(--matcha-color-danger);
|
|
30
|
+
--gjs-color-yellow: var(--matcha-prim-yellow-500);
|
|
31
|
+
--gjs-color-green: var(--matcha-color-success);
|
|
32
32
|
--gjs-left-width: 15%;
|
|
33
33
|
--gjs-color-highlight: #71b7f1;
|
|
34
34
|
--gjs-color-warn: #ffca6f;
|
|
@@ -26,31 +26,30 @@
|
|
|
26
26
|
// =============================================================================
|
|
27
27
|
|
|
28
28
|
@mixin matcha-paginator-theme($theme) {
|
|
29
|
-
$is-dark: map.get($theme, is-dark);
|
|
30
29
|
|
|
31
30
|
.matcha-paginator {
|
|
32
31
|
// ── Active page — accent only (consistência, não over-engineering) ──
|
|
33
32
|
.page-button.active {
|
|
34
|
-
background-color: var(--matcha-color-accent
|
|
35
|
-
color: var(--matcha-color-accent-contrast
|
|
33
|
+
background-color: var(--matcha-color-accent);
|
|
34
|
+
color: var(--matcha-color-accent-contrast);
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
// ── Total info ──
|
|
39
38
|
.paginator-total-info {
|
|
40
39
|
.total-range {
|
|
41
|
-
color: var(--matcha-color-text-label
|
|
40
|
+
color: var(--matcha-color-text-label);
|
|
42
41
|
}
|
|
43
42
|
.total-filtered {
|
|
44
|
-
color: var(--matcha-color-text-secondary
|
|
43
|
+
color: var(--matcha-color-text-secondary);
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
|
|
48
47
|
// ── Page buttons (inactive) ──
|
|
49
48
|
.page-button:not(.active) {
|
|
50
|
-
color: var(--matcha-color-text-label
|
|
49
|
+
color: var(--matcha-color-text-label);
|
|
51
50
|
|
|
52
51
|
&:hover {
|
|
53
|
-
background-color: var(--matcha-color-surface-hover
|
|
52
|
+
background-color: var(--matcha-color-surface-hover);
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
55
|
}
|
|
@@ -138,20 +138,19 @@
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
@mixin matcha-panel-theme($theme) {
|
|
141
|
-
$is-dark: map.get($theme, is-dark);
|
|
142
141
|
|
|
143
142
|
.matcha-panel {
|
|
144
143
|
// Floating overlay (dropdown/popover) — surface-card-strong (pure white
|
|
145
144
|
// light, lifted dark). Inline cards usam soft default; panel flutua.
|
|
146
|
-
background: var(--matcha-color-surface-card-strong, var(--matcha-color-surface-card, var(--matcha-color-surface
|
|
147
|
-
color: var(--matcha-color-text-primary, var(--matcha-color-fg
|
|
145
|
+
background: var(--matcha-color-surface-card-strong, var(--matcha-color-surface-card, var(--matcha-color-surface)));
|
|
146
|
+
color: var(--matcha-color-text-primary, var(--matcha-color-fg));
|
|
148
147
|
|
|
149
148
|
// Shadow level 3 (floating panels — Figma DSV3 elevation/level-3)
|
|
150
|
-
box-shadow: var(--matcha-shadow-3
|
|
149
|
+
box-shadow: var(--matcha-shadow-3);
|
|
151
150
|
border: var(--matcha-border-hairline, 1px) solid var(--matcha-color-surface-border, rgba(255, 255, 255, 0.12));
|
|
152
151
|
|
|
153
152
|
&:focus-within {
|
|
154
|
-
box-shadow: var(--matcha-shadow-4
|
|
153
|
+
box-shadow: var(--matcha-shadow-4);
|
|
155
154
|
}
|
|
156
155
|
}
|
|
157
156
|
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
|
|
11
11
|
@mixin matcha-profile-card-theme($theme) {
|
|
12
12
|
.matcha-profile-card {
|
|
13
|
-
color: var(--matcha-color-fg
|
|
13
|
+
color: var(--matcha-color-fg);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.matcha-profile-card__name {
|
|
17
|
-
color: var(--matcha-color-fg
|
|
17
|
+
color: var(--matcha-color-fg);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
.matcha-profile-card__role {
|
|
21
|
-
color: var(--matcha-color-text-hint
|
|
21
|
+
color: var(--matcha-color-text-hint);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
matcha-progress-bar {
|
|
25
25
|
// Default fill = accent
|
|
26
|
-
--matcha-progress-fill: var(--matcha-color-accent
|
|
26
|
+
--matcha-progress-fill: var(--matcha-color-accent);
|
|
27
27
|
|
|
28
28
|
// Bind por color attr → CSS var (mesma estratégia do slider/spinner)
|
|
29
29
|
@each $name, $fn in $semantic-colors {
|