forlogic-core 2.1.4 → 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.
Files changed (248) hide show
  1. package/.note/memory/features/import/attachment-idempotency-registry.md +8 -8
  2. package/.note/memory/features/import/attachment-strategy.md +30 -30
  3. package/.note/memory/patterns/admin-i18n-policy.md +20 -20
  4. package/.note/memory/patterns/alias-url-resolution.md +69 -69
  5. package/.note/memory/patterns/doc-sync-rule.md +35 -35
  6. package/.note/memory/patterns/documentation-standard.md +17 -17
  7. package/.note/memory/patterns/dynamic-supabase-config.md +4 -4
  8. package/.note/memory/patterns/environment-detection-logic.md +35 -35
  9. package/.note/memory/patterns/i18n-architecture.md +3 -3
  10. package/README.md +120 -68
  11. package/dist/action-plans/components/ActionPlanAttachmentsTab.d.ts +3 -0
  12. package/dist/action-plans/components/ActionPlanCommentsTab.d.ts +3 -0
  13. package/dist/action-plans/components/ActionPlanCostTab.d.ts +5 -0
  14. package/dist/action-plans/components/ActionPlanGeneralTab.d.ts +3 -0
  15. package/dist/action-plans/components/ActionPlanHistoryTab.d.ts +3 -0
  16. package/dist/action-plans/components/ActionPlanPredecessorsTab.d.ts +5 -0
  17. package/dist/action-plans/components/ActionPlanProgressDialog.d.ts +3 -0
  18. package/dist/action-plans/components/ActionPlanProgressTab.d.ts +5 -0
  19. package/dist/action-plans/components/ActionPlanStatusBadge.d.ts +9 -2
  20. package/dist/action-plans/constants.d.ts +24 -0
  21. package/dist/action-plans/hooks/useActionPlan.d.ts +5 -0
  22. package/dist/action-plans/hooks/useActionPlanProgress.d.ts +5 -0
  23. package/dist/action-plans/types.d.ts +60 -0
  24. package/dist/action-plans/utils/formatTime.d.ts +9 -0
  25. package/dist/audit-trail/components/AuditTrailDetails.d.ts +10 -0
  26. package/dist/audit-trail/components/AuditTrailFilter.d.ts +10 -0
  27. package/dist/audit-trail/components/AuditTrailPage.d.ts +10 -0
  28. package/dist/audit-trail/types.d.ts +58 -0
  29. package/dist/audit-trail/utils.d.ts +18 -2
  30. package/dist/auth/components/EditProfileDialog.d.ts +1 -0
  31. package/dist/auth/components/ProtectedRoute.d.ts +5 -0
  32. package/dist/auth/contexts/AuthContext.d.ts +5 -0
  33. package/dist/auth/pages/CallbackPage.d.ts +5 -0
  34. package/dist/auth/services/AuthService.d.ts +5 -0
  35. package/dist/auth/services/TokenManager.d.ts +5 -0
  36. package/dist/auth/services/TokenService.d.ts +10 -0
  37. package/dist/auth/utils/ErrorInterceptor.d.ts +5 -0
  38. package/dist/components/dashboards/dashboard-form.d.ts +15 -0
  39. package/dist/components/dashboards/dashboard-general-view.d.ts +15 -0
  40. package/dist/components/dashboards/dashboard-grid.d.ts +25 -0
  41. package/dist/components/dashboards/dashboard-list.d.ts +10 -0
  42. package/dist/components/dashboards/dashboard-panel-renderer.d.ts +10 -0
  43. package/dist/components/dashboards/dashboard-view.d.ts +10 -0
  44. package/dist/components/dashboards/helpers.d.ts +44 -5
  45. package/dist/components/dashboards/panels/burndown-panel.d.ts +15 -0
  46. package/dist/components/dashboards/panels/cartesian-panel.d.ts +20 -0
  47. package/dist/components/dashboards/panels/list-panel.d.ts +15 -0
  48. package/dist/components/dashboards/panels/matrix-risk-panel.d.ts +25 -0
  49. package/dist/components/dashboards/panels/numeric-panel.d.ts +10 -0
  50. package/dist/components/dashboards/panels/panel-error.d.ts +10 -0
  51. package/dist/components/dashboards/panels/panel-header.d.ts +10 -0
  52. package/dist/components/dashboards/panels/panel-loader.d.ts +10 -0
  53. package/dist/components/dashboards/panels/panel-no-data.d.ts +10 -0
  54. package/dist/components/dashboards/panels/panel-unavailable.d.ts +10 -0
  55. package/dist/components/dashboards/panels/pareto-panel.d.ts +10 -0
  56. package/dist/components/dashboards/panels/performance-panel.d.ts +15 -0
  57. package/dist/components/dashboards/panels/pie-panel.d.ts +10 -0
  58. package/dist/components/dashboards/panels/text-panel.d.ts +10 -0
  59. package/dist/components/dashboards/types.d.ts +230 -0
  60. package/dist/components/modules/AccessDeniedDialog.d.ts +3 -1
  61. package/dist/components/modules/ModuleAccessGuard.d.ts +3 -1
  62. package/dist/components/modules/ModulesContent.d.ts +3 -1
  63. package/dist/components/modules/ModulesDialog.d.ts +1 -1
  64. package/dist/components/modules/ModulesFooterCards.d.ts +3 -1
  65. package/dist/components/modules/types.d.ts +2 -0
  66. package/dist/components/ui/accordion.d.ts +35 -0
  67. package/dist/components/ui/action-button.d.ts +5 -0
  68. package/dist/components/ui/alert-dialog.d.ts +82 -0
  69. package/dist/components/ui/alert.d.ts +32 -0
  70. package/dist/components/ui/avatar.d.ts +30 -0
  71. package/dist/components/ui/badge.d.ts +32 -0
  72. package/dist/components/ui/breadcrumb.d.ts +54 -0
  73. package/dist/components/ui/button-group.d.ts +15 -0
  74. package/dist/components/ui/button.d.ts +55 -0
  75. package/dist/components/ui/calendar.d.ts +16 -0
  76. package/dist/components/ui/card.d.ts +49 -0
  77. package/dist/components/ui/chart.d.ts +35 -0
  78. package/dist/components/ui/checkbox.d.ts +11 -0
  79. package/dist/components/ui/collapsible.d.ts +15 -0
  80. package/dist/components/ui/color-picker.d.ts +5 -0
  81. package/dist/components/ui/combo-tree.d.ts +23 -0
  82. package/dist/components/ui/combobox.d.ts +28 -0
  83. package/dist/components/ui/command.d.ts +66 -0
  84. package/dist/components/ui/context-menu.d.ts +95 -0
  85. package/dist/components/ui/date-picker.d.ts +10 -0
  86. package/dist/components/ui/dialog-wizard.d.ts +22 -4
  87. package/dist/components/ui/dialog.d.ts +181 -0
  88. package/dist/components/ui/drawer.d.ts +72 -0
  89. package/dist/components/ui/dropdown-menu.d.ts +153 -0
  90. package/dist/components/ui/electronic-signature-dialog.d.ts +10 -0
  91. package/dist/components/ui/export-dialog.d.ts +20 -0
  92. package/dist/components/ui/form.d.ts +96 -0
  93. package/dist/components/ui/hover-card.d.ts +15 -0
  94. package/dist/components/ui/icon-picker.d.ts +5 -0
  95. package/dist/components/ui/iframe-dialog.d.ts +10 -0
  96. package/dist/components/ui/input-group.d.ts +16 -0
  97. package/dist/components/ui/input.d.ts +5 -0
  98. package/dist/components/ui/menubar.d.ts +80 -0
  99. package/dist/components/ui/multiselect-permissions.d.ts +25 -0
  100. package/dist/components/ui/navigation-menu.d.ts +45 -0
  101. package/dist/components/ui/onboarding-dialog.d.ts +15 -0
  102. package/dist/components/ui/online-editor-dialog.d.ts +10 -0
  103. package/dist/components/ui/pagination.d.ts +53 -0
  104. package/dist/components/ui/popover.d.ts +8 -0
  105. package/dist/components/ui/radio-group.d.ts +3 -0
  106. package/dist/components/ui/report-request-list.d.ts +20 -0
  107. package/dist/components/ui/resizable.d.ts +15 -0
  108. package/dist/components/ui/rich-text-editor.d.ts +13 -0
  109. package/dist/components/ui/scroll-area.d.ts +3 -0
  110. package/dist/components/ui/select.d.ts +71 -0
  111. package/dist/components/ui/separator.d.ts +13 -0
  112. package/dist/components/ui/sheet.d.ts +76 -0
  113. package/dist/components/ui/sidebar.d.ts +203 -0
  114. package/dist/components/ui/skeleton-variants.d.ts +25 -0
  115. package/dist/components/ui/skeleton.d.ts +12 -0
  116. package/dist/components/ui/slider.d.ts +5 -0
  117. package/dist/components/ui/sonner.d.ts +5 -0
  118. package/dist/components/ui/spinner.d.ts +5 -0
  119. package/dist/components/ui/split-button.d.ts +6 -0
  120. package/dist/components/ui/stack.d.ts +5 -0
  121. package/dist/components/ui/status-badge.d.ts +52 -0
  122. package/dist/components/ui/step-selector.d.ts +5 -0
  123. package/dist/components/ui/stimulsoft-viewer.d.ts +8 -0
  124. package/dist/components/ui/switch.d.ts +21 -0
  125. package/dist/components/ui/tab-page-layout.d.ts +33 -0
  126. package/dist/components/ui/table-resize-handle.d.ts +10 -3
  127. package/dist/components/ui/table.d.ts +102 -0
  128. package/dist/components/ui/tabs.d.ts +59 -0
  129. package/dist/components/ui/terms-of-use-dialog.d.ts +50 -4
  130. package/dist/components/ui/textarea.d.ts +27 -0
  131. package/dist/components/ui/timepicker.d.ts +23 -0
  132. package/dist/components/ui/toggle-group.d.ts +25 -0
  133. package/dist/components/ui/toggle.d.ts +21 -0
  134. package/dist/components/ui/tooltip.d.ts +48 -0
  135. package/dist/components/ui/truncated-cell.d.ts +13 -0
  136. package/dist/components/ui/typography.d.ts +119 -0
  137. package/dist/components/ui/updates-notification.d.ts +33 -0
  138. package/dist/components/ui/users-groups-selector.d.ts +43 -0
  139. package/dist/components/ui/viewer-dialog.d.ts +107 -0
  140. package/dist/crud/components/ActionMenuItems.d.ts +5 -0
  141. package/dist/crud/components/BaseForm.d.ts +46 -0
  142. package/dist/crud/components/ColumnSettingsPopover.d.ts +10 -0
  143. package/dist/crud/components/CrudActionBar.d.ts +20 -0
  144. package/dist/crud/components/CrudGrid.d.ts +10 -0
  145. package/dist/crud/components/CrudPagination.d.ts +5 -0
  146. package/dist/crud/components/CrudTable.d.ts +5 -0
  147. package/dist/crud/components/TableRowActions.d.ts +5 -0
  148. package/dist/crud/createCrudPage.d.ts +41 -8
  149. package/dist/crud/generateCrudConfig.d.ts +13 -8
  150. package/dist/crud/hooks/useBaseForm.d.ts +39 -0
  151. package/dist/crud/hooks/useColumnManager.d.ts +25 -0
  152. package/dist/crud/hooks/useCrud.d.ts +35 -0
  153. package/dist/crud/primitives/ActionMenu.d.ts +41 -0
  154. package/dist/crud/primitives/FilterBar.d.ts +45 -0
  155. package/dist/crud/primitives/Pagination.d.ts +5 -0
  156. package/dist/crud/primitives/Table.d.ts +6 -1
  157. package/dist/crud/primitives/TreeTable.d.ts +5 -0
  158. package/dist/crud/primitives/types.d.ts +63 -0
  159. package/dist/crud/utils/routingHelpers.d.ts +11 -0
  160. package/dist/custom-form-fields/components/CustomFormFields.d.ts +3 -0
  161. package/dist/custom-form-fields/fields/FormDateField.d.ts +3 -0
  162. package/dist/custom-form-fields/fields/FormMultiSelectionField.d.ts +3 -0
  163. package/dist/custom-form-fields/fields/FormNumericField.d.ts +3 -0
  164. package/dist/custom-form-fields/fields/FormQuestionsField.d.ts +3 -0
  165. package/dist/custom-form-fields/fields/FormSingleSelectionField.d.ts +3 -0
  166. package/dist/custom-form-fields/fields/FormTextField.d.ts +3 -0
  167. package/dist/custom-form-fields/fields/FormTimeField.d.ts +3 -0
  168. package/dist/custom-form-fields/fields/FormUrlField.d.ts +3 -0
  169. package/dist/custom-form-fields/fields/ReadOnlyTextField.d.ts +3 -0
  170. package/dist/custom-form-fields/types.d.ts +84 -21
  171. package/dist/exports/crud.d.ts +5 -0
  172. package/dist/exports/integrations.d.ts +1 -0
  173. package/dist/exports/ui.d.ts +1 -0
  174. package/dist/file-upload/components/SingleFileUpload.d.ts +59 -0
  175. package/dist/file-upload/types.d.ts +15 -0
  176. package/dist/file-upload/utils/formatBytes.d.ts +5 -0
  177. package/dist/file-upload/utils/getFileExtension.d.ts +5 -0
  178. package/dist/hooks/useColumnResize.d.ts +24 -0
  179. package/dist/hooks/useRowResize.d.ts +18 -0
  180. package/dist/hooks/useSidebarResize.d.ts +18 -0
  181. package/dist/hooks/useUpdatesNotification.d.ts +16 -0
  182. package/dist/index.css +1 -1
  183. package/dist/index.css.map +1 -1
  184. package/dist/index.esm.js +1 -1
  185. package/dist/index.js +1 -1
  186. package/dist/integrations/clarity/clarityTracking.d.ts +31 -0
  187. package/dist/integrations/clarity/index.d.ts +3 -0
  188. package/dist/integrations/clarity/types.d.ts +46 -0
  189. package/dist/integrations/clarity/useClarity.d.ts +34 -0
  190. package/dist/integrations/index.d.ts +5 -0
  191. package/dist/providers/CoreProviders.d.ts +16 -1
  192. package/dist/qualiex/components/QualiexUserField.d.ts +8 -0
  193. package/dist/qualiex/hooks/useQualiexUsers.d.ts +16 -26
  194. package/dist/qualiex/services/qualiexApi.d.ts +38 -2
  195. package/dist/qualiex/utils/QualiexErrorInterceptor.d.ts +5 -0
  196. package/dist/supabase/SupabaseSingleton.d.ts +34 -0
  197. package/dist/types.d.ts +51 -2
  198. package/dist/utils/color.d.ts +26 -0
  199. package/dist/utils/index.d.ts +1 -0
  200. package/dist/vite/index.esm.js +4 -1
  201. package/dist/vite/index.js +4 -1
  202. package/docs/PUBLISH.md +168 -0
  203. package/docs/STORAGE_BUCKETS.md +384 -0
  204. package/docs/WORKSPACE_KNOWLEDGE.md +120 -119
  205. package/docs/design-system/README.md +1 -1
  206. package/docs/design-system/buttons-actions.md +130 -130
  207. package/docs/design-system/charts-dashboards.md +340 -301
  208. package/docs/design-system/crud.md +174 -114
  209. package/docs/design-system/data-display.md +108 -103
  210. package/docs/design-system/dialogs.md +212 -212
  211. package/docs/design-system/domain.md +317 -317
  212. package/docs/design-system/examples.md +275 -275
  213. package/docs/design-system/foundation.md +1 -1
  214. package/docs/design-system/inputs.md +131 -131
  215. package/docs/design-system/layout.md +202 -154
  216. package/docs/design-system/navigation.md +271 -325
  217. package/docs/design-system/notifications-feedback.md +34 -34
  218. package/docs/design-system/patterns/README.md +53 -53
  219. package/docs/design-system/patterns/action-button.md +22 -22
  220. package/docs/design-system/patterns/alertdialog-deletion.md +46 -46
  221. package/docs/design-system/patterns/baseform-custom-fields.md +59 -59
  222. package/docs/design-system/patterns/baseform-usage.md +42 -42
  223. package/docs/design-system/patterns/body-content-scroll.md +56 -56
  224. package/docs/design-system/patterns/combo-tree.md +23 -23
  225. package/docs/design-system/patterns/components-registry.md +17 -17
  226. package/docs/design-system/patterns/core-providers.md +41 -39
  227. package/docs/design-system/patterns/crud-bulk-actions.md +12 -12
  228. package/docs/design-system/patterns/crud-config-props.md +16 -16
  229. package/docs/design-system/patterns/crud-defaults.md +17 -17
  230. package/docs/design-system/patterns/crud-toolbar.md +28 -28
  231. package/docs/design-system/patterns/delete-confirmation.md +40 -40
  232. package/docs/design-system/patterns/dialog-body-scroll.md +26 -26
  233. package/docs/design-system/patterns/dialog-structure.md +32 -32
  234. package/docs/design-system/patterns/dialog-variants.md +41 -41
  235. package/docs/design-system/patterns/feature-flags.md +24 -20
  236. package/docs/design-system/patterns/header-metadata.md +57 -57
  237. package/docs/design-system/patterns/i18n-setup.md +117 -117
  238. package/docs/design-system/patterns/pagination.md +27 -27
  239. package/docs/design-system/patterns/single-scroll.md +39 -39
  240. package/docs/design-system/patterns/vite-tailwind-setup.md +48 -48
  241. package/docs/design-system/platform.md +18 -18
  242. package/docs/design-system/selectors.md +240 -236
  243. package/docs/design-system/tables-grids.md +95 -38
  244. package/package.json +150 -144
  245. package/dist/README.md +0 -1079
  246. package/dist/bin/bootstrap.js +0 -40
  247. package/dist/bin/pull-docs.js +0 -186
  248. package/dist/docs/KNOWLEDGE.md +0 -109
