@selectwin/kit 0.1.133 → 0.1.134

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.
@@ -2,49 +2,74 @@ import { ReactNode } from 'react';
2
2
  export interface SelectBuilderSection {
3
3
  id: string;
4
4
  title: string;
5
- /** Linha de apoio no cabeçalho do painel — o que a seção controla. */
5
+ /** Linha de apoio no topo do painel da seção. */
6
6
  description?: string;
7
- /** Glifo do item na trilha. */
7
+ /** Glifo da seção na trilha/lista. */
8
8
  icon?: ReactNode;
9
- /** Agrupa itens da trilha sob um rótulo (a ordem de aparição define a ordem dos grupos). */
9
+ /** Grupo (rótulo) — seções do mesmo grupo seguidas ficam juntas. */
10
10
  group?: string;
11
- /** Termos extras para a busca da trilha (o título já entra por padrão). */
11
+ /** Palavras extras para a busca. */
12
12
  keywords?: string;
13
- /** Selo curto à direita do item — estado da seção ("Ativo", "3 itens"). */
13
+ /** Selo de estado (ex.: "Ativo", "Revisar"). */
14
14
  status?: ReactNode;
15
+ /**
16
+ * O que está ligado na seção, numa linha (0.1.134) — "Pix 5% · até 12x". Aparece na LISTA do layout
17
+ * `drill`, onde cada seção se apresenta antes de ser aberta.
18
+ */
19
+ summary?: ReactNode;
15
20
  content: ReactNode;
16
21
  }
17
22
  export interface SelectBuilderWorkspaceProps {
18
23
  title: string;
19
24
  subtitle?: string;
20
- /** Destino do voltar; sem ele, volta no histórico. */
25
+ /** Para onde o voltar leva (padrão: histórico). Ignorado com `onBack`. */
21
26
  backTo?: string;
27
+ /** Voltar controlado (0.1.134) — a tela decide (ex.: perguntar antes de sair com alteração). */
28
+ onBack?: () => void;
22
29
  onSave: () => void;
23
30
  saving?: boolean;
24
31
  saveLabel?: string;
25
32
  saveDisabled?: boolean;
33
+ /** Mostra "Cancelar" (navega para cá). Com `onDiscard`, vale o "Descartar". */
26
34
  cancelTo?: string;
27
- /** Banner de erro acima das colunas. */
35
+ /** Descartar as alterações (0.1.134): o botão aparece ao lado do Salvar SÓ quando `dirty`. */
36
+ onDiscard?: () => void;
37
+ discardLabel?: string;
38
+ /** Banner de erro sob a barra. */
28
39
  error?: ReactNode;
29
- sections: SelectBuilderSection[];
30
- /** Seção ativa (controlado). Sem ela o workspace guarda a própria seleção. */
31
- activeId?: string;
32
- onActiveChange?: (id: string) => void;
33
- /** Caixa de busca na trilha (filtra por título/keywords). */
40
+ /** As seções (layouts `rail` e `drill`). */
41
+ sections?: SelectBuilderSection[];
42
+ /** Seção aberta (controlada). No layout `drill`, `null` = a lista de seções. */
43
+ activeId?: string | null;
44
+ onActiveChange?: (id: string | null) => void;
45
+ /** Busca na trilha/lista. */
34
46
  searchable?: boolean;
35
- /** O palco: normalmente um `<SelectPreviewFrame fill />`. */
47
+ searchPlaceholder?: string;
48
+ /** Palco da direita (a prévia). */
36
49
  preview?: ReactNode;
37
50
  /**
38
- * Como o palco acomoda o `preview`. `fill` (padrão) estica o filho até as bordas — é o que
39
- * uma pré-visualização em iframe quer. `document` é para um palco de LEITURA (o resumo do
40
- * builder de pixels: não há página para mostrar, há o que acontece numa venda): a coluna rola
41
- * sozinha e o conteúdo fica numa largura de leitura, centrado, em vez de esticar por 60rem.
51
+ * `fill` (padrão): o palco estica o filho (um iframe de prévia). `document`: o palco rola e
52
+ * centra o conteúdo numa largura de leitura.
42
53
  */
43
54
  previewLayout?: 'fill' | 'document';
44
- /** Controles extras no centro da barra (ex.: alternador de dispositivo). */
55
+ /** Ferramentas entre a identidade e as ações. */
45
56
  toolbar?: ReactNode;
46
- /** Selo de "alterações não salvas" na barra. */
47
57
  dirty?: boolean;
48
58
  dirtyLabel?: string;
59
+ /** Com nada a salvar (0.1.134): "Salvo às 10:42". */
60
+ savedLabel?: ReactNode;
61
+ /** O salvar foi recusado (0.1.134): "2 seções para revisar" — vence o `dirtyLabel`. */
62
+ reviewLabel?: ReactNode;
63
+ /** Arranjo das colunas (0.1.134) — ver o topo do arquivo. Padrão `rail`. */
64
+ layout?: 'rail' | 'drill' | 'single';
65
+ /** Conteúdo da coluna da esquerda no layout `single`. */
66
+ panel?: ReactNode;
67
+ /** Largura da coluna da esquerda nos layouts `drill`/`single` (padrão 26rem). */
68
+ panelWidth?: string;
69
+ /**
70
+ * No estreito (< 64em), duas abas no topo em vez da pilha (0.1.134): [ajustes, palco] — ex.:
71
+ * `['Ajustes', 'Prévia']`. Sem isto, a prévia fica embaixo do formulário inteiro.
72
+ */
73
+ mobileTabs?: [string, string];
49
74
  }
50
- export declare function SelectBuilderWorkspace({ title, subtitle, backTo, onSave, saving, saveLabel, saveDisabled, cancelTo, error, sections, activeId, onActiveChange, searchable, preview, previewLayout, toolbar, dirty, dirtyLabel, }: SelectBuilderWorkspaceProps): import("react").JSX.Element;
75
+ export declare function SelectBuilderWorkspace({ title, subtitle, backTo, onBack, onSave, saving, saveLabel, saveDisabled, cancelTo, onDiscard, discardLabel, error, sections, activeId, onActiveChange, searchable, searchPlaceholder, preview, previewLayout, toolbar, dirty, dirtyLabel, savedLabel, reviewLabel, layout, panel, panelWidth, mobileTabs, }: SelectBuilderWorkspaceProps): import("react").JSX.Element;