@gyramais/gyra-design 0.2.48 → 0.2.50
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/components/Button/Button.d.ts +7 -0
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Card/Card.d.ts +1 -7
- package/dist/components/Card/index.js +6 -6
- package/dist/components/Card/index.js.map +1 -1
- package/dist/components/ContextMenu/index.js +1 -1
- package/dist/components/ContextMenu/index.js.map +1 -1
- package/dist/components/Drawer/Drawer.d.ts +25 -1
- package/dist/components/Drawer/index.js +7 -7
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/DropdownMenu/index.js +1 -1
- package/dist/components/DropdownMenu/index.js.map +1 -1
- package/dist/components/Empty/Empty.d.ts +1 -18
- package/dist/components/Empty/index.js +40 -2
- package/dist/components/Empty/index.js.map +1 -1
- package/dist/components/Filter/index.js.map +1 -1
- package/dist/components/FloatingCard/index.js +7 -7
- package/dist/components/FloatingCard/index.js.map +1 -1
- package/dist/components/List/index.js +40 -2
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Modal/Modal.d.ts +11 -1
- package/dist/components/Modal/index.js +9 -9
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/MultiSelectPicker/index.js +1 -1
- package/dist/components/MultiSelectPicker/index.js.map +1 -1
- package/dist/components/OperatorPicker/index.js +1 -1
- package/dist/components/OperatorPicker/index.js.map +1 -1
- package/dist/components/PickerPopover/index.js +1 -1
- package/dist/components/PickerPopover/index.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +18 -1
- package/dist/components/Popover/index.js +1 -1
- package/dist/components/Popover/index.js.map +1 -1
- package/dist/components/Rail/Rail.d.ts +68 -0
- package/dist/components/Rail/RailGate.d.ts +22 -0
- package/dist/components/Rail/RailInlineSelect.d.ts +44 -0
- package/dist/components/Rail/RailMini.d.ts +29 -0
- package/dist/components/Rail/RailStep.d.ts +40 -0
- package/dist/components/Rail/index.d.ts +7 -0
- package/dist/components/Rail/index.js +45 -0
- package/dist/components/Rail/index.js.map +1 -0
- package/dist/components/Rail/labels.d.ts +54 -0
- package/dist/components/Rail/types.d.ts +110 -0
- package/dist/components/RuleSearchPicker/index.js +1 -1
- package/dist/components/RuleSearchPicker/index.js.map +1 -1
- package/dist/components/SegmentedPicker/SegmentedPicker.d.ts +7 -1
- package/dist/components/SegmentedPicker/index.js +2 -2
- package/dist/components/SegmentedPicker/index.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +7 -1
- package/dist/components/Switch/index.js +1 -1
- package/dist/components/Switch/index.js.map +1 -1
- package/dist/components/Table/Table.d.ts +1 -14
- package/dist/components/Table/index.js +40 -2
- package/dist/components/Table/index.js.map +1 -1
- package/dist/emails/balance-sheet-finalized/components/Button/Button.d.ts +7 -0
- package/dist/emails/balance-sheet-finalized/components/Card/Card.d.ts +1 -7
- package/dist/emails/balance-sheet-finalized/components/Drawer/Drawer.d.ts +25 -1
- package/dist/emails/balance-sheet-finalized/components/Empty/Empty.d.ts +1 -18
- package/dist/emails/balance-sheet-finalized/components/Modal/Modal.d.ts +11 -1
- package/dist/emails/balance-sheet-finalized/components/Popover/Popover.d.ts +18 -1
- package/dist/emails/balance-sheet-finalized/components/Rail/Rail.d.ts +68 -0
- package/dist/emails/balance-sheet-finalized/components/Rail/RailGate.d.ts +22 -0
- package/dist/emails/balance-sheet-finalized/components/Rail/RailInlineSelect.d.ts +44 -0
- package/dist/emails/balance-sheet-finalized/components/Rail/RailMini.d.ts +29 -0
- package/dist/emails/balance-sheet-finalized/components/Rail/RailStep.d.ts +40 -0
- package/dist/emails/balance-sheet-finalized/components/Rail/index.d.ts +7 -0
- package/dist/emails/balance-sheet-finalized/components/Rail/labels.d.ts +54 -0
- package/dist/emails/balance-sheet-finalized/components/Rail/types.d.ts +110 -0
- package/dist/emails/balance-sheet-finalized/components/SegmentedPicker/SegmentedPicker.d.ts +7 -1
- package/dist/emails/balance-sheet-finalized/components/Switch/Switch.d.ts +7 -1
- package/dist/emails/balance-sheet-finalized/components/Table/Table.d.ts +1 -14
- package/dist/emails/balance-sheet-finalized/index.d.ts +1 -1
- package/dist/emails/email/components/Button/Button.d.ts +7 -0
- package/dist/emails/email/components/Card/Card.d.ts +1 -7
- package/dist/emails/email/components/Drawer/Drawer.d.ts +25 -1
- package/dist/emails/email/components/Empty/Empty.d.ts +1 -18
- package/dist/emails/email/components/Modal/Modal.d.ts +11 -1
- package/dist/emails/email/components/Popover/Popover.d.ts +18 -1
- package/dist/emails/email/components/Rail/Rail.d.ts +68 -0
- package/dist/emails/email/components/Rail/RailGate.d.ts +22 -0
- package/dist/emails/email/components/Rail/RailInlineSelect.d.ts +44 -0
- package/dist/emails/email/components/Rail/RailMini.d.ts +29 -0
- package/dist/emails/email/components/Rail/RailStep.d.ts +40 -0
- package/dist/emails/email/components/Rail/index.d.ts +7 -0
- package/dist/emails/email/components/Rail/labels.d.ts +54 -0
- package/dist/emails/email/components/Rail/types.d.ts +110 -0
- package/dist/emails/email/components/SegmentedPicker/SegmentedPicker.d.ts +7 -1
- package/dist/emails/email/components/Switch/Switch.d.ts +7 -1
- package/dist/emails/email/components/Table/Table.d.ts +1 -14
- package/dist/emails/email/index.d.ts +1 -1
- package/dist/index.css +1187 -313
- package/package.json +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +0 -50
- package/dist/components/Skeleton/index.d.ts +0 -1
- package/dist/components/Skeleton/index.js +0 -7
- package/dist/components/Skeleton/index.js.map +0 -1
- package/dist/emails/balance-sheet-finalized/components/Skeleton/Skeleton.d.ts +0 -50
- package/dist/emails/balance-sheet-finalized/components/Skeleton/index.d.ts +0 -1
- package/dist/emails/email/components/Skeleton/Skeleton.d.ts +0 -50
- package/dist/emails/email/components/Skeleton/index.d.ts +0 -1
|
@@ -12,6 +12,13 @@ export type ButtonProps = {
|
|
|
12
12
|
loading?: boolean;
|
|
13
13
|
icon?: React.ReactNode;
|
|
14
14
|
fab?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Nome do botao. Botao SO de icone nao tem texto para o leitor de tela
|
|
17
|
+
* anunciar nem dica para o mouse: sem um destes dois, ele e anunciado como
|
|
18
|
+
* "botao" e nada mais. Os dois chegam ao `<button>` pelo spread.
|
|
19
|
+
*/
|
|
20
|
+
title?: string;
|
|
21
|
+
"aria-label"?: string;
|
|
15
22
|
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
16
23
|
children?: React.ReactNode;
|
|
17
24
|
};
|
|
@@ -15,12 +15,6 @@ type CardProps = {
|
|
|
15
15
|
media?: React.ReactNode;
|
|
16
16
|
disabled?: boolean;
|
|
17
17
|
loading?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Placeholder exibido no lugar do conteudo enquanto `loading`. O padrao e um
|
|
20
|
-
* skeleton de linhas de texto; passe um skeleton com a forma do conteudo real
|
|
21
|
-
* (grafico, tabela, lista) quando isso ajudar a evitar o pulo de layout.
|
|
22
|
-
*/
|
|
23
|
-
loadingContent?: React.ReactNode;
|
|
24
18
|
collapsible?: boolean;
|
|
25
19
|
defaultCollapsed?: boolean;
|
|
26
20
|
collapsed?: boolean;
|
|
@@ -29,5 +23,5 @@ type CardProps = {
|
|
|
29
23
|
headerContent?: React.ReactNode;
|
|
30
24
|
children?: React.ReactNode;
|
|
31
25
|
};
|
|
32
|
-
declare const Card: ({ id, type, className, title, subtitle, media, disabled, loading,
|
|
26
|
+
declare const Card: ({ id, type, className, title, subtitle, media, disabled, loading, collapsible, defaultCollapsed, collapsed, onCollapse, onClick, headerContent, children, }: CardProps) => React.JSX.Element;
|
|
33
27
|
export { Card };
|
|
@@ -10,7 +10,31 @@ type DrawerProps = {
|
|
|
10
10
|
onClose?: () => void;
|
|
11
11
|
direction?: "left" | "top" | "right" | "bottom";
|
|
12
12
|
width?: number | string;
|
|
13
|
+
/**
|
|
14
|
+
* Escape fecha a gaveta (chama `onClose`). Default: true. Nao vale quando
|
|
15
|
+
* `closable` e false. Um Escape que outra camada ja consumiu (menu de
|
|
16
|
+
* Select, Popover, SegmentedPicker, Modal) nao chega aqui: cada camada
|
|
17
|
+
* fecha a sua e a gaveta fica.
|
|
18
|
+
*/
|
|
19
|
+
closeOnEscape?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Prende o Tab dentro do painel enquanto a gaveta esta aberta. Default:
|
|
22
|
+
* true. Conteudo portalado para o `body` (menu do Select, Popover,
|
|
23
|
+
* SegmentedPicker, Modal, outra gaveta) continua alcancavel: o trap so
|
|
24
|
+
* age quando o foco esta no painel ou na borda de um desses portais.
|
|
25
|
+
*/
|
|
26
|
+
trapFocus?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Ao abrir, move o foco para dentro do painel (o proprio painel, ou
|
|
29
|
+
* `initialFocusRef`) e o devolve a quem o tinha ao fechar. Default: true.
|
|
30
|
+
*/
|
|
31
|
+
autoFocus?: boolean;
|
|
32
|
+
/** Elemento que recebe o foco inicial em vez do painel. */
|
|
33
|
+
initialFocusRef?: React.RefObject<HTMLElement>;
|
|
34
|
+
/** Rotulo acessivel quando `title` nao e texto ou nao existe. */
|
|
35
|
+
ariaLabel?: string;
|
|
13
36
|
children?: React.ReactNode;
|
|
14
37
|
};
|
|
15
|
-
declare const Drawer: ({ className, title, subtitle, footer, visible, closable, onClose, direction, width, children, }: DrawerProps) => React.JSX.Element;
|
|
38
|
+
declare const Drawer: ({ className, title, subtitle, footer, visible, closable, onClose, direction, width, closeOnEscape, trapFocus, autoFocus, initialFocusRef, ariaLabel, children, }: DrawerProps) => React.JSX.Element;
|
|
16
39
|
export { Drawer };
|
|
40
|
+
export type { DrawerProps };
|
|
@@ -3,25 +3,8 @@ import "./index.css";
|
|
|
3
3
|
type EmptyProps = {
|
|
4
4
|
id?: string;
|
|
5
5
|
className?: string;
|
|
6
|
-
/**
|
|
7
|
-
* Ilustracao opcional. Use SO em zero state de pagina ou area inteira, do
|
|
8
|
-
* tipo "primeiro uso, ainda nao ha nada aqui", onde ela vem acompanhada de
|
|
9
|
-
* um titulo e de uma acao.
|
|
10
|
-
*
|
|
11
|
-
* Dentro de card ou de tabela de seção o padrao e' texto puro, sem grafico:
|
|
12
|
-
* a mesma ilustracao repetida dezenas de vezes na mesma pagina vira ruido e
|
|
13
|
-
* compete com o dado que importa. E' o que Stripe e Linear fazem em tabela.
|
|
14
|
-
*/
|
|
15
6
|
icon?: React.ReactNode;
|
|
16
7
|
text?: string;
|
|
17
8
|
};
|
|
18
|
-
|
|
19
|
-
* Estado vazio: diz que nao ha nada ali, sem roubar a atencao do que ha.
|
|
20
|
-
*
|
|
21
|
-
* Discreto de proposito, em texto secundario. Uma lista vazia raramente e' o
|
|
22
|
-
* assunto da tela, e num relatorio de credito ela costuma ate ser boa noticia
|
|
23
|
-
* ("nenhuma sanção encontrada"), entao nao deve parecer erro nem falha de
|
|
24
|
-
* carregamento.
|
|
25
|
-
*/
|
|
26
|
-
declare const Empty: ({ id, className, icon, text }: EmptyProps) => React.JSX.Element;
|
|
9
|
+
declare const Empty: ({ id, className, icon, text, }: EmptyProps) => React.JSX.Element;
|
|
27
10
|
export { Empty };
|
|
@@ -19,7 +19,17 @@ type ModalProps = {
|
|
|
19
19
|
};
|
|
20
20
|
onClose?: () => void;
|
|
21
21
|
width?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Escape fecha o modal (chama `onClose`). Default: true. Nao vale com
|
|
24
|
+
* `loading`. As camadas descascam uma por vez: com a lista de um Select,
|
|
25
|
+
* um Popover ou qualquer gatilho `aria-expanded` aberto dentro do modal,
|
|
26
|
+
* o Escape e dessa camada e o modal fica; o Escape seguinte fecha o modal.
|
|
27
|
+
*/
|
|
28
|
+
closeOnEscape?: boolean;
|
|
29
|
+
/** Rotulo acessivel quando `title` nao e texto ou nao existe. */
|
|
30
|
+
ariaLabel?: string;
|
|
22
31
|
children?: React.ReactNode;
|
|
23
32
|
};
|
|
24
|
-
declare const Modal: ({ className, title, subtitle, footer, visible, loading, okButton, cancelButton, onClose, width, children, }: ModalProps) => React.JSX.Element;
|
|
33
|
+
declare const Modal: ({ className, title, subtitle, footer, visible, loading, okButton, cancelButton, onClose, width, closeOnEscape, ariaLabel, children, }: ModalProps) => React.JSX.Element;
|
|
25
34
|
export { Modal };
|
|
35
|
+
export type { ModalProps };
|
|
@@ -6,11 +6,28 @@ type PopoverProps = {
|
|
|
6
6
|
align?: "start" | "center" | "end";
|
|
7
7
|
side?: "top" | "right" | "bottom" | "left";
|
|
8
8
|
sideOffset?: number;
|
|
9
|
+
/** Folga minima entre o popover e a borda da janela. Default: 8. */
|
|
10
|
+
collisionPadding?: number;
|
|
9
11
|
visible?: boolean;
|
|
10
12
|
content: React.ReactNode;
|
|
11
13
|
children?: React.ReactNode;
|
|
12
14
|
onPointerDownOutside?: () => void;
|
|
13
15
|
onOpenAutoFocus?: (event: Event) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Avisa que o Radix quer abrir/fechar (clique no gatilho, clique fora,
|
|
18
|
+
* Escape). Sem isto, `visible` controlado nao tem como reagir ao Escape:
|
|
19
|
+
* o Radix fecha no vazio. Quem ja alterna `visible` no onClick do gatilho
|
|
20
|
+
* deve preferir `onEscapeKeyDown`, senao o clique alterna duas vezes.
|
|
21
|
+
*/
|
|
22
|
+
onOpenChange?: (open: boolean) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Escape com o foco dentro do conteudo. O evento chega ja consumido pelo
|
|
25
|
+
* Radix (`defaultPrevented`), entao uma gaveta ou modal por baixo nao
|
|
26
|
+
* fecha junto. Feche o `visible` aqui; o foco volta ao gatilho sozinho.
|
|
27
|
+
*/
|
|
28
|
+
onEscapeKeyDown?: (event: KeyboardEvent) => void;
|
|
29
|
+
/** Ao fechar, antes de o foco voltar ao gatilho. `preventDefault` cancela a volta. */
|
|
30
|
+
onCloseAutoFocus?: (event: Event) => void;
|
|
14
31
|
};
|
|
15
|
-
declare const Popover: ({ id, className, align, side, sideOffset, visible, content, children, onPointerDownOutside, onOpenAutoFocus, }: PopoverProps) => React.JSX.Element;
|
|
32
|
+
declare const Popover: ({ id, className, align, side, sideOffset, collisionPadding, visible, content, children, onPointerDownOutside, onOpenAutoFocus, onOpenChange, onEscapeKeyDown, onCloseAutoFocus, }: PopoverProps) => React.JSX.Element;
|
|
16
33
|
export { Popover };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.css";
|
|
3
|
+
import type { RailGateCondition, RailLeaf, RailMode, RailStepData } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
* Rail, a esteira Gyra+: uma lista ordenada e vertical de etapas, com um
|
|
6
|
+
* conector condicional entre elas.
|
|
7
|
+
*
|
|
8
|
+
* Uma linha, nao um grafo: le de cima para baixo na mesma ordem em que a
|
|
9
|
+
* decisao acontece. A referencia e o Atalhos da Apple, nao um editor de
|
|
10
|
+
* diagramas. O rail e a unica fonte de verdade da esteira na UI: a primeira
|
|
11
|
+
* etapa de Analise E a politica principal, e o conector acima de cada etapa
|
|
12
|
+
* E a condicao para ela rodar. Nao existe conector acima da primeira etapa.
|
|
13
|
+
*
|
|
14
|
+
* Dois modos, uma arvore so:
|
|
15
|
+
* - `edit`: inserir etapa entre etapas, trocar a condicao do conector,
|
|
16
|
+
* reordenar.
|
|
17
|
+
* - `run`: a mesma linha com estado por etapa. Etapa que nao disparou fica
|
|
18
|
+
* translucida com o motivo a vista.
|
|
19
|
+
*
|
|
20
|
+
* Teclado: a esteira e UM ponto de tabulacao (roving tabindex). Setas
|
|
21
|
+
* cima/baixo andam entre etapas, Home/End vao para a primeira/ultima, e
|
|
22
|
+
* Alt+setas reordenam no modo edit. Todo controle dentro da etapa (conector,
|
|
23
|
+
* abrir relatorio, remover, folhas) e um botao ou link de verdade.
|
|
24
|
+
*/
|
|
25
|
+
type RailProps = {
|
|
26
|
+
id?: string;
|
|
27
|
+
className?: string;
|
|
28
|
+
/** Default: "edit". */
|
|
29
|
+
mode?: RailMode;
|
|
30
|
+
steps: Array<RailStepData>;
|
|
31
|
+
/** Rotulo acessivel da lista. Default: "Esteira". */
|
|
32
|
+
ariaLabel?: string;
|
|
33
|
+
/** Etapa em foco na execucao ao vivo (modo run). */
|
|
34
|
+
activeStepId?: string;
|
|
35
|
+
/** Etapa selecionada no construtor (modo edit). */
|
|
36
|
+
selectedStepId?: string;
|
|
37
|
+
/** Condicoes oferecidas nos conectores. Default: as quatro. */
|
|
38
|
+
gateOptions?: Array<RailGateCondition>;
|
|
39
|
+
/** Folhas abertas (controlado). Sem isto, a expansao e interna. */
|
|
40
|
+
expandedStepIds?: Array<string>;
|
|
41
|
+
/** Folhas abertas na primeira renderizacao (nao controlado). */
|
|
42
|
+
defaultExpandedStepIds?: Array<string>;
|
|
43
|
+
/** Rotulo do botao que acrescenta etapa no fim. Default: "Adicionar etapa". */
|
|
44
|
+
addLabel?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Texto da esteira vazia. E AQUI que mora o tutorial ("Comece pela
|
|
47
|
+
* análise: a primeira etapa é a política principal"), nunca no cartao.
|
|
48
|
+
*/
|
|
49
|
+
emptyText?: string;
|
|
50
|
+
onSelectStep?: (step: RailStepData) => void;
|
|
51
|
+
onOpenStep?: (step: RailStepData) => void;
|
|
52
|
+
onOpenLeaf?: (leaf: RailLeaf, step: RailStepData) => void;
|
|
53
|
+
/** Trocar a condicao do conector que fica ACIMA da etapa `stepId`. */
|
|
54
|
+
onChangeGate?: (stepId: string, condition: RailGateCondition) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Inserir etapa na posicao `index`. O construtor oferece inserir ENTRE
|
|
57
|
+
* etapas (index >= 1, no conector) e no fim; a posicao 0 so acontece na
|
|
58
|
+
* esteira vazia, porque a primeira etapa e a politica principal.
|
|
59
|
+
*/
|
|
60
|
+
onInsertStep?: (index: number) => void;
|
|
61
|
+
onRemoveStep?: (step: RailStepData) => void;
|
|
62
|
+
/** Reordenar. `toIndex` ja vem calculado e dentro dos limites. */
|
|
63
|
+
onMoveStep?: (step: RailStepData, direction: "up" | "down", toIndex: number) => void;
|
|
64
|
+
onExpandStep?: (stepId: string, expanded: boolean) => void;
|
|
65
|
+
};
|
|
66
|
+
declare const Rail: ({ id, className, mode, steps, ariaLabel, activeStepId, selectedStepId, gateOptions, expandedStepIds, defaultExpandedStepIds, addLabel, emptyText, onSelectStep, onOpenStep, onOpenLeaf, onChangeGate, onInsertStep, onRemoveStep, onMoveStep, onExpandStep, }: RailProps) => React.JSX.Element;
|
|
67
|
+
export { Rail };
|
|
68
|
+
export type { RailProps };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.css";
|
|
3
|
+
import type { RailGateCondition } from "./types";
|
|
4
|
+
type RailGateState = "default" | "passed" | "blocked";
|
|
5
|
+
type RailGateProps = {
|
|
6
|
+
id?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
value?: RailGateCondition;
|
|
9
|
+
/** Quando falso, o conector e so leitura (modo run, ou etapa travada). */
|
|
10
|
+
editable?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/** Quais condicoes oferecer. Default: as quatro, na ordem canonica. */
|
|
13
|
+
options?: Array<RailGateCondition>;
|
|
14
|
+
/** No modo run: se a condicao foi atendida, bloqueou, ou nem chegou a valer. */
|
|
15
|
+
state?: RailGateState;
|
|
16
|
+
/** Rotulo acessivel do grupo, ex: "Conector antes da etapa 2". */
|
|
17
|
+
ariaLabel?: string;
|
|
18
|
+
onChange?: (value: RailGateCondition) => void;
|
|
19
|
+
};
|
|
20
|
+
declare const RailGate: ({ id, className, value, editable, disabled, options, state, ariaLabel, onChange, }: RailGateProps) => React.JSX.Element;
|
|
21
|
+
export { RailGate };
|
|
22
|
+
export type { RailGateProps, RailGateState };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.css";
|
|
3
|
+
/**
|
|
4
|
+
* RailInlineSelect, o gatilho "inline select" da linha 2 do cartao: texto +
|
|
5
|
+
* chevron, sem borda, no corpo do texto. E o que a politica de uma etapa usa
|
|
6
|
+
* no modo edit (clicou, vira picker), no lugar de um Input de rotulo
|
|
7
|
+
* flutuante de 40px.
|
|
8
|
+
*
|
|
9
|
+
* Nao abre nada sozinho: e um botao. O consumer o usa como trigger de um
|
|
10
|
+
* Popover/Select (por isso o forwardRef e o repasse das props restantes,
|
|
11
|
+
* que o `asChild` do Radix precisa).
|
|
12
|
+
*/
|
|
13
|
+
type RailInlineSelectProps = {
|
|
14
|
+
id?: string;
|
|
15
|
+
className?: string;
|
|
16
|
+
/** O valor escolhido. Sem valor, mostra o `placeholder` em tom terciario. */
|
|
17
|
+
label?: React.ReactNode;
|
|
18
|
+
/** Default: "Escolher política". */
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
/** Avisa que o valor salvo nao esta disponivel (ex: politica desativada). */
|
|
21
|
+
tone?: "default" | "warning";
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Estado do picker que este gatilho abre (aria-expanded). */
|
|
24
|
+
open?: boolean;
|
|
25
|
+
/** Rotulo acessivel. Default: "Política da etapa: {label ou placeholder}". */
|
|
26
|
+
ariaLabel?: string;
|
|
27
|
+
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "id" | "className" | "disabled">;
|
|
28
|
+
declare const RailInlineSelect: React.ForwardRefExoticComponent<{
|
|
29
|
+
id?: string;
|
|
30
|
+
className?: string;
|
|
31
|
+
/** O valor escolhido. Sem valor, mostra o `placeholder` em tom terciario. */
|
|
32
|
+
label?: React.ReactNode;
|
|
33
|
+
/** Default: "Escolher política". */
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
/** Avisa que o valor salvo nao esta disponivel (ex: politica desativada). */
|
|
36
|
+
tone?: "default" | "warning";
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
/** Estado do picker que este gatilho abre (aria-expanded). */
|
|
39
|
+
open?: boolean;
|
|
40
|
+
/** Rotulo acessivel. Default: "Política da etapa: {label ou placeholder}". */
|
|
41
|
+
ariaLabel?: string;
|
|
42
|
+
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className" | "id" | "disabled"> & React.RefAttributes<HTMLButtonElement>>;
|
|
43
|
+
export { RailInlineSelect };
|
|
44
|
+
export type { RailInlineSelectProps };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.css";
|
|
3
|
+
import type { RailStepData } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
* RailMini, a MESMA esteira, do tamanho de uma celula de lista.
|
|
6
|
+
*
|
|
7
|
+
* Uma bolinha de 6px por etapa, ligadas por um fio de 1px, no maximo ~120px
|
|
8
|
+
* de largura. O resumo ("Parou na etapa 2 de 4: reprovada") vai no
|
|
9
|
+
* `aria-label` e no `title`; na tela ele so aparece com `showSummary`,
|
|
10
|
+
* porque a linha da lista ja tem a coluna de status e nao precisa dizer a
|
|
11
|
+
* mesma coisa duas vezes.
|
|
12
|
+
*
|
|
13
|
+
* Nao e clicavel de proposito. Quem quer detalhe abre a linha; a miniatura e
|
|
14
|
+
* um indicador, e um alvo de clique dentro de outro alvo de clique so cria
|
|
15
|
+
* ambiguidade.
|
|
16
|
+
*/
|
|
17
|
+
type RailMiniProps = {
|
|
18
|
+
className?: string;
|
|
19
|
+
steps: Array<RailStepData>;
|
|
20
|
+
/** Rotulo acessivel. Default: "Progresso da esteira". */
|
|
21
|
+
ariaLabel?: string;
|
|
22
|
+
/** Mostra o resumo em texto ao lado das bolinhas. Default: false. */
|
|
23
|
+
showSummary?: boolean;
|
|
24
|
+
};
|
|
25
|
+
/** O resumo em texto de uma execucao: exportado para a lista reutilizar. */
|
|
26
|
+
export declare const railMiniSummary: (steps: Array<RailStepData>) => string;
|
|
27
|
+
declare const RailMini: ({ className, steps, ariaLabel, showSummary }: RailMiniProps) => React.JSX.Element | null;
|
|
28
|
+
export { RailMini };
|
|
29
|
+
export type { RailMiniProps };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.css";
|
|
3
|
+
import type { RailLeaf, RailMode, RailStepData, RailTone } from "./types";
|
|
4
|
+
type RailStepProps = {
|
|
5
|
+
id?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
step: RailStepData;
|
|
8
|
+
mode?: RailMode;
|
|
9
|
+
/** Posicao 1-based na esteira. */
|
|
10
|
+
index?: number;
|
|
11
|
+
/** Total de etapas, para o "Etapa 2 de 5" lido pelo leitor de tela. */
|
|
12
|
+
total?: number;
|
|
13
|
+
/** Etapa em foco na execucao ao vivo. */
|
|
14
|
+
active?: boolean;
|
|
15
|
+
/** Etapa selecionada no construtor. */
|
|
16
|
+
selected?: boolean;
|
|
17
|
+
/** Folhas visiveis. */
|
|
18
|
+
expanded?: boolean;
|
|
19
|
+
canMoveUp?: boolean;
|
|
20
|
+
canMoveDown?: boolean;
|
|
21
|
+
/** Roving tabindex: o Rail decide qual etapa esta na ordem de tabulacao. */
|
|
22
|
+
tabIndex?: number;
|
|
23
|
+
onExpand?: (expanded: boolean) => void;
|
|
24
|
+
onOpen?: () => void;
|
|
25
|
+
onSelect?: () => void;
|
|
26
|
+
onRemove?: () => void;
|
|
27
|
+
onMove?: (direction: "up" | "down") => void;
|
|
28
|
+
onOpenLeaf?: (leaf: RailLeaf) => void;
|
|
29
|
+
onKeyDown?: (event: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
30
|
+
onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void;
|
|
31
|
+
};
|
|
32
|
+
/** Ponto de 6px + texto: o unico jeito de dizer estado dentro do cartao. */
|
|
33
|
+
declare const StatusDot: ({ label, tone, className, }: {
|
|
34
|
+
label: string;
|
|
35
|
+
tone: RailTone;
|
|
36
|
+
className?: string;
|
|
37
|
+
}) => React.JSX.Element;
|
|
38
|
+
declare const RailStep: React.ForwardRefExoticComponent<RailStepProps & React.RefAttributes<HTMLDivElement>>;
|
|
39
|
+
export { RailStep, StatusDot as RailStatusDot };
|
|
40
|
+
export type { RailStepProps };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { RailDecision, RailGateCondition, RailStepData, RailStepKind, RailStepStatus, RailTone } from "./types";
|
|
2
|
+
import type { StatusTagVariant } from "../StatusTag";
|
|
3
|
+
/**
|
|
4
|
+
* Vocabulario em portugues da esteira. Fica num arquivo so para que o rail, o
|
|
5
|
+
* conector, a miniatura e o modo frase leiam exatamente os mesmos rotulos:
|
|
6
|
+
* dois vocabularios para o mesmo enum ja e um debito conhecido do
|
|
7
|
+
* gyra-operation.
|
|
8
|
+
*/
|
|
9
|
+
export declare const KIND_LABEL: Record<RailStepKind, string>;
|
|
10
|
+
/** Glifo textual do card GYR-1623: ◉ análise · ⊕ aprofundar · ✋ checkpoint · ⌘ vínculos. */
|
|
11
|
+
export declare const KIND_GLYPH: Record<RailStepKind, string>;
|
|
12
|
+
/**
|
|
13
|
+
* O que cada tipo FAZ, na voz da frase ("1. Analisa com X · 2. se aprovada,
|
|
14
|
+
* pede decisão do analista"). E o mesmo vocabulario do KIND_LABEL, conjugado.
|
|
15
|
+
*/
|
|
16
|
+
export declare const KIND_SENTENCE: Record<RailStepKind, (subject?: string) => string>;
|
|
17
|
+
/** Frase curta da linha 2 do checkpoint quando o consumer nao manda `subtitle`. */
|
|
18
|
+
export declare const CHECKPOINT_HINT = "Pausa e pergunta ao analista";
|
|
19
|
+
export declare const GATE_LABEL: Record<RailGateCondition, string>;
|
|
20
|
+
export declare const GATE_DESCRIPTION: Record<RailGateCondition, string>;
|
|
21
|
+
export declare const GATE_ORDER: Array<RailGateCondition>;
|
|
22
|
+
/** Estado da etapa, na voz do analista ("aguardando você", "não rodou"). */
|
|
23
|
+
export declare const STATUS_LABEL: Record<RailStepStatus, string>;
|
|
24
|
+
export declare const DECISION_LABEL: Record<RailDecision, string>;
|
|
25
|
+
export declare const DECISION_TONE: Record<RailDecision, RailTone>;
|
|
26
|
+
export declare const STATUS_TONE: Record<RailStepStatus, RailTone>;
|
|
27
|
+
/** Mantidos por compatibilidade com quem lia a pilula (StatusTag) da v1. */
|
|
28
|
+
export declare const DECISION_VARIANT: Record<RailDecision, StatusTagVariant>;
|
|
29
|
+
export declare const STATUS_VARIANT: Record<RailStepStatus, StatusTagVariant>;
|
|
30
|
+
/**
|
|
31
|
+
* O que o ponto de estado mostra: quando a etapa terminou e registrou uma
|
|
32
|
+
* decisao, a decisao vence o "concluida" (e o que o analista quer ler).
|
|
33
|
+
*/
|
|
34
|
+
export declare const resolveStatusDot: (status?: RailStepStatus, decision?: RailDecision) => {
|
|
35
|
+
label: string;
|
|
36
|
+
tone: RailTone;
|
|
37
|
+
} | undefined;
|
|
38
|
+
/** Compatibilidade com a v1 (mesma regra, no formato do StatusTag). */
|
|
39
|
+
export declare const resolveStatusTag: (status?: RailStepStatus, decision?: RailDecision) => {
|
|
40
|
+
title: string;
|
|
41
|
+
variant: StatusTagVariant;
|
|
42
|
+
} | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Modo frase: a esteira lida em uma linha, para a pessoa confirmar o que vai
|
|
45
|
+
* disparar antes de gastar dinheiro.
|
|
46
|
+
*
|
|
47
|
+
* "1. Analisa com PJ Essencial v4 · 2. se aprovada, pede decisão do
|
|
48
|
+
* analista · 3. se aprovada, deriva para sócios"
|
|
49
|
+
*
|
|
50
|
+
* A primeira etapa nunca tem conector. Nas demais, o conector vem do
|
|
51
|
+
* GATE_LABEL: "sempre" entra sem virgula ("2. sempre deriva para sócios"),
|
|
52
|
+
* as condicoes entram com virgula ("2. se aprovada, deriva para sócios").
|
|
53
|
+
*/
|
|
54
|
+
export declare const railToSentence: (steps: Array<RailStepData>) => string;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Rail, vocabulario da esteira Gyra+.
|
|
4
|
+
*
|
|
5
|
+
* O modelo espelha 1:1 o `OperationStep` do gyra-operation (kind + runIf +
|
|
6
|
+
* order), de proposito: o construtor e o acompanhamento ao vivo leem o MESMO
|
|
7
|
+
* array. Quem consome so troca `mode`.
|
|
8
|
+
*/
|
|
9
|
+
/** edit = construtor. run = acompanhamento ao vivo. Mesma arvore. */
|
|
10
|
+
export type RailMode = "edit" | "run";
|
|
11
|
+
/** Os 4 tipos de etapa. Espelha `StepKind` do gyra-operation. */
|
|
12
|
+
export type RailStepKind = "ANALYSIS" | "DEEPEN" | "CHECKPOINT" | "RELATIONSHIPS";
|
|
13
|
+
/**
|
|
14
|
+
* A condicao do conector: sempre avaliada contra a ULTIMA decisao registrada
|
|
15
|
+
* na esteira. Espelha `Gate` do gyra-operation.
|
|
16
|
+
*/
|
|
17
|
+
export type RailGateCondition = "ALWAYS" | "IF_APPROVED" | "IF_APPROVED_OR_ALERT" | "IF_REPROVED";
|
|
18
|
+
/** Estado de execucao de uma etapa (so tem significado no modo run). */
|
|
19
|
+
export type RailStepStatus = "PENDING" | "RUNNING" | "WAITING" | "DONE" | "SKIPPED" | "ERROR";
|
|
20
|
+
/** A decisao que a etapa registrou (nem toda etapa decide). */
|
|
21
|
+
export type RailDecision = "APPROVED" | "ALERT" | "REPROVED";
|
|
22
|
+
/** Tom semantico de um ponto de estado (6px + texto). */
|
|
23
|
+
export type RailTone = "neutral" | "info" | "success" | "warning" | "danger";
|
|
24
|
+
/**
|
|
25
|
+
* Folha de uma etapa de Vinculos: um relatorio derivado (socio, 1o nivel,
|
|
26
|
+
* filial...). Cada folha e linkavel.
|
|
27
|
+
*/
|
|
28
|
+
export type RailLeaf = {
|
|
29
|
+
id: string;
|
|
30
|
+
title: string;
|
|
31
|
+
/** Ex: "Socia · Socio PF v3". */
|
|
32
|
+
subtitle?: string;
|
|
33
|
+
/** CPF/CNPJ. Renderizado com tabular-nums. */
|
|
34
|
+
document?: string;
|
|
35
|
+
status?: RailStepStatus;
|
|
36
|
+
decision?: RailDecision;
|
|
37
|
+
/** Quando presente, a folha vira ancora. Senao, botao com `onOpen`. */
|
|
38
|
+
href?: string;
|
|
39
|
+
onOpen?: () => void;
|
|
40
|
+
disabled?: boolean;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Uma etapa da esteira (o dado; o componente que a desenha se chama RailStep).
|
|
44
|
+
*
|
|
45
|
+
* Anatomia do cartao, nas duas linhas que ele tem:
|
|
46
|
+
* linha 1: glifo do tipo (chip neutro, tooltip com o nome do tipo) + `title`
|
|
47
|
+
* + `meta` (chips pequenos) e, a direita, o estado (run) ou as
|
|
48
|
+
* acoes de ordenar/remover (edit, so no hover).
|
|
49
|
+
* linha 2: `policyControl` (edit) ou `policyName` (run) para Analise e
|
|
50
|
+
* Aprofundar; `subtitle` para Vinculos (o resumo dos niveis) e para
|
|
51
|
+
* o Checkpoint (uma frase curta; default "Pausa e pergunta ao
|
|
52
|
+
* analista").
|
|
53
|
+
* O tipo NUNCA aparece como texto no cartao: so como glifo com tooltip. Quem
|
|
54
|
+
* precisa do nome do tipo em texto usa `KIND_LABEL` ou `railToSentence`.
|
|
55
|
+
*/
|
|
56
|
+
export type RailStepData = {
|
|
57
|
+
id: string;
|
|
58
|
+
kind: RailStepKind;
|
|
59
|
+
/** O nome que o usuario deu a etapa (default no consumer: nome da politica, "Checkpoint" ou "Vinculos"). */
|
|
60
|
+
title: string;
|
|
61
|
+
/**
|
|
62
|
+
* Linha 2 quando a etapa nao e uma politica: o resumo dos vinculos
|
|
63
|
+
* ("Sócios · 1º nível · PF: Sócio PF v3") ou a frase do checkpoint. Em
|
|
64
|
+
* Analise/Aprofundar so aparece se nao houver `policyControl`/`policyName`.
|
|
65
|
+
*/
|
|
66
|
+
subtitle?: React.ReactNode;
|
|
67
|
+
/**
|
|
68
|
+
* O nome da politica desta etapa (Analise/Aprofundar). No modo run vira a
|
|
69
|
+
* linha 2; no modo frase (`railToSentence`) vira "analisa com {policyName}".
|
|
70
|
+
*/
|
|
71
|
+
policyName?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Seletor inline da politica, injetado pelo consumer no modo edit (ex: um
|
|
74
|
+
* `RailInlineSelect` abrindo o picker). Ocupa a linha 2 no lugar do
|
|
75
|
+
* `policyName`. Ignorado no modo run.
|
|
76
|
+
*/
|
|
77
|
+
policyControl?: React.ReactNode;
|
|
78
|
+
/**
|
|
79
|
+
* A condicao do conector que fica ACIMA desta etapa. A primeira etapa da
|
|
80
|
+
* esteira nao tem conector, entao o campo e ignorado nela.
|
|
81
|
+
*/
|
|
82
|
+
runIf?: RailGateCondition;
|
|
83
|
+
status?: RailStepStatus;
|
|
84
|
+
decision?: RailDecision;
|
|
85
|
+
/**
|
|
86
|
+
* Por que a etapa nao disparou. Renderizado FORA do cartao translucido, em
|
|
87
|
+
* contraste cheio: etapa pulada mostra o motivo a vista.
|
|
88
|
+
*/
|
|
89
|
+
reason?: string;
|
|
90
|
+
/** Chips pequenos ao lado do nome (score, custo, camada...). */
|
|
91
|
+
meta?: React.ReactNode;
|
|
92
|
+
/** Acoes da etapa no modo run (ex: o botao "Decidir" do checkpoint aguardando). */
|
|
93
|
+
actions?: React.ReactNode;
|
|
94
|
+
/**
|
|
95
|
+
* Slot livre abaixo das duas linhas. Mantido por compatibilidade; na v2 a
|
|
96
|
+
* configuracao da etapa mora na linha 2 (`policyControl`/`subtitle`), e
|
|
97
|
+
* este slot fica para o que nao cabe la.
|
|
98
|
+
*/
|
|
99
|
+
content?: React.ReactNode;
|
|
100
|
+
/** Folhas (relatorios derivados). So faz sentido em RELATIONSHIPS. */
|
|
101
|
+
leaves?: RailLeaf[];
|
|
102
|
+
/** Rotulo da lista de folhas. Default: "Relatorios derivados". */
|
|
103
|
+
leavesLabel?: string;
|
|
104
|
+
/** Quando presente, o titulo vira link para o relatorio da etapa. */
|
|
105
|
+
href?: string;
|
|
106
|
+
/** Etapa desabilitada (nao editavel, nao clicavel). */
|
|
107
|
+
disabled?: boolean;
|
|
108
|
+
/** Trava so o conector desta etapa (ex: etapa herdada de um modelo). */
|
|
109
|
+
gateLocked?: boolean;
|
|
110
|
+
};
|
|
@@ -21,7 +21,13 @@ type SegmentedPickerProps = {
|
|
|
21
21
|
/** primary: solid filled trigger; secondary: outlined/ghost trigger. */
|
|
22
22
|
variant?: "primary" | "secondary";
|
|
23
23
|
disabled?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Alinhamento do menu em relacao ao gatilho. Default `start`: o menu e mais
|
|
26
|
+
* largo que a pilula, e alinhado pelo fim ele cresce para a ESQUERDA — de
|
|
27
|
+
* dentro de uma gaveta ou de um card, isso o joga para fora do container.
|
|
28
|
+
*/
|
|
29
|
+
align?: "start" | "center" | "end";
|
|
24
30
|
};
|
|
25
|
-
declare const SegmentedPicker: ({ id, className, value, options, onChange, variant, disabled, }: SegmentedPickerProps) => React.JSX.Element | null;
|
|
31
|
+
declare const SegmentedPicker: ({ id, className, value, options, onChange, variant, disabled, align, }: SegmentedPickerProps) => React.JSX.Element | null;
|
|
26
32
|
export { SegmentedPicker };
|
|
27
33
|
export type { SegmentedPickerProps, SegmentedPickerOption };
|
|
@@ -5,7 +5,13 @@ type SwitchProps = {
|
|
|
5
5
|
className?: string;
|
|
6
6
|
disabled?: boolean;
|
|
7
7
|
checked?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Nome do controle. Um switch sozinho numa linha de tabela nao tem rotulo
|
|
10
|
+
* visivel nenhum: sem isto o leitor de tela anuncia so "alternar".
|
|
11
|
+
*/
|
|
12
|
+
title?: string;
|
|
13
|
+
"aria-label"?: string;
|
|
8
14
|
onCheckedChange?: (checked: boolean) => void;
|
|
9
15
|
};
|
|
10
|
-
declare const Switch: ({ id, className, disabled, checked, onCheckedChange, }: SwitchProps) => React.JSX.Element;
|
|
16
|
+
declare const Switch: ({ id, className, disabled, checked, onCheckedChange, ...props }: SwitchProps) => React.JSX.Element;
|
|
11
17
|
export { Switch };
|
|
@@ -19,24 +19,11 @@ type TableProps = {
|
|
|
19
19
|
text?: string;
|
|
20
20
|
};
|
|
21
21
|
headlesss?: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Estado de carregamento da tabela. O desenho depende de JA existir dado:
|
|
24
|
-
*
|
|
25
|
-
* - **sem linhas** (primeira carga): linhas de skeleton na forma das
|
|
26
|
-
* `columns`, entao a tabela nao muda de largura quando o dado chega.
|
|
27
|
-
* - **com linhas** (refetch por filtro, busca ou acao de linha): as linhas
|
|
28
|
-
* ficam, esmaecidas, com uma barra fina de progresso no topo. Apagar o
|
|
29
|
-
* que o usuario esta lendo para mostrar um placeholder e' pior do que
|
|
30
|
-
* deixar o dado velho a vista por um instante.
|
|
31
|
-
*/
|
|
32
|
-
loading?: boolean;
|
|
33
|
-
/** Quantas linhas de skeleton desenhar na primeira carga. Padrao 5. */
|
|
34
|
-
loadingRows?: number;
|
|
35
22
|
onRowClick?: (e: React.MouseEvent<HTMLTableRowElement, MouseEvent>, data: any) => void;
|
|
36
23
|
/** Optional per-row className. Receives the row's data object and its
|
|
37
24
|
* zero-based index. Useful for transient state highlights (e.g. a row
|
|
38
25
|
* that just finished processing in real-time). */
|
|
39
26
|
rowClassName?: (data: any, index: number) => string | undefined;
|
|
40
27
|
};
|
|
41
|
-
declare const Table: ({ id, className, height, type, columns, data, empty, headlesss,
|
|
28
|
+
declare const Table: ({ id, className, height, type, columns, data, empty, headlesss, onRowClick, rowClassName, }: TableProps) => React.JSX.Element;
|
|
42
29
|
export { Table };
|
|
@@ -37,6 +37,7 @@ import "./components/Popover/index.css";
|
|
|
37
37
|
import "./components/ProcessingChip/index.css";
|
|
38
38
|
import "./components/Progress/index.css";
|
|
39
39
|
import "./components/RadioGroup/index.css";
|
|
40
|
+
import "./components/Rail/index.css";
|
|
40
41
|
import "./components/RichInput/index.css";
|
|
41
42
|
import "./components/Row/index.css";
|
|
42
43
|
import "./components/ScoreBar/index.css";
|
|
@@ -45,7 +46,6 @@ import "./components/SegmentedToggle/index.css";
|
|
|
45
46
|
import "./components/Select/index.css";
|
|
46
47
|
import "./components/Selector/index.css";
|
|
47
48
|
import "./components/SelectTree/index.css";
|
|
48
|
-
import "./components/Skeleton/index.css";
|
|
49
49
|
import "./components/PickerPopover/index.css";
|
|
50
50
|
import "./components/MultiSelectPicker/index.css";
|
|
51
51
|
import "./components/RuleSearchPicker/index.css";
|
|
@@ -12,6 +12,13 @@ export type ButtonProps = {
|
|
|
12
12
|
loading?: boolean;
|
|
13
13
|
icon?: React.ReactNode;
|
|
14
14
|
fab?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Nome do botao. Botao SO de icone nao tem texto para o leitor de tela
|
|
17
|
+
* anunciar nem dica para o mouse: sem um destes dois, ele e anunciado como
|
|
18
|
+
* "botao" e nada mais. Os dois chegam ao `<button>` pelo spread.
|
|
19
|
+
*/
|
|
20
|
+
title?: string;
|
|
21
|
+
"aria-label"?: string;
|
|
15
22
|
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
16
23
|
children?: React.ReactNode;
|
|
17
24
|
};
|
|
@@ -15,12 +15,6 @@ type CardProps = {
|
|
|
15
15
|
media?: React.ReactNode;
|
|
16
16
|
disabled?: boolean;
|
|
17
17
|
loading?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Placeholder exibido no lugar do conteudo enquanto `loading`. O padrao e um
|
|
20
|
-
* skeleton de linhas de texto; passe um skeleton com a forma do conteudo real
|
|
21
|
-
* (grafico, tabela, lista) quando isso ajudar a evitar o pulo de layout.
|
|
22
|
-
*/
|
|
23
|
-
loadingContent?: React.ReactNode;
|
|
24
18
|
collapsible?: boolean;
|
|
25
19
|
defaultCollapsed?: boolean;
|
|
26
20
|
collapsed?: boolean;
|
|
@@ -29,5 +23,5 @@ type CardProps = {
|
|
|
29
23
|
headerContent?: React.ReactNode;
|
|
30
24
|
children?: React.ReactNode;
|
|
31
25
|
};
|
|
32
|
-
declare const Card: ({ id, type, className, title, subtitle, media, disabled, loading,
|
|
26
|
+
declare const Card: ({ id, type, className, title, subtitle, media, disabled, loading, collapsible, defaultCollapsed, collapsed, onCollapse, onClick, headerContent, children, }: CardProps) => React.JSX.Element;
|
|
33
27
|
export { Card };
|