voa-ds-core 1.0.10 → 1.0.12

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 (48) hide show
  1. package/dist/styles/voa-components.css +4841 -0
  2. package/package.json +2 -2
  3. package/dist/collection/styles/external/saas-dashboard.css +0 -566
  4. package/dist/collection/styles/external/voa-accordion.external.css +0 -295
  5. package/dist/collection/styles/external/voa-alert.external.css +0 -348
  6. package/dist/collection/styles/external/voa-avatar.external.css +0 -118
  7. package/dist/collection/styles/external/voa-badge.external.css +0 -346
  8. package/dist/collection/styles/external/voa-breadcrumbs.external.css +0 -183
  9. package/dist/collection/styles/external/voa-button.external.css +0 -257
  10. package/dist/collection/styles/external/voa-card.external.css +0 -30
  11. package/dist/collection/styles/external/voa-checkbox.external.css +0 -303
  12. package/dist/collection/styles/external/voa-input-addon.external.css +0 -204
  13. package/dist/collection/styles/external/voa-input.external.css +0 -307
  14. package/dist/collection/styles/external/voa-keybinding.external.css +0 -34
  15. package/dist/collection/styles/external/voa-option.external.css +0 -213
  16. package/dist/collection/styles/external/voa-pagination.external.css +0 -125
  17. package/dist/collection/styles/external/voa-radio.external.css +0 -235
  18. package/dist/collection/styles/external/voa-radio.styles.ts +0 -155
  19. package/dist/collection/styles/external/voa-select.external.css +0 -568
  20. package/dist/collection/styles/external/voa-switch.external.css +0 -215
  21. package/dist/collection/styles/external/voa-tab.external.css +0 -284
  22. package/dist/collection/styles/external/voa-tag.external.css +0 -206
  23. package/dist/collection/styles/external/voa-text-area.external.css +0 -174
  24. package/dist/collection/styles/external/voa-tooltip.external.css +0 -320
  25. package/dist/collection/styles/voa-components.css +0 -32
  26. package/dist/voa/styles/external/saas-dashboard.css +0 -566
  27. package/dist/voa/styles/external/voa-accordion.external.css +0 -295
  28. package/dist/voa/styles/external/voa-alert.external.css +0 -348
  29. package/dist/voa/styles/external/voa-avatar.external.css +0 -118
  30. package/dist/voa/styles/external/voa-badge.external.css +0 -346
  31. package/dist/voa/styles/external/voa-breadcrumbs.external.css +0 -183
  32. package/dist/voa/styles/external/voa-button.external.css +0 -257
  33. package/dist/voa/styles/external/voa-card.external.css +0 -30
  34. package/dist/voa/styles/external/voa-checkbox.external.css +0 -303
  35. package/dist/voa/styles/external/voa-input-addon.external.css +0 -204
  36. package/dist/voa/styles/external/voa-input.external.css +0 -307
  37. package/dist/voa/styles/external/voa-keybinding.external.css +0 -34
  38. package/dist/voa/styles/external/voa-option.external.css +0 -213
  39. package/dist/voa/styles/external/voa-pagination.external.css +0 -125
  40. package/dist/voa/styles/external/voa-radio.external.css +0 -235
  41. package/dist/voa/styles/external/voa-radio.styles.ts +0 -155
  42. package/dist/voa/styles/external/voa-select.external.css +0 -568
  43. package/dist/voa/styles/external/voa-switch.external.css +0 -215
  44. package/dist/voa/styles/external/voa-tab.external.css +0 -284
  45. package/dist/voa/styles/external/voa-tag.external.css +0 -206
  46. package/dist/voa/styles/external/voa-text-area.external.css +0 -174
  47. package/dist/voa/styles/external/voa-tooltip.external.css +0 -320
  48. package/dist/voa/styles/voa-components.css +0 -32
