@1doc/1ds-react 2.14.0 → 2.15.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/CHANGELOG.md +51 -67
- package/dist/components/AILabel/AILabel.css +1 -1
- package/dist/components/Alert/Alert.css +1 -1
- package/dist/components/AppShell/AppShell.css +4 -0
- package/dist/components/AttachmentCard/AttachmentCard.css +2 -2
- package/dist/components/Avatar/Avatar.d.ts +8 -3
- package/dist/components/Avatar/Avatar.js +28 -4
- package/dist/components/BottomNavigation/BottomNavigation.css +2 -2
- package/dist/components/BottomSheet/BottomSheet.css +2 -2
- package/dist/components/Box/Box.css +3 -3
- package/dist/components/Card/Card.css +5 -5
- package/dist/components/Chart/Chart.css +1 -1
- package/dist/components/Coachmark/Coachmark.css +1 -1
- package/dist/components/Combobox/Combobox.css +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.css +1 -1
- package/dist/components/DatePicker/DatePicker.css +1 -1
- package/dist/components/Drawer/Drawer.css +2 -2
- package/dist/components/Dropdown/Dropdown.css +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +8 -0
- package/dist/components/Dropdown/Dropdown.js +2 -0
- package/dist/components/EmptyState/EmptyState.css +12 -0
- package/dist/components/EmptyState/EmptyState.d.ts +3 -0
- package/dist/components/EmptyState/EmptyState.js +1 -0
- package/dist/components/Kanban/Kanban.css +2 -2
- package/dist/components/Kanban/KanbanCard.css +2 -2
- package/dist/components/List/List.css +37 -1
- package/dist/components/List/List.d.ts +3 -0
- package/dist/components/List/List.js +6 -2
- package/dist/components/List/ListItem.d.ts +9 -0
- package/dist/components/List/ListItem.js +5 -1
- package/dist/components/Modal/Modal.css +3 -4
- package/dist/components/MultiSelect/MultiSelect.css +1 -1
- package/dist/components/OrgChart/OrgChart.css +2 -2
- package/dist/components/PhoneInput/PhoneInput.css +2 -2
- package/dist/components/Popover/Popover.css +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.css +1 -1
- package/dist/components/Select/Select.css +1 -1
- package/dist/components/StatCard/StatCard.css +42 -3
- package/dist/components/Switch/Switch.css +2 -2
- package/dist/components/Text/Text.d.ts +6 -0
- package/dist/components/TimePicker/TimePicker.css +1 -1
- package/dist/components/Toast/Toast.css +2 -2
- package/dist/components/Tooltip/Tooltip.css +20 -3
- package/dist/teste/PedidosMatheus2.test.d.ts +1 -0
- package/dist/teste/PedidosMatheus2.test.js +82 -0
- package/dist/teste/SegmentedControlSuperficie.test.js +1 -1
- package/package.json +3 -3
- package/src/teste/PedidosMatheus2.test.tsx +102 -0
- package/src/teste/SegmentedControlSuperficie.test.tsx +1 -1
|
@@ -1,23 +1,47 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import './Avatar.css';
|
|
4
|
+
import { useState, useEffect } from "react";
|
|
4
5
|
function Avatar(props) {
|
|
6
|
+
const [imagemFalhou, setImagemFalhou] = useState(() => false);
|
|
7
|
+
function mostraFoto() {
|
|
8
|
+
return !!props.src && !imagemFalhou;
|
|
9
|
+
}
|
|
10
|
+
function iniciais() {
|
|
11
|
+
const partes = (props.name || "").trim().split(/\s+/).filter(Boolean);
|
|
12
|
+
if (partes.length === 0)
|
|
13
|
+
return "";
|
|
14
|
+
const primeira = partes[0].charAt(0);
|
|
15
|
+
const ultima = partes.length > 1 ? partes[partes.length - 1].charAt(0) : "";
|
|
16
|
+
return (primeira + ultima).toUpperCase();
|
|
17
|
+
}
|
|
18
|
+
function aoFalhar(event) {
|
|
19
|
+
setImagemFalhou(true);
|
|
20
|
+
if (props.onError)
|
|
21
|
+
props.onError(event);
|
|
22
|
+
}
|
|
5
23
|
function classes() {
|
|
6
24
|
return [
|
|
7
25
|
"umds-avatar",
|
|
8
26
|
`umds-avatar--${props.size || "md"}`,
|
|
9
|
-
`umds-avatar--${props.type || (props.src ? "photo" : "letter")}`,
|
|
27
|
+
`umds-avatar--${props.type || (props.src && !imagemFalhou ? "photo" : "letter")}`,
|
|
10
28
|
props.className,
|
|
11
29
|
]
|
|
12
30
|
.filter(Boolean)
|
|
13
31
|
.join(" ");
|
|
14
32
|
}
|
|
15
33
|
function computedRole() {
|
|
16
|
-
return props.ariaLabel || props.src ? "img" : undefined;
|
|
34
|
+
return props.ariaLabel || props.src || props.name ? "img" : undefined;
|
|
17
35
|
}
|
|
18
36
|
function computedAriaLabel() {
|
|
19
|
-
return props.ariaLabel ||
|
|
37
|
+
return (props.ariaLabel ||
|
|
38
|
+
(props.src && props.alt ? props.alt : undefined) ||
|
|
39
|
+
props.name ||
|
|
40
|
+
undefined);
|
|
20
41
|
}
|
|
21
|
-
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
setImagemFalhou(false);
|
|
44
|
+
}, [props.src]);
|
|
45
|
+
return (_jsxs("div", { title: props.title, role: computedRole(), "aria-label": computedAriaLabel(), className: classes(), children: [mostraFoto() ? (_jsx("img", { className: "umds-avatar__image", src: props.src, alt: props.alt || "", onError: (event) => aoFalhar(event) })) : null, !mostraFoto() ? (_jsx(_Fragment, { children: props.name ? _jsx(_Fragment, { children: iniciais() }) : _jsx(_Fragment, { children: props.children }) })) : null] }));
|
|
22
46
|
}
|
|
23
47
|
export default Avatar;
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
box-sizing: border-box;
|
|
105
105
|
padding-bottom: var(--umds-primitive-spacing-quarck); /* 4px */
|
|
106
106
|
border-top: none;
|
|
107
|
-
box-shadow: var(--umds-semantic-shadow-
|
|
107
|
+
box-shadow: var(--umds-semantic-shadow-top-sm);
|
|
108
108
|
/* o disco ultrapassa o topo da barra: sem isto ele seria recortado */
|
|
109
109
|
overflow: visible;
|
|
110
110
|
}
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
espaço, para o rótulo não descer junto e a linha de rótulos ficar reta. */
|
|
132
132
|
margin-top: -12px;
|
|
133
133
|
margin-bottom: -4px;
|
|
134
|
-
box-shadow: var(--umds-semantic-shadow-sm);
|
|
134
|
+
box-shadow: var(--umds-semantic-shadow-bottom-sm);
|
|
135
135
|
flex-shrink: 0;
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
background-color: var(--umds-semantic-color-background-elevated);
|
|
46
46
|
border-top-left-radius: var(--umds-primitive-border-radius-sm);
|
|
47
47
|
border-top-right-radius: var(--umds-primitive-border-radius-sm);
|
|
48
|
-
box-shadow: var(--umds-semantic-shadow-
|
|
48
|
+
box-shadow: var(--umds-semantic-shadow-top-sm);
|
|
49
49
|
outline: none;
|
|
50
50
|
animation: umds-bottomsheet-entrada var(--umds-semantic-motion-duration-base)
|
|
51
51
|
var(--umds-semantic-motion-easing-standard);
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
margin: 0 calc(-1 * var(--umds-primitive-spacing-xxxs))
|
|
154
154
|
calc(-1 * var(--umds-primitive-spacing-xxxs));
|
|
155
155
|
background-color: var(--umds-semantic-color-background-elevated);
|
|
156
|
-
box-shadow: var(--umds-semantic-shadow-
|
|
156
|
+
box-shadow: var(--umds-semantic-shadow-top-sm);
|
|
157
157
|
flex-shrink: 0;
|
|
158
158
|
}
|
|
159
159
|
|
|
@@ -96,9 +96,9 @@
|
|
|
96
96
|
.umds-box--radius-circular { border-radius: var(--umds-primitive-border-radius-circular); }
|
|
97
97
|
|
|
98
98
|
/* ── Elevação ── */
|
|
99
|
-
.umds-box--shadow-level1 { box-shadow: var(--umds-
|
|
100
|
-
.umds-box--shadow-level2 { box-shadow: var(--umds-
|
|
101
|
-
.umds-box--shadow-level3 { box-shadow: var(--umds-
|
|
99
|
+
.umds-box--shadow-level1 { box-shadow: var(--umds-semantic-shadow-bottom-md); }
|
|
100
|
+
.umds-box--shadow-level2 { box-shadow: var(--umds-semantic-shadow-bottom-lg); }
|
|
101
|
+
.umds-box--shadow-level3 { box-shadow: var(--umds-semantic-shadow-bottom-xl); }
|
|
102
102
|
|
|
103
103
|
/* ── Layout flex (direction, gap, align, justify, wrap) ──
|
|
104
104
|
Liga quando qualquer uma das props é passada; mesmos nomes e valores do Stack. */
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
|
|
16
16
|
/* ── Sombras (tokens semânticos oficiais — TOKEN-MAP §3b) ── */
|
|
17
17
|
.umds-card--shadow-none { box-shadow: none; }
|
|
18
|
-
.umds-card--shadow-xs { box-shadow: var(--umds-semantic-shadow-xs); }
|
|
19
|
-
.umds-card--shadow-sm { box-shadow: var(--umds-semantic-shadow-sm); }
|
|
20
|
-
.umds-card--shadow-md { box-shadow: var(--umds-semantic-shadow-md); }
|
|
21
|
-
.umds-card--shadow-lg { box-shadow: var(--umds-semantic-shadow-lg); }
|
|
18
|
+
.umds-card--shadow-xs { box-shadow: var(--umds-semantic-shadow-bottom-xs); }
|
|
19
|
+
.umds-card--shadow-sm { box-shadow: var(--umds-semantic-shadow-bottom-sm); }
|
|
20
|
+
.umds-card--shadow-md { box-shadow: var(--umds-semantic-shadow-bottom-md); }
|
|
21
|
+
.umds-card--shadow-lg { box-shadow: var(--umds-semantic-shadow-bottom-lg); }
|
|
22
22
|
|
|
23
23
|
/* ── Padding ── */
|
|
24
24
|
.umds-card--padding-none { padding: 0; }
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
|
|
38
38
|
.umds-card--hoverable:hover {
|
|
39
39
|
border-color: var(--umds-semantic-color-primary-medium); /* #6393DB */
|
|
40
|
-
box-shadow: var(--umds-semantic-shadow-md); /* protótipo --shadow-md */
|
|
40
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md); /* protótipo --shadow-md */
|
|
41
41
|
transform: translateY(-1px);
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
border: var(--umds-primitive-border-width-hairline) solid var(--umds-semantic-color-neutral-light-medium);
|
|
216
216
|
border-radius: var(--umds-primitive-border-radius-sm);
|
|
217
217
|
background-color: var(--umds-semantic-color-neutral-light-pure);
|
|
218
|
-
box-shadow: var(--umds-
|
|
218
|
+
box-shadow: var(--umds-semantic-shadow-bottom-lg);
|
|
219
219
|
font-size: var(--umds-primitive-font-size-xxxs); /* 12px */
|
|
220
220
|
line-height: var(--umds-primitive-font-line-height-lg);
|
|
221
221
|
white-space: nowrap;
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
background: var(--umds-semantic-color-background-white);
|
|
65
65
|
color: var(--umds-semantic-color-neutral-dark-pure);
|
|
66
66
|
border-radius: var(--umds-primitive-border-radius-md); /* 16px */
|
|
67
|
-
box-shadow: var(--umds-
|
|
67
|
+
box-shadow: var(--umds-semantic-shadow-bottom-xl);
|
|
68
68
|
outline: none;
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -231,7 +231,7 @@
|
|
|
231
231
|
background-color: var(--umds-semantic-color-background-elevated);
|
|
232
232
|
border: 1px solid var(--umds-semantic-color-neutral-light-down);
|
|
233
233
|
border-radius: var(--umds-primitive-border-radius-sm);
|
|
234
|
-
box-shadow: var(--umds-semantic-shadow-md);
|
|
234
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md);
|
|
235
235
|
z-index: var(--umds-semantic-layer-popover);
|
|
236
236
|
max-height: 300px; /* literal, igual ao Select — candidato a novo token */
|
|
237
237
|
display: flex;
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
.umds-confirm-dialog {
|
|
40
40
|
background: var(--umds-semantic-color-background-elevated); /* superfície elevada: igual ao white no light; mais clara no dark (decisão 25/07) */
|
|
41
41
|
border-radius: var(--umds-primitive-border-radius-sm); /* 8px universal (rodada ago/2026) — era md */
|
|
42
|
-
box-shadow: var(--umds-semantic-shadow-
|
|
42
|
+
box-shadow: var(--umds-semantic-shadow-center-xl); /* modal: mesma sombra do Modal */
|
|
43
43
|
width: 100%;
|
|
44
44
|
max-width: 440px;
|
|
45
45
|
overflow: hidden;
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
background: var(--umds-semantic-color-background-elevated); /* superfície elevada: igual ao white no light; mais clara no dark (decisão 25/07) */
|
|
179
179
|
border: 1px solid var(--umds-semantic-color-neutral-light-down); /* #D5D5D5 */
|
|
180
180
|
border-radius: var(--umds-primitive-border-radius-sm); /* 8px */
|
|
181
|
-
box-shadow: var(--umds-semantic-shadow-md);
|
|
181
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md);
|
|
182
182
|
padding: var(--umds-primitive-spacing-xxxs); /* 16px */
|
|
183
183
|
gap: var(--umds-primitive-spacing-xxxs); /* 16px */
|
|
184
184
|
box-sizing: border-box;
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
box-sizing: border-box;
|
|
72
72
|
padding: var(--umds-primitive-spacing-xxxs);
|
|
73
73
|
background-color: var(--umds-semantic-color-background-elevated);
|
|
74
|
-
box-shadow: var(--umds-semantic-shadow-lg);
|
|
74
|
+
box-shadow: var(--umds-semantic-shadow-bottom-lg);
|
|
75
75
|
outline: none;
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
margin: 0 calc(-1 * var(--umds-primitive-spacing-xxxs))
|
|
190
190
|
calc(-1 * var(--umds-primitive-spacing-xxxs));
|
|
191
191
|
background-color: var(--umds-semantic-color-background-elevated);
|
|
192
|
-
box-shadow: var(--umds-semantic-shadow-md);
|
|
192
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md);
|
|
193
193
|
flex-shrink: 0;
|
|
194
194
|
}
|
|
195
195
|
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
background: var(--umds-semantic-color-background-elevated); /* superfície elevada: igual ao white no light; mais clara no dark (decisão 25/07) */
|
|
36
36
|
border: 1px solid var(--umds-semantic-color-neutral-light-down); /* #D5D5D5 */
|
|
37
37
|
border-radius: var(--umds-primitive-border-radius-sm); /* era 12px (protótipo --radius-lg) — snap 14/07: painel overlay → md */
|
|
38
|
-
box-shadow: var(--umds-semantic-shadow-md); /* era 0 4px 16px rgba(0,0,0,0.12) — mapeado para shadow-md 14/07 */
|
|
38
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md); /* era 0 4px 16px rgba(0,0,0,0.12) — mapeado para shadow-md 14/07 */
|
|
39
39
|
font-family: var(--umds-semantic-font-family-base);
|
|
40
40
|
min-width: 160px; /* dimensão do protótipo sem token 1DS */
|
|
41
41
|
transition: opacity var(--umds-semantic-motion-duration-fast) var(--umds-semantic-motion-easing-standard);
|
|
@@ -10,8 +10,16 @@ import './Dropdown.css';
|
|
|
10
10
|
* @property {string} href - Item que navega: vira `<a>` de verdade (Ctrl+clique e "abrir em nova aba" funcionam). O `onSelect` continua sendo chamado.
|
|
11
11
|
* @property {string} target - Destino do link (`_blank` ganha `rel="noopener noreferrer"`).
|
|
12
12
|
* @property {string} rel - Relação do link; sobrescreve o padrão do `target`.
|
|
13
|
+
* @property {function} onSelect - Ação deste item: chamada ao escolhê-lo, antes do `onSelect` do Dropdown. Dispensa o switch por `key` e o cast para um tipo próprio.
|
|
14
|
+
*
|
|
15
|
+
* O item aceita campos próprios (`command`, `id`, `payload`...), que voltam
|
|
16
|
+
* intactos no `onSelect`: não é preciso converter para outro tipo.
|
|
13
17
|
*/
|
|
14
18
|
export interface DropdownItem {
|
|
19
|
+
/** Ação deste item, chamada ao escolhê-lo (antes do `onSelect` do Dropdown). */
|
|
20
|
+
onSelect?: (item: DropdownItem) => void;
|
|
21
|
+
/** Campos próprios do produto (`command`, `payload`...) voltam intactos no `onSelect`. */
|
|
22
|
+
[campo: string]: any;
|
|
15
23
|
key: string;
|
|
16
24
|
label: string;
|
|
17
25
|
icon?: IconProp;
|
|
@@ -130,3 +130,15 @@
|
|
|
130
130
|
outline: 2px solid var(--umds-semantic-color-primary-pure);
|
|
131
131
|
outline-offset: 2px;
|
|
132
132
|
}
|
|
133
|
+
|
|
134
|
+
/* ── fill: ocupa e centraliza no espaço disponível ──
|
|
135
|
+
Para o vazio de uma coluna que rola: cresce no pai flex (flex: 1) e, num pai
|
|
136
|
+
com altura definida, ocupa a altura toda (min-height). O conteúdo continua
|
|
137
|
+
centralizado pela regra base. */
|
|
138
|
+
.umds-empty-state--fill {
|
|
139
|
+
flex: 1 1 auto;
|
|
140
|
+
align-self: stretch;
|
|
141
|
+
box-sizing: border-box;
|
|
142
|
+
width: 100%;
|
|
143
|
+
min-height: 100%;
|
|
144
|
+
}
|
|
@@ -11,6 +11,7 @@ import './EmptyState.css';
|
|
|
11
11
|
* @property {function} onAction - Callback acionado ao clicar no botão de ação
|
|
12
12
|
* @property {string} size - Tamanho do bloco: 'sm' | 'md' | 'lg'
|
|
13
13
|
* @property {string} className - Classes CSS adicionais
|
|
14
|
+
* @property {boolean} fill - Ocupa e centraliza no espaço disponível: cresce no pai flex e, num pai com altura definida, fica no meio dele (o vazio de uma coluna que rola)
|
|
14
15
|
* @quandoUsar Quando NÃO HÁ dados para mostrar: lista vazia, busca sem resultado, área ainda não configurada. Traz ícone, mensagem e ação opcional.
|
|
15
16
|
* @quandoNaoUsar Enquanto os dados ainda estão CARREGANDO — use `Skeleton` ou `Spinner`. Estado vazio é resposta definitiva, não espera.
|
|
16
17
|
*/
|
|
@@ -22,6 +23,8 @@ export interface EmptyStateProps {
|
|
|
22
23
|
actionLabel?: string;
|
|
23
24
|
onAction?: () => void;
|
|
24
25
|
size?: "sm" | "md" | "lg";
|
|
26
|
+
/** Ocupa e centraliza no espaço disponível (coluna que rola, painel). @default false */
|
|
27
|
+
fill?: boolean;
|
|
25
28
|
className?: string;
|
|
26
29
|
}
|
|
27
30
|
import { IconProp } from "../Icon/Icon";
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
|
|
66
66
|
.umds-kanban__handle:hover .umds-kanban-card {
|
|
67
67
|
border-color: var(--umds-semantic-color-primary-medium);
|
|
68
|
-
box-shadow: var(--umds-semantic-shadow-md);
|
|
68
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
.umds-kanban__handle:focus {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
/* Pego pelo teclado: o cartão "levanta". */
|
|
81
81
|
.umds-kanban__item--pego .umds-kanban-card {
|
|
82
82
|
border-color: var(--umds-semantic-color-primary-pure);
|
|
83
|
-
box-shadow: var(--umds-semantic-shadow-lg);
|
|
83
|
+
box-shadow: var(--umds-semantic-shadow-bottom-lg);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/* Origem do arrasto com o ponteiro: fica o lugar, esmaecido. */
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
border: 1px solid var(--umds-semantic-color-neutral-light-medium);
|
|
19
19
|
border-radius: var(--umds-primitive-border-radius-sm);
|
|
20
20
|
background-color: var(--umds-semantic-color-background-elevated);
|
|
21
|
-
box-shadow: var(--umds-semantic-shadow-xs);
|
|
21
|
+
box-shadow: var(--umds-semantic-shadow-bottom-xs);
|
|
22
22
|
font-family: var(--umds-semantic-font-family-base);
|
|
23
23
|
color: var(--umds-semantic-color-neutral-dark-pure);
|
|
24
24
|
text-align: left;
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
.umds-kanban-card--interativo:hover {
|
|
35
35
|
border-color: var(--umds-semantic-color-primary-medium);
|
|
36
|
-
box-shadow: var(--umds-semantic-shadow-md);
|
|
36
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.umds-kanban-card--interativo:focus-visible {
|
|
@@ -34,6 +34,15 @@ ol.umds-list {
|
|
|
34
34
|
justify-content: center;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
/* emptyFill: a lista vazia ocupa o espaço do pai (coluna que rola, painel) e o
|
|
38
|
+
EmptyState (fill) fica no meio dele. */
|
|
39
|
+
.umds-list--empty-fill {
|
|
40
|
+
flex: 1 1 auto;
|
|
41
|
+
align-self: stretch;
|
|
42
|
+
width: 100%;
|
|
43
|
+
min-height: 100%;
|
|
44
|
+
}
|
|
45
|
+
|
|
37
46
|
/* ── <li> que envolve a linha ── */
|
|
38
47
|
.umds-list__item {
|
|
39
48
|
display: block;
|
|
@@ -180,4 +189,31 @@ ol.umds-list {
|
|
|
180
189
|
flex-shrink: 0;
|
|
181
190
|
align-items: center;
|
|
182
191
|
gap: var(--umds-primitive-spacing-quarck); /* 4px */
|
|
183
|
-
}
|
|
192
|
+
}
|
|
193
|
+
/* ── variant="primary": o item em destaque (Central de Ações) ──
|
|
194
|
+
Fundo azul-claro e hover um tom acima, como o cartão da referência. Não é
|
|
195
|
+
seleção (sem aria-current). O fundo é o mesmo azul-claro da seleção; o que\n muda é o hover, que escurece em vez de clarear. */
|
|
196
|
+
.umds-list-item--primary {
|
|
197
|
+
background: var(--umds-semantic-color-primary-light);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.umds-list-item--primary.umds-list-item--interactive:hover {
|
|
201
|
+
background: color-mix(
|
|
202
|
+
in srgb,
|
|
203
|
+
var(--umds-semantic-color-primary-medium) 35%,
|
|
204
|
+
var(--umds-semantic-color-primary-light)
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* Com ações, a superfície passa para o li (como a seleção). */
|
|
209
|
+
.umds-list__item:has(> .umds-list-item--primary):has(> .umds-list-item__actions) {
|
|
210
|
+
background: var(--umds-semantic-color-primary-light);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.umds-list__item:has(> .umds-list-item--primary.umds-list-item--interactive):has(> .umds-list-item__actions):hover {
|
|
214
|
+
background: color-mix(
|
|
215
|
+
in srgb,
|
|
216
|
+
var(--umds-semantic-color-primary-medium) 35%,
|
|
217
|
+
var(--umds-semantic-color-primary-light)
|
|
218
|
+
);
|
|
219
|
+
}
|
|
@@ -32,6 +32,7 @@ export type ListTag = "ul" | "ol";
|
|
|
32
32
|
* @property {string} emptyDescription - Texto de apoio do estado vazio
|
|
33
33
|
* @property {IconProp} emptyIcon - Ícone do estado vazio (objeto do Font Awesome)
|
|
34
34
|
* @property {string} emptySize - Tamanho do estado vazio: 'sm' (padrão, compacto) | 'md' | 'lg'
|
|
35
|
+
* @property {boolean} emptyFill - O estado vazio ocupa e centraliza no espaço disponível (coluna que rola, painel de altura fixa)
|
|
35
36
|
* @property {string} emptyActionLabel - Rótulo do botão do estado vazio (junto de onEmptyAction)
|
|
36
37
|
* @property {function} onEmptyAction - Callback do botão do estado vazio
|
|
37
38
|
* @property {any} empty - Slot `empty`: conteúdo próprio no lugar do EmptyState
|
|
@@ -61,6 +62,8 @@ export interface ListProps {
|
|
|
61
62
|
emptyIcon?: IconProp;
|
|
62
63
|
/** Tamanho do estado vazio. @default 'sm' */
|
|
63
64
|
emptySize?: "sm" | "md" | "lg";
|
|
65
|
+
/** O estado vazio ocupa e centraliza no espaço disponível. @default false */
|
|
66
|
+
emptyFill?: boolean;
|
|
64
67
|
/** Rótulo do botão do estado vazio (exibido junto de `onEmptyAction`). */
|
|
65
68
|
emptyActionLabel?: string;
|
|
66
69
|
/** Chamado no botão do estado vazio. */
|
|
@@ -21,7 +21,11 @@ function List(props) {
|
|
|
21
21
|
.join(" ");
|
|
22
22
|
}
|
|
23
23
|
function emptyClasses() {
|
|
24
|
-
return [
|
|
24
|
+
return [
|
|
25
|
+
"umds-list umds-list--empty",
|
|
26
|
+
props.emptyFill ? "umds-list--empty-fill" : "",
|
|
27
|
+
props.className,
|
|
28
|
+
]
|
|
25
29
|
.filter(Boolean)
|
|
26
30
|
.join(" ");
|
|
27
31
|
}
|
|
@@ -48,6 +52,6 @@ function List(props) {
|
|
|
48
52
|
}
|
|
49
53
|
return out;
|
|
50
54
|
}
|
|
51
|
-
return (_jsxs(_Fragment, { children: [showEmpty() ? (_jsx("div", { role: "status", id: props.id, ...htmlAttrs(), className: emptyClasses(), children: _jsx(_Fragment, { children: props.empty || (_jsx(EmptyState, { icon: props.emptyIcon, title: emptyTitleText(), description: props.emptyDescription, size: emptySizeValue(), ...emptyActionProps() })) }) })) : null, showItems() && elementTag() === "ul" ? (_jsx("ul", { role: "list", id: props.id, "aria-label": props.ariaLabel, "aria-labelledby": props.ariaLabelledby, ...htmlAttrs(), className: classes(), children: _jsx(_Fragment, { children: props.children }) })) : null, showItems() && elementTag() === "ol" ? (_jsx("ol", { role: "list", id: props.id, "aria-label": props.ariaLabel, "aria-labelledby": props.ariaLabelledby, ...htmlAttrs(), className: classes(), children: _jsx(_Fragment, { children: props.children }) })) : null] }));
|
|
55
|
+
return (_jsxs(_Fragment, { children: [showEmpty() ? (_jsx("div", { role: "status", id: props.id, ...htmlAttrs(), className: emptyClasses(), children: _jsx(_Fragment, { children: props.empty || (_jsx(EmptyState, { icon: props.emptyIcon, title: emptyTitleText(), description: props.emptyDescription, size: emptySizeValue(), fill: props.emptyFill, ...emptyActionProps() })) }) })) : null, showItems() && elementTag() === "ul" ? (_jsx("ul", { role: "list", id: props.id, "aria-label": props.ariaLabel, "aria-labelledby": props.ariaLabelledby, ...htmlAttrs(), className: classes(), children: _jsx(_Fragment, { children: props.children }) })) : null, showItems() && elementTag() === "ol" ? (_jsx("ol", { role: "list", id: props.id, "aria-label": props.ariaLabel, "aria-labelledby": props.ariaLabelledby, ...htmlAttrs(), className: classes(), children: _jsx(_Fragment, { children: props.children }) })) : null] }));
|
|
52
56
|
}
|
|
53
57
|
export default List;
|
|
@@ -41,6 +41,9 @@ export type ListItemTag = "button" | "a" | "div";
|
|
|
41
41
|
* @property {string} target - Destino do link: '_blank' ganha rel="noopener noreferrer"
|
|
42
42
|
* @property {string} rel - Relação do link (sobrescreve o padrão do target)
|
|
43
43
|
* @property {boolean} selected - Item atual: fundo de seleção e aria-current
|
|
44
|
+
* @property {string} variant - Superfície da linha: 'default' (transparente) | 'primary' (fundo azul-claro com hover próprio, o item em destaque da Central de Ações). Não é seleção: não marca aria-current
|
|
45
|
+
* @property {string} liClassName - Classes CSS do `li` (a linha visual). Use para animação de entrada escalonada; não vale com `standalone`
|
|
46
|
+
* @property {object} liStyle - Estilo inline do `li` (ex.: `{ '--ordem': 3 }` ou `transitionDelay`). Não vale com `standalone`
|
|
44
47
|
* @property {boolean} disabled - Bloqueia clique e foco
|
|
45
48
|
* @property {string} tooltip - Dica nativa do navegador: vira o atributo HTML `title` do elemento interativo
|
|
46
49
|
* @property {boolean} standalone - Renderiza sem o `li`, só o elemento interativo (uso fora de `List`)
|
|
@@ -71,6 +74,12 @@ export interface ListItemProps {
|
|
|
71
74
|
target?: string;
|
|
72
75
|
/** Relação do link. Sobrescreve o padrão do `target`. */
|
|
73
76
|
rel?: string;
|
|
77
|
+
/** Superfície: `primary` é o item em destaque, azul-claro com hover próprio. Não é seleção. @default 'default' */
|
|
78
|
+
variant?: "default" | "primary";
|
|
79
|
+
/** Classes CSS do `li` (a linha visual), para animação de entrada. Sem efeito com `standalone`. */
|
|
80
|
+
liClassName?: string;
|
|
81
|
+
/** Estilo inline do `li` (variável CSS, transitionDelay). Sem efeito com `standalone`. */
|
|
82
|
+
liStyle?: any;
|
|
74
83
|
/** Item atual: fundo de seleção e `aria-current`. @default false */
|
|
75
84
|
selected?: boolean;
|
|
76
85
|
/** Bloqueia clique e foco. @default false */
|
|
@@ -10,11 +10,15 @@ function ListItem(props) {
|
|
|
10
10
|
function isInteractive() {
|
|
11
11
|
return elementTag() !== "div" || !!props.onClick;
|
|
12
12
|
}
|
|
13
|
+
function liClasses() {
|
|
14
|
+
return ["umds-list__item", props.liClassName].filter(Boolean).join(" ");
|
|
15
|
+
}
|
|
13
16
|
function classes() {
|
|
14
17
|
return [
|
|
15
18
|
"umds-list-item",
|
|
16
19
|
isInteractive() ? "umds-list-item--interactive" : "",
|
|
17
20
|
props.selected ? "umds-list-item--selected" : "",
|
|
21
|
+
props.variant === "primary" ? "umds-list-item--primary" : "",
|
|
18
22
|
props.disabled ? "umds-list-item--disabled" : "",
|
|
19
23
|
props.className,
|
|
20
24
|
]
|
|
@@ -77,6 +81,6 @@ function ListItem(props) {
|
|
|
77
81
|
}
|
|
78
82
|
return out;
|
|
79
83
|
}
|
|
80
|
-
return (_jsx(_Fragment, { children: !props.standalone ? (_jsx(_Fragment, { children: _jsxs("li", { className:
|
|
84
|
+
return (_jsx(_Fragment, { children: !props.standalone ? (_jsx(_Fragment, { children: _jsxs("li", { style: props.liStyle, className: liClasses(), children: [elementTag() === "button" ? (_jsxs("button", { type: "button", id: props.id, title: props.tooltip, disabled: props.disabled, "aria-current": ariaCurrent(), onClick: (event) => handleClick(event), ...htmlAttrs(), className: classes(), children: [props.start ? (_jsx("span", { className: "umds-list-item__start", children: _jsx(_Fragment, { children: props.start }) })) : null, _jsxs("span", { className: "umds-list-item__body", children: [props.title ? (_jsx("span", { className: "umds-list-item__title", children: _jsx(Text, { variant: "body2", as: "span", weight: "semibold", color: "inherit", children: _jsx(_Fragment, { children: props.title }) }) })) : null, props.subtitle ? (_jsx("span", { className: "umds-list-item__subtitle", children: _jsx(Text, { variant: "body2", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.subtitle }) }) })) : null, props.meta ? (_jsx("span", { className: "umds-list-item__meta", children: _jsx(Text, { variant: "caption", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.meta }) }) })) : null, _jsx(_Fragment, { children: props.children })] }), props.end ? (_jsx("span", { className: "umds-list-item__end", children: _jsx(_Fragment, { children: props.end }) })) : null] })) : null, elementTag() === "a" ? (_jsxs("a", { id: props.id, title: props.tooltip, href: hrefValue(), target: props.target, rel: relValue(), "aria-current": ariaCurrent(), "aria-disabled": ariaDisabled(), onClick: (event) => handleClick(event), ...htmlAttrs(), className: classes(), children: [props.start ? (_jsx("span", { className: "umds-list-item__start", children: _jsx(_Fragment, { children: props.start }) })) : null, _jsxs("span", { className: "umds-list-item__body", children: [props.title ? (_jsx("span", { className: "umds-list-item__title", children: _jsx(Text, { variant: "body2", as: "span", weight: "semibold", color: "inherit", children: _jsx(_Fragment, { children: props.title }) }) })) : null, props.subtitle ? (_jsx("span", { className: "umds-list-item__subtitle", children: _jsx(Text, { variant: "body2", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.subtitle }) }) })) : null, props.meta ? (_jsx("span", { className: "umds-list-item__meta", children: _jsx(Text, { variant: "caption", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.meta }) }) })) : null, _jsx(_Fragment, { children: props.children })] }), props.end ? (_jsx("span", { className: "umds-list-item__end", children: _jsx(_Fragment, { children: props.end }) })) : null] })) : null, elementTag() === "div" ? (_jsxs("div", { id: props.id, title: props.tooltip, role: divRole(), tabIndex: divTabIndex(), "aria-current": ariaCurrent(), "aria-disabled": ariaDisabled(), onClick: (event) => handleClick(event), onKeyDown: (event) => handleKeyDown(event), ...htmlAttrs(), className: classes(), children: [props.start ? (_jsx("span", { className: "umds-list-item__start", children: _jsx(_Fragment, { children: props.start }) })) : null, _jsxs("span", { className: "umds-list-item__body", children: [props.title ? (_jsx("span", { className: "umds-list-item__title", children: _jsx(Text, { variant: "body2", as: "span", weight: "semibold", color: "inherit", children: _jsx(_Fragment, { children: props.title }) }) })) : null, props.subtitle ? (_jsx("span", { className: "umds-list-item__subtitle", children: _jsx(Text, { variant: "body2", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.subtitle }) }) })) : null, props.meta ? (_jsx("span", { className: "umds-list-item__meta", children: _jsx(Text, { variant: "caption", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.meta }) }) })) : null, _jsx(_Fragment, { children: props.children })] }), props.end ? (_jsx("span", { className: "umds-list-item__end", children: _jsx(_Fragment, { children: props.end }) })) : null] })) : null, props.actions ? (_jsx("div", { className: "umds-list-item__actions", children: _jsx(_Fragment, { children: props.actions }) })) : null] }) })) : (_jsx(_Fragment, { children: _jsxs(_Fragment, { children: [elementTag() === "button" ? (_jsxs("button", { type: "button", id: props.id, title: props.tooltip, disabled: props.disabled, "aria-current": ariaCurrent(), onClick: (event) => handleClick(event), ...htmlAttrs(), className: classes(), children: [props.start ? (_jsx("span", { className: "umds-list-item__start", children: _jsx(_Fragment, { children: props.start }) })) : null, _jsxs("span", { className: "umds-list-item__body", children: [props.title ? (_jsx("span", { className: "umds-list-item__title", children: _jsx(Text, { variant: "body2", as: "span", weight: "semibold", color: "inherit", children: _jsx(_Fragment, { children: props.title }) }) })) : null, props.subtitle ? (_jsx("span", { className: "umds-list-item__subtitle", children: _jsx(Text, { variant: "body2", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.subtitle }) }) })) : null, props.meta ? (_jsx("span", { className: "umds-list-item__meta", children: _jsx(Text, { variant: "caption", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.meta }) }) })) : null, _jsx(_Fragment, { children: props.children })] }), props.end ? (_jsx("span", { className: "umds-list-item__end", children: _jsx(_Fragment, { children: props.end }) })) : null] })) : null, elementTag() === "a" ? (_jsxs("a", { id: props.id, title: props.tooltip, href: hrefValue(), target: props.target, rel: relValue(), "aria-current": ariaCurrent(), "aria-disabled": ariaDisabled(), onClick: (event) => handleClick(event), ...htmlAttrs(), className: classes(), children: [props.start ? (_jsx("span", { className: "umds-list-item__start", children: _jsx(_Fragment, { children: props.start }) })) : null, _jsxs("span", { className: "umds-list-item__body", children: [props.title ? (_jsx("span", { className: "umds-list-item__title", children: _jsx(Text, { variant: "body2", as: "span", weight: "semibold", color: "inherit", children: _jsx(_Fragment, { children: props.title }) }) })) : null, props.subtitle ? (_jsx("span", { className: "umds-list-item__subtitle", children: _jsx(Text, { variant: "body2", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.subtitle }) }) })) : null, props.meta ? (_jsx("span", { className: "umds-list-item__meta", children: _jsx(Text, { variant: "caption", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.meta }) }) })) : null, _jsx(_Fragment, { children: props.children })] }), props.end ? (_jsx("span", { className: "umds-list-item__end", children: _jsx(_Fragment, { children: props.end }) })) : null] })) : null, elementTag() === "div" ? (_jsxs("div", { id: props.id, title: props.tooltip, role: divRole(), tabIndex: divTabIndex(), "aria-current": ariaCurrent(), "aria-disabled": ariaDisabled(), onClick: (event) => handleClick(event), onKeyDown: (event) => handleKeyDown(event), ...htmlAttrs(), className: classes(), children: [props.start ? (_jsx("span", { className: "umds-list-item__start", children: _jsx(_Fragment, { children: props.start }) })) : null, _jsxs("span", { className: "umds-list-item__body", children: [props.title ? (_jsx("span", { className: "umds-list-item__title", children: _jsx(Text, { variant: "body2", as: "span", weight: "semibold", color: "inherit", children: _jsx(_Fragment, { children: props.title }) }) })) : null, props.subtitle ? (_jsx("span", { className: "umds-list-item__subtitle", children: _jsx(Text, { variant: "body2", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.subtitle }) }) })) : null, props.meta ? (_jsx("span", { className: "umds-list-item__meta", children: _jsx(Text, { variant: "caption", as: "span", color: "inherit", children: _jsx(_Fragment, { children: props.meta }) }) })) : null, _jsx(_Fragment, { children: props.children })] }), props.end ? (_jsx("span", { className: "umds-list-item__end", children: _jsx(_Fragment, { children: props.end }) })) : null] })) : null] }) })) }));
|
|
81
85
|
}
|
|
82
86
|
export default ListItem;
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
z-index: 2;
|
|
42
42
|
background-color: var(--umds-semantic-color-background-elevated); /* superfície elevada: igual ao white no light; mais clara no dark (decisão 25/07) */
|
|
43
43
|
border-radius: var(--umds-primitive-border-radius-sm); /* 8px universal (rodada ago/2026) — a exceção "superfície grande → md" caiu */
|
|
44
|
-
box-shadow: var(--umds-semantic-shadow-
|
|
44
|
+
box-shadow: var(--umds-semantic-shadow-center-xl);
|
|
45
45
|
padding: var(--umds-primitive-spacing-xxs);
|
|
46
46
|
width: clamp(320px, 90%, 498px);
|
|
47
47
|
max-width: 498px;
|
|
@@ -337,9 +337,8 @@
|
|
|
337
337
|
padding: var(--umds-primitive-spacing-xxxs) var(--umds-primitive-spacing-xxs); /* 16px 24px (produto: 14px 22px) */
|
|
338
338
|
border-top: 1px solid var(--umds-semantic-color-neutral-light-medium);
|
|
339
339
|
background: var(--umds-semantic-color-neutral-light-pure);
|
|
340
|
-
/* Levanta o rodapé do conteúdo que passa por baixo dele ao rolar.
|
|
341
|
-
|
|
342
|
-
box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
|
|
340
|
+
/* Levanta o rodapé do conteúdo que passa por baixo dele ao rolar. */
|
|
341
|
+
box-shadow: var(--umds-semantic-shadow-top-md);
|
|
343
342
|
flex-shrink: 0;
|
|
344
343
|
box-sizing: border-box;
|
|
345
344
|
}
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
background-color: var(--umds-semantic-color-background-elevated); /* superfície elevada: igual ao white no light; mais clara no dark (decisão 25/07) */
|
|
196
196
|
border: 1px solid var(--umds-semantic-color-neutral-light-down);
|
|
197
197
|
border-radius: var(--umds-primitive-border-radius-sm);
|
|
198
|
-
box-shadow: var(--umds-semantic-shadow-md); /* protótipo --shadow-md */
|
|
198
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md); /* protótipo --shadow-md */
|
|
199
199
|
z-index: var(--umds-semantic-layer-popover); /* 1400 - acima de modal */
|
|
200
200
|
max-height: 320px;
|
|
201
201
|
display: flex;
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
color: var(--umds-semantic-color-primary-dark);
|
|
55
55
|
border: var(--umds-primitive-border-width-hairline) solid var(--umds-semantic-color-neutral-light-medium);
|
|
56
56
|
border-radius: var(--umds-primitive-border-radius-sm);
|
|
57
|
-
box-shadow: var(--umds-semantic-shadow-sm);
|
|
57
|
+
box-shadow: var(--umds-semantic-shadow-bottom-sm);
|
|
58
58
|
cursor: pointer;
|
|
59
59
|
transition:
|
|
60
60
|
box-shadow var(--umds-semantic-motion-duration-fast) var(--umds-semantic-motion-easing-standard),
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
.umds-org-chart__node:hover {
|
|
72
|
-
box-shadow: var(--umds-semantic-shadow-md);
|
|
72
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
.umds-org-chart__node--selected {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
/* 1px como os demais campos: 1,5px era do protótipo e engrossava só aqui. */
|
|
55
55
|
border: 1px solid var(--umds-semantic-field-border-default);
|
|
56
56
|
border-radius: var(--umds-primitive-border-radius-sm, 8px); /* era 12px (protótipo --radius-lg) — snap 14/07: controle de campo → sm, alinha com Input/Select */
|
|
57
|
-
box-shadow: var(--umds-semantic-shadow-sm); /* era 0 1px 2px 0.04, 0 1px 3px 0.02 (protótipo --shadow-sm) — mapeado 14/07 */
|
|
57
|
+
box-shadow: var(--umds-semantic-shadow-bottom-sm); /* era 0 1px 2px 0.04, 0 1px 3px 0.02 (protótipo --shadow-sm) — mapeado 14/07 */
|
|
58
58
|
transition:
|
|
59
59
|
border-color var(--umds-semantic-motion-duration-fast) var(--umds-semantic-motion-easing-standard),
|
|
60
60
|
box-shadow var(--umds-semantic-motion-duration-fast) var(--umds-semantic-motion-easing-standard);
|
|
@@ -234,7 +234,7 @@
|
|
|
234
234
|
background: var(--umds-semantic-color-background-elevated); /* superfície elevada: igual ao white no light; mais clara no dark (decisão 25/07) */
|
|
235
235
|
border: 1px solid var(--umds-semantic-color-neutral-light-medium); /* #EBEBEB */
|
|
236
236
|
border-radius: var(--umds-primitive-border-radius-sm); /* 8px (protótipo --radius-md) */
|
|
237
|
-
box-shadow: var(--umds-semantic-shadow-md); /* era 0 4px 16px rgba(0,0,0,0.12) — mapeado para shadow-md 14/07 */
|
|
237
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md); /* era 0 4px 16px rgba(0,0,0,0.12) — mapeado para shadow-md 14/07 */
|
|
238
238
|
overflow: hidden;
|
|
239
239
|
animation: umds-phone-dropdown-in var(--umds-semantic-motion-duration-fast) var(--umds-semantic-motion-easing-standard) both;
|
|
240
240
|
}
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
background: var(--umds-semantic-color-background-elevated); /* superfície elevada: igual ao white no claro, mais clara no escuro */
|
|
38
38
|
border: 1px solid var(--umds-semantic-color-neutral-light-down);
|
|
39
39
|
border-radius: var(--umds-primitive-border-radius-sm);
|
|
40
|
-
box-shadow: var(--umds-semantic-shadow-md);
|
|
40
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md);
|
|
41
41
|
font-family: var(--umds-semantic-font-family-base);
|
|
42
42
|
transition: opacity var(--umds-semantic-motion-duration-fast)
|
|
43
43
|
var(--umds-semantic-motion-easing-standard);
|
|
@@ -234,7 +234,7 @@
|
|
|
234
234
|
background-color: var(--umds-semantic-color-background-white);
|
|
235
235
|
color: var(--umds-semantic-color-neutral-dark-pure);
|
|
236
236
|
font-weight: var(--umds-primitive-font-weight-bold);
|
|
237
|
-
box-shadow: var(--umds-semantic-shadow-md);
|
|
237
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md);
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
.umds-segmented--surface .umds-segmented__input:disabled + .umds-segmented__item:hover {
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
background-color: var(--umds-semantic-color-background-elevated); /* superfície elevada: igual ao white no light; mais clara no dark (decisão 25/07) */
|
|
150
150
|
border: 1px solid var(--umds-semantic-color-neutral-light-down);
|
|
151
151
|
border-radius: var(--umds-primitive-border-radius-sm);
|
|
152
|
-
box-shadow: var(--umds-semantic-shadow-md); /* protótipo --shadow-md */
|
|
152
|
+
box-shadow: var(--umds-semantic-shadow-bottom-md); /* protótipo --shadow-md */
|
|
153
153
|
z-index: var(--umds-semantic-layer-popover); /* 1400 - acima de modal */
|
|
154
154
|
max-height: 300px;
|
|
155
155
|
display: flex;
|