@@ -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 };
@@ -1,3 +1,8 @@
1
1
  import { ToasterProps, toast } from "sonner";
2
+ /**
3
+ * Componente `Toaster` da lib.
4
+ * @example
5
+ * <Toaster />
6
+ */
2
7
  declare const Toaster: ({ ...props }: ToasterProps) => import("react/jsx-runtime").JSX.Element;
3
8
  export { Toaster, toast };
@@ -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 {};
@@ -0,0 +1,52 @@
1
+ import { type LucideIcon } from 'lucide-react';
2
+ export interface StatusBadgeProps {
3
+ /** Texto exibido no badge */
4
+ label: string;
5
+ /** Cor semântica (hex) — gera fundo pastel automaticamente */
6
+ color: string;
7
+ /** Ícone Lucide exibido à esquerda do texto */
8
+ icon?: LucideIcon;
9
+ /** Exibe o ícone (default: true quando icon fornecido) */
10
+ showIcon?: boolean;
11
+ /** Tamanho do badge */
12
+ size?: 'sm' | 'md' | 'lg';
13
+ /** Variante visual */
14
+ variant?: 'filled' | 'outline' | 'ghost';
15
+ /** Override do fundo pastel automático */
16
+ backgroundColor?: string;
17
+ /** Classes adicionais */
18
+ className?: string;
19
+ }
20
+ export interface StatusConfig {
21
+ label: string;
22
+ color: string;
23
+ icon?: LucideIcon;
24
+ tooltipText?: string;
25
+ }
26
+ /**
27
+ * Badge de status genérico e reutilizável.
28
+ * Aceita cor semântica e gera fundo pastel automaticamente.
29
+ * Pode ser usado em qualquer CRUD, tabela ou card.
30
+ *
31
+ * @example
32
+ * StatusBadge();
33
+ */
34
+ export declare function StatusBadge({ label, color, icon: Icon, showIcon, size, variant, backgroundColor, className, }: StatusBadgeProps): import("react/jsx-runtime").JSX.Element;
35
+ /**
36
+ * Cria um lookup type-safe de configuração de status.
37
+ * Útil para mapear enums de domínio para props do StatusBadge.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * const getOrderStatus = createStatusConfig({
42
+ * pending: { label: 'Pendente', color: '#8B7355', icon: Clock },
43
+ * approved: { label: 'Aprovado', color: '#3D7A40', icon: CheckCircle2 },
44
+ * rejected: { label: 'Rejeitado', color: '#B44A4A', icon: X },
45
+ * });
46
+ *
47
+ * // Uso:
48
+ * const config = getOrderStatus('pending');
49
+ * <StatusBadge {...config} />
50
+ * ```
51
+ */
52
+ export declare function createStatusConfig<T extends string | number>(statuses: Record<T, StatusConfig>): (status: T) => StatusConfig;
@@ -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, };