@inchurch/matcha-theme 20.0.11 → 20.276.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.
Files changed (98) hide show
  1. package/abstracts/_colors.scss +404 -404
  2. package/abstracts/_elevation.scss +102 -102
  3. package/abstracts/_functions.scss +1212 -1212
  4. package/abstracts/_media-breakpoint.scss +23 -23
  5. package/abstracts/_typography.scss +127 -127
  6. package/base/_reset.scss +438 -438
  7. package/components/app-page-header.scss +260 -0
  8. package/components/matcha-accordion.scss +294 -157
  9. package/components/matcha-avatar.scss +171 -31
  10. package/components/matcha-badge.scss +4 -4
  11. package/components/matcha-breadcrumb.scss +232 -126
  12. package/components/matcha-button-toggle.scss +44 -0
  13. package/components/matcha-buttons.scss +908 -784
  14. package/components/matcha-calendar.scss +70 -2
  15. package/components/matcha-cards.scss +28 -2
  16. package/components/matcha-checkbox.scss +191 -490
  17. package/components/matcha-chip.scss +297 -212
  18. package/components/matcha-command-palette.scss +291 -63
  19. package/components/matcha-crop.scss +407 -172
  20. package/components/matcha-date.scss +81 -81
  21. package/components/matcha-divider.scss +86 -31
  22. package/components/matcha-drawer.scss +201 -50
  23. package/components/matcha-drop-image.scss +14 -0
  24. package/components/matcha-drop-list.scss +42 -1
  25. package/components/matcha-empty-state.scss +195 -83
  26. package/components/matcha-flag.scss +93 -52
  27. package/components/matcha-footer.scss +68 -164
  28. package/components/matcha-form-field.scss +52 -0
  29. package/components/matcha-form-section.scss +101 -101
  30. package/components/matcha-header.scss +135 -325
  31. package/components/matcha-highlight.scss +65 -197
  32. package/components/matcha-hint-text.scss +21 -0
  33. package/components/matcha-horizontal-tree.scss +317 -317
  34. package/components/matcha-icon.scss +17 -25
  35. package/components/matcha-list.scss +5 -5
  36. package/components/matcha-menu.scss +13 -0
  37. package/components/matcha-modal.scss +58 -84
  38. package/components/matcha-nav.scss +361 -230
  39. package/components/matcha-notification.scss +413 -197
  40. package/components/matcha-option.scss +79 -23
  41. package/components/matcha-paginator.scss +689 -235
  42. package/components/matcha-panel.scss +42 -26
  43. package/components/matcha-profile-card.scss +50 -50
  44. package/components/matcha-progress-bar.scss +257 -153
  45. package/components/matcha-radio.scss +244 -452
  46. package/components/matcha-scrollbox-shadow.scss +122 -122
  47. package/components/matcha-select.scss +3 -3
  48. package/components/matcha-skeleton.scss +18 -0
  49. package/components/matcha-slide-toggle.scss +47 -2
  50. package/components/matcha-slider.scss +172 -75
  51. package/components/matcha-snack-bar.scss +114 -121
  52. package/components/matcha-spinner.scss +76 -57
  53. package/components/matcha-status-pill.scss +82 -0
  54. package/components/matcha-stepper.scss +377 -177
  55. package/components/matcha-table.scss +569 -785
  56. package/components/matcha-tabs.scss +624 -469
  57. package/components/matcha-toolbar.scss +359 -206
  58. package/components/matcha-tooltip.scss +156 -62
  59. package/components/matcha-tree-view.scss +189 -0
  60. package/components/matcha-uploader.scss +240 -62
  61. package/fonts/manrope/manrope-latin-ext.woff2 +0 -0
  62. package/fonts/manrope/manrope-latin.woff2 +0 -0
  63. package/layout/matcha-page-layout.scss +4 -4
  64. package/main.scss +232 -265
  65. package/package.json +1 -1
  66. package/tokens/_animations-tokens.scss +37 -37
  67. package/tokens/_breakpoints-tokens.scss +35 -26
  68. package/tokens/_color-tokens.scss +1152 -1152
  69. package/tokens/_css-custom-properties.scss +650 -568
  70. package/tokens/_spacing-tokens.scss +94 -94
  71. package/vendors/angular-editor.scss +56 -56
  72. package/vendors/angular-material-fixes.scss +297 -297
  73. package/vendors/charts.scss +92 -92
  74. package/vendors/ng5-slider.scss +56 -56
  75. package/vendors/ngx-material-timepicker.scss +50 -50
  76. package/fonts/CircularStd-Black.eot +0 -0
  77. package/fonts/CircularStd-Black.svg +0 -3426
  78. package/fonts/CircularStd-Black.ttf +0 -0
  79. package/fonts/CircularStd-Black.woff +0 -0
  80. package/fonts/CircularStd-Black.woff2 +0 -0
  81. package/fonts/CircularStd-Bold.eot +0 -0
  82. package/fonts/CircularStd-Bold.otf +0 -0
  83. package/fonts/CircularStd-Bold.svg +0 -13532
  84. package/fonts/CircularStd-Bold.ttf +0 -0
  85. package/fonts/CircularStd-Bold.woff +0 -0
  86. package/fonts/CircularStd-Bold.woff2 +0 -0
  87. package/fonts/CircularStd-Medium.eot +0 -0
  88. package/fonts/CircularStd-Medium.otf +0 -0
  89. package/fonts/CircularStd-Medium.svg +0 -13511
  90. package/fonts/CircularStd-Medium.ttf +0 -0
  91. package/fonts/CircularStd-Medium.woff +0 -0
  92. package/fonts/CircularStd-Medium.woff2 +0 -0
  93. package/fonts/CircularStd-Regular.eot +0 -0
  94. package/fonts/CircularStd-Regular.otf +0 -0
  95. package/fonts/CircularStd-Regular.svg +0 -2378
  96. package/fonts/CircularStd-Regular.ttf +0 -0
  97. package/fonts/CircularStd-Regular.woff +0 -0
  98. package/fonts/CircularStd-Regular.woff2 +0 -0
