@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.
Files changed (87) hide show
  1. package/dist-lib/chunks/{avatar-DAmZ7fBZ.cjs → avatar-CMWPg3A3.cjs} +157 -70
  2. package/dist-lib/chunks/avatar-CMWPg3A3.cjs.map +1 -0
  3. package/dist-lib/chunks/{avatar-FPbG1TRy.mjs → avatar-CZRLkTxt.mjs} +214 -127
  4. package/dist-lib/chunks/avatar-CZRLkTxt.mjs.map +1 -0
  5. package/dist-lib/chunks/{input-tjIT8HNE.mjs → input-BQABJR2N.mjs} +2 -2
  6. package/dist-lib/chunks/{input-tjIT8HNE.mjs.map → input-BQABJR2N.mjs.map} +1 -1
  7. package/dist-lib/chunks/{input-Ci_2-5Te.cjs → input-DqaLFxER.cjs} +2 -2
  8. package/dist-lib/chunks/{input-Ci_2-5Te.cjs.map → input-DqaLFxER.cjs.map} +1 -1
  9. package/dist-lib/chunks/{kpi-delta-BRTgTaO1.mjs → kpi-delta-Bfs_oVpq.mjs} +3 -3
  10. package/dist-lib/chunks/{kpi-delta-BRTgTaO1.mjs.map → kpi-delta-Bfs_oVpq.mjs.map} +1 -1
  11. package/dist-lib/chunks/{kpi-delta-1-gsPFvU.cjs → kpi-delta-wEzw5zSu.cjs} +3 -3
  12. package/dist-lib/chunks/{kpi-delta-1-gsPFvU.cjs.map → kpi-delta-wEzw5zSu.cjs.map} +1 -1
  13. package/dist-lib/chunks/{page-header-DrKDiVFN.cjs → page-header-sValhWca.cjs} +2 -2
  14. package/dist-lib/chunks/{page-header-DrKDiVFN.cjs.map → page-header-sValhWca.cjs.map} +1 -1
  15. package/dist-lib/chunks/{page-header-DdWp9c-r.mjs → page-header-t5hFIp7o.mjs} +2 -2
  16. package/dist-lib/chunks/{page-header-DdWp9c-r.mjs.map → page-header-t5hFIp7o.mjs.map} +1 -1
  17. package/dist-lib/chunks/{panel-DsOKm4Im.mjs → panel-C3puLY_V.mjs} +5 -5
  18. package/dist-lib/chunks/{panel-DsOKm4Im.mjs.map → panel-C3puLY_V.mjs.map} +1 -1
  19. package/dist-lib/chunks/{panel-CTbiCa0_.cjs → panel-DmnK2n5_.cjs} +5 -5
  20. package/dist-lib/chunks/{panel-CTbiCa0_.cjs.map → panel-DmnK2n5_.cjs.map} +1 -1
  21. package/dist-lib/chunks/{sheet-DIpYkRYS.mjs → sheet-Bjjo4ZaT.mjs} +2 -2
  22. package/dist-lib/chunks/{sheet-DIpYkRYS.mjs.map → sheet-Bjjo4ZaT.mjs.map} +1 -1
  23. package/dist-lib/chunks/{sheet-rg6uupt1.cjs → sheet-BrYriaDN.cjs} +2 -2
  24. package/dist-lib/chunks/{sheet-rg6uupt1.cjs.map → sheet-BrYriaDN.cjs.map} +1 -1
  25. package/dist-lib/chunks/{toggle-group-C9rrkkmh.cjs → toggle-group-DeoBmogo.cjs} +24 -111
  26. package/dist-lib/chunks/toggle-group-DeoBmogo.cjs.map +1 -0
  27. package/dist-lib/chunks/{toggle-group-mXbG8_Jm.mjs → toggle-group-XMgZgL-H.mjs} +111 -198
  28. package/dist-lib/chunks/toggle-group-XMgZgL-H.mjs.map +1 -0
  29. package/dist-lib/chunks/{useTheme-Dh3POjCr.cjs → useTheme-BTjHuaT2.cjs} +225 -84
  30. package/dist-lib/chunks/useTheme-BTjHuaT2.cjs.map +1 -0
  31. package/dist-lib/chunks/{useTheme-Bk8AYqLr.mjs → useTheme-caPM-I73.mjs} +267 -126
  32. package/dist-lib/chunks/useTheme-caPM-I73.mjs.map +1 -0
  33. package/dist-lib/index.cjs +647 -8
  34. package/dist-lib/index.cjs.map +1 -1
  35. package/dist-lib/index.mjs +1041 -402
  36. package/dist-lib/index.mjs.map +1 -1
  37. package/dist-lib/preview/chat.cjs +3 -3
  38. package/dist-lib/preview/chat.mjs +3 -3
  39. package/dist-lib/preview/clientes.cjs +6 -6
  40. package/dist-lib/preview/clientes.mjs +6 -6
  41. package/dist-lib/preview/dashboard.cjs +4 -4
  42. package/dist-lib/preview/dashboard.mjs +4 -4
  43. package/dist-lib/shadcn.cjs +11 -11
  44. package/dist-lib/shadcn.mjs +153 -153
  45. package/dist-lib/src/components/index.d.ts +2 -0
  46. package/dist-lib/src/components/index.d.ts.map +1 -1
  47. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.d.ts +35 -0
  48. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.d.ts.map +1 -0
  49. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.styles.d.ts +94 -0
  50. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.styles.d.ts.map +1 -0
  51. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.types.d.ts +50 -0
  52. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb-switcher.types.d.ts.map +1 -0
  53. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.d.ts +32 -0
  54. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.d.ts.map +1 -0
  55. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.styles.d.ts +111 -0
  56. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.styles.d.ts.map +1 -0
  57. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.types.d.ts +40 -0
  58. package/dist-lib/src/components/ui/Breadcrumb/breadcrumb.types.d.ts.map +1 -0
  59. package/dist-lib/src/components/ui/Breadcrumb/index.d.ts +21 -0
  60. package/dist-lib/src/components/ui/Breadcrumb/index.d.ts.map +1 -0
  61. package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.styles.d.ts +3 -3
  62. package/dist-lib/src/components/ui/Header/header-breadcrumb.d.ts +13 -3
  63. package/dist-lib/src/components/ui/Header/header-breadcrumb.d.ts.map +1 -1
  64. package/dist-lib/src/components/ui/Header/header.styles.d.ts +12 -33
  65. package/dist-lib/src/components/ui/Header/header.styles.d.ts.map +1 -1
  66. package/dist-lib/src/components/ui/Header/header.types.d.ts +17 -0
  67. package/dist-lib/src/components/ui/Header/header.types.d.ts.map +1 -1
  68. package/dist-lib/src/components/ui/TabsNavigation/index.d.ts +5 -0
  69. package/dist-lib/src/components/ui/TabsNavigation/index.d.ts.map +1 -0
  70. package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation-context.d.ts +19 -0
  71. package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation-context.d.ts.map +1 -0
  72. package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.d.ts +84 -0
  73. package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.d.ts.map +1 -0
  74. package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.styles.d.ts +393 -0
  75. package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.styles.d.ts.map +1 -0
  76. package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.types.d.ts +99 -0
  77. package/dist-lib/src/components/ui/TabsNavigation/tabs-navigation.types.d.ts.map +1 -0
  78. package/dist-lib/src/components/ui/TabsNavigation/use-arrastar-para-rolar.d.ts +26 -0
  79. package/dist-lib/src/components/ui/TabsNavigation/use-arrastar-para-rolar.d.ts.map +1 -0
  80. package/dist-lib/theme.css +15 -0
  81. package/package.json +1 -1
  82. package/dist-lib/chunks/avatar-DAmZ7fBZ.cjs.map +0 -1
  83. package/dist-lib/chunks/avatar-FPbG1TRy.mjs.map +0 -1
  84. package/dist-lib/chunks/toggle-group-C9rrkkmh.cjs.map +0 -1
  85. package/dist-lib/chunks/toggle-group-mXbG8_Jm.mjs.map +0 -1
  86. package/dist-lib/chunks/useTheme-Bk8AYqLr.mjs.map +0 -1
  87. 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 / titleauto-renderiza como string única quando 1 item,
