ds-tis 1.0.0-beta.10
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/LICENSE +49 -0
- package/README.md +125 -0
- package/css/base/forced-colors.css +62 -0
- package/css/base/icons.css +73 -0
- package/css/base/index.css +4 -0
- package/css/base/reset.css +80 -0
- package/css/base/typography.css +211 -0
- package/css/components/accordion.css +153 -0
- package/css/components/alert.css +161 -0
- package/css/components/avatar.css +76 -0
- package/css/components/badge.css +83 -0
- package/css/components/breadcrumb.css +58 -0
- package/css/components/button.css +364 -0
- package/css/components/card.css +159 -0
- package/css/components/checkbox.css +296 -0
- package/css/components/combobox.css +330 -0
- package/css/components/divider.css +20 -0
- package/css/components/form-field.css +137 -0
- package/css/components/index.css +28 -0
- package/css/components/input.css +356 -0
- package/css/components/link.css +67 -0
- package/css/components/menu.css +246 -0
- package/css/components/modal.css +236 -0
- package/css/components/pagination.css +132 -0
- package/css/components/radio.css +280 -0
- package/css/components/select.css +399 -0
- package/css/components/skeleton.css +52 -0
- package/css/components/spinner.css +59 -0
- package/css/components/tabs.css +79 -0
- package/css/components/textarea.css +218 -0
- package/css/components/toggle.css +202 -0
- package/css/components/tooltip.css +116 -0
- package/css/design-system.css +13 -0
- package/css/tokens/generated/component.css +720 -0
- package/css/tokens/generated/foundation.css +282 -0
- package/css/tokens/generated/index.css +5 -0
- package/css/tokens/generated/theme-dark.css +243 -0
- package/css/tokens/generated/theme-light.css +244 -0
- package/css/tokens/index.css +6 -0
- package/css/utilities/elevation.css +24 -0
- package/css/utilities/index.css +2 -0
- package/css/utilities/layout.css +132 -0
- package/docs/agent-consumer-usage.en.md +322 -0
- package/docs/agent-consumer-usage.md +294 -0
- package/docs/api/adrs.json +186 -0
- package/docs/api/components.json +2071 -0
- package/docs/api/consumer-context.json +66 -0
- package/docs/api/foundations.json +94 -0
- package/docs/api/tokens.json +6839 -0
- package/docs/llms-full.txt +23699 -0
- package/docs/llms.txt +109 -0
- package/docs/templates/contact.html +364 -0
- package/docs/templates/dashboard.html +318 -0
- package/docs/templates/index.html +232 -0
- package/docs/templates/login.html +286 -0
- package/docs/templates/settings.html +365 -0
- package/docs/templates/signup.html +350 -0
- package/js/accordion.js +192 -0
- package/js/combobox.js +263 -0
- package/js/menu.js +301 -0
- package/js/modal.js +256 -0
- package/js/package.json +3 -0
- package/js/tabs.js +200 -0
- package/js/theme/apply.js +75 -0
- package/js/theme/brand-contrast-audit.js +133 -0
- package/js/theme/color.js +149 -0
- package/js/theme/config-schema.js +40 -0
- package/js/theme/contrast.js +76 -0
- package/js/theme/export.js +118 -0
- package/js/theme/index.js +21 -0
- package/js/theme/overlay.js +29 -0
- package/js/theme/package.json +3 -0
- package/js/theme/palette.js +103 -0
- package/js/theme/radius.js +76 -0
- package/js/theme/semantic-mapper.js +138 -0
- package/js/theme/typography.js +33 -0
- package/js/theme/url-state.js +52 -0
- package/js/tooltip.js +227 -0
- package/package.json +139 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Do not edit directly, this file was auto-generated.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
:root,
|
|
6
|
+
[data-mode="light"] {
|
|
7
|
+
--ds-brand-content-default: var(--ds-color-neutral-50);
|
|
8
|
+
--ds-brand-content-hover: var(--ds-color-neutral-50); /** Conteúdo sobre fill primário em hover. */
|
|
9
|
+
--ds-brand-content-disabled: var(--ds-overlay-white-80);
|
|
10
|
+
--ds-brand-background-default: var(--ds-color-brand-600);
|
|
11
|
+
--ds-brand-background-hover: var(--ds-color-brand-700);
|
|
12
|
+
--ds-brand-background-active: var(--ds-color-brand-800);
|
|
13
|
+
--ds-brand-background-disabled: var(--ds-color-disabled-brand-light);
|
|
14
|
+
--ds-toned-content-default: var(--ds-color-brand-700);
|
|
15
|
+
--ds-toned-content-disabled: var(--ds-color-disabled-brand-light);
|
|
16
|
+
--ds-toned-background-default: var(--ds-overlay-brand-600-12);
|
|
17
|
+
--ds-toned-background-hover: var(--ds-overlay-brand-600-20);
|
|
18
|
+
--ds-toned-background-active: var(--ds-overlay-brand-600-28);
|
|
19
|
+
--ds-toned-background-disabled: var(--ds-color-disabled-brand-toned-light);
|
|
20
|
+
--ds-outline-content-default: var(--ds-color-neutral-700);
|
|
21
|
+
--ds-outline-content-disabled: var(--ds-color-neutral-400);
|
|
22
|
+
--ds-outline-border-default: var(--ds-color-neutral-500);
|
|
23
|
+
--ds-outline-border-hover: var(--ds-color-neutral-700);
|
|
24
|
+
--ds-outline-border-disabled: var(--ds-color-neutral-200);
|
|
25
|
+
--ds-outline-background-hover: var(--ds-overlay-black-5);
|
|
26
|
+
--ds-outline-background-active: var(--ds-overlay-black-10);
|
|
27
|
+
--ds-ghost-content-default: var(--ds-color-neutral-900);
|
|
28
|
+
--ds-ghost-content-disabled: var(--ds-color-neutral-400);
|
|
29
|
+
--ds-ghost-background-hover: var(--ds-overlay-black-5);
|
|
30
|
+
--ds-ghost-background-active: var(--ds-overlay-black-10);
|
|
31
|
+
--ds-link-content-default: var(--ds-color-brand-700); /** Links em estado default. */
|
|
32
|
+
--ds-link-content-hover: var(--ds-color-brand-800); /** Links em estado hover. */
|
|
33
|
+
--ds-link-content-active: var(--ds-color-brand-800); /** Links em estado pressed (mousedown/active). Brand step abaixo de hover. */
|
|
34
|
+
--ds-link-content-disabled: var(--ds-color-neutral-400); /** Links em estado disabled. */
|
|
35
|
+
--ds-feedback-success-border-default: var(--ds-color-green-500);
|
|
36
|
+
--ds-feedback-success-content-default: var(--ds-color-green-700); /** Cor success como conteúdo (mensagens, ícones sobre fundo claro). */
|
|
37
|
+
--ds-feedback-success-content-contrast: var(--ds-color-neutral-50); /** Conteúdo de alto contraste sobre fill success sólido. */
|
|
38
|
+
--ds-feedback-success-content-disabled: var(--ds-overlay-white-80); /** Conteúdo success disabled. */
|
|
39
|
+
--ds-feedback-success-background-default: var(--ds-color-green-600); /** Fill success principal. */
|
|
40
|
+
--ds-feedback-success-background-hover: var(--ds-color-green-800);
|
|
41
|
+
--ds-feedback-success-background-active: var(--ds-color-green-900);
|
|
42
|
+
--ds-feedback-success-background-subtle: var(--ds-color-green-100);
|
|
43
|
+
--ds-feedback-success-background-disabled: var(--ds-color-disabled-success-light); /** Fill success disabled. */
|
|
44
|
+
--ds-feedback-warning-border-default: var(--ds-color-amber-500); /** Upgraded from amber.500 to amber.600 (ADR-008) for consistency with error.border/info.border at step 600. Passes 3:1 vs amber.50. */
|
|
45
|
+
--ds-feedback-warning-content-default: var(--ds-color-amber-700); /** Cor warning como conteúdo. */
|
|
46
|
+
--ds-feedback-warning-content-contrast: var(--ds-color-amber-950); /** Conteúdo de alto contraste sobre fill warning sólido. Dark text porque amber-500 é claro. */
|
|
47
|
+
--ds-feedback-warning-background-default: var(--ds-color-amber-300);
|
|
48
|
+
--ds-feedback-warning-background-hover: var(--ds-color-amber-600);
|
|
49
|
+
--ds-feedback-warning-background-subtle: var(--ds-color-amber-100);
|
|
50
|
+
--ds-feedback-error-border-default: var(--ds-color-red-500);
|
|
51
|
+
--ds-feedback-error-border-hover: var(--ds-color-red-800); /** Borda de feedback erro em estado hover. */
|
|
52
|
+
--ds-feedback-error-content-default: var(--ds-color-red-700); /** Cor error como conteúdo (mensagens de erro, ícones de alerta). */
|
|
53
|
+
--ds-feedback-error-content-contrast: var(--ds-color-neutral-50); /** Conteúdo de alto contraste sobre fill error sólido. */
|
|
54
|
+
--ds-feedback-error-content-disabled: var(--ds-overlay-white-80); /** Conteúdo error disabled. */
|
|
55
|
+
--ds-feedback-error-background-default: var(--ds-color-red-600);
|
|
56
|
+
--ds-feedback-error-background-hover: var(--ds-color-red-800);
|
|
57
|
+
--ds-feedback-error-background-active: var(--ds-color-red-900);
|
|
58
|
+
--ds-feedback-error-background-subtle: var(--ds-color-red-100);
|
|
59
|
+
--ds-feedback-error-background-disabled: var(--ds-color-disabled-error-light); /** Fill error disabled. */
|
|
60
|
+
--ds-feedback-error-content-strong: var(--ds-color-red-700); /** Conteudo error/destructive ativo com contraste reforcado para surfaces elevadas. */
|
|
61
|
+
--ds-feedback-info-border-default: var(--ds-color-blue-500);
|
|
62
|
+
--ds-feedback-info-content-default: var(--ds-color-blue-700); /** Cor info como conteúdo. */
|
|
63
|
+
--ds-feedback-info-content-contrast: var(--ds-color-brand-950); /** Conteúdo de alto contraste sobre fill info sólido. Dark text porque sky-600 é claro demais para branco. */
|
|
64
|
+
--ds-feedback-info-background-default: var(--ds-color-blue-400);
|
|
65
|
+
--ds-feedback-info-background-hover: var(--ds-color-blue-600);
|
|
66
|
+
--ds-feedback-info-background-subtle: var(--ds-color-blue-100);
|
|
67
|
+
--ds-surface-default: var(--ds-color-neutral-50); /** Card and panel surfaces */
|
|
68
|
+
--ds-surface-hover: var(--ds-color-neutral-100); /** Surface neutra em hover de controles. */
|
|
69
|
+
--ds-surface-raised: var(--ds-color-neutral-50); /** Elevated surface (sticky headers, raised cards) */
|
|
70
|
+
--ds-surface-overlay: var(--ds-color-neutral-50);
|
|
71
|
+
--ds-surface-elevated: var(--ds-color-neutral-50);
|
|
72
|
+
--ds-background-default: var(--ds-color-neutral-50); /** Page background */
|
|
73
|
+
--ds-background-subtle: var(--ds-color-neutral-200); /** Subtle alternate background — one step darker than default to create visual separation. */
|
|
74
|
+
--ds-background-inverse: var(--ds-color-neutral-900);
|
|
75
|
+
--ds-background-overlay: var(--ds-overlay-black-60); /** Modal/dialog overlay backdrop */
|
|
76
|
+
--ds-background-disabled: var(--ds-color-neutral-100); /** Background de componentes em estado disabled (antes state.disabled.background). */
|
|
77
|
+
--ds-background-transparent: var(--ds-color-transparent); /** Fundo sem preenchimento. Usado por itens ghost-like (Pagination default/disabled). */
|
|
78
|
+
--ds-content-strong: var(--ds-color-neutral-900); /** Conteúdo de ênfase máxima (títulos, badge labels, modal title, active tab). Tom mais escuro/claro da escala. */
|
|
79
|
+
--ds-content-default: var(--ds-color-neutral-700); /** Conteúdo padrão (body text, descriptions, form labels). Use este na maioria dos casos. */
|
|
80
|
+
--ds-content-hover: var(--ds-color-neutral-700); /** Conteúdo neutro em hover. */
|
|
81
|
+
--ds-content-subtle: var(--ds-color-neutral-600); /** Conteúdo de ênfase reduzida (placeholders, ícones decorativos, helper text). */
|
|
82
|
+
--ds-content-disabled: var(--ds-color-neutral-400); /** Conteúdo em estado disabled. Isento de contraste WCAG. Unifica text/disabled e state/disabled/foreground (ADR-011). */
|
|
83
|
+
--ds-content-inverse: var(--ds-color-neutral-50); /** Conteúdo sobre superfícies inversas (background/inverse). */
|
|
84
|
+
--ds-content-brand: var(--ds-color-brand-700); /** Conteúdo brand sobre superfície neutra. Step 700 garante WCAG AA em fundos neutros e tinted (50–100); fills sólidos continuam em brand.600. */
|
|
85
|
+
--ds-content-placeholder-rectangle-height-default: var(--ds-dimension-120); /** Altura padrão do placeholder retangular de conteúdo. */
|
|
86
|
+
--ds-content-placeholder-text-height-default: var(--ds-dimension-12); /** Altura padrão do placeholder textual de conteúdo. */
|
|
87
|
+
--ds-control-button-min-width-sm: var(--ds-dimension-80);
|
|
88
|
+
--ds-control-button-min-width-md: var(--ds-dimension-88);
|
|
89
|
+
--ds-control-button-min-width-lg: var(--ds-dimension-102);
|
|
90
|
+
--ds-control-radio-dot-size-sm: var(--ds-dimension-6);
|
|
91
|
+
--ds-control-radio-dot-size-md: var(--ds-dimension-8);
|
|
92
|
+
--ds-control-radio-dot-size-lg: var(--ds-dimension-10);
|
|
93
|
+
--ds-control-textarea-min-height-sm: var(--ds-dimension-80);
|
|
94
|
+
--ds-control-textarea-min-height-md: var(--ds-dimension-96);
|
|
95
|
+
--ds-control-textarea-min-height-lg: var(--ds-dimension-120);
|
|
96
|
+
--ds-control-toggle-height-sm: var(--ds-dimension-16);
|
|
97
|
+
--ds-control-toggle-height-md: var(--ds-dimension-24);
|
|
98
|
+
--ds-control-toggle-height-lg: var(--ds-dimension-32);
|
|
99
|
+
--ds-control-toggle-width-sm: var(--ds-dimension-28);
|
|
100
|
+
--ds-control-toggle-width-md: var(--ds-dimension-44);
|
|
101
|
+
--ds-control-toggle-width-lg: var(--ds-dimension-56);
|
|
102
|
+
--ds-control-toggle-thumb-gap: var(--ds-dimension-2);
|
|
103
|
+
--ds-control-toggle-thumb-size-sm: var(--ds-dimension-12);
|
|
104
|
+
--ds-control-toggle-thumb-size-md: var(--ds-dimension-20);
|
|
105
|
+
--ds-control-toggle-thumb-size-lg: var(--ds-dimension-28);
|
|
106
|
+
--ds-icon-stroke-width-regular-16: var(--ds-stroke-width-1_5);
|
|
107
|
+
--ds-icon-stroke-width-regular-20: var(--ds-stroke-width-1_75);
|
|
108
|
+
--ds-icon-stroke-width-regular-24: var(--ds-stroke-width-2);
|
|
109
|
+
--ds-icon-stroke-width-regular-32: var(--ds-stroke-width-2_5);
|
|
110
|
+
--ds-icon-stroke-width-strong-16: var(--ds-stroke-width-1_75);
|
|
111
|
+
--ds-icon-stroke-width-strong-20: var(--ds-stroke-width-2);
|
|
112
|
+
--ds-icon-stroke-width-strong-24: var(--ds-stroke-width-2_25);
|
|
113
|
+
--ds-border-default: var(--ds-color-neutral-300);
|
|
114
|
+
--ds-border-strong: var(--ds-color-neutral-600);
|
|
115
|
+
--ds-border-subtle: var(--ds-color-neutral-200);
|
|
116
|
+
--ds-border-inverse: var(--ds-color-neutral-50); /** Borda usada sobre fundos invertidos (escuros em light mode). */
|
|
117
|
+
--ds-border-focus: var(--ds-color-brand-600);
|
|
118
|
+
--ds-border-brand: var(--ds-color-brand-600);
|
|
119
|
+
--ds-border-error: var(--ds-color-red-600);
|
|
120
|
+
--ds-border-width-default: var(--ds-border-width-1);
|
|
121
|
+
--ds-border-width-strong: var(--ds-border-width-2);
|
|
122
|
+
--ds-border-width-focus: var(--ds-border-width-2);
|
|
123
|
+
--ds-border-focus-error: var(--ds-color-red-600); /** Focus ring color for error/danger states */
|
|
124
|
+
--ds-border-control-default: var(--ds-color-neutral-500); /** Border color for interactive controls (Input, Select, Textarea, Checkbox, Radio). Meets WCAG 1.4.11 (≥3:1 against control background). */
|
|
125
|
+
--ds-border-control-hover: var(--ds-color-brand-600); /** Border on hover for interactive controls. */
|
|
126
|
+
--ds-border-control-disabled: var(--ds-color-neutral-200); /** Border for disabled controls. Exempt from contrast requirements per WCAG 1.4.3. */
|
|
127
|
+
--ds-overlay-subtle: var(--ds-overlay-black-5);
|
|
128
|
+
--ds-overlay-default: var(--ds-overlay-black-10);
|
|
129
|
+
--ds-overlay-medium: var(--ds-overlay-black-20);
|
|
130
|
+
--ds-overlay-strong: var(--ds-overlay-black-40);
|
|
131
|
+
--ds-opacity-disabled: var(--ds-opacity-50); /** 50%. Aplicar em componentes em estado disabled. */
|
|
132
|
+
--ds-motion-duration-instant: var(--ds-duration-instant); /** 0ms — sem animação. */
|
|
133
|
+
--ds-motion-duration-fast: var(--ds-duration-fast); /** 150ms — hover, focus, active. */
|
|
134
|
+
--ds-motion-duration-moderate: var(--ds-duration-moderate); /** 250ms — toggle, drawer, expand/collapse. */
|
|
135
|
+
--ds-motion-duration-slow: var(--ds-duration-slow); /** 400ms — entrada de overlay, modal, popover. */
|
|
136
|
+
--ds-motion-duration-slower: var(--ds-duration-slower); /** 600ms — loops contínuos (Spinner). */
|
|
137
|
+
--ds-motion-ease-default: var(--ds-ease-default); /** Curva padrão (= in-out). */
|
|
138
|
+
--ds-motion-ease-in: var(--ds-ease-in); /** Aceleração no início. Elementos saindo da tela. */
|
|
139
|
+
--ds-motion-ease-out: var(--ds-ease-out); /** Desaceleração no final. Elementos entrando na tela. */
|
|
140
|
+
--ds-motion-ease-in-out: var(--ds-ease-in-out); /** Aceleração + desaceleração. Mesmo valor de default. */
|
|
141
|
+
--ds-motion-ease-linear: var(--ds-ease-linear); /** Velocidade constante. Loops (Spinner). */
|
|
142
|
+
--ds-space-none: var(--ds-dimension-0); /** 0px. Espaço zero para remover padding/gap mantendo alias semântico. */
|
|
143
|
+
--ds-space-2xs: var(--ds-dimension-2); /** 2px. Menor espaço semântico para ajustes finos de gap/padding. */
|
|
144
|
+
--ds-space-xs: var(--ds-dimension-4); /** 4px. Espaço compacto para relações muito próximas. */
|
|
145
|
+
--ds-space-sm: var(--ds-dimension-8); /** 8px. Espaço pequeno padrão para controles e conteúdo denso. */
|
|
146
|
+
--ds-space-md: var(--ds-dimension-12); /** 12px. Espaço médio para gaps internos e agrupamentos próximos. */
|
|
147
|
+
--ds-space-lg: var(--ds-dimension-16); /** 16px. Espaço confortável para padding e separação interna. */
|
|
148
|
+
--ds-space-xl: var(--ds-dimension-20); /** 20px. Espaço amplo para containers e componentes robustos. */
|
|
149
|
+
--ds-space-2xl: var(--ds-dimension-24); /** 24px. Espaço extra amplo para containers antes da escala expandida. */
|
|
150
|
+
--ds-space-3xl: var(--ds-dimension-32); /** 32px. Espaçamento amplo para composição interna de componentes e blocos densos. */
|
|
151
|
+
--ds-space-4xl: var(--ds-dimension-40); /** 40px. Espaçamento amplo para composição interna quando 32px ainda é curto. */
|
|
152
|
+
--ds-space-5xl: var(--ds-dimension-48); /** 48px. Limite alto para composição interna antes de entrar em escala de section. */
|
|
153
|
+
--ds-space-6xl: var(--ds-dimension-64); /** 64px. Espaçamento máximo da escala genérica; use section/* para respiro entre áreas. */
|
|
154
|
+
--ds-space-section-sm: var(--ds-dimension-48); /** 48px. Espaçamento compacto entre seções, acima da escala genérica comum. */
|
|
155
|
+
--ds-space-section-md: var(--ds-dimension-64); /** 64px. Espaçamento padrão entre seções de página, docs e specs. */
|
|
156
|
+
--ds-space-section-lg: var(--ds-dimension-80); /** 80px. Espaçamento amplo entre seções ou grupos editoriais. */
|
|
157
|
+
--ds-space-section-xl: var(--ds-dimension-96); /** 96px. Espaçamento extra amplo para separação de grandes áreas. */
|
|
158
|
+
--ds-space-section-2xl: var(--ds-dimension-120); /** 120px. Maior respiro de section previsto para páginas e documentação. */
|
|
159
|
+
--ds-space-control-padding-6: var(--ds-dimension-6); /** 6px. Padding simétrico de Icon Only sm Button. Único valor de control entre xs(4) e sm(8) que foge da escala space. */
|
|
160
|
+
--ds-space-control-padding-10: var(--ds-dimension-10); /** 10px. Padding-Y vertical de controles (Input/Button md). Único valor de control que foge da escala space (xs–2xl). */
|
|
161
|
+
--ds-space-hairline: var(--ds-dimension-1); /** 1px. Menor espaço semântico para bordas hairline, divisores e ajustes finos. */
|
|
162
|
+
--ds-size-xs: var(--ds-dimension-16); /** 16px. Inline icon em body text, indicator pequeno. */
|
|
163
|
+
--ds-size-sm: var(--ds-dimension-20); /** 20px. Icon padrão em controle, checkbox/radio sm. */
|
|
164
|
+
--ds-size-md: var(--ds-dimension-24); /** 24px. Icon grande, checkbox/radio md, avatar icon. */
|
|
165
|
+
--ds-size-lg: var(--ds-dimension-32); /** 32px. Control height sm, avatar md, spinner padrão. */
|
|
166
|
+
--ds-size-xl: var(--ds-dimension-40); /** 40px. Control height md (Button/Input/Select default), avatar lg. */
|
|
167
|
+
--ds-size-2xl: var(--ds-dimension-48); /** 48px. Control height lg, touch target a11y, avatar xl. */
|
|
168
|
+
--ds-size-3xl: var(--ds-dimension-64); /** 64px. Avatar 2xl, textarea sm, image placeholder. */
|
|
169
|
+
--ds-size-4xl: var(--ds-dimension-96); /** 96px. Textarea md, skeleton card. */
|
|
170
|
+
--ds-size-5xl: var(--ds-dimension-128); /** 128px. Textarea lg, skeleton hero. */
|
|
171
|
+
--ds-size-layout-xs: var(--ds-dimension-320); /** 320px. Mobile container, dropdown menu wide. */
|
|
172
|
+
--ds-size-layout-sm: var(--ds-dimension-480); /** 480px. Modal sm (form simples). */
|
|
173
|
+
--ds-size-layout-md: var(--ds-dimension-640); /** 640px. Modal md, content max-width. */
|
|
174
|
+
--ds-size-layout-lg: var(--ds-dimension-800); /** 800px. Modal lg, narrow page. */
|
|
175
|
+
--ds-size-layout-xl: var(--ds-dimension-1024); /** 1024px. Page container default. */
|
|
176
|
+
--ds-size-layout-2xl: var(--ds-dimension-1280); /** 1280px. Page max-width. */
|
|
177
|
+
--ds-shadow-card: var(--ds-shadow-sm); /** Elevação leve de cards. */
|
|
178
|
+
--ds-shadow-overlay: var(--ds-shadow-md); /** Elevação média para menus e overlays contextuais. */
|
|
179
|
+
--ds-shadow-modal: var(--ds-shadow-xl); /** Elevação forte de modais e popovers. */
|
|
180
|
+
--ds-radius-sm: var(--ds-radius-4); /** 4px. Tags, badges, chips pequenos. */
|
|
181
|
+
--ds-radius-md: var(--ds-radius-8); /** 8px. Cards, alerts — radius padrão médio. */
|
|
182
|
+
--ds-radius-lg: var(--ds-radius-12); /** 12px. Cards grandes, containers. */
|
|
183
|
+
--ds-radius-xl: var(--ds-radius-16); /** 16px. Modais, sheets, dialogs. */
|
|
184
|
+
--ds-radius-full: var(--ds-radius-999); /** Pill/circle. Aliases foundation.radius.999. */
|
|
185
|
+
--ds-body-font-family-sans: var(--ds-font-family-sans); /** Font-family sans-serif padrão do sistema. Usar em todo texto UI. */
|
|
186
|
+
--ds-body-font-family-mono: var(--ds-font-family-mono); /** Monospace pra code blocks e snippets. Espelha Figma typography/body/font-family/mono. */
|
|
187
|
+
--ds-body-font-weight-regular: var(--ds-font-weight-regular); /** Peso regular (400). Usar em body text, descrições, placeholders. */
|
|
188
|
+
--ds-body-font-weight-medium: var(--ds-font-weight-medium); /** Peso medium (500). Usar em labels, links secundários, ênfase leve. */
|
|
189
|
+
--ds-body-font-weight-semibold: var(--ds-font-weight-semibold); /** Peso semibold (600). Usar em títulos, headings, ênfase forte em UI. */
|
|
190
|
+
--ds-body-font-weight-bold: var(--ds-font-weight-bold); /** Peso bold (700). Usar em títulos de destaque e em negrito inline dentro de body text. */
|
|
191
|
+
--ds-body-letter-spacing-normal: var(--ds-letter-spacing-normal); /** Letter-spacing neutro (0). Padrão pra body text e UI. */
|
|
192
|
+
--ds-body-letter-spacing-tight: var(--ds-letter-spacing-tight); /** Letter-spacing apertado (-0.02em). Usar em display/headings grandes. */
|
|
193
|
+
--ds-body-letter-spacing-wider: var(--ds-letter-spacing-wider); /** Letter-spacing expandido (1.5px). Usado em overline/uppercase. Espelha Figma typography/body/letter-spacing/wider. */
|
|
194
|
+
--ds-body-font-size-2xs: var(--ds-font-size-11); /** 11px. Caption, micro-text. Use sparingly — abaixo do mínimo recomendado WCAG 1.4.4. */
|
|
195
|
+
--ds-body-font-size-xs: var(--ds-font-size-12); /** 12px. Helper text, captions, secondary labels. */
|
|
196
|
+
--ds-body-font-size-sm: var(--ds-font-size-14); /** 14px. Body padrão, labels, descrições. WCAG 1.4.4 compliant. */
|
|
197
|
+
--ds-body-font-size-md: var(--ds-font-size-16); /** 16px. Body confortável, títulos menores. */
|
|
198
|
+
--ds-body-font-size-lg: var(--ds-font-size-18); /** 18px. Subtítulos, avatar labels. */
|
|
199
|
+
--ds-body-font-size-xl: var(--ds-font-size-20); /** 20px. Títulos de card, headings H3. */
|
|
200
|
+
--ds-body-font-size-2xl: var(--ds-font-size-24); /** 24px. Headings H2, títulos de modal. */
|
|
201
|
+
--ds-body-font-size-3xl: var(--ds-font-size-28); /** 28px. Headings H1, display. */
|
|
202
|
+
--ds-body-font-size-4xl: var(--ds-font-size-32); /** 32px. Heading xl, display. */
|
|
203
|
+
--ds-body-font-size-5xl: var(--ds-font-size-40); /** 40px. Display sm. */
|
|
204
|
+
--ds-body-font-size-6xl: var(--ds-font-size-48); /** 48px. Display md. */
|
|
205
|
+
--ds-body-font-size-7xl: var(--ds-font-size-56); /** 56px. Display lg. */
|
|
206
|
+
--ds-body-font-size-8xl: var(--ds-font-size-64); /** 64px. Display xl. */
|
|
207
|
+
--ds-body-font-size-9xl: var(--ds-font-size-72); /** 72px. Display 2xl. */
|
|
208
|
+
--ds-body-line-height-2xs: var(--ds-line-height-16); /** 16px. Pareia com body/font-size/2xs (11px) — ratio ~1.45. */
|
|
209
|
+
--ds-body-line-height-xs: var(--ds-line-height-18); /** 18px. Pareia com body/font-size/xs (12px) — ratio 1.5. */
|
|
210
|
+
--ds-body-line-height-sm: var(--ds-line-height-20); /** 20px. Pareia com body/font-size/sm (14px) — ratio 1.43. */
|
|
211
|
+
--ds-body-line-height-md: var(--ds-line-height-24); /** 24px. Pareia com body/font-size/md (16px) — ratio 1.5. */
|
|
212
|
+
--ds-body-line-height-lg: var(--ds-line-height-28); /** 28px. Pareia com body/font-size/lg (18px) — ratio 1.55. */
|
|
213
|
+
--ds-body-line-height-xl: var(--ds-line-height-32); /** 32px. Pareia com body/font-size/xl (20px) — ratio 1.6. */
|
|
214
|
+
--ds-body-line-height-2xl: var(--ds-line-height-34); /** 34px. Pareia com body/font-size/2xl (24px). */
|
|
215
|
+
--ds-body-line-height-3xl: var(--ds-line-height-40); /** 40px. Pareia com body/font-size/3xl (28px). */
|
|
216
|
+
--ds-body-line-height-4xl: var(--ds-line-height-44); /** 44px. Pareia com body/font-size/4xl (32px). */
|
|
217
|
+
--ds-body-line-height-5xl: var(--ds-line-height-48); /** 48px. Pareia com body/font-size/5xl (40px). */
|
|
218
|
+
--ds-body-line-height-6xl: var(--ds-line-height-64); /** 64px. Pareia com body/font-size/6xl (48px). */
|
|
219
|
+
--ds-body-line-height-7xl: var(--ds-line-height-72); /** 72px. Pareia com body/font-size/7xl (56px). */
|
|
220
|
+
--ds-body-line-height-8xl: var(--ds-line-height-80); /** 80px. Pareia com body/font-size/8xl (64px). */
|
|
221
|
+
--ds-body-line-height-9xl: var(--ds-line-height-90); /** 90px. Pareia com body/font-size/9xl (72px). */
|
|
222
|
+
--ds-z-modal: var(--ds-z-40); /** Stack layer para modais e overlays bloqueantes. */
|
|
223
|
+
--ds-z-tooltip: var(--ds-z-40); /** Stack layer para tooltips e floating labels não modais. */
|
|
224
|
+
--ds-brand-border-default: var(--ds-brand-background-default);
|
|
225
|
+
--ds-brand-border-hover: var(--ds-brand-background-hover);
|
|
226
|
+
--ds-brand-border-disabled: var(--ds-brand-background-disabled);
|
|
227
|
+
--ds-icon-color-default: var(--ds-content-default);
|
|
228
|
+
--ds-icon-color-hover: var(--ds-content-hover);
|
|
229
|
+
--ds-icon-color-active: var(--ds-content-strong);
|
|
230
|
+
--ds-icon-color-disabled: var(--ds-content-disabled);
|
|
231
|
+
--ds-icon-color-subtle: var(--ds-content-subtle);
|
|
232
|
+
--ds-icon-color-inverse: var(--ds-content-inverse);
|
|
233
|
+
--ds-icon-color-success: var(--ds-feedback-success-content-default);
|
|
234
|
+
--ds-icon-color-warning: var(--ds-feedback-warning-content-default);
|
|
235
|
+
--ds-icon-color-error: var(--ds-feedback-error-content-default);
|
|
236
|
+
--ds-icon-color-success-contrast: var(--ds-feedback-success-content-contrast);
|
|
237
|
+
--ds-icon-color-warning-contrast: var(--ds-feedback-warning-content-contrast);
|
|
238
|
+
--ds-icon-color-error-contrast: var(--ds-feedback-error-content-contrast);
|
|
239
|
+
--ds-icon-color-info-contrast: var(--ds-feedback-info-content-contrast);
|
|
240
|
+
--ds-icon-color-error-strong: var(--ds-feedback-error-content-strong); /** Icone error/destructive ativo pareado com feedback/error/content/strong. */
|
|
241
|
+
--ds-border-error-hover: var(--ds-feedback-error-border-hover);
|
|
242
|
+
--ds-border-overlay-default: var(--ds-overlay-default);
|
|
243
|
+
--ds-border-overlay-medium: var(--ds-overlay-medium);
|
|
244
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/* Generated by Style Dictionary (source: tokens/*.json) */
|
|
2
|
+
/* Arquitetura 3-layer: Foundation + Semantic + Component. */
|
|
3
|
+
@import 'generated/foundation.css';
|
|
4
|
+
@import 'generated/theme-light.css';
|
|
5
|
+
@import 'generated/theme-dark.css';
|
|
6
|
+
@import 'generated/component.css';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Elevation Utilities
|
|
3
|
+
Shadow/elevation classes using design tokens.
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
.ds-elevation-0 {
|
|
7
|
+
box-shadow: var(--ds-shadow-none);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.ds-elevation-1 {
|
|
11
|
+
box-shadow: var(--ds-shadow-sm);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.ds-elevation-2 {
|
|
15
|
+
box-shadow: var(--ds-shadow-md);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.ds-elevation-3 {
|
|
19
|
+
box-shadow: var(--ds-shadow-lg);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.ds-elevation-4 {
|
|
23
|
+
box-shadow: var(--ds-shadow-xl);
|
|
24
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Layout Utilities
|
|
3
|
+
Flex/grid helpers using design tokens for spacing.
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
/* --------------------------------------------------------------------------
|
|
7
|
+
Flex
|
|
8
|
+
-------------------------------------------------------------------------- */
|
|
9
|
+
|
|
10
|
+
.ds-flex {
|
|
11
|
+
display: flex;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.ds-flex-col {
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.ds-flex-row {
|
|
19
|
+
flex-direction: row;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.ds-flex-wrap {
|
|
23
|
+
flex-wrap: wrap;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* --------------------------------------------------------------------------
|
|
27
|
+
Align Items
|
|
28
|
+
-------------------------------------------------------------------------- */
|
|
29
|
+
|
|
30
|
+
.ds-items-center {
|
|
31
|
+
align-items: center;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ds-items-start {
|
|
35
|
+
align-items: flex-start;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ds-items-end {
|
|
39
|
+
align-items: flex-end;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* --------------------------------------------------------------------------
|
|
43
|
+
Justify Content
|
|
44
|
+
-------------------------------------------------------------------------- */
|
|
45
|
+
|
|
46
|
+
.ds-justify-center {
|
|
47
|
+
justify-content: center;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.ds-justify-between {
|
|
51
|
+
justify-content: space-between;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.ds-justify-start {
|
|
55
|
+
justify-content: flex-start;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.ds-justify-end {
|
|
59
|
+
justify-content: flex-end;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* --------------------------------------------------------------------------
|
|
63
|
+
Gap
|
|
64
|
+
-------------------------------------------------------------------------- */
|
|
65
|
+
|
|
66
|
+
.ds-gap-xs {
|
|
67
|
+
gap: var(--ds-space-xs);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.ds-gap-sm {
|
|
71
|
+
gap: var(--ds-space-sm);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.ds-gap-md {
|
|
75
|
+
gap: var(--ds-space-md);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.ds-gap-lg {
|
|
79
|
+
gap: var(--ds-space-lg);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.ds-gap-xl {
|
|
83
|
+
gap: var(--ds-space-xl);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* --------------------------------------------------------------------------
|
|
87
|
+
Grid
|
|
88
|
+
-------------------------------------------------------------------------- */
|
|
89
|
+
|
|
90
|
+
.ds-grid {
|
|
91
|
+
display: grid;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.ds-grid-cols-2 {
|
|
95
|
+
grid-template-columns: repeat(2, 1fr);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.ds-grid-cols-3 {
|
|
99
|
+
grid-template-columns: repeat(3, 1fr);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.ds-grid-cols-4 {
|
|
103
|
+
grid-template-columns: repeat(4, 1fr);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* --------------------------------------------------------------------------
|
|
107
|
+
Sizing
|
|
108
|
+
-------------------------------------------------------------------------- */
|
|
109
|
+
|
|
110
|
+
.ds-w-full {
|
|
111
|
+
width: 100%;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.ds-h-full {
|
|
115
|
+
height: 100%;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* --------------------------------------------------------------------------
|
|
119
|
+
Screen Reader Only
|
|
120
|
+
-------------------------------------------------------------------------- */
|
|
121
|
+
|
|
122
|
+
.ds-sr-only {
|
|
123
|
+
position: absolute;
|
|
124
|
+
width: 1px;
|
|
125
|
+
height: 1px;
|
|
126
|
+
padding: 0;
|
|
127
|
+
margin: -1px;
|
|
128
|
+
overflow: hidden;
|
|
129
|
+
clip: rect(0, 0, 0, 0);
|
|
130
|
+
white-space: nowrap;
|
|
131
|
+
border-width: 0;
|
|
132
|
+
}
|