@@ -1,171 +1,61 @@
1
- @mixin matcha-highlight-theme($theme) {
2
- // ========================================
3
- // TEMA PADRÃO (MATCHA)
4
- // ========================================
1
+ // =============================================================================
2
+ // matcha-highlight — syntax highlighting via Prism.js, 1:1 com tokens DSV3.
3
+ //
4
+ // Antes: 5 temas (matcha/vs-code-dark/vs-code-light/dracula/none) com cores
5
+ // hex hardcoded. Default monocromático (todos tokens em getBlue($theme) — bug).
6
+ // Zero consumidores usavam temas alternativos — todos usam theme="matcha".
7
+ //
8
+ // Agora: 1 tema canônico (default), 100% tokens semânticos DSV3, auto-adapta
9
+ // dark/light via CSS vars. A prop `[theme]` continua sendo aceita pra compat
10
+ // dos 30+ consumidores existentes — é ignorada e renderiza o tema canon.
11
+ // =============================================================================
5
12
 
13
+ @mixin matcha-highlight-theme($theme) {
6
14
  matcha-highlight {
7
15
  padding: 16px;
8
- border-radius: 8px;
16
+ border-radius: var(--matcha-radius-lg, 8px);
9
17
  display: flex;
10
- overflow:auto;
18
+ overflow: auto;
11
19
  position: relative;
12
- min-height:56px;
13
-
14
- // Variáveis CSS para tema padrão (Matcha)
15
- --prism-bg: transparent;
16
- --prism-text: #{getBlue($theme)};
17
- --prism-comment: #{getBlue($theme)};
18
- --prism-keyword: #{getBlue($theme)};
19
- --prism-string: #{getBlue($theme)};
20
- --prism-number: #{getBlue($theme)};
21
- --prism-function: #{getBlue($theme)};
22
- --prism-variable: #{getBlue($theme)};
23
- --prism-type: #{getBlue($theme)};
24
- --prism-operator: #{getBlue($theme)};
25
- --prism-punctuation: #{getBlue($theme)};
26
- --prism-property: #{getBlue($theme)};
27
- --prism-tag: #{getBlue($theme)};
28
- --prism-attribute: #{getBlue($theme)};
29
- --prism-class: #{getBlue($theme)};
30
- --prism-constant: #{getBlue($theme)};
31
- --prism-regex: #{getBlue($theme)};
32
- --prism-important: #{getBlue($theme)};
33
-
34
- --code-font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
35
- --code-font-size: 14px;
20
+ min-height: 56px;
21
+
22
+ // ── Variáveis Prism tokens semânticos DSV3 ─────────────────────
23
+ // Auto-adapta dark/light via CSS vars subjacentes.
24
+ --prism-bg: var(--matcha-color-surface-inner);
25
+ --prism-text: var(--matcha-color-text-primary);
26
+ --prism-comment: var(--matcha-color-text-label);
27
+ --prism-punctuation: var(--matcha-color-text-secondary);
28
+ --prism-operator: var(--matcha-color-text-secondary);
29
+
30
+ --prism-keyword: var(--matcha-color-accent);
31
+ --prism-class: var(--matcha-color-accent);
32
+
33
+ --prism-string: var(--matcha-color-success);
34
+ --prism-regex: var(--matcha-color-success);
35
+
36
+ --prism-number: var(--matcha-color-primary);
37
+ --prism-function: var(--matcha-color-primary);
38
+ --prism-property: var(--matcha-color-primary);
39
+ --prism-variable: var(--matcha-color-text-primary);
40
+ --prism-constant: var(--matcha-color-primary);
41
+
42
+ --prism-type: var(--matcha-color-warn);
43
+ --prism-attribute: var(--matcha-color-warn);
44
+
45
+ --prism-tag: var(--matcha-color-danger);
46
+ --prism-important: var(--matcha-color-danger);
47
+
48
+ --code-font-family:
49
+ 'Fira Code', Consolas, Menlo, Monaco, 'Andale Mono', 'Liberation Mono',
50
+ 'Courier New', Courier, monospace;
51
+ --code-font-size: 13px;
36
52
  --code-line-height: 1.6;
37
53
 
38
- // =========================================================================
39
- // TEMAS ALTERNATIVOS
40
- // =========================================================================
41
- // -------------------------------------------------------------------------
42
- // Tema claro
43
- // -------------------------------------------------------------------------
44
- &[theme="vs-code-light"] {
45
- --prism-bg: #ffffff;
46
- --prism-text: #000000;
47
- --prism-comment: #6a9955;
48
- --prism-keyword: #0000ff;
49
- --prism-string: #a31515;
50
- --prism-number: #098658;
51
- --prism-function: #795e26;
52
- --prism-variable: #001080;
53
- --prism-type: #267f99;
54
- --prism-operator: #000000;
55
- --prism-punctuation: #000000;
56
- --prism-property: #0451a5;
57
- --prism-tag: #800000;
58
- --prism-attribute: #ff0000;
59
- --prism-class: #267f99;
60
- --prism-constant: #0070c1;
61
- --prism-regex: #811f3f;
62
- --prism-important: #e50000;
63
- }
64
-
65
- // -------------------------------------------------------------------------
66
- // Tema escuro
67
- // -------------------------------------------------------------------------
68
- &[theme="vs-code-dark"] {
69
- --prism-bg: #1e1e1e;
70
- --prism-text: #d4d4d4;
71
- --prism-comment: #6a9955;
72
- --prism-keyword: #569cd6;
73
- --prism-string: #ce9178;
74
- --prism-number: #b5cea8;
75
- --prism-function: #dcdcaa;
76
- --prism-variable: #9cdcfe;
77
- --prism-type: #4ec9b0;
78
- --prism-operator: #d4d4d4;
79
- --prism-punctuation: #d4d4d4;
80
- --prism-property: #92c5f8;
81
- --prism-tag: #f44747;
82
- --prism-attribute: #92c5f8;
83
- --prism-class: #4ec9b0;
84
- --prism-constant: #4fc1ff;
85
- --prism-regex: #d16969;
86
- --prism-important: #ff6b6b;
87
- }
88
-
89
- // -------------------------------------------------------------------------
90
- // Tema Dracula
91
- // -------------------------------------------------------------------------
92
- &[theme="dracula"] {
93
- --prism-bg: #282a36;
94
- --prism-text: #f8f8f2;
95
- --prism-comment: #6272a4;
96
- --prism-keyword: #ff79c6;
97
- --prism-string: #f1fa8c;
98
- --prism-number: #bd93f9;
99
- --prism-function: #50fa7b;
100
- --prism-variable: #8be9fd;
101
- --prism-type: #8be9fd;
102
- --prism-operator: #ff79c6;
103
- --prism-punctuation: #f8f8f2;
104
- --prism-property: #66d9ef;
105
- --prism-tag: #ff79c6;
106
- --prism-attribute: #50fa7b;
107
- --prism-class: #bd93f9;
108
- --prism-constant: #bd93f9;
109
- --prism-regex: #ffb86c;
110
- --prism-important: #ff5555;
111
- }
112
-
113
- // -------------------------------------------------------------------------
114
- // Tema matcha
115
- // -------------------------------------------------------------------------
116
- &[theme="matcha"] {
117
- --prism-bg: #1a2420;
118
- --prism-text: #e6f4ea;
119
- --prism-comment: #5c7f6e;
120
- --prism-keyword: #7fffd4;
121
- --prism-string: #b7f774;
122
- --prism-number: #6ee7b7;
123
- --prism-function: #4ade80;
124
- --prism-variable: #a7ffeb;
125
- --prism-type: #34d399;
126
- --prism-operator: #7fffd4;
127
- --prism-punctuation: #e6f4ea;
128
- --prism-property: #5eead4;
129
- --prism-tag: #2dd4bf;
130
- --prism-attribute: #bbf7d0;
131
- --prism-class: #6ee7b7;
132
- --prism-constant: #99f6e4;
133
- --prism-regex: #bef264;
134
- --prism-important: #22d3ee;
135
- }
136
-
137
- // -------------------------------------------------------------------------
138
- // Tema none (sem tema específico - usa cores padrão do sistema)
139
- // -------------------------------------------------------------------------
140
- &[theme="none"] {
141
- --prism-bg: transparent;
142
- --prism-text: inherit;
143
- --prism-comment: inherit;
144
- --prism-keyword: inherit;
145
- --prism-string: inherit;
146
- --prism-number: inherit;
147
- --prism-function: inherit;
148
- --prism-variable: inherit;
149
- --prism-type: inherit;
150
- --prism-operator: inherit;
151
- --prism-punctuation: inherit;
152
- --prism-property: inherit;
153
- --prism-tag: inherit;
154
- --prism-attribute: inherit;
155
- --prism-class: inherit;
156
- --prism-constant: inherit;
157
- --prism-regex: inherit;
158
- --prism-important: inherit;
159
- }
160
-
161
- // ========================================
162
- // ESTILOS BASE DO COMPONENTE
163
- // ========================================
164
-
165
- pre,code { margin: 0; padding: 0;}
54
+ // ── Estilos base ─────────────────────────────────────────────────
166
55
  background: var(--prism-bg);
167
56
 
168
- // Estilos base
57
+ pre, code { margin: 0; padding: 0; }
58
+
169
59
  code[class*="language-"],
170
60
  pre[class*="language-"] {
171
61
  color: var(--prism-text);
@@ -186,18 +76,15 @@
186
76
  }
187
77
 
188
78
  pre[class*="language-"] {
189
- padding: 0;
190
- margin: 0;
191
79
  overflow: auto;
192
- border-radius: 8px;
80
+ border-radius: var(--matcha-radius-lg, 8px);
193
81
  }
194
82
 
195
83
  code[class*="language-"] {
196
- padding: 0;
197
84
  background: transparent;
198
85
  }
199
86
 
200
- // Cores específicas para syntax highlighting
87
+ // ── Token cores (mapeamento Prism → CSS vars semânticas) ─────────
201
88
  .token.comment,
202
89
  .token.prolog,
203
90
  .token.doctype,
@@ -206,20 +93,18 @@
206
93
  font-style: italic;
207
94
  }
208
95
 
209
- .token.punctuation {
210
- color: var(--prism-punctuation);
211
- }
96
+ .token.punctuation { color: var(--prism-punctuation); }
212
97
 
213
98
  .token.property,
214
99
  .token.tag,
215
- .token.constant,
216
100
  .token.symbol,
217
101
  .token.deleted {
218
102
  color: var(--prism-tag);
219
103
  }
220
104
 
221
105
  .token.boolean,
222
- .token.number {
106
+ .token.number,
107
+ .token.constant {
223
108
  color: var(--prism-number);
224
109
  }
225
110
 
@@ -248,35 +133,23 @@
248
133
  color: var(--prism-function);
249
134
  }
250
135
 
251
- .token.keyword {
252
- color: var(--prism-keyword);
253
- }
136
+ .token.keyword { color: var(--prism-keyword); }
254
137
 
255
- .token.regex,
256
- .token.important {
257
- color: var(--prism-regex);
258
- }
138
+ .token.regex { color: var(--prism-regex); }
259
139
 
260
- .token.important,
261
- .token.bold {
140
+ .token.important {
141
+ color: var(--prism-important);
262
142
  font-weight: bold;
263
143
  }
264
144
 
265
- .token.italic {
266
- font-style: italic;
267
- }
268
-
269
- .token.entity {
270
- cursor: help;
271
- }
272
-
273
- // ========================================
274
- // CONTAINER E COPY BUTTON
275
- // ========================================
145
+ .token.bold { font-weight: bold; }
146
+ .token.italic { font-style: italic; }
147
+ .token.entity { cursor: help; }
276
148
 
149
+ // ── Container + copy button ──────────────────────────────────────
277
150
  .matcha-highlight-container {
278
151
  position: relative;
279
- border-radius: 8px;
152
+ border-radius: var(--matcha-radius-lg, 8px);
280
153
  }
281
154
 
282
155
  .copy-button {
@@ -284,13 +157,8 @@
284
157
  transition: opacity 0.2s ease;
285
158
  }
286
159
 
287
- &:hover .copy-button {
288
- opacity: 1;
289
- }
160
+ &:hover .copy-button { opacity: 1; }
290
161
 
291
- .highlight-content {
292
- position: relative;
293
- }
162
+ .highlight-content { position: relative; }
294
163
  }
295
-
296
164
  }
@@ -64,3 +64,24 @@
64
64
  }
65
65
  }
66
66
  }
67
+
68
+ // ── Forced colors ──
69
+ // Em high-contrast, type colors viram CanvasText (perdem distinção semântica).
70
+ // Texto fica legível; signal visual fica via prefix do consumer (ícone, etc).
71
+ @media (forced-colors: active) {
72
+ matcha-hint-text {
73
+ color: CanvasText !important;
74
+ }
75
+ }
76
+
77
+ // ── Reduced motion ──
78
+ @media (prefers-reduced-motion: reduce) {
79
+ matcha-hint-text {
80
+ transition: none !important;
81
+ animation: none !important;
82
+ }
83
+ }
84
+
85
+ // ── Print ──
86
+ // Hint text é informacional (validation/error) — mantém visível.
87
+ // Sem mudança necessária — fonte herdada do contexto já é apropriada pra papel.