13
- * ou como cadeia "Item / Item / Item" quando 2+. Último item nunca é link
14
- * (representa página atual).
12
+ * Breadcrumb do Headerhoje é 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":"AAQA,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;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,kBAAkB,EAClB,SAAS,GACV,EAAE,qBAAqB,kDA+EvB"}
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
- export declare const breadcrumbRoot: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "flex items-center gap-gp-sm min-w-0", {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "flex items-center gap-gp-sm min-w-0", unknown, unknown, undefined>>;
55
- export declare const breadcrumbItem: import('tailwind-variants').TVReturnType<{
56
- current: {
57
- true: string;
58
- false: string;
59
- };
60
- /** Quando único item no breadcrumb (= título da página), font-size sobe pra 16px */
61
- standalone: {
62
- true: string;
63
- false: string;
64
- };
65
- }, undefined, "font-medium truncate transition-colors leading-none", {
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 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,eAAO,MAAM,cAAc,gQAEzB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;IAOvB,oFAAoF;;;;;;;;;;IAApF,oFAAoF;;;;;;;;;;IAApF,oFAAoF;;;;;kGAOtF,CAAC;AAEH,eAAO,MAAM,mBAAmB,wOAE9B,CAAC;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
+ {"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":"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"}
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;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAI3E,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAEzE;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACtC,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yCAAyC;IACzC,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2CAA2C;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B,CAAC;AAIF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,uFAAuF;IACvF,OAAO,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACrC,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gEAAgE;IAChE,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AAIF,MAAM,MAAM,WAAW,GAAG;IACxB,kCAAkC;IAClC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAEnC,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,yDAAyD;IACzD,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qHAAqH;IACrH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,sDAAsD;IACtD,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAE1C,iDAAiD;IACjD,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAEhC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEnC,qEAAqE;IACrE,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -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"}