@inchurch/matcha-theme 20.278.0 → 21.0.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/_colors.scss +86 -265
- package/abstracts/_elevation.scss +8 -8
- package/abstracts/_functions.scss +9 -911
- package/base/_reset.scss +35 -45
- package/components/matcha-button-toggle.scss +22 -46
- package/components/matcha-chip.scss +18 -23
- package/components/matcha-page-builder.scss +13 -2
- package/components/matcha-progress-bar.scss +2 -2
- package/components/matcha-select-multiple.scss +2 -2
- package/components/matcha-slide-toggle.scss +1 -1
- package/components/matcha-slider.scss +1 -1
- package/components/matcha-spinner.scss +1 -1
- package/components/matcha-table.scss +2 -2
- package/components/matcha-tabs.scss +19 -42
- package/components/matcha-tree-view.scss +23 -0
- package/layout/matcha-page-layout.scss +6 -6
- package/main.scss +25 -23
- package/package.json +1 -1
- package/tokens/_color-tokens.scss +257 -1147
- package/tokens/_emit-tokens.scss +334 -0
- package/tokens/_material-palette.scss +1150 -0
- package/tokens/_primitives.scss +16 -0
- package/tokens/_static-tokens.scss +137 -0
- package/vendors/charts.scss +6 -9
- package/tokens/_css-custom-properties.scss +0 -704
- package/vendors/angular-editor.scss +0 -56
- package/vendors/angular-material-fixes.scss +0 -297
- package/vendors/calendar.scss +0 -2880
- package/vendors/ng5-slider.scss +0 -56
- package/vendors/ngx-material-timepicker.scss +0 -50
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
@mixin _colorize-inactive-type-basic($theme, $color-functions) {
|
|
4
4
|
&[inactivetype="basic"] {
|
|
5
|
-
@each $colorName
|
|
5
|
+
@each $colorName in $color-functions {
|
|
6
6
|
&[inactivecolor="#{'' + $colorName}"] {
|
|
7
7
|
.button-group matcha-tab-item {
|
|
8
8
|
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
a[matcha-button] {
|
|
11
11
|
&:not([active-item="true"]) {
|
|
12
12
|
background: var(--matcha-color-surface);
|
|
13
|
-
color:
|
|
13
|
+
color: var(--matcha-color-#{$colorName});
|
|
14
14
|
box-shadow: 0 0 0 0px inset;
|
|
15
15
|
|
|
16
16
|
.ripple {
|
|
17
|
-
background:
|
|
17
|
+
background: var(--matcha-color-#{$colorName}-alpha); // ok: legacy ripple color token
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
//disabled false
|
|
45
45
|
&:not([disabled="true"]) {
|
|
46
|
-
@each $colorName
|
|
46
|
+
@each $colorName in $color-functions {
|
|
47
47
|
&[inactivecolor="#{'' + $colorName}"] {
|
|
48
48
|
.button-group matcha-tab-item {
|
|
49
49
|
|
|
@@ -52,12 +52,12 @@
|
|
|
52
52
|
|
|
53
53
|
//botão não ativo
|
|
54
54
|
&:not([active-item="true"]) {
|
|
55
|
-
color:
|
|
55
|
+
color: var(--matcha-color-#{$colorName});
|
|
56
56
|
background: transparent;
|
|
57
|
-
box-shadow: 0 0 0 2px
|
|
57
|
+
box-shadow: 0 0 0 2px var(--matcha-color-#{$colorName}) inset;
|
|
58
58
|
|
|
59
59
|
.ripple {
|
|
60
|
-
background:
|
|
60
|
+
background: var(--matcha-color-#{$colorName}-alpha); // ok: legacy ripple color token
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -87,19 +87,19 @@
|
|
|
87
87
|
|
|
88
88
|
@mixin _colorize-inactive-type-alpha($theme, $color-functions) {
|
|
89
89
|
&[inactivetype="alpha"] {
|
|
90
|
-
@each $colorName
|
|
90
|
+
@each $colorName in $color-functions {
|
|
91
91
|
&[inactivecolor="#{'' + $colorName}"] {
|
|
92
92
|
.button-group matcha-tab-item {
|
|
93
93
|
|
|
94
94
|
button[matcha-button],
|
|
95
95
|
a[matcha-button] {
|
|
96
96
|
&:not([active-item="true"]) {
|
|
97
|
-
color:
|
|
98
|
-
background:
|
|
97
|
+
color: var(--matcha-color-#{$colorName});
|
|
98
|
+
background: var(--matcha-color-#{$colorName}-alpha);
|
|
99
99
|
box-shadow: 0 0 0 0px;
|
|
100
100
|
|
|
101
101
|
.ripple {
|
|
102
|
-
background:
|
|
102
|
+
background: var(--matcha-color-#{$colorName}-contrast-alpha); // ok: legacy ripple color token
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
}
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
@mixin _colorize-inactive-type-link($theme, $color-functions) {
|
|
129
129
|
|
|
130
130
|
&[inactivetype="link"] {
|
|
131
|
-
@each $colorName
|
|
131
|
+
@each $colorName in $color-functions {
|
|
132
132
|
&[inactivecolor="#{'' + $colorName}"] {
|
|
133
133
|
.button-group matcha-tab-item {
|
|
134
134
|
|
|
@@ -137,11 +137,11 @@
|
|
|
137
137
|
&:not([active-item="true"]) {
|
|
138
138
|
|
|
139
139
|
background: transparent;
|
|
140
|
-
color:
|
|
140
|
+
color: var(--matcha-color-#{$colorName});
|
|
141
141
|
box-shadow: 0 0 0 0px;
|
|
142
142
|
|
|
143
143
|
.ripple {
|
|
144
|
-
background:
|
|
144
|
+
background: var(--matcha-color-#{$colorName}-alpha); // ok: legacy ripple color token
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
}
|
|
@@ -172,34 +172,11 @@
|
|
|
172
172
|
|
|
173
173
|
|
|
174
174
|
@mixin matcha-tabs($theme) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
indigo: getIndigo,
|
|
181
|
-
blue: getBlue,
|
|
182
|
-
light-blue: getLightBlue,
|
|
183
|
-
cyan: getCyan,
|
|
184
|
-
teal: getTeal,
|
|
185
|
-
green: getGreen,
|
|
186
|
-
light-green: getLightGreen,
|
|
187
|
-
lime: getLime,
|
|
188
|
-
yellow: getYellow,
|
|
189
|
-
amber: getAmber,
|
|
190
|
-
orange: getOrange,
|
|
191
|
-
deep-orange: getDeepOrange,
|
|
192
|
-
brown: getBrown,
|
|
193
|
-
grey: getGrey,
|
|
194
|
-
blue-grey: getBlueGrey,
|
|
195
|
-
primary: getPrimary,
|
|
196
|
-
accent: getAccent,
|
|
197
|
-
success: getSuccess,
|
|
198
|
-
warn: getWarn,
|
|
199
|
-
danger: getDanger,
|
|
200
|
-
info: getInfo,
|
|
201
|
-
disabled: getDisabled,
|
|
202
|
-
);
|
|
175
|
+
// Nomes de cor (semânticas + paleta). As cores vêm de var(--matcha-color-*)
|
|
176
|
+
// emitidas no tema — sem getRed/$theme compile-time. Value-preserving.
|
|
177
|
+
$color-functions: "red", "pink", "purple", "deep-purple", "indigo", "blue", "light-blue", "cyan", "teal",
|
|
178
|
+
"green", "light-green", "lime", "yellow", "amber", "orange", "deep-orange", "brown", "grey", "blue-grey",
|
|
179
|
+
"primary", "accent", "success", "warn", "danger", "info", "disabled";
|
|
203
180
|
|
|
204
181
|
matcha-tabs {
|
|
205
182
|
display: flex;
|
|
@@ -25,6 +25,29 @@
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
// ── Container data-driven (matcha-tree-view) + branches recursivos ──────────
|
|
29
|
+
// O host <matcha-tree-view> reusa a classe .matcha-tree-view acima (tray + gap).
|
|
30
|
+
// Cada nível é um <matcha-tree-branch> (drop container); a indentação é por item
|
|
31
|
+
// (via [level] do tree-view-item), então os wrappers NÃO adicionam indent.
|
|
32
|
+
matcha-tree-branch,
|
|
33
|
+
.matcha-tree-view__children {
|
|
34
|
+
display: flex;
|
|
35
|
+
flex-direction: column;
|
|
36
|
+
gap: var(--matcha-space-050, 4px);
|
|
37
|
+
min-height: 2px; // alvo de drop mínimo quando o branch está vazio
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.matcha-tree-view__node {
|
|
41
|
+
display: block;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Feedback de rejeição na zona de reparenting (self-drop / tipo não aceito)
|
|
45
|
+
.matcha-drop-zone-cannot-accept {
|
|
46
|
+
outline: 2px dashed var(--matcha-color-danger, #e5484d);
|
|
47
|
+
outline-offset: -2px;
|
|
48
|
+
border-radius: var(--matcha-radius-md, 4px);
|
|
49
|
+
}
|
|
50
|
+
|
|
28
51
|
// ── Item host — flex row com indent dinâmico ────────────────────────────────
|
|
29
52
|
matcha-tree-view-item {
|
|
30
53
|
display: flex;
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
width: 100%;
|
|
76
76
|
padding: 16px 24px;
|
|
77
77
|
border-radius: 8px;
|
|
78
|
-
background:
|
|
78
|
+
background: var(--matcha-color-surface);
|
|
79
79
|
@include elevation(1);
|
|
80
80
|
button,
|
|
81
81
|
form {
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
}
|
|
176
176
|
> .toolbar {
|
|
177
177
|
// Theme
|
|
178
|
-
border-bottom-color:
|
|
178
|
+
border-bottom-color: var(--matcha-color-disabled);
|
|
179
179
|
// Style
|
|
180
180
|
display: flex;
|
|
181
181
|
justify-content: flex-start;
|
|
@@ -330,10 +330,10 @@
|
|
|
330
330
|
.center {
|
|
331
331
|
.content-card {
|
|
332
332
|
@include elevation(1);
|
|
333
|
-
background:
|
|
333
|
+
background: var(--matcha-color-surface);
|
|
334
334
|
border-radius: 8px;
|
|
335
335
|
> .toolbar {
|
|
336
|
-
border-bottom-color:
|
|
336
|
+
border-bottom-color: var(--matcha-color-disabled);
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
339
|
|
|
@@ -537,7 +537,7 @@
|
|
|
537
537
|
|
|
538
538
|
> .content {
|
|
539
539
|
// Theme
|
|
540
|
-
background:
|
|
540
|
+
background: var(--matcha-color-surface);
|
|
541
541
|
|
|
542
542
|
// Style
|
|
543
543
|
flex: 1 0 auto;
|
|
@@ -586,7 +586,7 @@
|
|
|
586
586
|
> .content {
|
|
587
587
|
> .center {
|
|
588
588
|
> .content {
|
|
589
|
-
background:
|
|
589
|
+
background: var(--matcha-color-surface);
|
|
590
590
|
@include elevation(1);
|
|
591
591
|
}
|
|
592
592
|
}
|
package/main.scss
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
// TOKENS
|
|
2
2
|
@import "./tokens/animations-tokens";
|
|
3
3
|
@import "./tokens/breakpoints-tokens";
|
|
4
|
-
@import "./tokens/
|
|
4
|
+
@import "./tokens/material-palette"; // paletas Material legadas ($mat-*, $blue-grey, …) — consumidas só pelo old API (palette/light-theme/dark-theme). A aposentar com o Track B.
|
|
5
5
|
@import "./tokens/elevation-tokens";
|
|
6
6
|
@import "./tokens/spacing-tokens";
|
|
7
7
|
@import "./tokens/typography-tokens";
|
|
8
|
-
@import "./tokens/
|
|
8
|
+
@import "./tokens/color-tokens"; // cor — papéis por modo (synced do Figma via sync-tokens)
|
|
9
|
+
@import "./tokens/static-tokens"; // não-cor (gerado de global.json) — mixin matcha-static-tokens()
|
|
10
|
+
@import "./tokens/emit-tokens"; // emissão — mixin matcha-css-custom-properties() (consome color-tokens + static-tokens)
|
|
9
11
|
@import "./tokens/primitives"; // matcha-primitives() — Camada 1: CSS vars de primitivas (--matcha-prim-*) em :root
|
|
10
12
|
@import "./tokens/semantic-aliases"; // $matcha-prim-aliases-{light,dark} — Camada 2: token semântico → primitiva (rota clássica emite var)
|
|
11
13
|
|
|
@@ -100,12 +102,7 @@
|
|
|
100
102
|
@import "./layout/matcha-page-layout.scss"; // matcha-page-layout-theme($theme)
|
|
101
103
|
|
|
102
104
|
// VENDORS
|
|
103
|
-
@import "./vendors/angular-editor.scss";
|
|
104
|
-
@import "./vendors/angular-material-fixes.scss";
|
|
105
|
-
@import "./vendors/calendar.scss";
|
|
106
105
|
@import "./vendors/charts.scss";
|
|
107
|
-
@import "./vendors/ng5-slider.scss";
|
|
108
|
-
@import "./vendors/ngx-material-timepicker.scss";
|
|
109
106
|
|
|
110
107
|
// ─── FONT LOADING — Manrope (SELF-HOSTED · zero dependência externa) ─────────
|
|
111
108
|
// REGRA DE OURO: fontes self-hosted, nunca @import/<link> do Google Fonts.
|
|
@@ -144,23 +141,18 @@
|
|
|
144
141
|
@include matcha-reset-typography($config);
|
|
145
142
|
}
|
|
146
143
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
@include vendor-calendar-theme($theme);
|
|
144
|
+
// matcha-base — CSS estrutural/componentes, theme-AGNÓSTICO (consome var(--matcha-color-*)
|
|
145
|
+
// e tokens; nenhuma cor compile-time após o Track B). Deve ser emitido UMA VEZ, GLOBAL
|
|
146
|
+
// (fora de classe de tema) — ver src/app/app.theme.scss. A cor vem da classe de tema
|
|
147
|
+
// (.theme-default-* / skin) via as CSS vars. Track B3.
|
|
148
|
+
// matcha-base — estrutural theme-AGNÓSTICO (componentes + vendor-chart + base-typography).
|
|
149
|
+
// 100% var(--matcha-*) — emitir 1× GLOBAL (ver app.theme.scss). NÃO inclui base-body-reset
|
|
150
|
+
// (usa & p/ pintar bg/fg do elemento de tema → emitido por classe de tema).
|
|
151
|
+
@mixin matcha-base($theme: ()) {
|
|
152
|
+
// API nova: chamável sem arg — matcha-base(). $theme é plumbing vestigial repassado
|
|
153
|
+
// aos component-mixins (todos var-based após a virada); default () permite call limpo.
|
|
158
154
|
@include vendor-chart($theme);
|
|
159
|
-
@include vendor-ng-5-theme($theme);
|
|
160
|
-
@include vendor-ngx-material-timepicker($theme);
|
|
161
|
-
|
|
162
155
|
@include base-typography-theme($theme);
|
|
163
|
-
@include base-body-reset-theme($theme);
|
|
164
156
|
|
|
165
157
|
@include matcha-cards-theme($theme);
|
|
166
158
|
@include matcha-horizontal-tree-theme($theme);
|
|
@@ -235,4 +227,14 @@
|
|
|
235
227
|
@include matcha-flag($theme);
|
|
236
228
|
@include matcha-emoji-theme($theme);
|
|
237
229
|
@include matcha-page-layout-theme($theme);
|
|
238
|
-
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// matcha-components() — REMOVIDO no major (era o shim retrocompat @deprecated).
|
|
233
|
+
// API nova (ver src/app/app.theme.scss):
|
|
234
|
+
// @include matcha-primitives(); // :root primitivas
|
|
235
|
+
// @include matcha-base(); // estrutural 1× global (agnóstico)
|
|
236
|
+
// @include colors-classes-dynamic(); // classes utilitárias (inclui -static)
|
|
237
|
+
// .theme-X { @include matcha-css-custom-properties($is-dark); // --matcha-color-*
|
|
238
|
+
// @include elevation-theme($is-dark);
|
|
239
|
+
// @include base-body-reset-theme();
|
|
240
|
+
// @include matcha-typography($config); }
|