matcha-theme 20.8.0 → 20.13.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
@@ -28,6 +28,9 @@ How to use
28
28
  color: map-get($accent, default);
29
29
  }
30
30
 
31
+ pre > code{
32
+ color: getBlue($theme);
33
+ }
31
34
  code {
32
35
  &:not(.highlight) {
33
36
  background-color: map-get($background, card);
@@ -0,0 +1,20 @@
1
+ @mixin matcha-autocomplete-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
+
9
+ .matcha-autocomplete-panel {
10
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
11
+ z-index: 1;
12
+ border-radius: 8px;
13
+ background: map-get($background, surface);
14
+ max-height: 280px;
15
+ overflow: auto;
16
+ min-width: 160px;
17
+ display: flex;
18
+ flex-direction: column;
19
+ }
20
+ }
@@ -0,0 +1,22 @@
1
+ @mixin matcha-option-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-option {
9
+ padding: 8px 12px;
10
+ cursor: pointer;
11
+ background: getSurface($theme);
12
+ }
13
+
14
+ .matcha-option[aria-selected="true"] {
15
+ background: rgba(0, 0, 0, 0.08);
16
+ }
17
+
18
+ .matcha-option[disabled] {
19
+ opacity: 0.5;
20
+ cursor: default;
21
+ }
22
+ }
@@ -0,0 +1,201 @@
1
+ @mixin matcha-paginator-theme($theme) {
2
+ .matcha-paginator {
3
+ .page-button {
4
+
5
+ &.active.accent {
6
+ background-color: getAccent($theme) !important;
7
+ color: $light-primary-text !important;
8
+ border-color: getAccent($theme) !important;
9
+ }
10
+
11
+ &.active.orange {
12
+ background-color: getOrange($theme) !important;
13
+ color: $light-primary-text !important;
14
+ border-color: getOrange($theme) !important;
15
+ }
16
+
17
+ &.active.blue {
18
+ background-color: getBlue($theme) !important;
19
+ color: getBlueContrast($theme) !important;
20
+ border-color: getBlue($theme) !important;
21
+ }
22
+
23
+ &.active.green {
24
+ background-color: getGreen($theme) !important;
25
+ color: getGreenContrast($theme) !important;
26
+ border-color: getGreen($theme) !important;
27
+ }
28
+
29
+ &.active.purple {
30
+ background-color: getPurple($theme) !important;
31
+ color: getPurpleContrast($theme) !important;
32
+ border-color: getPurple($theme) !important;
33
+ }
34
+
35
+ &.active.primary {
36
+ background-color: getPrimary($theme) !important;
37
+ color: getPrimaryContrast($theme) !important;
38
+ border-color: getPrimary($theme) !important;
39
+ }
40
+
41
+ &.active.warn {
42
+ background-color: getWarn($theme) !important;
43
+ color: getWarnContrast($theme) !important;
44
+ border-color: getWarn($theme) !important;
45
+ }
46
+
47
+ &.active.red {
48
+ background-color: getRed($theme) !important;
49
+ color: getRedContrast($theme) !important;
50
+ border-color: getRed($theme) !important;
51
+ }
52
+ }
53
+ }
54
+ }
55
+
56
+ .matcha-paginator {
57
+ .page-size-selector {
58
+ position: relative;
59
+ display: inline-block;
60
+
61
+ .page-size-select {
62
+ appearance: none;
63
+ -webkit-appearance: none;
64
+ -moz-appearance: none;
65
+ padding: 8px 32px 8px 12px;
66
+ border: 1px solid var(--color-border);
67
+ background-color: var(--color-bg);
68
+ color: var(--color-fg);
69
+ font-size: 14px;
70
+ font-family: matcha-font-family(matcha-typography-config(), button);
71
+ font-weight: matcha-font-weight(matcha-typography-config(), button);
72
+ cursor: pointer;
73
+ min-width: 60px;
74
+ transition: all 0.2s ease;
75
+ @include elevation(1);
76
+
77
+ &:hover {
78
+ border-color: var(--color-accent);
79
+ background-color: var(--color-surface);
80
+ }
81
+
82
+ &:focus {
83
+ outline: 2px solid var(--color-accent);
84
+ outline-offset: 2px;
85
+ }
86
+
87
+ &::-ms-expand {
88
+ display: none;
89
+ }
90
+
91
+ option {
92
+ font-family: matcha-font-family(matcha-typography-config(), button);
93
+ font-weight: matcha-font-weight(matcha-typography-config(), button);
94
+ font-size: 14px;
95
+ background-color: var(--color-bg);
96
+ color: var(--color-fg);
97
+ padding: 8px 12px;
98
+ }
99
+ }
100
+
101
+ .select-icon {
102
+ position: absolute;
103
+ right: 8px;
104
+ top: 50%;
105
+ transform: translateY(-50%);
106
+ pointer-events: none;
107
+ transition: transform 0.2s ease;
108
+
109
+ ::ng-deep .i-matcha-action_arrow_up {
110
+ transform: rotate(180deg);
111
+ font-size: 14px;
112
+ }
113
+ }
114
+
115
+ &:hover .select-icon {
116
+ ::ng-deep .i-matcha-action_arrow_up {
117
+ transform: rotate(180deg) scale(1.1);
118
+ }
119
+ }
120
+ }
121
+
122
+ .page-size-select {
123
+ padding: 4px 8px;
124
+ border: 1px solid var(--color-border);
125
+ background-color: var(--color-bg);
126
+ color: var(--color-fg);
127
+ font-size: 14px;
128
+
129
+ &:focus {
130
+ outline: 2px solid var(--color-accent);
131
+ outline-offset: 2px;
132
+ }
133
+ }
134
+
135
+ .nav-button {
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: center;
139
+ width: 18px;
140
+ height: 18px;
141
+ border: 1px solid var(--color-border);
142
+ background-color: var(--color-bg);
143
+ color: var(--color-fg);
144
+ cursor: pointer;
145
+ transition: all 0.2s ease;
146
+
147
+ &:hover:not(:disabled) {
148
+ background-color: var(--color-surface);
149
+ border-color: var(--color-accent);
150
+ }
151
+
152
+ &:disabled {
153
+ opacity: 0.5;
154
+ cursor: not-allowed;
155
+ }
156
+
157
+ &:focus {
158
+ outline: 2px solid var(--color-accent);
159
+ outline-offset: 2px;
160
+ }
161
+ }
162
+
163
+ .page-button {
164
+ display: flex;
165
+ align-items: center;
166
+ justify-content: center;
167
+ min-width: 24px;
168
+ height: 24px;
169
+ padding: 0 6px;
170
+ border: 1px solid var(--color-border);
171
+ background-color: var(--color-bg);
172
+ color: var(--color-fg);
173
+ cursor: pointer;
174
+ transition: all 0.2s ease;
175
+ font-size: 14px;
176
+
177
+ &:hover:not(.active) {
178
+ background-color: var(--color-surface);
179
+ border-color: var(--color-accent);
180
+ }
181
+
182
+ &:focus {
183
+ outline: 2px solid var(--color-accent);
184
+ outline-offset: 2px;
185
+ }
186
+ }
187
+
188
+ .ellipsis {
189
+ display: flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ color: var(--color-fg-muted);
193
+ font-size: 14px;
194
+ user-select: none;
195
+ }
196
+
197
+ .text-sm {
198
+ font-size: 14px;
199
+ color: var(--color-fg);
200
+ }
201
+ }
@@ -0,0 +1,98 @@
1
+ @mixin matcha-panel-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
+
9
+ // Painel base
10
+ .matcha-panel {
11
+ background: map-get($background, surface);
12
+ border-radius: 8px;
13
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
14
+ overflow: hidden;
15
+ display: flex;
16
+ flex-direction: column;
17
+ max-height: 280px;
18
+ min-width: 160px;
19
+
20
+
21
+ // Animações
22
+ opacity: 0;
23
+ transform: scale(0.95) translateY(-8px);
24
+ transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
25
+
26
+ // Position sempre absolute agora
27
+ position: absolute;
28
+ z-index: 1003; // Z-index maior que o overlay (1002)
29
+
30
+ // Estados de abertura
31
+ &.matcha-panel-open {
32
+ opacity: 1;
33
+ transform: scale(1) translateY(0);
34
+ }
35
+
36
+ // Quando o painel está visível (open = true)
37
+ &:not([aria-hidden="true"]) {
38
+ opacity: 1;
39
+ transform: scale(1) translateY(0);
40
+ }
41
+
42
+ // Posicionamento vertical
43
+ &.matcha-panel-top {
44
+ transform-origin: bottom center;
45
+ }
46
+
47
+ &.matcha-panel-bottom {
48
+ transform-origin: top center;
49
+ }
50
+ }
51
+
52
+ // Conteúdo do painel
53
+ .matcha-panel-content {
54
+ overflow-y: auto;
55
+ flex: 1;
56
+
57
+ // Scrollbar customizada
58
+ &::-webkit-scrollbar {
59
+ width: 6px;
60
+ }
61
+
62
+ &::-webkit-scrollbar-track {
63
+ background: transparent;
64
+ }
65
+
66
+ &::-webkit-scrollbar-thumb {
67
+ background: rgba(0, 0, 0, 0.2);
68
+ border-radius: 3px;
69
+ }
70
+
71
+ &::-webkit-scrollbar-thumb:hover {
72
+ background: rgba(0, 0, 0, 0.3);
73
+ }
74
+ }
75
+
76
+ // Estados de foco e hover
77
+ .matcha-panel:focus-within {
78
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
79
+ }
80
+
81
+ // Responsividade
82
+ @media (max-width: 768px) {
83
+ .matcha-panel {
84
+ max-height: 200px;
85
+ min-width: 120px;
86
+ border-radius: 6px;
87
+ }
88
+ }
89
+
90
+ // Tema escuro
91
+ @media (prefers-color-scheme: dark) {
92
+ .matcha-panel {
93
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
94
+ border-color: rgba(255, 255, 255, 0.1);
95
+ }
96
+ }
97
+ }
98
+
package/main.scss CHANGED
@@ -22,6 +22,9 @@
22
22
 
