@snksergio/design-system 0.53.0 → 0.55.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/dist-lib/chunks/{avatar-DAmZ7fBZ.cjs → avatar-CMWPg3A3.cjs} +157 -70
- package/dist-lib/chunks/avatar-CMWPg3A3.cjs.map +1 -0
- package/dist-lib/chunks/{avatar-FPbG1TRy.mjs → avatar-CZRLkTxt.mjs} +214 -127
- package/dist-lib/chunks/avatar-CZRLkTxt.mjs.map +1 -0
- package/dist-lib/chunks/{input-tjIT8HNE.mjs → input-BQABJR2N.mjs} +2 -2
- package/dist-lib/chunks/{input-tjIT8HNE.mjs.map → input-BQABJR2N.mjs.map} +1 -1
- package/dist-lib/chunks/{input-Ci_2-5Te.cjs → input-DqaLFxER.cjs} +2 -2
- package/dist-lib/chunks/{input-Ci_2-5Te.cjs.map → input-DqaLFxER.cjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-BRTgTaO1.mjs → kpi-delta-Bfs_oVpq.mjs} +3 -3
- package/dist-lib/chunks/{kpi-delta-BRTgTaO1.mjs.map → kpi-delta-Bfs_oVpq.mjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-1-gsPFvU.cjs → kpi-delta-wEzw5zSu.cjs} +3 -3
- package/dist-lib/chunks/{kpi-delta-1-gsPFvU.cjs.map → kpi-delta-wEzw5zSu.cjs.map} +1 -1
- package/dist-lib/chunks/{page-header-DrKDiVFN.cjs → page-header-sValhWca.cjs} +2 -2
- package/dist-lib/chunks/{page-header-DrKDiVFN.cjs.map → page-header-sValhWca.cjs.map} +1 -1
- package/dist-lib/chunks/{page-header-DdWp9c-r.mjs → page-header-t5hFIp7o.mjs} +2 -2
- package/dist-lib/chunks/{page-header-DdWp9c-r.mjs.map → page-header-t5hFIp7o.mjs.map} +1 -1
- package/dist-lib/chunks/{panel-DsOKm4Im.mjs → panel-C3puLY_V.mjs} +5 -5
- package/dist-lib/chunks/{panel-DsOKm4Im.mjs.map → panel-C3puLY_V.mjs.map} +1 -1
- package/dist-lib/chunks/{panel-CTbiCa0_.cjs → panel-DmnK2n5_.cjs} +5 -5
- package/dist-lib/chunks/{panel-CTbiCa0_.cjs.map → panel-DmnK2n5_.cjs.map} +1 -1
- package/dist-lib/chunks/{sheet-DIpYkRYS.mjs → sheet-Bjjo4ZaT.mjs} +2 -2
- package/dist-lib/chunks/{sheet-DIpYkRYS.mjs.map → sheet-Bjjo4ZaT.mjs.map} +1 -1
- package/dist-lib/chunks/{sheet-rg6uupt1.cjs → sheet-BrYriaDN.cjs} +2 -2
- package/dist-lib/chunks/{sheet-rg6uupt1.cjs.map → sheet-BrYriaDN.cjs.map} +1 -1
- package/dist-lib/chunks/{toggle-group-C9rrkkmh.cjs → toggle-group-DeoBmogo.cjs} +24 -111
- package/dist-lib/chunks/toggle-group-DeoBmogo.cjs.map +1 -0
- package/dist-lib/chunks/{toggle-group-mXbG8_Jm.mjs → toggle-group-XMgZgL-H.mjs} +111 -198
- package/dist-lib/chunks/toggle-group-XMgZgL-H.mjs.map +1 -0
- package/dist-lib/chunks/{useTheme-Dh3POjCr.cjs → useTheme-BTjHuaT2.cjs} +225 -84
- package/dist-lib/chunks/useTheme-BTjHuaT2.cjs.map +1 -0
- package/dist-lib/chunks/{useTheme-Bk8AYqLr.mjs → useTheme-caPM-I73.mjs} +267 -126
- package/dist-lib/chunks/useTheme-caPM-I73.mjs.map +1 -0
- package/dist-lib/index.cjs +647 -8
- package/dist-lib/index.cjs.map +1 -1
- package/dist-lib/index.mjs +1041 -402
- package/dist-lib/index.mjs.map +1 -1
- package/dist-lib/preview/chat.cjs +3 -3
- package/dist-lib/preview/chat.mjs +3 -3
- package/dist-lib/preview/clientes.cjs +6 -6
- package/dist-lib/preview/clientes.mjs +6 -6
- package/dist-lib/preview/dashboard.cjs +4 -4
- package/dist-lib/preview/dashboard.mjs +4 -4
- package/dist-lib/shadcn.cjs +11 -11
- package/dist-lib/shadcn.mjs +153 -153
- package/dist-lib/src/components/index.d.ts +2 -0
- package/dist-lib/src/components/index.d.ts.map +1 -1
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.d.ts +35 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.styles.d.ts +94 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.styles.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.types.d.ts +50 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.types.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.d.ts +32 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.styles.d.ts +111 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.styles.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.types.d.ts +40 -0
- package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.types.d.ts.map +1 -0
- package/dist-lib/src/components/ui/Breadcrumb/index.d.ts +21 -0
- package/dist-lib/src/components/ui/Breadcrumb/index.d.ts.map +1 -0
- package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.styles.d.ts +3 -3
- package/dist-lib/src/components/ui/Header/header-breadcrumb.d.ts +13 -3
- package/dist-lib/src/components/ui/Header/header-breadcrumb.d.ts.map +1 -1
- package/dist-lib/src/components/ui/Header/header.styles.d.ts +12 -33
- package/dist-lib/src/components/ui/Header/header.styles.d.ts.map +1 -1
- package/dist-lib/src/components/ui/Header/header.types.d.ts +17 -0
- package/dist-lib/src/components/ui/Header/header.types.d.ts.map +1 -1
- package/dist-lib/src/components/ui/TabsNavigation/index.d.ts +5 -0
- package/dist-lib/src/components/ui/TabsNavigation/index.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation-context.d.ts +19 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation-context.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.d.ts +84 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.styles.d.ts +393 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.styles.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.types.d.ts +99 -0
- package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.types.d.ts.map +1 -0
- package/dist-lib/src/components/ui/TabsNavigation/use-arrastar-para-rolar.d.ts +26 -0
- package/dist-lib/src/components/ui/TabsNavigation/use-arrastar-para-rolar.d.ts.map +1 -0
- package/dist-lib/theme.css +15 -0
- package/package.json +1 -1
- package/dist-lib/chunks/avatar-DAmZ7fBZ.cjs.map +0 -1
- package/dist-lib/chunks/avatar-FPbG1TRy.mjs.map +0 -1
- package/dist-lib/chunks/toggle-group-C9rrkkmh.cjs.map +0 -1
- package/dist-lib/chunks/toggle-group-mXbG8_Jm.mjs.map +0 -1
- package/dist-lib/chunks/useTheme-Bk8AYqLr.mjs.map +0 -1
- package/dist-lib/chunks/useTheme-Dh3POjCr.cjs.map +0 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BreadcrumbSwitcher styles — iGreen DS
|
|
3
|
+
*
|
|
4
|
+
* ## O gatilho é o CAMINHO, não um campo
|
|
5
|
+
*
|
|
6
|
+
* A diferença pro `Combobox` mora aqui e é o motivo de o componente existir: o `Combobox`
|
|
7
|
+
* desenha um campo de formulário (borda, altura `form-*`, fundo de input) porque ele coleta
|
|
8
|
+
* um valor. Este gatilho é **o texto do breadcrumb** — mesma tipografia dos irmãos, sem borda
|
|
9
|
+
* e sem fundo em repouso — e só ganha superfície no hover/aberto, pra dizer "isto é
|
|
10
|
+
* clicável". Um campo de formulário no meio da trilha faria a página parecer um formulário.
|
|
11
|
+
*/
|
|
12
|
+
export declare const breadcrumbSwitcher: import('tailwind-variants').TVReturnType<{
|
|
13
|
+
/**
|
|
14
|
+
* Acompanha o tamanho do caminho. Sem isto o gatilho ficava 13px fixo no meio de irmãos de
|
|
15
|
+
* 14px (medido na doc) — o item que troca é o MESMO item do caminho, não pode ter corpo
|
|
16
|
+
* próprio.
|
|
17
|
+
*/
|
|
18
|
+
size: {
|
|
19
|
+
sm: {
|
|
20
|
+
trigger: string;
|
|
21
|
+
};
|
|
22
|
+
md: {
|
|
23
|
+
trigger: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}, {
|
|
27
|
+
trigger: string[];
|
|
28
|
+
/** O rótulo trunca; o chevron nunca — ele é o que anuncia que dá pra trocar. */
|
|
29
|
+
label: string;
|
|
30
|
+
chevron: string;
|
|
31
|
+
content: string;
|
|
32
|
+
title: string;
|
|
33
|
+
/** O rodapé fica FORA da área que rola — “ver todos” não pode fugir com a lista. */
|
|
34
|
+
footer: string;
|
|
35
|
+
item: string;
|
|
36
|
+
itemTexto: string;
|
|
37
|
+
itemLabel: string;
|
|
38
|
+
itemDescricao: string;
|
|
39
|
+
}, undefined, {
|
|
40
|
+
/**
|
|
41
|
+
* Acompanha o tamanho do caminho. Sem isto o gatilho ficava 13px fixo no meio de irmãos de
|
|
42
|
+
* 14px (medido na doc) — o item que troca é o MESMO item do caminho, não pode ter corpo
|
|
43
|
+
* próprio.
|
|
44
|
+
*/
|
|
45
|
+
size: {
|
|
46
|
+
sm: {
|
|
47
|
+
trigger: string;
|
|
48
|
+
};
|
|
49
|
+
md: {
|
|
50
|
+
trigger: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
}, {
|
|
54
|
+
trigger: string[];
|
|
55
|
+
/** O rótulo trunca; o chevron nunca — ele é o que anuncia que dá pra trocar. */
|
|
56
|
+
label: string;
|
|
57
|
+
chevron: string;
|
|
58
|
+
content: string;
|
|
59
|
+
title: string;
|
|
60
|
+
/** O rodapé fica FORA da área que rola — “ver todos” não pode fugir com a lista. */
|
|
61
|
+
footer: string;
|
|
62
|
+
item: string;
|
|
63
|
+
itemTexto: string;
|
|
64
|
+
itemLabel: string;
|
|
65
|
+
itemDescricao: string;
|
|
66
|
+
}, import('tailwind-variants').TVReturnType<{
|
|
67
|
+
/**
|
|
68
|
+
* Acompanha o tamanho do caminho. Sem isto o gatilho ficava 13px fixo no meio de irmãos de
|
|
69
|
+
* 14px (medido na doc) — o item que troca é o MESMO item do caminho, não pode ter corpo
|
|
70
|
+
* próprio.
|
|
71
|
+
*/
|
|
72
|
+
size: {
|
|
73
|
+
sm: {
|
|
74
|
+
trigger: string;
|
|
75
|
+
};
|
|
76
|
+
md: {
|
|
77
|
+
trigger: string;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
}, {
|
|
81
|
+
trigger: string[];
|
|
82
|
+
/** O rótulo trunca; o chevron nunca — ele é o que anuncia que dá pra trocar. */
|
|
83
|
+
label: string;
|
|
84
|
+
chevron: string;
|
|
85
|
+
content: string;
|
|
86
|
+
title: string;
|
|
87
|
+
/** O rodapé fica FORA da área que rola — “ver todos” não pode fugir com a lista. */
|
|
88
|
+
footer: string;
|
|
89
|
+
item: string;
|
|
90
|
+
itemTexto: string;
|
|
91
|
+
itemLabel: string;
|
|
92
|
+
itemDescricao: string;
|
|
93
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
94
|
+
//# sourceMappingURL=breadcrumb-switcher.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb-switcher.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Breadcrumb/breadcrumb-switcher.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB;IA4B3B;;;;OAIG;;;;;;;;;;;IApBH,gFAAgF;;;;;IAMhF,oFAAoF;;;;;;;IAUpF;;;;OAIG;;;;;;;;;;;IApBH,gFAAgF;;;;;IAMhF,oFAAoF;;;;;;;IAUpF;;;;OAIG;;;;;;;;;;;IApBH,gFAAgF;;;;;IAMhF,oFAAoF;;;;;;2CAsBtF,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type BreadcrumbSwitcherOption = {
|
|
3
|
+
/** Identidade do registro — é o que volta em `onValueChange`. */
|
|
4
|
+
value: string;
|
|
5
|
+
/** Texto da opção. É por ele que a busca filtra. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Ícone/avatar à esquerda: no seletor do GitHub é o cadeado do repo privado. */
|
|
8
|
+
leading?: ReactNode;
|
|
9
|
+
/** Linha secundária — código, dono, data. Não entra na busca; use `keywords` pra isso. */
|
|
10
|
+
description?: ReactNode;
|
|
11
|
+
/** Termos extras de busca (documento, apelido, id) que não aparecem no rótulo. */
|
|
12
|
+
keywords?: string[];
|
|
13
|
+
/** Agrupa opções sob um cabeçalho (ex.: "Recentes" · "Todos"). */
|
|
14
|
+
group?: string;
|
|
15
|
+
};
|
|
16
|
+
export interface BreadcrumbSwitcherProps {
|
|
17
|
+
/** Registro aberto agora — aparece no caminho e vem marcado na lista. */
|
|
18
|
+
value: string;
|
|
19
|
+
/** Escolher outra opção. Trocar de registro é navegação: o consumidor decide o que fazer. */
|
|
20
|
+
onValueChange: (value: string) => void;
|
|
21
|
+
/** As opções. A busca filtra por `label` + `keywords`. */
|
|
22
|
+
options: BreadcrumbSwitcherOption[];
|
|
23
|
+
/**
|
|
24
|
+
* Texto do gatilho quando `value` não está em `options` — carregando, ou registro que saiu
|
|
25
|
+
* da lista. Sem isso o caminho apareceria vazio, que lê como bug.
|
|
26
|
+
*/
|
|
27
|
+
placeholder?: ReactNode;
|
|
28
|
+
/** Cabeçalho do dropdown ("Trocar cliente"). Omita e o dropdown abre direto na busca. */
|
|
29
|
+
title?: ReactNode;
|
|
30
|
+
searchPlaceholder?: string;
|
|
31
|
+
emptyMessage?: ReactNode;
|
|
32
|
+
/** Rodapé fixo do dropdown — "Ver todos", "Criar novo". Fica fora da área que rola. */
|
|
33
|
+
footer?: ReactNode;
|
|
34
|
+
/** Abertura controlada, pro caso de abrir por atalho de teclado. */
|
|
35
|
+
open?: boolean;
|
|
36
|
+
onOpenChange?: (open: boolean) => void;
|
|
37
|
+
/** Alinhamento do dropdown em relação ao gatilho. @default "start" */
|
|
38
|
+
align?: "start" | "center" | "end";
|
|
39
|
+
/**
|
|
40
|
+
* Rótulo do gatilho pro leitor de tela. Default: `"Trocar registro aberto"` — troque pelo
|
|
41
|
+
* nome do domínio ("Trocar cliente"), que é o que faz sentido pra quem ouve.
|
|
42
|
+
*/
|
|
43
|
+
"aria-label"?: string;
|
|
44
|
+
/** Acompanha o `size` do caminho. @default "md" */
|
|
45
|
+
size?: "sm" | "md";
|
|
46
|
+
disabled?: boolean;
|
|
47
|
+
className?: string;
|
|
48
|
+
contentClassName?: string;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=breadcrumb-switcher.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb-switcher.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Breadcrumb/breadcrumb-switcher.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,wBAAwB,GAAG;IACrC,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,0DAA0D;IAC1D,OAAO,EAAE,wBAAwB,EAAE,CAAC;IAEpC;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,yFAAyF;IACzF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,uFAAuF;IACvF,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,oEAAoE;IACpE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,mDAAmD;IACnD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BreadcrumbProps } from './breadcrumb.types';
|
|
2
|
+
/**
|
|
3
|
+
* `Breadcrumb` — o caminho, nos dois modos que o DS precisa servir.
|
|
4
|
+
*
|
|
5
|
+
* ## Com `items`: dados entram, cadeia sai
|
|
6
|
+
*
|
|
7
|
+
* É o modo de 95% das telas. O componente resolve o que quase todo consumidor reescrevia na
|
|
8
|
+
* unha: último item não é link, separador entre itens, truncagem, e o item que **troca o
|
|
9
|
+
* registro aberto** (`switcher`) — tudo a partir de um array.
|
|
10
|
+
*
|
|
11
|
+
* ## Sem `items`: composição
|
|
12
|
+
*
|
|
13
|
+
* Renderiza `children` direto no primitivo. É a saída pra quem precisa interpor algo no meio
|
|
14
|
+
* do caminho (um `Chip` de ambiente, um ícone) ou estilizar item a item. O primitivo continua
|
|
15
|
+
* existindo em `shadcn/breadcrumb` — este arquivo não o substitui, embrulha.
|
|
16
|
+
*
|
|
17
|
+
* ## Por que os dois no mesmo nome
|
|
18
|
+
*
|
|
19
|
+
* Porque é a mesma peça. Dois componentes fariam a escolha aparecer no catálogo, no menu e no
|
|
20
|
+
* vocabulário — e a pergunta "qual dos dois?" não tem resposta útil: é o mesmo caminho, com e
|
|
21
|
+
* sem dados prontos.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* <Breadcrumb
|
|
25
|
+
* items={[
|
|
26
|
+
* { label: "Clientes", href: "/clientes" },
|
|
27
|
+
* { label: cliente.nome, switcher: clientes, value: id, onValueChange: abrir },
|
|
28
|
+
* ]}
|
|
29
|
+
* />
|
|
30
|
+
*/
|
|
31
|
+
export declare const Breadcrumb: import('react').ForwardRefExoticComponent<BreadcrumbProps & import('react').RefAttributes<HTMLElement>>;
|
|
32
|
+
//# sourceMappingURL=breadcrumb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AAkB9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,UAAU,yGA+ErB,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Estilos do caminho montado por dados (`<Breadcrumb items={…} />`).
|
|
3
|
+
*
|
|
4
|
+
* ## Os dois tamanhos existem porque o DS já tinha dois — medidos, não escolhidos
|
|
5
|
+
*
|
|
6
|
+
* Até esta versão havia DUAS implementações de breadcrumb no repo, com aparências
|
|
7
|
+
* diferentes: o primitivo shadcn (`text-body-md`, 14px) e o do `Header`, que tinha estilo
|
|
8
|
+
* próprio em `header.styles.ts` — 13px na cadeia e 16px/600 quando havia um item só. O mesmo
|
|
9
|
+
* elemento, dois tamanhos, dependendo de onde nascia.
|
|
10
|
+
*
|
|
11
|
+
* Unificar num tamanho só mudaria o visual de 15 telas, e o pedido foi explícito: nada muda de
|
|
12
|
+
* aparência. Então os dois viraram variante — `sm` reproduz o Header (é o que o
|
|
13
|
+
* `HeaderBreadcrumb` usa agora, no lugar do estilo duplicado) e `md` é o do primitivo.
|
|
14
|
+
* Medido antes da troca: gap 6px · cadeia 13px/400 com `fg-muted` e o último em `fg-default`
|
|
15
|
+
* · item único 16px/600.
|
|
16
|
+
*/
|
|
17
|
+
export declare const breadcrumbCaminho: import('tailwind-variants').TVReturnType<{
|
|
18
|
+
size: {
|
|
19
|
+
sm: {
|
|
20
|
+
item: string;
|
|
21
|
+
};
|
|
22
|
+
md: {
|
|
23
|
+
item: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Item único = título da página. O `HeaderBreadcrumb` fazia isso e é o que mantém o Header
|
|
28
|
+
* pixel a pixel: 16px/600 em vez do 13px da cadeia.
|
|
29
|
+
*/
|
|
30
|
+
sozinho: {
|
|
31
|
+
true: {
|
|
32
|
+
item: string;
|
|
33
|
+
};
|
|
34
|
+
false: {};
|
|
35
|
+
};
|
|
36
|
+
atual: {
|
|
37
|
+
true: {
|
|
38
|
+
item: string;
|
|
39
|
+
};
|
|
40
|
+
false: {
|
|
41
|
+
item: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
}, {
|
|
45
|
+
lista: string;
|
|
46
|
+
separador: string;
|
|
47
|
+
item: string;
|
|
48
|
+
}, undefined, {
|
|
49
|
+
size: {
|
|
50
|
+
sm: {
|
|
51
|
+
item: string;
|
|
52
|
+
};
|
|
53
|
+
md: {
|
|
54
|
+
item: string;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Item único = título da página. O `HeaderBreadcrumb` fazia isso e é o que mantém o Header
|
|
59
|
+
* pixel a pixel: 16px/600 em vez do 13px da cadeia.
|
|
60
|
+
*/
|
|
61
|
+
sozinho: {
|
|
62
|
+
true: {
|
|
63
|
+
item: string;
|
|
64
|
+
};
|
|
65
|
+
false: {};
|
|
66
|
+
};
|
|
67
|
+
atual: {
|
|
68
|
+
true: {
|
|
69
|
+
item: string;
|
|
70
|
+
};
|
|
71
|
+
false: {
|
|
72
|
+
item: string;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
}, {
|
|
76
|
+
lista: string;
|
|
77
|
+
separador: string;
|
|
78
|
+
item: string;
|
|
79
|
+
}, import('tailwind-variants').TVReturnType<{
|
|
80
|
+
size: {
|
|
81
|
+
sm: {
|
|
82
|
+
item: string;
|
|
83
|
+
};
|
|
84
|
+
md: {
|
|
85
|
+
item: string;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Item único = título da página. O `HeaderBreadcrumb` fazia isso e é o que mantém o Header
|
|
90
|
+
* pixel a pixel: 16px/600 em vez do 13px da cadeia.
|
|
91
|
+
*/
|
|
92
|
+
sozinho: {
|
|
93
|
+
true: {
|
|
94
|
+
item: string;
|
|
95
|
+
};
|
|
96
|
+
false: {};
|
|
97
|
+
};
|
|
98
|
+
atual: {
|
|
99
|
+
true: {
|
|
100
|
+
item: string;
|
|
101
|
+
};
|
|
102
|
+
false: {
|
|
103
|
+
item: string;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
}, {
|
|
107
|
+
lista: string;
|
|
108
|
+
separador: string;
|
|
109
|
+
item: string;
|
|
110
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
111
|
+
//# sourceMappingURL=breadcrumb.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Breadcrumb/breadcrumb.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;IAY1B;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAHH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAHH;;;OAGG;;;;;;;;;;;;;;;;;;;2CAYL,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, MouseEvent, ReactNode } from 'react';
|
|
2
|
+
import { BreadcrumbSwitcherOption } from './breadcrumb-switcher.types';
|
|
3
|
+
export type BreadcrumbItemData = {
|
|
4
|
+
label: string;
|
|
5
|
+
/** Vira link. O ÚLTIMO item nunca é link — ele é a página atual. */
|
|
6
|
+
href?: string;
|
|
7
|
+
onClick?: (e: MouseEvent<HTMLAnchorElement>) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Torna este item um seletor: o rótulo vira gatilho e abre uma lista com busca pra trocar o
|
|
10
|
+
* registro aberto. Precisa dos três juntos — `switcher`, `value` e `onValueChange`;
|
|
11
|
+
* faltando um, o item renderiza como texto (gatilho que abre lista vazia, ou que não sabe
|
|
12
|
+
* avisar a escolha, é pior que texto).
|
|
13
|
+
*/
|
|
14
|
+
switcher?: BreadcrumbSwitcherOption[];
|
|
15
|
+
value?: string;
|
|
16
|
+
onValueChange?: (value: string) => void;
|
|
17
|
+
switcherTitle?: ReactNode;
|
|
18
|
+
switcherSearchPlaceholder?: string;
|
|
19
|
+
switcherEmptyMessage?: ReactNode;
|
|
20
|
+
switcherFooter?: ReactNode;
|
|
21
|
+
/** Rótulo acessível do gatilho. Default: `"Trocar: <label>"`. */
|
|
22
|
+
switcherAriaLabel?: string;
|
|
23
|
+
};
|
|
24
|
+
export interface BreadcrumbProps extends ComponentPropsWithoutRef<"nav"> {
|
|
25
|
+
/**
|
|
26
|
+
* Monta a cadeia a partir de dados. **Sem isso**, o componente renderiza `children` no
|
|
27
|
+
* primitivo — é o modo de composição, pra quem precisa interpor ou estilizar item a item.
|
|
28
|
+
*/
|
|
29
|
+
items?: BreadcrumbItemData[];
|
|
30
|
+
/**
|
|
31
|
+
* `sm` (13px na cadeia, 16px quando há um item só) é o tamanho do `Header`. `md` (14px) é o
|
|
32
|
+
* do primitivo shadcn. Os dois existem porque o DS já tinha os dois antes desta unificação —
|
|
33
|
+
* ver o cabeçalho de `breadcrumb.styles.ts`.
|
|
34
|
+
* @default "md"
|
|
35
|
+
*/
|
|
36
|
+
size?: "sm" | "md";
|
|
37
|
+
/** Separador custom. Default: `ChevronRight` de 14px. */
|
|
38
|
+
separator?: ReactNode;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=breadcrumb.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Breadcrumb/breadcrumb.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE5E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAErD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACtE;;;OAGG;IACH,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE7B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Breadcrumb — o caminho e as suas variações, num lugar só.
|
|
3
|
+
*
|
|
4
|
+
* Os primitivos (`Breadcrumb`, `BreadcrumbList`, `BreadcrumbItem`, …) continuam morando em
|
|
5
|
+
* `shadcn/breadcrumb.tsx`, que é onde a API padrão do shadcn deve ficar; aqui eles são
|
|
6
|
+
* **re-exportados** junto com o `BreadcrumbSwitcher`. Assim o consumidor importa a peça
|
|
7
|
+
* inteira de um endereço só e não precisa saber que uma metade nasceu no shadcn.
|
|
8
|
+
*
|
|
9
|
+
* ⚠️ O switcher não é "outro componente": é o item do caminho quando ele **troca o registro
|
|
10
|
+
* aberto** em vez de linkar. Manter os dois separados fazia a mesma peça aparecer duas vezes
|
|
11
|
+
* no catálogo, no menu e no vocabulário — foi o que o mantenedor apontou.
|
|
12
|
+
*/
|
|
13
|
+
/** O `Breadcrumb` daqui é o WRAPPER (aceita `items`); o cru continua em `shadcn/breadcrumb`. */
|
|
14
|
+
export { Breadcrumb } from './breadcrumb';
|
|
15
|
+
export { breadcrumbCaminho } from './breadcrumb.styles';
|
|
16
|
+
export type { BreadcrumbProps, BreadcrumbItemData } from './breadcrumb.types';
|
|
17
|
+
export { BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, } from '../../shadcn/breadcrumb';
|
|
18
|
+
export { BreadcrumbSwitcher } from './breadcrumb-switcher';
|
|
19
|
+
export { breadcrumbSwitcher } from './breadcrumb-switcher.styles';
|
|
20
|
+
export type { BreadcrumbSwitcherProps, BreadcrumbSwitcherOption, } from './breadcrumb-switcher.types';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Breadcrumb/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,gGAAgG;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EACV,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
export declare const cellAddonsStyles: import('tailwind-variants').TVReturnType<{
|
|
6
6
|
[key: string]: {
|
|
7
7
|
[key: string]: import('tailwind-merge').ClassNameValue | {
|
|
8
|
-
root?: import('tailwind-merge').ClassNameValue;
|
|
9
8
|
truncate?: import('tailwind-merge').ClassNameValue;
|
|
9
|
+
root?: import('tailwind-merge').ClassNameValue;
|
|
10
10
|
clamp?: import('tailwind-merge').ClassNameValue;
|
|
11
11
|
readMoreBtn?: import('tailwind-merge').ClassNameValue;
|
|
12
12
|
readMorePopover?: import('tailwind-merge').ClassNameValue;
|
|
@@ -16,8 +16,8 @@ export declare const cellAddonsStyles: import('tailwind-variants').TVReturnType<
|
|
|
16
16
|
} | {
|
|
17
17
|
[x: string]: {
|
|
18
18
|
[x: string]: import('tailwind-merge').ClassNameValue | {
|
|
19
|
-
root?: import('tailwind-merge').ClassNameValue;
|
|
20
19
|
truncate?: import('tailwind-merge').ClassNameValue;
|
|
20
|
+
root?: import('tailwind-merge').ClassNameValue;
|
|
21
21
|
clamp?: import('tailwind-merge').ClassNameValue;
|
|
22
22
|
readMoreBtn?: import('tailwind-merge').ClassNameValue;
|
|
23
23
|
readMorePopover?: import('tailwind-merge').ClassNameValue;
|
|
@@ -41,8 +41,8 @@ export declare const cellAddonsStyles: import('tailwind-variants').TVReturnType<
|
|
|
41
41
|
}, undefined, {
|
|
42
42
|
[key: string]: {
|
|
43
43
|
[key: string]: import('tailwind-merge').ClassNameValue | {
|
|
44
|
-
root?: import('tailwind-merge').ClassNameValue;
|
|
45
44
|
truncate?: import('tailwind-merge').ClassNameValue;
|
|
45
|
+
root?: import('tailwind-merge').ClassNameValue;
|
|
46
46
|
clamp?: import('tailwind-merge').ClassNameValue;
|
|
47
47
|
readMoreBtn?: import('tailwind-merge').ClassNameValue;
|
|
48
48
|
readMorePopover?: import('tailwind-merge').ClassNameValue;
|
|
@@ -9,9 +9,19 @@ export type HeaderBreadcrumbProps = {
|
|
|
9
9
|
className?: string;
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
|
-
* Breadcrumb
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* Breadcrumb do Header — hoje é uma casca fina sobre o `<Breadcrumb>` de `ui/`.
|
|
13
|
+
*
|
|
14
|
+
* ## Por que isto encolheu
|
|
15
|
+
*
|
|
16
|
+
* Este arquivo tinha a própria montagem da cadeia E o próprio estilo (`breadcrumbRoot`,
|
|
17
|
+
* `breadcrumbItem`, `breadcrumbSeparator` em `header.styles.ts`), o que fazia o DS ter DOIS
|
|
18
|
+
* breadcrumbs com aparências diferentes: 13px aqui, 14px no primitivo. Quem compunha um
|
|
19
|
+
* caminho fora do Header pegava o outro tamanho sem perceber.
|
|
20
|
+
*
|
|
21
|
+
* Agora a montagem é do componente e o Header só escolhe o tamanho (`size="sm"`, que é
|
|
22
|
+
* exatamente o que estava aqui: 13px na cadeia, 16px/600 quando há um item só) e o
|
|
23
|
+
* comportamento mobile. Medido antes e depois da troca: gap 6px, cadeia 13px/400 com
|
|
24
|
+
* `fg-muted` e o último em `fg-default`, item único 16px/600 — sem desvio.
|
|
15
25
|
*/
|
|
16
26
|
export declare function HeaderBreadcrumb({ items, mobileShowLastOnly, className, }: HeaderBreadcrumbProps): import("react/jsx-runtime").JSX.Element | null;
|
|
17
27
|
//# sourceMappingURL=header-breadcrumb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Header/header-breadcrumb.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"header-breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Header/header-breadcrumb.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,kBAAkB,EAClB,SAAS,GACV,EAAE,qBAAqB,kDA0BvB"}
|
|
@@ -51,39 +51,18 @@ export declare const headerIconBtnBadge: import('tailwind-variants').TVReturnTyp
|
|
|
51
51
|
danger: string;
|
|
52
52
|
};
|
|
53
53
|
}, undefined, "absolute top-[4px] right-[4px] w-[8px] h-[8px] rounded-full ring-2 ring-bg-canvas", unknown, unknown, undefined>>;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
current: {
|
|
67
|
-
true: string;
|
|
68
|
-
false: string;
|
|
69
|
-
};
|
|
70
|
-
/** Quando único item no breadcrumb (= título da página), font-size sobe pra 16px */
|
|
71
|
-
standalone: {
|
|
72
|
-
true: string;
|
|
73
|
-
false: string;
|
|
74
|
-
};
|
|
75
|
-
}, undefined, import('tailwind-variants').TVReturnType<{
|
|
76
|
-
current: {
|
|
77
|
-
true: string;
|
|
78
|
-
false: string;
|
|
79
|
-
};
|
|
80
|
-
/** Quando único item no breadcrumb (= título da página), font-size sobe pra 16px */
|
|
81
|
-
standalone: {
|
|
82
|
-
true: string;
|
|
83
|
-
false: string;
|
|
84
|
-
};
|
|
85
|
-
}, undefined, "font-medium truncate transition-colors leading-none", unknown, unknown, undefined>>;
|
|
86
|
-
export declare const breadcrumbSeparator: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "text-fg-subtle shrink-0", {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "text-fg-subtle shrink-0", unknown, unknown, undefined>>;
|
|
54
|
+
/**
|
|
55
|
+
* ⚠️ `breadcrumbRoot`, `breadcrumbItem` e `breadcrumbSeparator` SAÍRAM daqui.
|
|
56
|
+
*
|
|
57
|
+
* Eram a segunda implementação visual de breadcrumb do DS — 13px na cadeia e 16px em item
|
|
58
|
+
* único, contra os 14px do primitivo — e é por isso que um caminho montado fora do Header
|
|
59
|
+
* saía com outro tamanho. Agora quem desenha é o `<Breadcrumb>` de `ui/Breadcrumb`, e o
|
|
60
|
+
* Header só pede `size="sm"`, que reproduz exatamente estes valores (medido antes e depois:
|
|
61
|
+
* gap 6px · cadeia 13/400 · item único 16/600).
|
|
62
|
+
*
|
|
63
|
+
* Não os traga de volta pra "ajustar o Header": ajuste a variante `sm` no componente, senão
|
|
64
|
+
* a divergência volta.
|
|
65
|
+
*/
|
|
87
66
|
export declare const searchFakeInput: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
|
|
88
67
|
export declare const searchFakeInputIcon: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "size-[14px] text-fg-subtle shrink-0", {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "size-[14px] text-fg-subtle shrink-0", unknown, unknown, undefined>>;
|
|
89
68
|
export declare const searchFakeInputText: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "flex-1 text-left truncate", {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "flex-1 text-left truncate", unknown, unknown, undefined>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Header/header.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,eAAO,MAAM,UAAU,sMAOrB,CAAC;AAEH,eAAO,MAAM,UAAU,8QAErB,CAAC;AAEH,eAAO,MAAM,WAAW,kQAEtB,CAAC;AAEH,eAAO,MAAM,aAAa,8RAExB,CAAC;AAGH;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;qDAcxB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;gIAS7B,CAAC;AAGH
|
|
1
|
+
{"version":3,"file":"header.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Header/header.styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,eAAO,MAAM,UAAU,sMAOrB,CAAC;AAEH,eAAO,MAAM,UAAU,8QAErB,CAAC;AAEH,eAAO,MAAM,WAAW,kQAEtB,CAAC;AAEH,eAAO,MAAM,aAAa,8RAExB,CAAC;AAGH;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;qDAcxB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;gIAS7B,CAAC;AAGH;;;;;;;;;;;GAWG;AAGH,eAAO,MAAM,eAAe,sMAU1B,CAAC;AAEH,eAAO,MAAM,mBAAmB,gQAE9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,4OAE9B,CAAC;AAEH,eAAO,MAAM,kBAAkB,sMAO7B,CAAC;AAGH;;;GAGG;AACH,eAAO,MAAM,MAAM,kOAEjB,CAAC;AAEH,eAAO,MAAM,UAAU,sMAarB,CAAC;AAEH,eAAO,MAAM,KAAK,sVAEhB,CAAC;AAEH,eAAO,MAAM,QAAQ,4PAEnB,CAAC;AAEH,eAAO,MAAM,OAAO,sUAElB,CAAC;AAEH,eAAO,MAAM,YAAY,sMAMvB,CAAC;AAEH,eAAO,MAAM,eAAe,gPAE1B,CAAC;AAGH,eAAO,MAAM,QAAQ,sMAQnB,CAAC;AAEH,eAAO,MAAM,YAAY,8PAEvB,CAAC;AAEH,eAAO,MAAM,aAAa,waAExB,CAAC;AAGH,eAAO,MAAM,MAAM,8TAEjB,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;qDAehB,CAAC;AAEH,eAAO,MAAM,UAAU,4RAErB,CAAC;AAGH,eAAO,MAAM,MAAM,kSAEjB,CAAC;AAGH,eAAO,MAAM,OAAO,oVAElB,CAAC;AAEH,eAAO,MAAM,WAAW,kNAEtB,CAAC;AAGH,eAAO,MAAM,OAAO,sMAQlB,CAAC;AAEH,eAAO,MAAM,WAAW,oUAEtB,CAAC;AAEH,eAAO,MAAM,WAAW,wQAEtB,CAAC;AAEH,eAAO,MAAM,YAAY,0SAEvB,CAAC;AAEH,eAAO,MAAM,WAAW,0TAEtB,CAAC;AAEH,eAAO,MAAM,WAAW,sPAEtB,CAAC;AAEH,eAAO,MAAM,UAAU,gTAErB,CAAC;AAGH,eAAO,MAAM,KAAK,sMAQhB,CAAC;AAEH,eAAO,MAAM,WAAW,sMAKtB,CAAC;AAEH,eAAO,MAAM,SAAS,wQAEpB,CAAC;AAEH,eAAO,MAAM,QAAQ,gRAEnB,CAAC;AAEH,eAAO,MAAM,SAAS,gSAEpB,CAAC;AAEH,eAAO,MAAM,SAAS,wQAEpB,CAAC;AAEH,eAAO,MAAM,eAAe,gPAE1B,CAAC;AAEH,eAAO,MAAM,YAAY,sTAEvB,CAAC;AAEH,eAAO,MAAM,QAAQ,4RAEnB,CAAC;AAGH,eAAO,MAAM,QAAQ,kTAEnB,CAAC;AAEH,eAAO,MAAM,YAAY,sMASvB,CAAC"}
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
import { ReactNode, MouseEvent } from 'react';
|
|
2
2
|
import { LucideIcon } from '../../../lib/lucide-types';
|
|
3
|
+
import { BreadcrumbSwitcherOption } from '../Breadcrumb';
|
|
3
4
|
export type HeaderBreadcrumbItem = {
|
|
4
5
|
label: string;
|
|
5
6
|
/** Quando presente, vira link clicável. Último item da array nunca é link (página atual). */
|
|
6
7
|
href?: string;
|
|
7
8
|
onClick?: (e: MouseEvent<HTMLAnchorElement | HTMLButtonElement>) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Torna ESTE item um seletor: o rótulo vira gatilho e abre uma lista com busca pra trocar o
|
|
11
|
+
* registro aberto (o padrão do seletor de repositório do GitHub). Precisa dos três juntos —
|
|
12
|
+
* `switcher`, `value` e `onValueChange`; faltando algum, o item renderiza como texto normal.
|
|
13
|
+
*
|
|
14
|
+
* Serve pro item de detalhe ("Clientes / **Maria Silva**"): quem está numa ficha
|
|
15
|
+
* normalmente quer pular pra outra, não voltar à lista e procurar de novo.
|
|
16
|
+
*/
|
|
17
|
+
switcher?: BreadcrumbSwitcherOption[];
|
|
18
|
+
/** Registro aberto, quando `switcher` está presente. */
|
|
19
|
+
value?: string;
|
|
20
|
+
onValueChange?: (value: string) => void;
|
|
21
|
+
/** Repassados ao dropdown do seletor. */
|
|
22
|
+
switcherTitle?: ReactNode;
|
|
23
|
+
switcherSearchPlaceholder?: string;
|
|
24
|
+
switcherFooter?: ReactNode;
|
|
8
25
|
};
|
|
9
26
|
export type HeaderCommandItem = {
|
|
10
27
|
/** Identificador único pra busca/filtro */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Header/header.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"header.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Header/header.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { TabsNavigation, TabsNavigationRoot, TabsNavigationTab, TabsNavigationTitle, TabsNavigationSubtitle, TabsNavigationAction, TabsNavigationActions, TabsNavigationPanel, } from './tabs-navigation';
|
|
2
|
+
export { TabsNavigationContext, type TabsNavigationContexto } from './tabs-navigation-context';
|
|
3
|
+
export { tabsNavigationRoot, tabsNavigationTrilho, tabsNavigationTab, tabsNavigationDivisoria, tabsNavigationControles, tabsNavigationAcao, tabsNavigationAcoes, tabsNavigationStatus, type TabsNavigationVariantProps, } from './tabs-navigation.styles';
|
|
4
|
+
export type { TabsNavigationProps, TabsNavigationTabProps, TabsNavigationPanelProps, TabsNavigationSurface, TabsNavigationDensity, TabsNavigationStatus, } from './tabs-navigation.types';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/TabsNavigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,0BAA0B,GAChC,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TabsNavigationDensity, TabsNavigationSurface } from './tabs-navigation.types';
|
|
2
|
+
/**
|
|
3
|
+
* Contexto em arquivo próprio pelo mesmo motivo do `AvatarGroup`: `tabs-navigation.tsx` define a raiz
|
|
4
|
+
* E a aba, e a aba precisa ler o que a raiz decidiu (`density`, `fill`, `surface`, qual está
|
|
5
|
+
* ativa). Com o contexto dentro do mesmo módulo isso é trivial, mas quem quisesse importar só
|
|
6
|
+
* a aba puxaria a raiz junto — e no copy-in o arquivo viaja inteiro.
|
|
7
|
+
*/
|
|
8
|
+
export interface TabsNavigationContexto {
|
|
9
|
+
value: string;
|
|
10
|
+
onValueChange: (value: string) => void;
|
|
11
|
+
surface: TabsNavigationSurface;
|
|
12
|
+
density: TabsNavigationDensity;
|
|
13
|
+
fill: boolean;
|
|
14
|
+
actionsMode: "hover" | "persistent";
|
|
15
|
+
/** Registrado pela raiz pra o `Panel` saber o `id` da aba que o rotula. */
|
|
16
|
+
idTab: (value: string) => string;
|
|
17
|
+
}
|
|
18
|
+
export declare const TabsNavigationContext: import('react').Context<TabsNavigationContexto | null>;
|
|
19
|
+
//# sourceMappingURL=tabs-navigation-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-navigation-context.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/TabsNavigation/tabs-navigation-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,GAAG,YAAY,CAAC;IACpC,2EAA2E;IAC3E,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,qBAAqB,wDAAqD,CAAC"}
|