@inchurch/matcha-theme 20.0.11 → 20.277.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 (116) hide show
  1. package/abstracts/_colors.scss +404 -404
  2. package/abstracts/_elevation.scss +102 -102
  3. package/abstracts/_functions.scss +1186 -1212
  4. package/abstracts/_media-breakpoint.scss +23 -23
  5. package/abstracts/_theme-api.scss +230 -0
  6. package/abstracts/_typography.scss +127 -127
  7. package/base/_reset.scss +438 -438
  8. package/components/app-page-header.scss +259 -0
  9. package/components/matcha-accordion.scss +293 -157
  10. package/components/matcha-audio-player.scss +1 -2
  11. package/components/matcha-autocomplete.scss +10 -11
  12. package/components/matcha-avatar.scss +173 -33
  13. package/components/matcha-badge.scss +15 -15
  14. package/components/matcha-breadcrumb.scss +231 -126
  15. package/components/matcha-button-toggle.scss +46 -2
  16. package/components/matcha-buttons.scss +908 -784
  17. package/components/matcha-calendar.scss +99 -35
  18. package/components/matcha-cards.scss +58 -33
  19. package/components/matcha-chart-card.scss +5 -12
  20. package/components/matcha-checkbox.scss +191 -490
  21. package/components/matcha-chip.scss +297 -212
  22. package/components/matcha-color-pick.scss +1 -2
  23. package/components/matcha-command-palette.scss +290 -63
  24. package/components/matcha-crop.scss +406 -172
  25. package/components/matcha-date.scss +81 -81
  26. package/components/matcha-divider.scss +86 -31
  27. package/components/matcha-draggable.scss +4 -5
  28. package/components/matcha-drawer.scss +207 -66
  29. package/components/matcha-drop-image.scss +14 -0
  30. package/components/matcha-drop-list.scss +87 -47
  31. package/components/matcha-emoji.scss +2 -2
  32. package/components/matcha-empty-state.scss +195 -83
  33. package/components/matcha-file-uploader.scss +462 -0
  34. package/components/matcha-flag.scss +93 -52
  35. package/components/matcha-footer.scss +67 -164
  36. package/components/matcha-form-field.scss +55 -3
  37. package/components/matcha-form-section.scss +100 -101
  38. package/components/matcha-header.scss +134 -325
  39. package/components/matcha-highlight.scss +65 -197
  40. package/components/matcha-hint-text.scss +25 -4
  41. package/components/matcha-horizontal-tree.scss +316 -317
  42. package/components/matcha-icon.scss +37 -45
  43. package/components/matcha-image.scss +2 -3
  44. package/components/matcha-list.scss +14 -15
  45. package/components/matcha-menu.scss +15 -2
  46. package/components/matcha-modal.scss +59 -86
  47. package/components/matcha-nav.scss +362 -231
  48. package/components/matcha-notification.scss +412 -197
  49. package/components/matcha-option.scss +98 -23
  50. package/components/matcha-page-builder.scss +16 -16
  51. package/components/matcha-paginator.scss +688 -235
  52. package/components/matcha-panel.scss +42 -27
  53. package/components/matcha-profile-card.scss +50 -50
  54. package/components/matcha-progress-bar.scss +257 -153
  55. package/components/matcha-radio.scss +244 -452
  56. package/components/matcha-scrollbar.scss +1 -2
  57. package/components/matcha-scrollbox-shadow.scss +120 -122
  58. package/components/matcha-section.scss +5 -9
  59. package/components/matcha-select-multiple.scss +56 -0
  60. package/components/matcha-select.scss +10 -10
  61. package/components/matcha-skeleton.scss +24 -7
  62. package/components/matcha-slide-toggle.scss +80 -301
  63. package/components/matcha-slider.scss +174 -77
  64. package/components/matcha-snack-bar.scss +123 -131
  65. package/components/matcha-spin.scss +12 -103
  66. package/components/matcha-spinner.scss +76 -57
  67. package/components/matcha-status-pill.scss +82 -0
  68. package/components/matcha-stepper.scss +376 -177
  69. package/components/matcha-table.scss +568 -785
  70. package/components/matcha-tabs.scss +622 -469
  71. package/components/matcha-text-editor.scss +78 -78
  72. package/components/matcha-time.scss +2 -2
  73. package/components/matcha-toolbar.scss +359 -206
  74. package/components/matcha-tooltip.scss +158 -62
  75. package/components/matcha-tree-view.scss +189 -0
  76. package/fonts/manrope/manrope-latin-ext.woff2 +0 -0
  77. package/fonts/manrope/manrope-latin.woff2 +0 -0
  78. package/layout/matcha-page-layout.scss +4 -4
  79. package/main.scss +237 -265
  80. package/package.json +1 -1
  81. package/tokens/_animations-tokens.scss +37 -37
  82. package/tokens/_breakpoints-tokens.scss +35 -26
  83. package/tokens/_color-tokens.scss +1149 -1152
  84. package/tokens/_css-custom-properties.scss +704 -568
  85. package/tokens/_primitives.scss +82 -0
  86. package/tokens/_semantic-aliases.scss +120 -0
  87. package/tokens/_spacing-tokens.scss +94 -94
  88. package/vendors/angular-editor.scss +56 -56
  89. package/vendors/angular-material-fixes.scss +297 -297
  90. package/vendors/charts.scss +92 -92
  91. package/vendors/ng5-slider.scss +56 -56
  92. package/vendors/ngx-material-timepicker.scss +50 -50
  93. package/components/matcha-uploader.scss +0 -215
  94. package/fonts/CircularStd-Black.eot +0 -0
  95. package/fonts/CircularStd-Black.svg +0 -3426
  96. package/fonts/CircularStd-Black.ttf +0 -0
  97. package/fonts/CircularStd-Black.woff +0 -0
  98. package/fonts/CircularStd-Black.woff2 +0 -0
  99. package/fonts/CircularStd-Bold.eot +0 -0
  100. package/fonts/CircularStd-Bold.otf +0 -0
  101. package/fonts/CircularStd-Bold.svg +0 -13532
  102. package/fonts/CircularStd-Bold.ttf +0 -0
  103. package/fonts/CircularStd-Bold.woff +0 -0
  104. package/fonts/CircularStd-Bold.woff2 +0 -0
  105. package/fonts/CircularStd-Medium.eot +0 -0
  106. package/fonts/CircularStd-Medium.otf +0 -0
  107. package/fonts/CircularStd-Medium.svg +0 -13511
  108. package/fonts/CircularStd-Medium.ttf +0 -0
  109. package/fonts/CircularStd-Medium.woff +0 -0
  110. package/fonts/CircularStd-Medium.woff2 +0 -0
  111. package/fonts/CircularStd-Regular.eot +0 -0
  112. package/fonts/CircularStd-Regular.otf +0 -0
  113. package/fonts/CircularStd-Regular.svg +0 -2378
  114. package/fonts/CircularStd-Regular.ttf +0 -0
  115. package/fonts/CircularStd-Regular.woff +0 -0
  116. 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
  }
@@ -48,19 +48,40 @@
48
48
  @include generate-matcha-hint-size-classes($helper-breakpoints);
49
49
 
50
50
  &[type="error"] {
51
- color: var(--matcha-color-danger, #{getDanger($theme)});
51
+ color: var(--matcha-color-danger);
52
52
  }
53
53
 
54
54
  &[type="warning"] {
55
- color: var(--matcha-color-warn, #{getWarn($theme)});
55
+ color: var(--matcha-color-warn);
56
56
  }
57
57
 
58
58
  &[type="info"] {
59
- color: var(--matcha-color-info, #{getInfo($theme)});
59
+ color: var(--matcha-color-info);
60
60
  }
61
61
 
62
62
  &[type="success"] {
63
- color: var(--matcha-color-success, #{getSuccess($theme)});
63
+ color: var(--matcha-color-success);
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.