matcha-theme 20.14.0 → 20.18.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/base/_reset.scss CHANGED
@@ -3,7 +3,7 @@
3
3
  $foreground: map-get($theme, foreground);
4
4
 
5
5
  & {
6
- color: map-get($foreground, foreground);
6
+ color: getForeground($theme);
7
7
  background: map-get($background, background);
8
8
  }
9
9
  }
@@ -165,25 +165,30 @@ How to use
165
165
  // Typography [Style]
166
166
  // -----------------------------------------------------------------------------------------------------
167
167
  // Paragraph
168
- .par-xs {
168
+ .par-xs,
169
+ .p-tiny {
169
170
  font-size: 12px !important;
170
171
  }
171
172
 
172
173
  .par-sm,
173
- .par-p {
174
+ .par-p,
175
+ .p-small {
174
176
  font-size: 14px !important;
175
177
  }
176
178
 
177
179
  .par-md,
178
- .par-m {
180
+ .par-m,
181
+ .p-medium {
179
182
  font-size: 16px !important;
180
183
  }
181
184
 
182
- .par-lg {
185
+ .par-lg,
186
+ .p-large {
183
187
  font-size: 20px !important;
184
188
  }
185
189
 
186
- .par-xl {
190
+ .par-xl,
191
+ .p-huge {
187
192
  font-size: 24px !important;
188
193
  }
189
194
  .text-medium,
@@ -43,7 +43,7 @@
43
43
  left: 0;
44
44
  width: 100%;
45
45
  height: 100%;
46
- background: rgba(getForeground($theme), 0.3);
46
+ background: getBackgroundAlpha($theme);
47
47
  backdrop-filter: blur(6px);
48
48
  z-index: 9;
49
49
  cursor: pointer;
@@ -0,0 +1,296 @@
1
+ @mixin matcha-highlight-theme($theme) {
2
+ // ========================================
3
+ // TEMA PADRÃO (MATCHA)
4
+ // ========================================
5
+
6
+ matcha-highlight {
7
+ padding: 16px;
8
+ border-radius: 8px;
9
+ display: flex;
10
+ overflow:auto;
11
+ 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;
36
+ --code-line-height: 1.6;
37
+
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;}
166
+ background: var(--prism-bg);
167
+
168
+ // Estilos base
169
+ code[class*="language-"],
170
+ pre[class*="language-"] {
171
+ color: var(--prism-text);
172
+ background: var(--prism-bg);
173
+ text-shadow: none;
174
+ font-family: var(--code-font-family);
175
+ font-size: var(--code-font-size);
176
+ text-align: left;
177
+ white-space: pre;
178
+ word-spacing: normal;
179
+ word-break: normal;
180
+ word-wrap: normal;
181
+ line-height: var(--code-line-height);
182
+ tab-size: 4;
183
+ hyphens: none;
184
+ margin: 0;
185
+ padding: 0;
186
+ }
187
+
188
+ pre[class*="language-"] {
189
+ padding: 0;
190
+ margin: 0;
191
+ overflow: auto;
192
+ border-radius: 8px;
193
+ }
194
+
195
+ code[class*="language-"] {
196
+ padding: 0;
197
+ background: transparent;
198
+ }
199
+
200
+ // Cores específicas para syntax highlighting
201
+ .token.comment,
202
+ .token.prolog,
203
+ .token.doctype,
204
+ .token.cdata {
205
+ color: var(--prism-comment);
206
+ font-style: italic;
207
+ }
208
+
209
+ .token.punctuation {
210
+ color: var(--prism-punctuation);
211
+ }
212
+
213
+ .token.property,
214
+ .token.tag,
215
+ .token.constant,
216
+ .token.symbol,
217
+ .token.deleted {
218
+ color: var(--prism-tag);
219
+ }
220
+
221
+ .token.boolean,
222
+ .token.number {
223
+ color: var(--prism-number);
224
+ }
225
+
226
+ .token.selector,
227
+ .token.attr-name,
228
+ .token.string,
229
+ .token.char,
230
+ .token.builtin,
231
+ .token.inserted {
232
+ color: var(--prism-string);
233
+ }
234
+
235
+ .token.operator,
236
+ .token.entity,
237
+ .token.url,
238
+ .language-css .token.string,
239
+ .style .token.string,
240
+ .token.variable {
241
+ color: var(--prism-operator);
242
+ }
243
+
244
+ .token.atrule,
245
+ .token.attr-value,
246
+ .token.function,
247
+ .token.class-name {
248
+ color: var(--prism-function);
249
+ }
250
+
251
+ .token.keyword {
252
+ color: var(--prism-keyword);
253
+ }
254
+
255
+ .token.regex,
256
+ .token.important {
257
+ color: var(--prism-regex);
258
+ }
259
+
260
+ .token.important,
261
+ .token.bold {
262
+ font-weight: bold;
263
+ }
264
+
265
+ .token.italic {
266
+ font-style: italic;
267
+ }
268
+
269
+ .token.entity {
270
+ cursor: help;
271
+ }
272
+
273
+ // ========================================
274
+ // CONTAINER E COPY BUTTON
275
+ // ========================================
276
+
277
+ .matcha-highlight-container {
278
+ position: relative;
279
+ border-radius: 8px;
280
+ }
281
+
282
+ .copy-button {
283
+ opacity: 0;
284
+ transition: opacity 0.2s ease;
285
+ }
286
+
287
+ &:hover .copy-button {
288
+ opacity: 1;
289
+ }
290
+
291
+ .highlight-content {
292
+ position: relative;
293
+ }
294
+ }
295
+
296
+ }
@@ -12,7 +12,7 @@
12
12
  }
13
13
 
14
14
  .matcha-option[aria-selected="true"] {
15
- background: rgba(0, 0, 0, 0.08);
15
+ background: getBackground($theme);
16
16
  }
17
17
 
18
18
  .matcha-option[disabled] {
@@ -0,0 +1,101 @@
1
+ @mixin matcha-select-theme($theme) {
2
+ $accent: map-get($theme, accent);
3
+ $warn: map-get($theme, warn);
4
+ $primary: map-get($theme, primary);
5
+ $background: map-get($theme, background);
6
+ $foreground: map-get($theme, foreground);
7
+
8
+ matcha-select {
9
+ width: 100%;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: space-between;
13
+ }
14
+
15
+ .matcha-select-container {
16
+ position: relative;
17
+ display: inline-block;
18
+ width: 100%;
19
+ }
20
+
21
+ .matcha-select-trigger {
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: space-between;
25
+ padding: 0;
26
+ border: 0px solid;
27
+ border-radius: 0px;
28
+ background-color: transparent;
29
+ cursor: pointer;
30
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
31
+ // min-height: 48px;
32
+ box-sizing: border-box;
33
+
34
+ &:hover {
35
+ border-color: #b0b0b0;
36
+ }
37
+
38
+ &:focus {
39
+ outline: none;
40
+ // border-color: map-get($primary, 500);
41
+ // box-shadow: 0 0 0 2px rgba(map-get($primary, 500), 0.2);
42
+ }
43
+
44
+ &.matcha-select-open {
45
+ // border-color: map-get($primary, 500);
46
+ // box-shadow: 0 0 0 2px rgba(map-get($primary, 500), 0.2);
47
+ }
48
+
49
+ &.matcha-select-disabled {
50
+ background-color: #f5f5f5;
51
+ color: #9e9e9e;
52
+ cursor: not-allowed;
53
+ border-color: #e0e0e0;
54
+
55
+ &:hover {
56
+ border-color: #e0e0e0;
57
+ }
58
+ }
59
+ }
60
+
61
+ .matcha-select-value {
62
+ flex: 1;
63
+ text-align: left;
64
+ overflow: hidden;
65
+ text-overflow: ellipsis;
66
+ white-space: nowrap;
67
+ color: map-get($foreground, text);
68
+
69
+ &.matcha-select-placeholder {
70
+ color: #9e9e9e;
71
+ }
72
+ }
73
+
74
+ .matcha-select-arrow {
75
+ margin-left: 8px;
76
+ transition: transform 0.2s ease;
77
+ color: #666;
78
+ font-size: 12px;
79
+
80
+ &.matcha-select-arrow-open {
81
+ transform: rotate(180deg);
82
+ }
83
+ }
84
+
85
+ .matcha-select-disabled {
86
+ .matcha-select-trigger {
87
+ background-color: #f5f5f5;
88
+ color: #9e9e9e;
89
+ cursor: not-allowed;
90
+ border-color: #e0e0e0;
91
+
92
+ &:hover {
93
+ border-color: #e0e0e0;
94
+ }
95
+ }
96
+
97
+ .matcha-select-arrow {
98
+ color: #9e9e9e;
99
+ }
100
+ }
101
+ }
package/main.scss CHANGED
@@ -25,6 +25,7 @@
25
25
  @import "./components/matcha-autocomplete.scss"; // matcha-autocomplete-theme($theme)
26
26
  @import "./components/matcha-option.scss"; // matcha-option-theme($theme)
27
27
  @import "./components/matcha-panel.scss"; // matcha-panel-theme($theme)
28
+ @import "./components/matcha-select.scss"; // matcha-select-theme($theme)
28
29
  @import "./components/matcha-buttons.scss"; // matcha-button-theme($theme)
29
30
  @import "./components/matcha-button-toggle.scss"; // matcha-button-toggle-theme($theme)
30
31
  @import "./components/matcha-cards.scss"; // matcha-cards-theme($theme)
@@ -52,6 +53,7 @@
52
53
  @import "./components/matcha-avatar.scss"; // matcha-avatar($theme)
53
54
  @import "./components/matcha-paginator.scss"; // matcha-paginator($theme)
54
55
 
56
+ @import "./components/matcha-highlight.scss"; // matcha-highlight($theme)
55
57
  @import "./components/matcha-tabs.scss"; // matcha-tabs($theme)
56
58
  @import "./components/matcha-modal.scss"; // matcha-modal($theme)
57
59
  @import "./components/matcha-drawer.scss"; // matcha-drawer-theme($theme)
@@ -167,5 +169,7 @@
167
169
  @include matcha-autocomplete-theme($theme);
168
170
  @include matcha-panel-theme($theme);
169
171
  @include matcha-option-theme($theme);
170
- @include matcha-paginator-theme($theme);
172
+ @include matcha-select-theme($theme);
173
+ @include matcha-paginator-theme($theme);
174
+ @include matcha-highlight-theme($theme);
171
175
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matcha-theme",
3
- "version": "20.14.0",
3
+ "version": "20.18.0",
4
4
  "description": "Themes for matcha-design-system",
5
5
  "main": "main.scss",
6
6
  "scripts": {