@gyramais/gyra-design 0.2.50 → 0.2.53
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/README.md +4 -0
- package/dist/components/Card/Card.d.ts +7 -1
- 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/DropdownMenu/index.js +1 -1
- package/dist/components/DropdownMenu/index.js.map +1 -1
- package/dist/components/Empty/Empty.d.ts +18 -1
- package/dist/components/Empty/index.js +2 -40
- package/dist/components/Empty/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 +2 -40
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/MultiSelectPicker/index.js +7 -7
- 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/Rail/Rail.d.ts +6 -1
- package/dist/components/Rail/index.js +6 -6
- package/dist/components/Rail/index.js.map +1 -1
- package/dist/components/Rail/types.d.ts +12 -2
- package/dist/components/RuleSearchPicker/index.js +1 -1
- package/dist/components/RuleSearchPicker/index.js.map +1 -1
- package/dist/components/SegmentedPicker/index.js +1 -1
- package/dist/components/SegmentedPicker/index.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +50 -0
- package/dist/components/Skeleton/index.d.ts +1 -0
- package/dist/components/Skeleton/index.js +7 -0
- package/dist/components/Skeleton/index.js.map +1 -0
- package/dist/components/Table/Table.d.ts +14 -1
- package/dist/components/Table/index.js +2 -40
- package/dist/components/Table/index.js.map +1 -1
- package/dist/emails/balance-sheet-finalized/components/Card/Card.d.ts +7 -1
- package/dist/emails/balance-sheet-finalized/components/Empty/Empty.d.ts +18 -1
- package/dist/emails/balance-sheet-finalized/components/Rail/Rail.d.ts +6 -1
- package/dist/emails/balance-sheet-finalized/components/Rail/types.d.ts +12 -2
- package/dist/emails/balance-sheet-finalized/components/Skeleton/Skeleton.d.ts +50 -0
- package/dist/emails/balance-sheet-finalized/components/Skeleton/index.d.ts +1 -0
- package/dist/emails/balance-sheet-finalized/components/Table/Table.d.ts +14 -1
- package/dist/emails/balance-sheet-finalized/index.d.ts +1 -0
- package/dist/emails/email/components/Card/Card.d.ts +7 -1
- package/dist/emails/email/components/Empty/Empty.d.ts +18 -1
- package/dist/emails/email/components/Rail/Rail.d.ts +6 -1
- package/dist/emails/email/components/Rail/types.d.ts +12 -2
- package/dist/emails/email/components/Skeleton/Skeleton.d.ts +50 -0
- package/dist/emails/email/components/Skeleton/index.d.ts +1 -0
- package/dist/emails/email/components/Table/Table.d.ts +14 -1
- package/dist/emails/email/index.d.ts +1 -0
- package/dist/index.css +353 -42
- package/package.json +2 -2
|
@@ -15,6 +15,12 @@ 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;
|
|
18
24
|
collapsible?: boolean;
|
|
19
25
|
defaultCollapsed?: boolean;
|
|
20
26
|
collapsed?: boolean;
|
|
@@ -23,5 +29,5 @@ type CardProps = {
|
|
|
23
29
|
headerContent?: React.ReactNode;
|
|
24
30
|
children?: React.ReactNode;
|
|
25
31
|
};
|
|
26
|
-
declare const Card: ({ id, type, className, title, subtitle, media, disabled, loading, collapsible, defaultCollapsed, collapsed, onCollapse, onClick, headerContent, children, }: CardProps) => React.JSX.Element;
|
|
32
|
+
declare const Card: ({ id, type, className, title, subtitle, media, disabled, loading, loadingContent, collapsible, defaultCollapsed, collapsed, onCollapse, onClick, headerContent, children, }: CardProps) => React.JSX.Element;
|
|
27
33
|
export { Card };
|
|
@@ -3,8 +3,25 @@ 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
|
+
*/
|
|
6
15
|
icon?: React.ReactNode;
|
|
7
16
|
text?: string;
|
|
8
17
|
};
|
|
9
|
-
|
|
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;
|
|
10
27
|
export { Empty };
|
|
@@ -30,7 +30,12 @@ type RailProps = {
|
|
|
30
30
|
steps: Array<RailStepData>;
|
|
31
31
|
/** Rotulo acessivel da lista. Default: "Esteira". */
|
|
32
32
|
ariaLabel?: string;
|
|
33
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Etapa em foco na execucao ao vivo (modo run). Sem ela, o proprio Rail
|
|
35
|
+
* assume a etapa que roda ou aguarda. Execucao encerrada nao tem etapa
|
|
36
|
+
* atual, e ninguem ganha elevacao: sombra que sobrevive ao fim da execucao
|
|
37
|
+
* aponta para nada.
|
|
38
|
+
*/
|
|
34
39
|
activeStepId?: string;
|
|
35
40
|
/** Etapa selecionada no construtor (modo edit). */
|
|
36
41
|
selectedStepId?: string;
|
|
@@ -9,7 +9,7 @@ import React from "react";
|
|
|
9
9
|
/** edit = construtor. run = acompanhamento ao vivo. Mesma arvore. */
|
|
10
10
|
export type RailMode = "edit" | "run";
|
|
11
11
|
/** Os 4 tipos de etapa. Espelha `StepKind` do gyra-operation. */
|
|
12
|
-
export type RailStepKind = "ANALYSIS" | "DEEPEN" | "CHECKPOINT" | "RELATIONSHIPS";
|
|
12
|
+
export type RailStepKind = "ANALYSIS" | "DEEPEN" | "CHECKPOINT" | "RELATIONSHIPS" | "RESULT" | "OFFER_REVIEW" | "COMMITTEE" | "AUTHORITY";
|
|
13
13
|
/**
|
|
14
14
|
* A condicao do conector: sempre avaliada contra a ULTIMA decisao registrada
|
|
15
15
|
* na esteira. Espelha `Gate` do gyra-operation.
|
|
@@ -43,7 +43,8 @@ export type RailLeaf = {
|
|
|
43
43
|
* Uma etapa da esteira (o dado; o componente que a desenha se chama RailStep).
|
|
44
44
|
*
|
|
45
45
|
* Anatomia do cartao, nas duas linhas que ele tem:
|
|
46
|
-
* linha 1: glifo do tipo (chip
|
|
46
|
+
* linha 1: glifo do tipo (chip de 24px na cor do tipo, tooltip com o nome
|
|
47
|
+
* do tipo) + `title`
|
|
47
48
|
* + `meta` (chips pequenos) e, a direita, o estado (run) ou as
|
|
48
49
|
* acoes de ordenar/remover (edit, so no hover).
|
|
49
50
|
* linha 2: `policyControl` (edit) ou `policyName` (run) para Analise e
|
|
@@ -75,6 +76,15 @@ export type RailStepData = {
|
|
|
75
76
|
* `policyName`. Ignorado no modo run.
|
|
76
77
|
*/
|
|
77
78
|
policyControl?: React.ReactNode;
|
|
79
|
+
/**
|
|
80
|
+
* O nome da etapa E o nome da politica (o caso default, e o mais comum).
|
|
81
|
+
* Nesse caso a politica NAO ganha uma linha propria: no modo edit o seletor
|
|
82
|
+
* inline sobe para a linha 1 e vira o proprio nome; no run, a linha 2 some.
|
|
83
|
+
* Sem isto o cartao imprimia a mesma string duas vezes, empilhada.
|
|
84
|
+
*
|
|
85
|
+
* Sem valor, o RailStep compara `title` com `policyName`.
|
|
86
|
+
*/
|
|
87
|
+
policyIsTitle?: boolean;
|
|
78
88
|
/**
|
|
79
89
|
* A condicao do conector que fica ACIMA desta etapa. A primeira etapa da
|
|
80
90
|
* esteira nao tem conector, entao o campo e ignorado nela.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.css";
|
|
3
|
+
type SkeletonProps = {
|
|
4
|
+
id?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Forma do placeholder:
|
|
8
|
+
* - `text`: linhas de texto (a ultima sai mais curta, como um paragrafo real)
|
|
9
|
+
* - `block`: retangulo cheio (grafico, mapa, tabela, imagem)
|
|
10
|
+
* - `circle`: avatar, badge, icone
|
|
11
|
+
*/
|
|
12
|
+
variant?: "text" | "block" | "circle";
|
|
13
|
+
/** Quantidade de linhas. So vale para `variant="text"`. */
|
|
14
|
+
lines?: number;
|
|
15
|
+
/** Diametro do circulo. So vale para `variant="circle"`. */
|
|
16
|
+
size?: number;
|
|
17
|
+
width?: number | string;
|
|
18
|
+
height?: number | string;
|
|
19
|
+
/**
|
|
20
|
+
* Liga o brilho que varre o bloco. Padrao `true`.
|
|
21
|
+
*
|
|
22
|
+
* Passe `false` para o que esta ESPERANDO em vez de acontecendo (item na
|
|
23
|
+
* fila, seção que ainda nao comecou). O bloco parado marca o espaco sem
|
|
24
|
+
* prometer trabalho que nao esta em curso, e o movimento fica reservado
|
|
25
|
+
* para o que de fato esta sendo processado.
|
|
26
|
+
*/
|
|
27
|
+
animated?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Marca o bloco como decorativo: sai da arvore de acessibilidade e nao
|
|
30
|
+
* anuncia nada.
|
|
31
|
+
*
|
|
32
|
+
* Use quando VARIOS skeletons compoem um placeholder so (as celulas de uma
|
|
33
|
+
* tabela, as linhas de um feed) e quem anuncia o estado e' um elemento de
|
|
34
|
+
* status unico, fora deles. Sem isso, cada bloco vira uma live region e o
|
|
35
|
+
* leitor de tela repete "Carregando" uma vez por celula.
|
|
36
|
+
*/
|
|
37
|
+
decorative?: boolean;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Placeholder de carregamento no formato do conteudo que esta chegando.
|
|
41
|
+
*
|
|
42
|
+
* Substitui o spinner: em vez de um indicador generico no meio da tela, o
|
|
43
|
+
* usuario ve a silhueta do que vai aparecer, entao o layout nao pula quando o
|
|
44
|
+
* dado chega. E o padrao dos apps modernos (Stripe, Linear, GitHub).
|
|
45
|
+
*
|
|
46
|
+
* A animacao e um brilho que varre o bloco, desligado sob
|
|
47
|
+
* `prefers-reduced-motion`.
|
|
48
|
+
*/
|
|
49
|
+
declare const Skeleton: ({ id, className, variant, lines, size, width, height, animated, decorative, }: SkeletonProps) => React.JSX.Element;
|
|
50
|
+
export { Skeleton };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Skeleton";
|
|
@@ -19,11 +19,24 @@ 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;
|
|
22
35
|
onRowClick?: (e: React.MouseEvent<HTMLTableRowElement, MouseEvent>, data: any) => void;
|
|
23
36
|
/** Optional per-row className. Receives the row's data object and its
|
|
24
37
|
* zero-based index. Useful for transient state highlights (e.g. a row
|
|
25
38
|
* that just finished processing in real-time). */
|
|
26
39
|
rowClassName?: (data: any, index: number) => string | undefined;
|
|
27
40
|
};
|
|
28
|
-
declare const Table: ({ id, className, height, type, columns, data, empty, headlesss, onRowClick, rowClassName, }: TableProps) => React.JSX.Element;
|
|
41
|
+
declare const Table: ({ id, className, height, type, columns, data, empty, headlesss, loading, loadingRows, onRowClick, rowClassName, }: TableProps) => React.JSX.Element;
|
|
29
42
|
export { Table };
|
|
@@ -46,6 +46,7 @@ import "./components/SegmentedToggle/index.css";
|
|
|
46
46
|
import "./components/Select/index.css";
|
|
47
47
|
import "./components/Selector/index.css";
|
|
48
48
|
import "./components/SelectTree/index.css";
|
|
49
|
+
import "./components/Skeleton/index.css";
|
|
49
50
|
import "./components/PickerPopover/index.css";
|
|
50
51
|
import "./components/MultiSelectPicker/index.css";
|
|
51
52
|
import "./components/RuleSearchPicker/index.css";
|
|
@@ -15,6 +15,12 @@ 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;
|
|
18
24
|
collapsible?: boolean;
|
|
19
25
|
defaultCollapsed?: boolean;
|
|
20
26
|
collapsed?: boolean;
|
|
@@ -23,5 +29,5 @@ type CardProps = {
|
|
|
23
29
|
headerContent?: React.ReactNode;
|
|
24
30
|
children?: React.ReactNode;
|
|
25
31
|
};
|
|
26
|
-
declare const Card: ({ id, type, className, title, subtitle, media, disabled, loading, collapsible, defaultCollapsed, collapsed, onCollapse, onClick, headerContent, children, }: CardProps) => React.JSX.Element;
|
|
32
|
+
declare const Card: ({ id, type, className, title, subtitle, media, disabled, loading, loadingContent, collapsible, defaultCollapsed, collapsed, onCollapse, onClick, headerContent, children, }: CardProps) => React.JSX.Element;
|
|
27
33
|
export { Card };
|
|
@@ -3,8 +3,25 @@ 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
|
+
*/
|
|
6
15
|
icon?: React.ReactNode;
|
|
7
16
|
text?: string;
|
|
8
17
|
};
|
|
9
|
-
|
|
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;
|
|
10
27
|
export { Empty };
|
|
@@ -30,7 +30,12 @@ type RailProps = {
|
|
|
30
30
|
steps: Array<RailStepData>;
|
|
31
31
|
/** Rotulo acessivel da lista. Default: "Esteira". */
|
|
32
32
|
ariaLabel?: string;
|
|
33
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Etapa em foco na execucao ao vivo (modo run). Sem ela, o proprio Rail
|
|
35
|
+
* assume a etapa que roda ou aguarda. Execucao encerrada nao tem etapa
|
|
36
|
+
* atual, e ninguem ganha elevacao: sombra que sobrevive ao fim da execucao
|
|
37
|
+
* aponta para nada.
|
|
38
|
+
*/
|
|
34
39
|
activeStepId?: string;
|
|
35
40
|
/** Etapa selecionada no construtor (modo edit). */
|
|
36
41
|
selectedStepId?: string;
|
|
@@ -9,7 +9,7 @@ import React from "react";
|
|
|
9
9
|
/** edit = construtor. run = acompanhamento ao vivo. Mesma arvore. */
|
|
10
10
|
export type RailMode = "edit" | "run";
|
|
11
11
|
/** Os 4 tipos de etapa. Espelha `StepKind` do gyra-operation. */
|
|
12
|
-
export type RailStepKind = "ANALYSIS" | "DEEPEN" | "CHECKPOINT" | "RELATIONSHIPS";
|
|
12
|
+
export type RailStepKind = "ANALYSIS" | "DEEPEN" | "CHECKPOINT" | "RELATIONSHIPS" | "RESULT" | "OFFER_REVIEW" | "COMMITTEE" | "AUTHORITY";
|
|
13
13
|
/**
|
|
14
14
|
* A condicao do conector: sempre avaliada contra a ULTIMA decisao registrada
|
|
15
15
|
* na esteira. Espelha `Gate` do gyra-operation.
|
|
@@ -43,7 +43,8 @@ export type RailLeaf = {
|
|
|
43
43
|
* Uma etapa da esteira (o dado; o componente que a desenha se chama RailStep).
|
|
44
44
|
*
|
|
45
45
|
* Anatomia do cartao, nas duas linhas que ele tem:
|
|
46
|
-
* linha 1: glifo do tipo (chip
|
|
46
|
+
* linha 1: glifo do tipo (chip de 24px na cor do tipo, tooltip com o nome
|
|
47
|
+
* do tipo) + `title`
|
|
47
48
|
* + `meta` (chips pequenos) e, a direita, o estado (run) ou as
|
|
48
49
|
* acoes de ordenar/remover (edit, so no hover).
|
|
49
50
|
* linha 2: `policyControl` (edit) ou `policyName` (run) para Analise e
|
|
@@ -75,6 +76,15 @@ export type RailStepData = {
|
|
|
75
76
|
* `policyName`. Ignorado no modo run.
|
|
76
77
|
*/
|
|
77
78
|
policyControl?: React.ReactNode;
|
|
79
|
+
/**
|
|
80
|
+
* O nome da etapa E o nome da politica (o caso default, e o mais comum).
|
|
81
|
+
* Nesse caso a politica NAO ganha uma linha propria: no modo edit o seletor
|
|
82
|
+
* inline sobe para a linha 1 e vira o proprio nome; no run, a linha 2 some.
|
|
83
|
+
* Sem isto o cartao imprimia a mesma string duas vezes, empilhada.
|
|
84
|
+
*
|
|
85
|
+
* Sem valor, o RailStep compara `title` com `policyName`.
|
|
86
|
+
*/
|
|
87
|
+
policyIsTitle?: boolean;
|
|
78
88
|
/**
|
|
79
89
|
* A condicao do conector que fica ACIMA desta etapa. A primeira etapa da
|
|
80
90
|
* esteira nao tem conector, entao o campo e ignorado nela.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.css";
|
|
3
|
+
type SkeletonProps = {
|
|
4
|
+
id?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Forma do placeholder:
|
|
8
|
+
* - `text`: linhas de texto (a ultima sai mais curta, como um paragrafo real)
|
|
9
|
+
* - `block`: retangulo cheio (grafico, mapa, tabela, imagem)
|
|
10
|
+
* - `circle`: avatar, badge, icone
|
|
11
|
+
*/
|
|
12
|
+
variant?: "text" | "block" | "circle";
|
|
13
|
+
/** Quantidade de linhas. So vale para `variant="text"`. */
|
|
14
|
+
lines?: number;
|
|
15
|
+
/** Diametro do circulo. So vale para `variant="circle"`. */
|
|
16
|
+
size?: number;
|
|
17
|
+
width?: number | string;
|
|
18
|
+
height?: number | string;
|
|
19
|
+
/**
|
|
20
|
+
* Liga o brilho que varre o bloco. Padrao `true`.
|
|
21
|
+
*
|
|
22
|
+
* Passe `false` para o que esta ESPERANDO em vez de acontecendo (item na
|
|
23
|
+
* fila, seção que ainda nao comecou). O bloco parado marca o espaco sem
|
|
24
|
+
* prometer trabalho que nao esta em curso, e o movimento fica reservado
|
|
25
|
+
* para o que de fato esta sendo processado.
|
|
26
|
+
*/
|
|
27
|
+
animated?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Marca o bloco como decorativo: sai da arvore de acessibilidade e nao
|
|
30
|
+
* anuncia nada.
|
|
31
|
+
*
|
|
32
|
+
* Use quando VARIOS skeletons compoem um placeholder so (as celulas de uma
|
|
33
|
+
* tabela, as linhas de um feed) e quem anuncia o estado e' um elemento de
|
|
34
|
+
* status unico, fora deles. Sem isso, cada bloco vira uma live region e o
|
|
35
|
+
* leitor de tela repete "Carregando" uma vez por celula.
|
|
36
|
+
*/
|
|
37
|
+
decorative?: boolean;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Placeholder de carregamento no formato do conteudo que esta chegando.
|
|
41
|
+
*
|
|
42
|
+
* Substitui o spinner: em vez de um indicador generico no meio da tela, o
|
|
43
|
+
* usuario ve a silhueta do que vai aparecer, entao o layout nao pula quando o
|
|
44
|
+
* dado chega. E o padrao dos apps modernos (Stripe, Linear, GitHub).
|
|
45
|
+
*
|
|
46
|
+
* A animacao e um brilho que varre o bloco, desligado sob
|
|
47
|
+
* `prefers-reduced-motion`.
|
|
48
|
+
*/
|
|
49
|
+
declare const Skeleton: ({ id, className, variant, lines, size, width, height, animated, decorative, }: SkeletonProps) => React.JSX.Element;
|
|
50
|
+
export { Skeleton };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Skeleton";
|
|
@@ -19,11 +19,24 @@ 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;
|
|
22
35
|
onRowClick?: (e: React.MouseEvent<HTMLTableRowElement, MouseEvent>, data: any) => void;
|
|
23
36
|
/** Optional per-row className. Receives the row's data object and its
|
|
24
37
|
* zero-based index. Useful for transient state highlights (e.g. a row
|
|
25
38
|
* that just finished processing in real-time). */
|
|
26
39
|
rowClassName?: (data: any, index: number) => string | undefined;
|
|
27
40
|
};
|
|
28
|
-
declare const Table: ({ id, className, height, type, columns, data, empty, headlesss, onRowClick, rowClassName, }: TableProps) => React.JSX.Element;
|
|
41
|
+
declare const Table: ({ id, className, height, type, columns, data, empty, headlesss, loading, loadingRows, onRowClick, rowClassName, }: TableProps) => React.JSX.Element;
|
|
29
42
|
export { Table };
|
|
@@ -46,6 +46,7 @@ import "./components/SegmentedToggle/index.css";
|
|
|
46
46
|
import "./components/Select/index.css";
|
|
47
47
|
import "./components/Selector/index.css";
|
|
48
48
|
import "./components/SelectTree/index.css";
|
|
49
|
+
import "./components/Skeleton/index.css";
|
|
49
50
|
import "./components/PickerPopover/index.css";
|
|
50
51
|
import "./components/MultiSelectPicker/index.css";
|
|
51
52
|
import "./components/RuleSearchPicker/index.css";
|