forlogic-core 2.1.5 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -1
- package/dist/action-plans/components/ActionPlanAttachmentsTab.d.ts +3 -0
- package/dist/action-plans/components/ActionPlanCommentsTab.d.ts +3 -0
- package/dist/action-plans/components/ActionPlanCostTab.d.ts +5 -0
- package/dist/action-plans/components/ActionPlanGeneralTab.d.ts +3 -0
- package/dist/action-plans/components/ActionPlanHistoryTab.d.ts +3 -0
- package/dist/action-plans/components/ActionPlanPredecessorsTab.d.ts +5 -0
- package/dist/action-plans/components/ActionPlanProgressDialog.d.ts +3 -0
- package/dist/action-plans/components/ActionPlanProgressTab.d.ts +5 -0
- package/dist/action-plans/components/ActionPlanStatusBadge.d.ts +3 -0
- package/dist/action-plans/constants.d.ts +24 -0
- package/dist/action-plans/hooks/useActionPlan.d.ts +5 -0
- package/dist/action-plans/hooks/useActionPlanProgress.d.ts +5 -0
- package/dist/action-plans/types.d.ts +60 -0
- package/dist/action-plans/utils/formatTime.d.ts +9 -0
- package/dist/audit-trail/components/AuditTrailDetails.d.ts +10 -0
- package/dist/audit-trail/components/AuditTrailFilter.d.ts +10 -0
- package/dist/audit-trail/components/AuditTrailPage.d.ts +10 -0
- package/dist/audit-trail/types.d.ts +58 -0
- package/dist/audit-trail/utils.d.ts +18 -2
- package/dist/auth/components/EditProfileDialog.d.ts +1 -0
- package/dist/auth/components/ProtectedRoute.d.ts +5 -0
- package/dist/auth/contexts/AuthContext.d.ts +5 -0
- package/dist/auth/pages/CallbackPage.d.ts +5 -0
- package/dist/auth/services/AuthService.d.ts +5 -0
- package/dist/auth/services/TokenManager.d.ts +5 -0
- package/dist/auth/services/TokenService.d.ts +10 -0
- package/dist/auth/utils/ErrorInterceptor.d.ts +5 -0
- package/dist/components/dashboards/dashboard-form.d.ts +15 -0
- package/dist/components/dashboards/dashboard-general-view.d.ts +15 -0
- package/dist/components/dashboards/dashboard-grid.d.ts +25 -0
- package/dist/components/dashboards/dashboard-list.d.ts +10 -0
- package/dist/components/dashboards/dashboard-panel-renderer.d.ts +10 -0
- package/dist/components/dashboards/dashboard-view.d.ts +10 -0
- package/dist/components/dashboards/helpers.d.ts +44 -5
- package/dist/components/dashboards/panels/burndown-panel.d.ts +15 -0
- package/dist/components/dashboards/panels/cartesian-panel.d.ts +20 -0
- package/dist/components/dashboards/panels/list-panel.d.ts +15 -0
- package/dist/components/dashboards/panels/matrix-risk-panel.d.ts +25 -0
- package/dist/components/dashboards/panels/numeric-panel.d.ts +10 -0
- package/dist/components/dashboards/panels/panel-error.d.ts +10 -0
- package/dist/components/dashboards/panels/panel-header.d.ts +10 -0
- package/dist/components/dashboards/panels/panel-loader.d.ts +10 -0
- package/dist/components/dashboards/panels/panel-no-data.d.ts +10 -0
- package/dist/components/dashboards/panels/panel-unavailable.d.ts +10 -0
- package/dist/components/dashboards/panels/pareto-panel.d.ts +10 -0
- package/dist/components/dashboards/panels/performance-panel.d.ts +15 -0
- package/dist/components/dashboards/panels/pie-panel.d.ts +10 -0
- package/dist/components/dashboards/panels/text-panel.d.ts +10 -0
- package/dist/components/dashboards/types.d.ts +230 -0
- package/dist/components/modules/AccessDeniedDialog.d.ts +3 -1
- package/dist/components/modules/ModuleAccessGuard.d.ts +3 -1
- package/dist/components/modules/ModulesContent.d.ts +3 -1
- package/dist/components/modules/ModulesDialog.d.ts +1 -1
- package/dist/components/modules/ModulesFooterCards.d.ts +3 -1
- package/dist/components/modules/types.d.ts +2 -0
- package/dist/components/ui/accordion.d.ts +35 -0
- package/dist/components/ui/action-button.d.ts +5 -0
- package/dist/components/ui/alert-dialog.d.ts +82 -0
- package/dist/components/ui/alert.d.ts +32 -0
- package/dist/components/ui/avatar.d.ts +30 -0
- package/dist/components/ui/badge.d.ts +32 -0
- package/dist/components/ui/breadcrumb.d.ts +54 -0
- package/dist/components/ui/button-group.d.ts +15 -0
- package/dist/components/ui/button.d.ts +55 -0
- package/dist/components/ui/calendar.d.ts +16 -0
- package/dist/components/ui/card.d.ts +49 -0
- package/dist/components/ui/chart.d.ts +35 -0
- package/dist/components/ui/checkbox.d.ts +11 -0
- package/dist/components/ui/collapsible.d.ts +15 -0
- package/dist/components/ui/color-picker.d.ts +5 -0
- package/dist/components/ui/combo-tree.d.ts +23 -0
- package/dist/components/ui/combobox.d.ts +28 -0
- package/dist/components/ui/command.d.ts +66 -0
- package/dist/components/ui/context-menu.d.ts +95 -0
- package/dist/components/ui/date-picker.d.ts +10 -0
- package/dist/components/ui/dialog-wizard.d.ts +22 -4
- package/dist/components/ui/dialog.d.ts +181 -0
- package/dist/components/ui/drawer.d.ts +72 -0
- package/dist/components/ui/dropdown-menu.d.ts +153 -0
- package/dist/components/ui/electronic-signature-dialog.d.ts +10 -0
- package/dist/components/ui/export-dialog.d.ts +20 -0
- package/dist/components/ui/form.d.ts +96 -0
- package/dist/components/ui/hover-card.d.ts +15 -0
- package/dist/components/ui/icon-picker.d.ts +5 -0
- package/dist/components/ui/iframe-dialog.d.ts +10 -0
- package/dist/components/ui/input-group.d.ts +16 -0
- package/dist/components/ui/input.d.ts +5 -0
- package/dist/components/ui/menubar.d.ts +80 -0
- package/dist/components/ui/multiselect-permissions.d.ts +25 -0
- package/dist/components/ui/navigation-menu.d.ts +45 -0
- package/dist/components/ui/onboarding-dialog.d.ts +15 -0
- package/dist/components/ui/online-editor-dialog.d.ts +10 -0
- package/dist/components/ui/pagination.d.ts +53 -0
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/radio-group.d.ts +3 -0
- package/dist/components/ui/report-request-list.d.ts +20 -0
- package/dist/components/ui/resizable.d.ts +15 -0
- package/dist/components/ui/rich-text-editor.d.ts +13 -0
- package/dist/components/ui/scroll-area.d.ts +3 -0
- package/dist/components/ui/select.d.ts +71 -0
- package/dist/components/ui/separator.d.ts +13 -0
- package/dist/components/ui/sheet.d.ts +76 -0
- package/dist/components/ui/sidebar.d.ts +203 -0
- package/dist/components/ui/skeleton-variants.d.ts +25 -0
- package/dist/components/ui/skeleton.d.ts +12 -0
- package/dist/components/ui/slider.d.ts +5 -0
- package/dist/components/ui/sonner.d.ts +5 -0
- package/dist/components/ui/spinner.d.ts +5 -0
- package/dist/components/ui/split-button.d.ts +6 -0
- package/dist/components/ui/stack.d.ts +5 -0
- package/dist/components/ui/status-badge.d.ts +3 -0
- package/dist/components/ui/step-selector.d.ts +5 -0
- package/dist/components/ui/stimulsoft-viewer.d.ts +8 -0
- package/dist/components/ui/switch.d.ts +21 -0
- package/dist/components/ui/tab-page-layout.d.ts +33 -0
- package/dist/components/ui/table-resize-handle.d.ts +10 -3
- package/dist/components/ui/table.d.ts +102 -0
- package/dist/components/ui/tabs.d.ts +59 -0
- package/dist/components/ui/terms-of-use-dialog.d.ts +50 -4
- package/dist/components/ui/textarea.d.ts +27 -0
- package/dist/components/ui/timepicker.d.ts +23 -0
- package/dist/components/ui/toggle-group.d.ts +25 -0
- package/dist/components/ui/toggle.d.ts +21 -0
- package/dist/components/ui/tooltip.d.ts +48 -0
- package/dist/components/ui/truncated-cell.d.ts +13 -0
- package/dist/components/ui/typography.d.ts +119 -0
- package/dist/components/ui/updates-notification.d.ts +33 -0
- package/dist/components/ui/users-groups-selector.d.ts +43 -0
- package/dist/components/ui/viewer-dialog.d.ts +107 -0
- package/dist/crud/components/ActionMenuItems.d.ts +5 -0
- package/dist/crud/components/BaseForm.d.ts +46 -0
- package/dist/crud/components/ColumnSettingsPopover.d.ts +10 -0
- package/dist/crud/components/CrudActionBar.d.ts +20 -0
- package/dist/crud/components/CrudGrid.d.ts +10 -0
- package/dist/crud/components/CrudPagination.d.ts +5 -0
- package/dist/crud/components/CrudTable.d.ts +5 -0
- package/dist/crud/components/TableRowActions.d.ts +5 -0
- package/dist/crud/createCrudPage.d.ts +41 -8
- package/dist/crud/generateCrudConfig.d.ts +13 -8
- package/dist/crud/hooks/useBaseForm.d.ts +39 -0
- package/dist/crud/hooks/useColumnManager.d.ts +25 -0
- package/dist/crud/hooks/useCrud.d.ts +35 -0
- package/dist/crud/primitives/ActionMenu.d.ts +41 -0
- package/dist/crud/primitives/FilterBar.d.ts +45 -0
- package/dist/crud/primitives/Pagination.d.ts +5 -0
- package/dist/crud/primitives/Table.d.ts +5 -0
- package/dist/crud/primitives/TreeTable.d.ts +5 -0
- package/dist/crud/primitives/types.d.ts +57 -0
- package/dist/crud/utils/routingHelpers.d.ts +11 -0
- package/dist/custom-form-fields/components/CustomFormFields.d.ts +3 -0
- package/dist/custom-form-fields/fields/FormDateField.d.ts +3 -0
- package/dist/custom-form-fields/fields/FormMultiSelectionField.d.ts +3 -0
- package/dist/custom-form-fields/fields/FormNumericField.d.ts +3 -0
- package/dist/custom-form-fields/fields/FormQuestionsField.d.ts +3 -0
- package/dist/custom-form-fields/fields/FormSingleSelectionField.d.ts +3 -0
- package/dist/custom-form-fields/fields/FormTextField.d.ts +3 -0
- package/dist/custom-form-fields/fields/FormTimeField.d.ts +3 -0
- package/dist/custom-form-fields/fields/FormUrlField.d.ts +3 -0
- package/dist/custom-form-fields/fields/ReadOnlyTextField.d.ts +3 -0
- package/dist/custom-form-fields/types.d.ts +84 -21
- package/dist/exports/integrations.d.ts +1 -0
- package/dist/file-upload/components/SingleFileUpload.d.ts +59 -0
- package/dist/file-upload/types.d.ts +15 -0
- package/dist/file-upload/utils/formatBytes.d.ts +5 -0
- package/dist/file-upload/utils/getFileExtension.d.ts +5 -0
- package/dist/hooks/useColumnResize.d.ts +24 -0
- package/dist/hooks/useRowResize.d.ts +18 -0
- package/dist/hooks/useSidebarResize.d.ts +18 -0
- package/dist/hooks/useUpdatesNotification.d.ts +16 -0
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/integrations/clarity/clarityTracking.d.ts +31 -0
- package/dist/integrations/clarity/index.d.ts +3 -0
- package/dist/integrations/clarity/types.d.ts +46 -0
- package/dist/integrations/clarity/useClarity.d.ts +34 -0
- package/dist/integrations/index.d.ts +5 -0
- package/dist/providers/CoreProviders.d.ts +16 -1
- package/dist/qualiex/components/QualiexUserField.d.ts +8 -0
- package/dist/qualiex/hooks/useQualiexUsers.d.ts +16 -26
- package/dist/qualiex/services/qualiexApi.d.ts +38 -2
- package/dist/qualiex/utils/QualiexErrorInterceptor.d.ts +5 -0
- package/dist/supabase/SupabaseSingleton.d.ts +34 -0
- package/dist/types.d.ts +51 -2
- package/dist/vite/index.esm.js +4 -1
- package/dist/vite/index.js +4 -1
- package/docs/STORAGE_BUCKETS.md +384 -0
- package/docs/WORKSPACE_KNOWLEDGE.md +1 -0
- package/docs/design-system/README.md +1 -1
- package/docs/design-system/patterns/core-providers.md +2 -0
- package/docs/design-system/selectors.md +4 -0
- package/package.json +7 -1
- package/dist/components/ui/__tests__/status-badge.test.d.ts +0 -1
|
@@ -11,35 +11,188 @@ type SidebarContext = {
|
|
|
11
11
|
toggleSidebar: () => void;
|
|
12
12
|
};
|
|
13
13
|
declare const SidebarContext: React.Context<SidebarContext>;
|
|
14
|
+
/**
|
|
15
|
+
* Hook que expõe o estado da sidebar atual: `state` (`expanded`/`collapsed`),
|
|
16
|
+
* `open`, `setOpen`, `isMobile`, `openMobile`, `setOpenMobile`, `toggleSidebar`.
|
|
17
|
+
* Deve ser usado **dentro** de um `SidebarProvider` (lança erro caso contrário).
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* function CollapseButton() {
|
|
21
|
+
* const { toggleSidebar, state } = useSidebar();
|
|
22
|
+
* return <Button onClick={toggleSidebar}>{state === 'expanded' ? 'Recolher' : 'Expandir'}</Button>;
|
|
23
|
+
* }
|
|
24
|
+
*/
|
|
14
25
|
declare function useSidebar(): SidebarContext;
|
|
26
|
+
/**
|
|
27
|
+
* Provider obrigatório no topo da árvore que usa qualquer componente de Sidebar.
|
|
28
|
+
* Persiste o estado em `localStorage` (`sidebar:state`) e adiciona o atalho
|
|
29
|
+
* `Cmd/Ctrl+B` para alternar a sidebar.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* <SidebarProvider defaultOpen>
|
|
33
|
+
* <Sidebar>...</Sidebar>
|
|
34
|
+
* <SidebarInset>{children}</SidebarInset>
|
|
35
|
+
* </SidebarProvider>
|
|
36
|
+
*/
|
|
15
37
|
declare const SidebarProvider: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
16
38
|
defaultOpen?: boolean;
|
|
17
39
|
open?: boolean;
|
|
18
40
|
onOpenChange?: (open: boolean) => void;
|
|
19
41
|
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
42
|
+
/**
|
|
43
|
+
* Sidebar lateral colapsável. Configurável por `side` (`left`/`right`),
|
|
44
|
+
* `variant` (`sidebar`/`floating`/`inset`) e `collapsible` (`offcanvas`/`icon`/`none`).
|
|
45
|
+
* Em mobile, vira automaticamente um `Sheet` deslizante.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* <Sidebar side="left" variant="inset" collapsible="icon">
|
|
49
|
+
* <SidebarHeader>{logo}</SidebarHeader>
|
|
50
|
+
* <SidebarContent>
|
|
51
|
+
* <SidebarMenu>{items.map(it => <SidebarMenuItem key={it.id}>...</SidebarMenuItem>)}</SidebarMenu>
|
|
52
|
+
* </SidebarContent>
|
|
53
|
+
* <SidebarFooter>{userMenu}</SidebarFooter>
|
|
54
|
+
* </Sidebar>
|
|
55
|
+
*/
|
|
20
56
|
declare const Sidebar: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
21
57
|
side?: "left" | "right";
|
|
22
58
|
variant?: "sidebar" | "floating" | "inset";
|
|
23
59
|
collapsible?: "offcanvas" | "icon" | "none";
|
|
24
60
|
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
61
|
+
/**
|
|
62
|
+
* Botão `PanelLeft` que alterna a sidebar (chama `toggleSidebar`).
|
|
63
|
+
* Tipicamente colocado no header da aplicação.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* <SidebarTrigger className="md:hidden" />
|
|
67
|
+
*/
|
|
25
68
|
declare const SidebarTrigger: React.ForwardRefExoticComponent<Omit<import("./button").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
69
|
+
/**
|
|
70
|
+
* Linha vertical fina na borda externa da sidebar que serve como handle
|
|
71
|
+
* de toggle (clicar nela colapsa/expande). Adicionada automaticamente em
|
|
72
|
+
* variantes colapsáveis em desktop.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* <Sidebar>...<SidebarRail /></Sidebar>
|
|
76
|
+
*/
|
|
26
77
|
declare const SidebarRail: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
78
|
+
/**
|
|
79
|
+
* `<main>` que recebe o conteúdo da página ao lado da `Sidebar`. Aplica margens
|
|
80
|
+
* e bordas apropriadas para a variante `inset`.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* <SidebarProvider>
|
|
84
|
+
* <Sidebar>...</Sidebar>
|
|
85
|
+
* <SidebarInset><Outlet /></SidebarInset>
|
|
86
|
+
* </SidebarProvider>
|
|
87
|
+
*/
|
|
27
88
|
declare const SidebarInset: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
89
|
+
/**
|
|
90
|
+
* Input estilizado para uso dentro da sidebar (ex.: campo de busca de itens).
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* <SidebarHeader><SidebarInput placeholder="Buscar..." /></SidebarHeader>
|
|
94
|
+
*/
|
|
28
95
|
declare const SidebarInput: React.ForwardRefExoticComponent<Omit<Omit<import("./input").InputProps, "ref"> & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
96
|
+
/**
|
|
97
|
+
* Topo da sidebar (logo, busca, perfil). Não rola.
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* <SidebarHeader><Logo /></SidebarHeader>
|
|
101
|
+
*/
|
|
29
102
|
declare const SidebarHeader: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
103
|
+
/**
|
|
104
|
+
* Rodapé fixo da sidebar (menu do usuário, versão do app, etc).
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* <SidebarFooter><UserMenu /></SidebarFooter>
|
|
108
|
+
*/
|
|
30
109
|
declare const SidebarFooter: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
110
|
+
/**
|
|
111
|
+
* Linha divisória horizontal dentro da sidebar.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* <SidebarSeparator />
|
|
115
|
+
*/
|
|
31
116
|
declare const SidebarSeparator: React.ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/react-separator").SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
117
|
+
/**
|
|
118
|
+
* Área principal scrollável da sidebar (entre Header e Footer).
|
|
119
|
+
* No modo `collapsible="icon"` esconde o overflow para preservar layout.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* <SidebarContent>
|
|
123
|
+
* <SidebarGroup>...</SidebarGroup>
|
|
124
|
+
* </SidebarContent>
|
|
125
|
+
*/
|
|
32
126
|
declare const SidebarContent: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
127
|
+
/**
|
|
128
|
+
* Agrupamento lógico de itens (ex.: "Operacional", "Configurações").
|
|
129
|
+
* Combine com `SidebarGroupLabel` + `SidebarGroupContent`.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* <SidebarGroup>
|
|
133
|
+
* <SidebarGroupLabel>Operacional</SidebarGroupLabel>
|
|
134
|
+
* <SidebarGroupContent><SidebarMenu>...</SidebarMenu></SidebarGroupContent>
|
|
135
|
+
* </SidebarGroup>
|
|
136
|
+
*/
|
|
33
137
|
declare const SidebarGroup: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
138
|
+
/**
|
|
139
|
+
* Título de um `SidebarGroup` (some no modo `collapsible="icon"`).
|
|
140
|
+
* Use `asChild` para renderizar como link/botão.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* <SidebarGroupLabel>Configurações</SidebarGroupLabel>
|
|
144
|
+
*/
|
|
34
145
|
declare const SidebarGroupLabel: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
35
146
|
asChild?: boolean;
|
|
36
147
|
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
148
|
+
/**
|
|
149
|
+
* Botão de ação no canto superior direito de um `SidebarGroup` (ex.: "+ Adicionar").
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* <SidebarGroup>
|
|
153
|
+
* <SidebarGroupLabel>Projetos</SidebarGroupLabel>
|
|
154
|
+
* <SidebarGroupAction onClick={createProject}><Plus /></SidebarGroupAction>
|
|
155
|
+
* </SidebarGroup>
|
|
156
|
+
*/
|
|
37
157
|
declare const SidebarGroupAction: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
38
158
|
asChild?: boolean;
|
|
39
159
|
}, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
160
|
+
/**
|
|
161
|
+
* Container do conteúdo de um `SidebarGroup` (tipicamente envolve um `SidebarMenu`).
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* <SidebarGroupContent><SidebarMenu>...</SidebarMenu></SidebarGroupContent>
|
|
165
|
+
*/
|
|
40
166
|
declare const SidebarGroupContent: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
167
|
+
/**
|
|
168
|
+
* `<ul>` raiz da lista de itens do menu. Filhos devem ser `SidebarMenuItem`.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* <SidebarMenu>
|
|
172
|
+
* <SidebarMenuItem><SidebarMenuButton>Início</SidebarMenuButton></SidebarMenuItem>
|
|
173
|
+
* </SidebarMenu>
|
|
174
|
+
*/
|
|
41
175
|
declare const SidebarMenu: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React.RefAttributes<HTMLUListElement>>;
|
|
176
|
+
/**
|
|
177
|
+
* `<li>` que envolve um `SidebarMenuButton` e suas ações/badges/submenus.
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* <SidebarMenuItem>
|
|
181
|
+
* <SidebarMenuButton isActive>Início</SidebarMenuButton>
|
|
182
|
+
* <SidebarMenuBadge>3</SidebarMenuBadge>
|
|
183
|
+
* </SidebarMenuItem>
|
|
184
|
+
*/
|
|
42
185
|
declare const SidebarMenuItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
186
|
+
/**
|
|
187
|
+
* Botão clicável principal de cada item de menu. Use `isActive` para destacar a rota
|
|
188
|
+
* atual e `tooltip` para mostrar o nome quando a sidebar está colapsada (`icon`).
|
|
189
|
+
* Use `asChild` para integrar com `<Link>` do react-router.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* <SidebarMenuButton asChild isActive={pathname === '/home'} tooltip="Início">
|
|
193
|
+
* <Link to="/home"><Home className="h-4 w-4" /><span>Início</span></Link>
|
|
194
|
+
* </SidebarMenuButton>
|
|
195
|
+
*/
|
|
43
196
|
declare const SidebarMenuButton: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
44
197
|
asChild?: boolean;
|
|
45
198
|
isActive?: boolean;
|
|
@@ -48,16 +201,66 @@ declare const SidebarMenuButton: React.ForwardRefExoticComponent<Omit<React.Clas
|
|
|
48
201
|
variant?: "outline" | "default";
|
|
49
202
|
size?: "default" | "sm" | "lg";
|
|
50
203
|
} & import("class-variance-authority/types").ClassProp) => string>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
204
|
+
/**
|
|
205
|
+
* Botão de ação secundária no canto direito de um `SidebarMenuItem` (ex.: "...", "+").
|
|
206
|
+
* Use `showOnHover` para revelar somente no hover do item.
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* <SidebarMenuItem>
|
|
210
|
+
* <SidebarMenuButton>Projeto X</SidebarMenuButton>
|
|
211
|
+
* <SidebarMenuAction showOnHover><MoreHorizontal /></SidebarMenuAction>
|
|
212
|
+
* </SidebarMenuItem>
|
|
213
|
+
*/
|
|
51
214
|
declare const SidebarMenuAction: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
52
215
|
asChild?: boolean;
|
|
53
216
|
showOnHover?: boolean;
|
|
54
217
|
}, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
218
|
+
/**
|
|
219
|
+
* Badge numérico/textual no canto direito de um `SidebarMenuItem`
|
|
220
|
+
* (ex.: contadores de notificações).
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* <SidebarMenuBadge>12</SidebarMenuBadge>
|
|
224
|
+
*/
|
|
55
225
|
declare const SidebarMenuBadge: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
226
|
+
/**
|
|
227
|
+
* Skeleton placeholder de um item da sidebar enquanto os dados carregam.
|
|
228
|
+
* `showIcon` adiciona o quadrado do ícone à esquerda.
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* {isLoading && Array.from({ length: 5 }).map((_, i) => <SidebarMenuSkeleton key={i} showIcon />)}
|
|
232
|
+
*/
|
|
56
233
|
declare const SidebarMenuSkeleton: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
57
234
|
showIcon?: boolean;
|
|
58
235
|
}, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
236
|
+
/**
|
|
237
|
+
* Submenu (`<ul>`) aninhado dentro de um `SidebarMenuItem`. Esconde-se no
|
|
238
|
+
* modo `collapsible="icon"`. Filhos devem ser `SidebarMenuSubItem`.
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* <SidebarMenuItem>
|
|
242
|
+
* <SidebarMenuButton>Configurações</SidebarMenuButton>
|
|
243
|
+
* <SidebarMenuSub>
|
|
244
|
+
* <SidebarMenuSubItem><SidebarMenuSubButton>Geral</SidebarMenuSubButton></SidebarMenuSubItem>
|
|
245
|
+
* </SidebarMenuSub>
|
|
246
|
+
* </SidebarMenuItem>
|
|
247
|
+
*/
|
|
59
248
|
declare const SidebarMenuSub: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React.RefAttributes<HTMLUListElement>>;
|
|
249
|
+
/**
|
|
250
|
+
* `<li>` de um item dentro de `SidebarMenuSub`.
|
|
251
|
+
*
|
|
252
|
+
* @example
|
|
253
|
+
* <SidebarMenuSubItem><SidebarMenuSubButton href="/x">Opção</SidebarMenuSubButton></SidebarMenuSubItem>
|
|
254
|
+
*/
|
|
60
255
|
declare const SidebarMenuSubItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
256
|
+
/**
|
|
257
|
+
* Link (`<a>`) clicável de um item de submenu. Use `asChild` para integrar com `<Link>`.
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* <SidebarMenuSubButton asChild isActive={pathname === '/x'}>
|
|
261
|
+
* <Link to="/x">Detalhes</Link>
|
|
262
|
+
* </SidebarMenuSubButton>
|
|
263
|
+
*/
|
|
61
264
|
declare const SidebarMenuSubButton: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLAnchorElement> & React.AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
62
265
|
asChild?: boolean;
|
|
63
266
|
size?: "sm" | "md";
|
|
@@ -8,9 +8,34 @@ interface CardSkeletonProps {
|
|
|
8
8
|
interface FormSkeletonProps {
|
|
9
9
|
fields?: number;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Função utilitária `TableSkeleton`.
|
|
13
|
+
* @example
|
|
14
|
+
* TableSkeleton();
|
|
15
|
+
*/
|
|
11
16
|
export declare function TableSkeleton({ rows, columns }: TableSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
/**
|
|
18
|
+
* Função utilitária `CardSkeleton`.
|
|
19
|
+
* @example
|
|
20
|
+
* CardSkeleton();
|
|
21
|
+
*/
|
|
12
22
|
export declare function CardSkeleton({ count }: CardSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
/**
|
|
24
|
+
* Função utilitária `FormSkeleton`.
|
|
25
|
+
* @example
|
|
26
|
+
* FormSkeleton();
|
|
27
|
+
*/
|
|
13
28
|
export declare function FormSkeleton({ fields }: FormSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
/**
|
|
30
|
+
* Função utilitária `HeaderSkeleton`.
|
|
31
|
+
* @example
|
|
32
|
+
* HeaderSkeleton();
|
|
33
|
+
*/
|
|
14
34
|
export declare function HeaderSkeleton(): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
/**
|
|
36
|
+
* Função utilitária `SidebarSkeleton`.
|
|
37
|
+
* @example
|
|
38
|
+
* SidebarSkeleton();
|
|
39
|
+
*/
|
|
15
40
|
export declare function SidebarSkeleton(): import("react/jsx-runtime").JSX.Element;
|
|
16
41
|
export {};
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bloco de carregamento animado (pulse). Use para placeholders de conteúdo durante fetch.
|
|
3
|
+
*
|
|
4
|
+
* Para padrões compostos prontos (tabela, card, formulário, header, sidebar), prefira
|
|
5
|
+
* `TableSkeleton`, `CardSkeleton`, `FormSkeleton`, `HeaderSkeleton`, `SidebarSkeleton`
|
|
6
|
+
* de `./skeleton-variants`.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* {isLoading ? <Skeleton className="h-4 w-32" /> : <span>{name}</span>}
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
1
13
|
declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
2
14
|
export { Skeleton };
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
3
|
+
/**
|
|
4
|
+
* Componente `Slider` da lib.
|
|
5
|
+
* @example
|
|
6
|
+
* <Slider />
|
|
7
|
+
*/
|
|
3
8
|
declare const Slider: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
4
9
|
export { Slider };
|
|
@@ -2,5 +2,10 @@ interface SpinnerProps {
|
|
|
2
2
|
size?: "sm" | "md" | "lg";
|
|
3
3
|
className?: string;
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Função utilitária `Spinner`.
|
|
7
|
+
* @example
|
|
8
|
+
* Spinner();
|
|
9
|
+
*/
|
|
5
10
|
export declare function Spinner({ size, className }: SpinnerProps): import("react/jsx-runtime").JSX.Element;
|
|
6
11
|
export {};
|
|
@@ -3,6 +3,9 @@ import type { VariantProps } from 'class-variance-authority';
|
|
|
3
3
|
import type { LucideIcon } from 'lucide-react';
|
|
4
4
|
/**
|
|
5
5
|
* Representa uma ação secundária no menu do Split Button
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const value: SplitButtonAction = {} as SplitButtonAction;
|
|
6
9
|
*/
|
|
7
10
|
export interface SplitButtonAction {
|
|
8
11
|
/** Identificador único da ação */
|
|
@@ -20,6 +23,9 @@ export interface SplitButtonAction {
|
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* Props do componente SplitButton
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const value: SplitButtonProps = {} as SplitButtonProps;
|
|
23
29
|
*/
|
|
24
30
|
export interface SplitButtonProps extends Omit<VariantProps<typeof buttonVariants>, 'variant' | 'size'> {
|
|
25
31
|
/** Texto do botão principal */
|
|
@@ -8,5 +8,10 @@ interface StackProps {
|
|
|
8
8
|
wrap?: boolean;
|
|
9
9
|
className?: string;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Função utilitária `Stack`.
|
|
13
|
+
* @example
|
|
14
|
+
* Stack();
|
|
15
|
+
*/
|
|
11
16
|
export declare function Stack({ children, direction, gap, align, justify, wrap, className }: StackProps): import("react/jsx-runtime").JSX.Element;
|
|
12
17
|
export {};
|
|
@@ -27,6 +27,9 @@ export interface StatusConfig {
|
|
|
27
27
|
* Badge de status genérico e reutilizável.
|
|
28
28
|
* Aceita cor semântica e gera fundo pastel automaticamente.
|
|
29
29
|
* Pode ser usado em qualquer CRUD, tabela ou card.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* StatusBadge();
|
|
30
33
|
*/
|
|
31
34
|
export declare function StatusBadge({ label, color, icon: Icon, showIcon, size, variant, backgroundColor, className, }: StatusBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
32
35
|
/**
|
|
@@ -37,5 +37,10 @@ export interface StepSelectorProps {
|
|
|
37
37
|
/** Largura da barra de progresso */
|
|
38
38
|
progressWidth?: string;
|
|
39
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Função utilitária `StepSelector`.
|
|
42
|
+
* @example
|
|
43
|
+
* StepSelector();
|
|
44
|
+
*/
|
|
40
45
|
declare function StepSelector({ currentStep, totalSteps, onStepChange, stepLabels, canGoToStep, className, progressWidth, }: StepSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
41
46
|
export { StepSelector };
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { type IframeDialogProps } from './iframe-dialog';
|
|
2
|
+
/**
|
|
3
|
+
* Tipo `StimulsoftViewerProps` exportado pela lib.
|
|
4
|
+
* @example
|
|
5
|
+
* const value: StimulsoftViewerProps = {} as StimulsoftViewerProps;
|
|
6
|
+
*/
|
|
2
7
|
export interface StimulsoftViewerProps extends Omit<IframeDialogProps, 'url' | 'minHeight'> {
|
|
3
8
|
/** Base URL of the report API (e.g. environment.reportApiUrl) */
|
|
4
9
|
reportApiUrl: string;
|
|
@@ -15,6 +20,9 @@ export interface StimulsoftViewerProps extends Omit<IframeDialogProps, 'url' | '
|
|
|
15
20
|
* Stimulsoft Viewer endpoint with the given parameters.
|
|
16
21
|
*
|
|
17
22
|
* Ported from legacy `qex-stimulsoft-viewer`.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* StimulsoftViewer();
|
|
18
26
|
*/
|
|
19
27
|
export declare function StimulsoftViewer({ reportApiUrl, parameters, minHeight, ...dialogProps }: StimulsoftViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
20
28
|
export default StimulsoftViewer;
|
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
3
|
+
/**
|
|
4
|
+
* Toggle binário on/off. Use controlado (`checked` + `onCheckedChange`) para integrar com
|
|
5
|
+
* formulários ou estado externo, ou não controlado (`defaultChecked`) para casos simples.
|
|
6
|
+
*
|
|
7
|
+
* @example Controlado
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <Switch checked={isActive} onCheckedChange={setIsActive} />
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* @example Em formulário
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <FormField control={form.control} name="active" render={({ field }) => (
|
|
15
|
+
* <FormItem>
|
|
16
|
+
* <FormLabel>Ativo</FormLabel>
|
|
17
|
+
* <FormControl>
|
|
18
|
+
* <Switch checked={field.value} onCheckedChange={field.onChange} />
|
|
19
|
+
* </FormControl>
|
|
20
|
+
* </FormItem>
|
|
21
|
+
* )} />
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
3
24
|
declare const Switch: React.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
4
25
|
export { Switch };
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module TabPageLayout
|
|
3
|
+
* Layout padrão da Forlogic Core para o conteúdo interno de uma aba (`TabsContent`).
|
|
4
|
+
* **Não é shadcn** — composição custom da lib. Use a tríade
|
|
5
|
+
* `TabPageLayout` (raiz com scroll) → `TabPageHeader` (título + ações) → `TabPageContent`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <TabsContent value="config">
|
|
10
|
+
* <TabPageLayout>
|
|
11
|
+
* <TabPageHeader title="Configurações" description="Ajustes gerais" actions={<Button>Salvar</Button>} />
|
|
12
|
+
* <TabPageContent>{children}</TabPageContent>
|
|
13
|
+
* </TabPageLayout>
|
|
14
|
+
* </TabsContent>
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @see `docs/design-system/layout.md`
|
|
18
|
+
*/
|
|
1
19
|
import { ReactNode } from "react";
|
|
2
20
|
interface TabPageLayoutProps {
|
|
3
21
|
children: ReactNode;
|
|
@@ -13,7 +31,22 @@ interface TabPageContentProps {
|
|
|
13
31
|
children: ReactNode;
|
|
14
32
|
className?: string;
|
|
15
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Função utilitária `TabPageLayout`.
|
|
36
|
+
* @example
|
|
37
|
+
* TabPageLayout();
|
|
38
|
+
*/
|
|
16
39
|
export declare function TabPageLayout({ children, className }: TabPageLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
/**
|
|
41
|
+
* Função utilitária `TabPageHeader`.
|
|
42
|
+
* @example
|
|
43
|
+
* TabPageHeader();
|
|
44
|
+
*/
|
|
17
45
|
export declare function TabPageHeader({ title, description, actions, className }: TabPageHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
/**
|
|
47
|
+
* Função utilitária `TabPageContent`.
|
|
48
|
+
* @example
|
|
49
|
+
* TabPageContent();
|
|
50
|
+
*/
|
|
18
51
|
export declare function TabPageContent({ children, className }: TabPageContentProps): import("react/jsx-runtime").JSX.Element;
|
|
19
52
|
export {};
|
|
@@ -6,10 +6,17 @@ interface TableResizeHandleProps {
|
|
|
6
6
|
className?: string;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* TableResizeHandle
|
|
10
|
-
*
|
|
11
9
|
* Handle visual para resize de colunas (horizontal) ou linhas (vertical) em tabelas.
|
|
12
|
-
* Segue o padrão visual do ResizableHandle do Design System.
|
|
10
|
+
* Segue o padrão visual do `ResizableHandle` do Design System. Use junto de
|
|
11
|
+
* `useColumnResize` ou `useRowResize`.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <th className="relative">
|
|
16
|
+
* Coluna
|
|
17
|
+
* <TableResizeHandle direction="horizontal" onMouseDown={handleMouseDown} isDragging={isDragging} />
|
|
18
|
+
* </th>
|
|
19
|
+
* ```
|
|
13
20
|
*/
|
|
14
21
|
export declare const TableResizeHandle: React.ForwardRefExoticComponent<TableResizeHandleProps & React.RefAttributes<HTMLDivElement>>;
|
|
15
22
|
export { TableResizeHandle as default };
|
|
@@ -1,10 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Table
|
|
3
|
+
* Componente primitivo de tabela com customizações Forlogic sobre o shadcn base:
|
|
4
|
+
* - `table-fixed` obrigatório (preserva integridade do layout em drag-and-drop e resize).
|
|
5
|
+
* - `TableHeader` é **sticky** por padrão (`sticky top-0 z-[1]`) — funciona com scroll do contêiner.
|
|
6
|
+
* - Densidade visual aumentada: `text-[13px]`, `TableHead h-9`, `TableCell py-2`.
|
|
7
|
+
* - Linhas zebradas via `even:bg-table-stripe`.
|
|
8
|
+
*
|
|
9
|
+
* Para CRUDs com filtros, paginação e column manager, use `CrudTable` ou `DataTable`
|
|
10
|
+
* (aliases) ao invés deste primitivo.
|
|
11
|
+
*
|
|
12
|
+
* @see `docs/design-system/tables-grids.md`
|
|
13
|
+
*/
|
|
1
14
|
import * as React from "react";
|
|
15
|
+
/**
|
|
16
|
+
* Raiz da tabela. Aplica `w-full table-fixed text-[13px]`.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <Table>
|
|
21
|
+
* <TableHeader>...</TableHeader>
|
|
22
|
+
* <TableBody>...</TableBody>
|
|
23
|
+
* </Table>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
2
26
|
declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
|
|
27
|
+
/**
|
|
28
|
+
* Cabeçalho da tabela (`<thead>`). Sticky por padrão (`sticky top-0 z-[1]`),
|
|
29
|
+
* funciona quando o contêiner pai possui `overflow-y-auto`.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```tsx
|
|
33
|
+
* <TableHeader>
|
|
34
|
+
* <TableRow>
|
|
35
|
+
* <TableHead>Nome</TableHead>
|
|
36
|
+
* <TableHead>Email</TableHead>
|
|
37
|
+
* </TableRow>
|
|
38
|
+
* </TableHeader>
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
3
41
|
declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
42
|
+
/**
|
|
43
|
+
* Corpo da tabela (`<tbody>`). Remove a borda inferior da última linha automaticamente.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* <TableBody>
|
|
48
|
+
* {rows.map(r => <TableRow key={r.id}>...</TableRow>)}
|
|
49
|
+
* </TableBody>
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
4
52
|
declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
53
|
+
/**
|
|
54
|
+
* Rodapé da tabela (`<tfoot>`). Útil para linhas de totalização.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```tsx
|
|
58
|
+
* <TableFooter>
|
|
59
|
+
* <TableRow>
|
|
60
|
+
* <TableCell colSpan={2}>Total</TableCell>
|
|
61
|
+
* <TableCell>{total}</TableCell>
|
|
62
|
+
* </TableRow>
|
|
63
|
+
* </TableFooter>
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
5
66
|
declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
67
|
+
/**
|
|
68
|
+
* Linha (`<tr>`). Aplica zebra automática (`even:bg-table-stripe`) e estado
|
|
69
|
+
* `data-[state=selected]` para seleção via checkbox.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```tsx
|
|
73
|
+
* <TableRow data-state={selected ? 'selected' : undefined}>
|
|
74
|
+
* <TableCell>...</TableCell>
|
|
75
|
+
* </TableRow>
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
6
78
|
declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
|
|
79
|
+
/**
|
|
80
|
+
* Célula de cabeçalho (`<th>`). Altura `h-9` e padding `py-2 px-4` por padrão
|
|
81
|
+
* (densidade visual da lib).
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```tsx
|
|
85
|
+
* <TableHead className="w-[200px]">Nome</TableHead>
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
7
88
|
declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
89
|
+
/**
|
|
90
|
+
* Célula de dado (`<td>`). Padding `py-2 px-4` e `overflow-hidden`
|
|
91
|
+
* (combinar com `TruncatedCell` para texto longo).
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```tsx
|
|
95
|
+
* <TableCell>{user.name}</TableCell>
|
|
96
|
+
* <TableCell><TruncatedCell>{user.bio}</TruncatedCell></TableCell>
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
8
99
|
declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
100
|
+
/**
|
|
101
|
+
* Legenda da tabela (`<caption>`). Renderiza abaixo (`caption-bottom`).
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```tsx
|
|
105
|
+
* <Table>
|
|
106
|
+
* <TableCaption>Lista de usuários ativos no sistema.</TableCaption>
|
|
107
|
+
* ...
|
|
108
|
+
* </Table>
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
9
111
|
declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
|
|
10
112
|
export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };
|