@@ -1,118 +0,0 @@
1
- /**
2
- * Estilização Externa do VoaAvatar
3
- *
4
- * Este arquivo demonstra como estilizar o componente voa-avatar
5
- * usando CSS Parts API e design tokens semânticos.
6
- *
7
- * Baseado no design do Figma:
8
- * https://www.figma.com/design/wDStUEuqpl7Tu1oHpiAml6/Voa-Design-System?node-id=397-2809&t=eEPGXVkQRijr3FMg-4
9
- *
10
- * Para usar, importe este arquivo após os tokens:
11
- * @import '@voa-ds/tokens/dist/tokens.css';
12
- * @import '@voa-ds/styles/voa-avatar.css';
13
- */
14
-
15
- /* ============================================
16
- BASE - Container principal do avatar
17
- ============================================ */
18
- voa-avatar::part(base) {
19
- /* Background do avatar - Semantic Token (conforme Figma: bg-elevated) */
20
- background-color: var(--structure-colors-bg-elevated);
21
-
22
- /* Border-radius circular - Semantic Token (conforme Figma: radius-round) */
23
- border-radius: var(--radius-round);
24
-
25
- /* Shadow conforme Figma: 0px 4px 4px 0px rgba(0,0,0,0.25) */
26
- box-shadow: var(--voa-shadow-avatar);
27
- }
28
-
29
- /* ============================================
30
- INITIALS - Texto de iniciais
31
- ============================================ */
32
- voa-avatar::part(initials) {
33
- /* Cor do texto - Semantic Token (conforme Figma: text-primary) */
34
- color: var(--text-primary);
35
-
36
- /* Font-family (Manrope SemiBold conforme Figma) */
37
- font-family: var(--font-family-sans, 'Manrope', sans-serif);
38
- font-weight: var(--typography-base-body-sm-bold-weight); /* SemiBold */
39
- font-style: normal;
40
-
41
- /* Line-height */
42
- line-height: 1;
43
-
44
- /* Text transform já aplicado no CSS estrutural */
45
- }
46
-
47
- /* Tamanhos de fonte para iniciais baseados no size do avatar */
48
- voa-avatar[size="xs"]::part(initials) {
49
- font-size: var(--avatar-font-size-xs); /* Conforme Figma: 8px para xs */
50
- }
51
-
52
- voa-avatar[size="sm"]::part(initials) {
53
- font-size: var(--avatar-font-size-sm); /* Conforme Figma: 12px para sm */
54
- }
55
-
56
- voa-avatar[size="md"]::part(initials) {
57
- font-size: var(--avatar-font-size-md); /* Conforme Figma: 16px para md */
58
- }
59
-
60
- voa-avatar[size="lg"]::part(initials) {
61
- font-size: var(--avatar-font-size-lg); /* Conforme Figma: 24px para lg */
62
- }
63
-
64
- voa-avatar[size="xl"]::part(initials) {
65
- font-size: var(--avatar-font-size-xl); /* Conforme Figma: 28px para xl */
66
- }
67
-
68
- /* ============================================
69
- ICON - Ícone SVG padrão
70
- ============================================ */
71
- voa-avatar::part(icon) {
72
- /* Cor do ícone - Primitive Token (conforme Figma: rgba(73, 80, 87, 1) = gray-7) */
73
- /* Nota: Não há token semântico específico para cor de ícone, usando primitivo */
74
- color: var(--palette-gray-gray-7);
75
-
76
- /* Fill será aplicado via currentColor */
77
- fill: currentColor;
78
- }
79
-
80
- /* ============================================
81
- IMAGE - Imagem do avatar
82
- ============================================ */
83
- voa-avatar::part(image) {
84
- /* Estilos estruturais já aplicados no CSS do componente */
85
- /* Apenas garantir que a imagem preencha o container */
86
- object-fit: cover;
87
- object-position: center;
88
- }
89
-
90
- /* ============================================
91
- VARIAÇÕES POR TIPO
92
- ============================================ */
93
-
94
- /* Avatar tipo photo - sem background (apenas imagem) */
95
- voa-avatar[type="photo"]::part(base) {
96
- background-color: transparent;
97
- }
98
-
99
- /* Avatar tipo icon - com background */
100
- voa-avatar[type="icon"]::part(base) {
101
- background-color: var(--structure-colors-bg-elevated);
102
- }
103
-
104
- /* Avatar tipo initials - com background */
105
- voa-avatar[type="initials"]::part(base) {
106
- background-color: var(--structure-colors-bg-elevated);
107
- }
108
-
109
- /* ============================================
110
- ACESSIBILIDADE
111
- ============================================ */
112
-
113
- /* Focus visível para navegação por teclado (se o avatar for interativo) */
114
- voa-avatar::part(base):focus-visible {
115
- outline: 2px solid var(--brand-base);
116
- outline-offset: 2px;
117
- }
118
-
@@ -1,346 +0,0 @@
1
- /**
2
- * Estilização Externa do VoaBadge
3
- *
4
- * Este arquivo demonstra como estilizar o componente voa-badge
5
- * usando CSS Parts API e design tokens semânticos.
6
- *
7
- * Baseado no design do Figma:
8
- * https://www.figma.com/design/wDStUEuqpl7Tu1oHpiAml6/Voa-Design-System?node-id=397-3352
9
- *
10
- * Para usar, importe este arquivo após os tokens:
11
- * @import '@voa-ds/tokens/global.css';
12
- * @import '@voa-ds/styles/voa-badge.css';
13
- *
14
- * MAPEAMENTO DE TOKENS DO FIGMA PARA STYLE DICTIONARY:
15
- *
16
- * Figma Token → Style Dictionary Token
17
- * --------------------------------------------
18
- * --structure-colors/bg-container → --structure-colors-bg-container
19
- * --structure-colors/border-color → --structure-colors-border-color
20
- * --structure-colors/border-color-secondary → --structure-colors-border-color-secondary
21
- * --structure-colors/fill-secondary → --structure-colors-fill-secondary
22
- * --spacing/spacing-xs → --spacing-spacing-xs (4px)
23
- * --spacing/spacing-sm → --spacing-spacing-sm (8px)
24
- * --spacing/spacing-md → --spacing-spacing-md (16px)
25
- * --spacing/spacing-lg → --spacing-spacing-lg (24px)
26
- * --spacing/spacing-xxs → --spacing-spacing-xxs (2px)
27
- * --radius/radius-xs → --radius-xs (4px)
28
- * --radius/radius-round → --radius-round (1024px)
29
- * --semantic-colors/danger → --semantic-colors-danger
30
- * --asset-colors/text-primary → --text-primary
31
- * --base/family/family-sans → --font-family-sans
32
- */
33
-
34
- /* ============================================
35
- BASE - Container principal do badge
36
- ============================================ */
37
- voa-badge::part(base) {
38
- /* Background padrão - Semantic Token (conforme Figma: structure-colors/bg-container) */
39
- background-color: var(--structure-colors-bg-container, #f1f3f5);
40
-
41
- /* Border padrão - Figma: 1.5px solid */
42
- border: 1.5px solid var(--structure-colors-border-color, #adb5bd);
43
-
44
- /* Border-radius padrão para state="default" - Semantic Token (conforme Figma: radius/radius-xs) */
45
- border-radius: var(--radius-xs, 4px);
46
-
47
- /* Box-sizing */
48
- box-sizing: border-box;
49
- }
50
-
51
- /* State: Pill - Border-radius completamente arredondado */
52
- voa-badge[shape="pill"]::part(base) {
53
- /* Border-radius pill - Semantic Token (conforme Figma: radius/radius-round = 1024px) */
54
- border-radius: var(--radius-round, 1024px);
55
- }
56
-
57
- /* ============================================
58
- VARIANTE: ICON-ONLY
59
- Figma: Type=icon-only
60
- ============================================ */
61
-
62
- /* Icon-only - Size: md, State: default */
63
- voa-badge[variant="icon-only"]::part(base) {
64
- /* Padding uniforme - Figma: spacing-xs (4px) */
65
- padding: var(--spacing-spacing-xs, 4px);
66
- /* Gap entre elementos - Figma: 4px */
67
- gap: 4px;
68
- }
69
-
70
- /* Icon-only - Size: sm */
71
- voa-badge[variant="icon-only"][size="sm"]::part(base) {
72
- padding: var(--spacing-spacing-xs, 4px);
73
- gap: 4px;
74
- }
75
-
76
- /* ============================================
77
- VARIANTE: INDICATOR
78
- Figma: Type=indicator
79
- ============================================ */
80
-
81
- /* Indicator - Size: md, State: default */
82
- voa-badge[variant="indicator"]::part(base),
83
- voa-badge[variant="indicator"][size="md"]::part(base) {
84
- /* Padding - Figma: px=spacing-xs (4px), py=spacing-xxs (2px) */
85
- padding-block: var(--spacing-spacing-xxs, 2px);
86
- padding-inline: var(--spacing-spacing-xs, 4px);
87
- /* Height - Figma: spacing-lg (24px) */
88
- height: var(--spacing-spacing-lg, 24px);
89
- /* Max-width - Figma: 24px */
90
- max-width: 24px;
91
- /* Gap - Figma: 10px */
92
- gap: 10px;
93
- }
94
-
95
- /* Indicator - Size: sm, State: default */
96
- voa-badge[variant="indicator"][size="sm"]::part(base) {
97
- padding-block: var(--spacing-spacing-xxs, 2px);
98
- padding-inline: var(--spacing-spacing-xs, 4px);
99
- /* Size - Figma: spacing-md (16px) x spacing-md (16px) */
100
- width: var(--spacing-spacing-md, 16px);
101
- height: var(--spacing-spacing-md, 16px);
102
- max-width: 24px;
103
- gap: 10px;
104
- /* Border color secondary para sm - Figma */
105
- border-color: var(--structure-colors-border-color-secondary, #dee2e6);
106
- }
107
-
108
- /* Indicator - Size: md, State: pill */
109
- voa-badge[variant="indicator"][shape="pill"]::part(base),
110
- voa-badge[variant="indicator"][shape="pill"][size="md"]::part(base) {
111
- padding-block: var(--radius-xs, 4px);
112
- padding-inline: var(--spacing-spacing-xs, 4px);
113
- height: 24px;
114
- gap: 10px;
115
- /* items-start no Figma, portanto align-items: flex-start */
116
- align-items: flex-start;
117
- }
118
-
119
- /* Indicator - Size: sm, State: pill */
120
- voa-badge[variant="indicator"][shape="pill"][size="sm"]::part(base) {
121
- padding-block: var(--radius-xs, 4px);
122
- padding-inline: var(--spacing-spacing-xs, 4px);
123
- width: var(--spacing-spacing-md, 16px);
124
- height: var(--spacing-spacing-md, 16px);
125
- gap: 10px;
126
- align-items: flex-start;
127
- border-color: var(--structure-colors-border-color-secondary, #dee2e6);
128
- }
129
-
130
- /* ============================================
131
- VARIANTE: INDICATOR-OVERLAY
132
- Figma: Type=indicator-overlay (fundo vermelho)
133
- ============================================ */
134
-
135
- /* Indicator-overlay - Base styles */
136
- voa-badge[variant="indicator-overlay"]::part(base) {
137
- /* Background vermelho - Semantic Token (conforme Figma: semantic-colors/danger) */
138
- background-color: var(--semantic-colors-danger, #e51937);
139
- /* Border com fill-secondary - Figma */
140
- border-color: var(--structure-colors-fill-secondary, rgba(24, 24, 27, 0.06));
141
- }
142
-
143
- /* Indicator-overlay - Size: md, State: default */
144
- voa-badge[variant="indicator-overlay"][size="md"]::part(base) {
145
- padding-block: var(--spacing-spacing-xxs, 2px);
146
- padding-inline: var(--spacing-spacing-xs, 4px);
147
- height: var(--spacing-spacing-lg, 24px);
148
- max-width: 24px;
149
- gap: 10px;
150
- }
151
-
152
- /* Indicator-overlay - Size: sm, State: default */
153
- voa-badge[variant="indicator-overlay"][size="sm"]::part(base) {
154
- padding-block: var(--spacing-spacing-xxs, 2px);
155
- padding-inline: var(--spacing-spacing-xs, 4px);
156
- /* Size fixa 16x16 - Figma */
157
- width: var(--spacing-spacing-md, 16px);
158
- height: var(--spacing-spacing-md, 16px);
159
- max-width: 24px;
160
- gap: 10px;
161
- }
162
-
163
- /* Indicator-overlay - Size: md, State: pill */
164
- voa-badge[variant="indicator-overlay"][shape="pill"]::part(base),
165
- voa-badge[variant="indicator-overlay"][shape="pill"][size="md"]::part(base) {
166
- padding-block: var(--radius-xs, 4px);
167
- padding-inline: var(--spacing-spacing-xs, 4px);
168
- height: 24px;
169
- gap: 10px;
170
- align-items: flex-start;
171
- }
172
-
173
- /* Indicator-overlay - Size: sm, State: pill */
174
- voa-badge[variant="indicator-overlay"][shape="pill"][size="sm"]::part(base) {
175
- padding-block: var(--radius-xs, 4px);
176
- padding-inline: var(--spacing-spacing-xs, 4px);
177
- width: var(--spacing-spacing-md, 16px);
178
- height: var(--spacing-spacing-md, 16px);
179
- gap: 10px;
180
- align-items: flex-start;
181
- }
182
-
183
- /* ============================================
184
- VARIANTE: INDICATOR-ONLY
185
- Figma: Type=indicator-only (apenas ponto vermelho)
186
- ============================================ */
187
-
188
- voa-badge[variant="indicator-only"]::part(base) {
189
- /* Background vermelho - Figma */
190
- background-color: var(--semantic-colors-danger, #e51937);
191
- /* Border-radius - Figma: radius-xs (4px) */
192
- border-radius: var(--radius-xs, 4px);
193
- /* Tamanho fixo - Figma: spacing-sm (8px) x spacing-sm (8px) */
194
- width: var(--spacing-spacing-sm, 8px);
195
- height: var(--spacing-spacing-sm, 8px);
196
- /* Sem border - Figma */
197
- border: none;
198
- /* Sem padding */
199
- padding: 0;
200
- /* Shadow - Figma: 0px 4px 4px 0px rgba(0,0,0,0.25) */
201
- box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
202
- }
203
-
204
- /* ============================================
205
- VARIANTE: PLAIN (compatibilidade legado)
206
- Nota: Não existe no Figma atual, mantido para retrocompatibilidade
207
- ============================================ */
208
-
209
- voa-badge[variant="plain"]::part(base) {
210
- padding-block: var(--spacing-spacing-xs, 4px);
211
- padding-inline: var(--spacing-spacing-sm, 8px);
212
- gap: var(--spacing-spacing-xs, 4px);
213
- }
214
-
215
- voa-badge[variant="plain"][size="sm"]::part(base) {
216
- padding: var(--spacing-spacing-xs, 4px);
217
- }
218
-
219
- /* ============================================
220
- VARIANTE: ICONS (compatibilidade legado)
221
- Nota: Não existe no Figma atual, mantido para retrocompatibilidade
222
- ============================================ */
223
-
224
- voa-badge[variant="icons"]::part(base) {
225
- padding-block: var(--spacing-spacing-xs, 4px);
226
- padding-inline: var(--spacing-spacing-sm, 8px);
227
- gap: var(--spacing-spacing-xs, 4px);
228
- }
229
-
230
- voa-badge[variant="icons"][size="sm"]::part(base) {
231
- padding: var(--spacing-spacing-xs, 4px);
232
- }
233
-
234
- /* ============================================
235
- LABEL - Texto do badge
236
- ============================================ */
237
- voa-badge::part(label) {
238
- /* Cor do texto - Semantic Token (conforme Figma: asset-colors/text-primary) */
239
- color: var(--text-primary, #0b1215);
240
-
241
- /* Font-family - Figma: base/family/family-sans */
242
- font-family: var(--font-family-sans, 'Lato', sans-serif);
243
-
244
- /* Font-weight: Regular (400) */
245
- font-weight: var(--typography-base-body-sm-regular-weight, 400);
246
- font-style: normal;
247
-
248
- /* Line-height e font-size por tamanho */
249
- line-height: 16px;
250
- font-size: var(--typography-base-body-sm-regular-size, 14px);
251
- }
252
-
253
- /* Size: Small - Tipografia menor */
254
- voa-badge[size="sm"]::part(label) {
255
- font-size: 11px;
256
- line-height: 12px;
257
- }
258
-
259
- /* ============================================
260
- INDICATOR - Contador numérico
261
- ============================================ */
262
- voa-badge::part(indicator) {
263
- /* Cor do texto - Figma: asset-colors/text-primary */
264
- color: var(--text-primary, #0b1215);
265
-
266
- /* Font-family - Figma: base/family/family-sans com SemiBold */
267
- font-family: var(--font-family-sans, 'Lato', sans-serif);
268
-
269
- /* Font-weight: SemiBold (600) - Figma */
270
- font-weight: 600;
271
- font-style: normal;
272
-
273
- /* Text alignment */
274
- text-align: center;
275
- white-space: pre-wrap;
276
- }
277
-
278
- /* Indicator - Size: md */
279
- voa-badge[size="md"]::part(indicator),
280
- voa-badge[variant="indicator"][size="md"]::part(indicator),
281
- voa-badge[variant="indicator-overlay"][size="md"]::part(indicator) {
282
- /* Figma: 14px, line-height 16px, size 16x16 */
283
- font-size: 14px;
284
- line-height: 16px;
285
- width: 16px;
286
- height: 16px;
287
- }
288
-
289
- /* Indicator - Size: sm */
290
- voa-badge[size="sm"]::part(indicator),
291
- voa-badge[variant="indicator"][size="sm"]::part(indicator),
292
- voa-badge[variant="indicator-overlay"][size="sm"]::part(indicator) {
293
- /* Figma: 10px, line-height 8px, size 8x8 */
294
- font-size: 10px;
295
- line-height: 8px;
296
- width: 8px;
297
- height: 8px;
298
- }
299
-
300
- /* Variante: Indicator-overlay - Texto branco */
301
- voa-badge[variant="indicator-overlay"]::part(indicator) {
302
- /* Cor do texto branco - Figma: structure-colors/bg-base */
303
- color: var(--structure-colors-bg-base, #ffffff);
304
- }
305
-
306
- /* ============================================
307
- ICON - Ícone do badge
308
- ============================================ */
309
- voa-badge::part(icon),
310
- voa-badge::part(icon-leading),
311
- voa-badge::part(icon-trailing) {
312
- /* Cor do ícone - Figma usa cor específica do ícone (ex: rgba(0, 229, 206, 1) para check) */
313
- /* Mantemos currentColor para flexibilidade */
314
- color: currentColor;
315
- fill: currentColor;
316
- }
317
-
318
- /* Icon - Size: md */
319
- voa-badge[size="md"]::part(icon),
320
- voa-badge[size="md"]::part(icon-leading),
321
- voa-badge[size="md"]::part(icon-trailing),
322
- voa-badge[variant="icon-only"][size="md"]::part(icon) {
323
- /* Figma: 16x16 */
324
- width: 16px;
325
- height: 16px;
326
- }
327
-
328
- /* Icon - Size: sm */
329
- voa-badge[size="sm"]::part(icon),
330
- voa-badge[size="sm"]::part(icon-leading),
331
- voa-badge[size="sm"]::part(icon-trailing),
332
- voa-badge[variant="icon-only"][size="sm"]::part(icon) {
333
- /* Figma: 8x8 para icon-only sm */
334
- width: 8px;
335
- height: 8px;
336
- }
337
-
338
- /* ============================================
339
- ACESSIBILIDADE
340
- ============================================ */
341
-
342
- /* Focus visível para navegação por teclado (se o badge for interativo) */
343
- voa-badge::part(base):focus-visible {
344
- outline: 2px solid var(--brand-base, #0064cb);
345
- outline-offset: 2px;
346
- }
@@ -1,183 +0,0 @@
1
- /**
2
- * Estilização Externa do VoaBreadcrumbs
3
- *
4
- * Este arquivo demonstra como estilizar o componente voa-breadcrumbs
5
- * usando CSS Parts API e design tokens semânticos.
6
- *
7
- * Baseado no design do Figma:
8
- * https://www.figma.com/design/wDStUEuqpl7Tu1oHpiAml6/Voa-Design-System?node-id=443-10022&t=eEPGXVkQRijr3FMg-4
9
- *
10
- * Para usar, importe este arquivo após os tokens:
11
- * @import '@voa-ds/tokens/global.css';
12
- * @import '@voa-ds/styles/voa-breadcrumbs.css';
13
- *
14
- * MAPEAMENTO DE TOKENS DO FIGMA PARA STYLE DICTIONARY:
15
- *
16
- * Figma Token → Style Dictionary Token
17
- * --------------------------------------------
18
- * --structure-colors/bg-base → --structure-colors-bg-base
19
- * --structure-colors/fill-15 → --structure-colors-fill-15
20
- * --structure-colors/border-color-secondary → --structure-colors-border-color-secondary
21
- * --radius/radius-round → --radius-round
22
- * --radius/radius-lg → --radius-lg
23
- * --spacing/spacing-md → --spacing-spacing-md (16px)
24
- * --spacing/spacing-sm → --spacing-spacing-sm (8px)
25
- * --spacing/spacing-xs → --spacing-spacing-xs (4px)
26
- * --asset-colors/text-secondary → --text-secondary
27
- * --asset-colors/text-hover → --text-hover (ou --brand-base)
28
- * --base/family/family-sans → --font-family-sans
29
- */
30
-
31
- /* ============================================
32
- BASE - Container principal do breadcrumb
33
- ============================================ */
34
- voa-breadcrumbs::part(base) {
35
- /* Background padrão (default) - Semantic Token (conforme Figma: structure-colors/bg-base) */
36
- background-color: var(--structure-colors-bg-base);
37
-
38
- /* Padding horizontal - Semantic Token (conforme Figma: spacing/spacing-md = 16px) */
39
- padding-inline: var(--spacing-spacing-md);
40
-
41
- /* Padding vertical */
42
- padding-block: 0;
43
-
44
- /* Box-sizing */
45
- box-sizing: border-box;
46
-
47
- /* Gap entre items - Semantic Token (conforme Figma: spacing/spacing-sm = 8px) */
48
- /* Note: Gap is handled by separator margin in the items */
49
- gap: 0;
50
- }
51
-
52
- /* Variante: Round - Estilos específicos */
53
- voa-breadcrumbs[type="round"]::part(base) {
54
- /* Background round - Semantic Token (conforme Figma: structure-colors/fill-15) */
55
- background-color: var(--structure-colors-fill-15);
56
-
57
- /* Border - Semantic Token (conforme Figma: structure-colors/border-color-secondary) */
58
- border: var(--border-width-thin) solid var(--structure-colors-border-color-secondary);
59
-
60
- /* Border-radius completamente arredondado - Semantic Token (conforme Figma: radius/radius-round) */
61
- border-radius: var(--radius-round);
62
-
63
- /* Padding round - Semantic Token (conforme Figma: radius/radius-lg = 16px) */
64
- padding-inline: var(--radius-lg);
65
- }
66
-
67
- /* Variante: Outline - Estilos específicos */
68
- voa-breadcrumbs[type="outline"]::part(base) {
69
- /* Background transparente */
70
- background-color: transparent;
71
-
72
- /* Border - Semantic Token */
73
- border: var(--border-width-thin) solid var(--structure-colors-border-color-secondary);
74
-
75
- /* Border-radius padrão */
76
- border-radius: var(--radius-sm);
77
-
78
- /* Padding similar ao round para compensar a borda */
79
- padding-inline: var(--spacing-spacing-md);
80
- }
81
-
82
- /* ============================================
83
- BREADCRUMBS ITEM - Item do breadcrumb
84
- ============================================ */
85
-
86
- /* Base do item (Content) */
87
- voa-breadcrumbs-item::part(content) {
88
- /* Display flex para alinhamento */
89
- display: inline-flex;
90
- align-items: center;
91
-
92
- /* Padding vertical - Semantic Token (conforme Figma: spacing/spacing-xs = 4px) */
93
- padding-block: var(--spacing-spacing-xs);
94
-
95
- /* Text decoration para links */
96
- text-decoration: none;
97
-
98
- /* Box-sizing */
99
- box-sizing: border-box;
100
-
101
- /* Cursor pointer para links */
102
- cursor: pointer;
103
-
104
- /* --- Text Styles from Figma (component-specific overrides) --- */
105
- /* Cor do texto - Figma: asset-colors/text-secondary = #00e5ce (teal) */
106
- color: #00e5ce;
107
-
108
- /* Font-family - Semantic Token (conforme Figma: base/family/family-sans) */
109
- font-family: var(--font-family-sans, 'Lato', sans-serif);
110
-
111
- /* Font-weight: Regular (400) */
112
- font-weight: var(--typography-base-body-sm-regular-weight, 400);
113
- font-style: normal;
114
-
115
- /* Font-size: 10px conforme Figma (Legal/Regular) */
116
- font-size: 0.625rem; /* 10px */
117
- line-height: 16px;
118
-
119
- /* Text alignment right conforme Figma */
120
- text-align: right;
121
- }
122
-
123
- /* Item ativo (span) - sem cursor pointer */
124
- voa-breadcrumbs-item[active]::part(content) {
125
- cursor: default;
126
-
127
- /* --- Active Text Styles from Figma --- */
128
- /* Cor do texto ativo - Figma: asset-colors/text-hover = #0064cb (blue) */
129
- color: #0064cb;
130
-
131
- /* Font-weight: SemiBold (600) conforme Figma (Legal/Bold) */
132
- font-weight: var(--typography-base-body-sm-bold-weight, 600);
133
- }
134
-
135
- /* Link não ativo - hover effect */
136
- voa-breadcrumbs-item::part(content):hover {
137
- /* Text decoration underline para links */
138
- text-decoration: underline;
139
- }
140
-
141
- voa-breadcrumbs-item[active]::part(content):hover {
142
- /* Sem underline quando ativo */
143
- text-decoration: none;
144
- }
145
-
146
- /* ============================================
147
- BREADCRUMBS SEPARATOR - Divisor entre items
148
- ============================================ */
149
-
150
- /* Base do divisor */
151
- voa-breadcrumbs-item::part(separator) {
152
- /* Cor do ícone - Figma: rgba(159, 159, 168, 1) = gray separator */
153
- color: rgba(159, 159, 168, 1);
154
-
155
- /* Fill será aplicado via currentColor */
156
- fill: currentColor;
157
-
158
- /* Margem horizontal - Semantic Token (conforme Figma: spacing/spacing-sm = 8px) */
159
- margin-inline: var(--spacing-spacing-sm);
160
- }
161
-
162
- /* Tamanho do ícone - 16x16 conforme Figma */
163
- voa-breadcrumbs-item::part(separator) svg {
164
- width: 16px;
165
- height: 16px;
166
- }
167
-
168
- /* ============================================
169
- ACESSIBILIDADE
170
- ============================================ */
171
-
172
- /* Focus visível para navegação por teclado */
173
- voa-breadcrumbs-item::part(content):focus-visible {
174
- outline: 2px solid var(--brand-base);
175
- outline-offset: 2px;
176
- border-radius: 2px;
177
- }
178
-
179
- /* Link ativo não precisa de focus */
180
- voa-breadcrumbs-item[active]::part(content):focus-visible {
181
- outline: none;
182
- }
183
-