23
23
  // COMPONENTS
24
24
  @import "./components/matcha-audio-player.scss"; //matcha-audio-player-theme($theme)
25
+ @import "./components/matcha-autocomplete.scss"; // matcha-autocomplete-theme($theme)
26
+ @import "./components/matcha-option.scss"; // matcha-option-theme($theme)
27
+ @import "./components/matcha-panel.scss"; // matcha-panel-theme($theme)
25
28
  @import "./components/matcha-buttons.scss"; // matcha-button-theme($theme)
26
29
  @import "./components/matcha-button-toggle.scss"; // matcha-button-toggle-theme($theme)
27
30
  @import "./components/matcha-cards.scss"; // matcha-cards-theme($theme)
@@ -47,6 +50,7 @@
47
50
  @import "./components/matcha-slide-toggle.scss"; // matcha-slide-toggle($theme)
48
51
  @import "./components/matcha-radio.scss"; // matcha-radio($theme)
49
52
  @import "./components/matcha-avatar.scss"; // matcha-avatar($theme)
53
+ @import "./components/matcha-paginator.scss"; // matcha-paginator($theme)
50
54
 
51
55
  @import "./components/matcha-tabs.scss"; // matcha-tabs($theme)
52
56
  @import "./components/matcha-modal.scss"; // matcha-modal($theme)
@@ -160,4 +164,8 @@
160
164
  @include matcha-radio($theme);
161
165
  @include matcha-avatar-theme($theme);
162
166
  @include matcha-drawer-theme($theme);
167
+ @include matcha-autocomplete-theme($theme);
168
+ @include matcha-panel-theme($theme);
169
+ @include matcha-option-theme($theme);
170
+ @include matcha-paginator-theme($theme);
163
171
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matcha-theme",
3
- "version": "20.8.0",
3
+ "version": "20.13.0",
4
4
  "description": "Themes for matcha-design-system",
5
5
  "main": "main.scss",
6
6
  "scripts": {