@murabei-data-science/pumpwood-ui 1.3.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 (167) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/components.d.ts +1227 -0
  4. package/dist/components.esm.js +39 -0
  5. package/dist/components.js +40 -0
  6. package/dist/design-system.d.ts +391 -0
  7. package/dist/design-system.esm.js +26 -0
  8. package/dist/design-system.js +27 -0
  9. package/dist/index.css +1 -0
  10. package/dist/index.d.ts +1599 -0
  11. package/dist/index.esm.js +39 -0
  12. package/dist/index.js +40 -0
  13. package/dist/types/components/AlertWithIcon/index.d.ts +12 -0
  14. package/dist/types/components/Auth/AuthenticatedView.d.ts +18 -0
  15. package/dist/types/components/Auth/LoginCard.d.ts +33 -0
  16. package/dist/types/components/Auth/LoginCardSSO.d.ts +31 -0
  17. package/dist/types/components/Auth/NotAuthenticatedView.d.ts +21 -0
  18. package/dist/types/components/Auth/index.d.ts +4 -0
  19. package/dist/types/components/AutoFormContent/index.d.ts +46 -0
  20. package/dist/types/components/Badge/index.d.ts +17 -0
  21. package/dist/types/components/Card/index.d.ts +23 -0
  22. package/dist/types/components/ClearButton/index.d.ts +3 -0
  23. package/dist/types/components/CombinedFilterTable/index.d.ts +9 -0
  24. package/dist/types/components/ConfirmationDialog/index.d.ts +71 -0
  25. package/dist/types/components/CustomBreadcrumb/index.d.ts +6 -0
  26. package/dist/types/components/DatePicker/index.d.ts +35 -0
  27. package/dist/types/components/DeleteDialog/index.d.ts +9 -0
  28. package/dist/types/components/DetailPage/AutoDetailContent.d.ts +27 -0
  29. package/dist/types/components/DetailPage/DetailPage.d.ts +24 -0
  30. package/dist/types/components/DetailPage/detail-utils.d.ts +24 -0
  31. package/dist/types/components/DetailPage/index.d.ts +3 -0
  32. package/dist/types/components/DownloadButton/index.d.ts +20 -0
  33. package/dist/types/components/Dropzone/index.d.ts +21 -0
  34. package/dist/types/components/EmptyContainer/index.d.ts +16 -0
  35. package/dist/types/components/ErrorBoundary/index.d.ts +10 -0
  36. package/dist/types/components/ErrorMessage/index.d.ts +4 -0
  37. package/dist/types/components/ErrorToast/index.d.ts +4 -0
  38. package/dist/types/components/FKSelect/index.d.ts +63 -0
  39. package/dist/types/components/FileDropzone/index.d.ts +22 -0
  40. package/dist/types/components/FilePreview/index.d.ts +13 -0
  41. package/dist/types/components/Filters/CreatedByUserFilter.d.ts +24 -0
  42. package/dist/types/components/Filters/DateRangeFilter.d.ts +23 -0
  43. package/dist/types/components/KeyValueContent/index.d.ts +3 -0
  44. package/dist/types/components/Loading/index.d.ts +2 -0
  45. package/dist/types/components/M2MTable/index.d.ts +35 -0
  46. package/dist/types/components/MarkdownEditor/index.d.ts +12 -0
  47. package/dist/types/components/MultiSelectDropdown/index.d.ts +14 -0
  48. package/dist/types/components/NoResult/index.d.ts +15 -0
  49. package/dist/types/components/Pagination/index.d.ts +12 -0
  50. package/dist/types/components/Select/FKSelectVariant.d.ts +52 -0
  51. package/dist/types/components/Select/index.d.ts +70 -0
  52. package/dist/types/components/Sidebar/NavigationSidebar.d.ts +45 -0
  53. package/dist/types/components/Sidebar/index.d.ts +157 -0
  54. package/dist/types/components/Sidebar/useSidebarCollapse.d.ts +18 -0
  55. package/dist/types/components/Stack/index.d.ts +28 -0
  56. package/dist/types/components/Table/index.d.ts +92 -0
  57. package/dist/types/components/TableSkeleton/index.d.ts +23 -0
  58. package/dist/types/components/TagInput/index.d.ts +13 -0
  59. package/dist/types/components/Text/index.d.ts +21 -0
  60. package/dist/types/components/TooltipComponent/index.d.ts +8 -0
  61. package/dist/types/components/index.d.ts +56 -0
  62. package/dist/types/components/ui/accordion.d.ts +7 -0
  63. package/dist/types/components/ui/alert-dialog.d.ts +33 -0
  64. package/dist/types/components/ui/alert.d.ts +8 -0
  65. package/dist/types/components/ui/badge.d.ts +18 -0
  66. package/dist/types/components/ui/breadcrumb.d.ts +11 -0
  67. package/dist/types/components/ui/button.d.ts +32 -0
  68. package/dist/types/components/ui/calendar.d.ts +21 -0
  69. package/dist/types/components/ui/card.d.ts +21 -0
  70. package/dist/types/components/ui/checkbox.d.ts +4 -0
  71. package/dist/types/components/ui/combobox.d.ts +33 -0
  72. package/dist/types/components/ui/command.d.ts +31 -0
  73. package/dist/types/components/ui/dialog.d.ts +32 -0
  74. package/dist/types/components/ui/dropdown-menu.d.ts +27 -0
  75. package/dist/types/components/ui/empty.d.ts +23 -0
  76. package/dist/types/components/ui/input.d.ts +15 -0
  77. package/dist/types/components/ui/label.d.ts +5 -0
  78. package/dist/types/components/ui/popover.d.ts +18 -0
  79. package/dist/types/components/ui/radio.d.ts +3 -0
  80. package/dist/types/components/ui/select.d.ts +13 -0
  81. package/dist/types/components/ui/skeleton.d.ts +11 -0
  82. package/dist/types/components/ui/spinner.d.ts +8 -0
  83. package/dist/types/components/ui/table.d.ts +29 -0
  84. package/dist/types/components/ui/tabs.d.ts +20 -0
  85. package/dist/types/components/ui/textarea.d.ts +3 -0
  86. package/dist/types/components/ui/tooltip.d.ts +7 -0
  87. package/dist/types/design-system/Auth/AuthenticatedView.d.ts +18 -0
  88. package/dist/types/design-system/Auth/LoginCard.d.ts +33 -0
  89. package/dist/types/design-system/Auth/LoginCardSSO.d.ts +31 -0
  90. package/dist/types/design-system/Auth/NotAuthenticatedView.d.ts +21 -0
  91. package/dist/types/design-system/Auth/index.d.ts +4 -0
  92. package/dist/types/design-system/AutoFormContent/index.d.ts +46 -0
  93. package/dist/types/design-system/CombinedFilterTable/index.d.ts +9 -0
  94. package/dist/types/design-system/CustomBreadcrumb/index.d.ts +6 -0
  95. package/dist/types/design-system/DetailPage/AutoDetailContent.d.ts +27 -0
  96. package/dist/types/design-system/DetailPage/DetailPage.d.ts +24 -0
  97. package/dist/types/design-system/DetailPage/detail-utils.d.ts +24 -0
  98. package/dist/types/design-system/DetailPage/index.d.ts +3 -0
  99. package/dist/types/design-system/FilePreview/index.d.ts +13 -0
  100. package/dist/types/design-system/Filters/CreatedByUserFilter.d.ts +24 -0
  101. package/dist/types/design-system/Filters/DateRangeFilter.d.ts +23 -0
  102. package/dist/types/design-system/KeyValueContent/index.d.ts +3 -0
  103. package/dist/types/design-system/M2MTable/index.d.ts +35 -0
  104. package/dist/types/design-system/NavigationSidebar/index.d.ts +47 -0
  105. package/dist/types/design-system/index.d.ts +11 -0
  106. package/dist/types/index.d.ts +67 -0
  107. package/dist/types/lib/field-trigger.d.ts +5 -0
  108. package/dist/types/lib/fk-select-fetcher.d.ts +26 -0
  109. package/dist/types/lib/utils.d.ts +2 -0
  110. package/dist/types/src/components/Badge/index.d.ts +17 -0
  111. package/dist/types/src/components/Card/index.d.ts +23 -0
  112. package/dist/types/src/components/CombinedFilterTable/index.d.ts +9 -0
  113. package/dist/types/src/components/ConfirmationDialog/index.d.ts +71 -0
  114. package/dist/types/src/components/Dropzone/index.d.ts +21 -0
  115. package/dist/types/src/components/EmptyContainer/index.d.ts +16 -0
  116. package/dist/types/src/components/FKSelect/index.d.ts +45 -0
  117. package/dist/types/src/components/FileDropzone/index.d.ts +22 -0
  118. package/dist/types/src/components/Filters/CreatedByUserFilter.d.ts +24 -0
  119. package/dist/types/src/components/Filters/DateRangeFilter.d.ts +23 -0
  120. package/dist/types/src/components/Sidebar/index.d.ts +115 -0
  121. package/dist/types/src/components/Stack/index.d.ts +22 -0
  122. package/dist/types/src/components/Table/index.d.ts +29 -0
  123. package/dist/types/src/components/Text/index.d.ts +21 -0
  124. package/dist/types/src/components/ui/alert-dialog.d.ts +33 -0
  125. package/dist/types/src/components/ui/badge.d.ts +18 -0
  126. package/dist/types/src/components/ui/button.d.ts +22 -0
  127. package/dist/types/src/components/ui/calendar.d.ts +21 -0
  128. package/dist/types/src/components/ui/card.d.ts +21 -0
  129. package/dist/types/src/components/ui/combobox.d.ts +28 -0
  130. package/dist/types/src/components/ui/command.d.ts +31 -0
  131. package/dist/types/src/components/ui/dialog.d.ts +32 -0
  132. package/dist/types/src/components/ui/empty.d.ts +23 -0
  133. package/dist/types/src/components/ui/popover.d.ts +18 -0
  134. package/dist/types/src/components/ui/table.d.ts +29 -0
  135. package/dist/types/src/components/ui/tabs.d.ts +20 -0
  136. package/dist/types/src/index.d.ts +21 -0
  137. package/dist/types/src/lib/utils.d.ts +2 -0
  138. package/dist/types/src/stories/Components/CombinedFilterTable.stories.d.ts +8 -0
  139. package/dist/types/src/stories/Components/ConfirmationDialog.stories.d.ts +8 -0
  140. package/dist/types/src/stories/Components/CreatedByUserFilter.stories.d.ts +8 -0
  141. package/dist/types/src/stories/Components/DateRangeFilter.stories.d.ts +8 -0
  142. package/dist/types/src/stories/Components/EmptyContainer.stories.d.ts +24 -0
  143. package/dist/types/src/stories/Components/FKSelect.stories.d.ts +8 -0
  144. package/dist/types/src/stories/Components/FileDropZone.stories.d.ts +9 -0
  145. package/dist/types/src/stories/Components/Sidebar.stories.d.ts +18 -0
  146. package/dist/types/src/stories/Components/Table.stories.d.ts +11 -0
  147. package/dist/types/src/stories/Components/Tabs.stories.d.ts +13 -0
  148. package/dist/types/src/stories/Elements/Badge.stories.d.ts +13 -0
  149. package/dist/types/src/stories/Elements/Button.stories.d.ts +13 -0
  150. package/dist/types/src/stories/Elements/Stack.stories.d.ts +9 -0
  151. package/dist/types/src/stories/Elements/Text.stories.d.ts +8 -0
  152. package/dist/types/stories/Components/CombinedFilterTable.stories.d.ts +8 -0
  153. package/dist/types/stories/Components/ConfirmationDialog.stories.d.ts +8 -0
  154. package/dist/types/stories/Components/CreatedByUserFilter.stories.d.ts +8 -0
  155. package/dist/types/stories/Components/DateRangeFilter.stories.d.ts +8 -0
  156. package/dist/types/stories/Components/EmptyContainer.stories.d.ts +24 -0
  157. package/dist/types/stories/Components/FKSelect.stories.d.ts +8 -0
  158. package/dist/types/stories/Components/FileDropZone.stories.d.ts +9 -0
  159. package/dist/types/stories/Components/Sidebar.stories.d.ts +18 -0
  160. package/dist/types/stories/Components/Table.stories.d.ts +11 -0
  161. package/dist/types/stories/Components/Tabs.stories.d.ts +13 -0
  162. package/dist/types/stories/Elements/Badge.stories.d.ts +13 -0
  163. package/dist/types/stories/Elements/Button.stories.d.ts +13 -0
  164. package/dist/types/stories/Elements/Stack.stories.d.ts +9 -0
  165. package/dist/types/stories/Elements/Text.stories.d.ts +8 -0
  166. package/package.json +119 -0
  167. package/tailwind.config.ts +91 -0
@@ -0,0 +1,1227 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React$1 from 'react';
3
+ import { InputHTMLAttributes, ReactNode, HTMLAttributes, ComponentType } from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { FileWithPath, Accept } from 'react-dropzone';
7
+ import { LucideIcon } from 'lucide-react';
8
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
9
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
10
+ import { IFKSelectProps as IFKSelectProps$1 } from '@/components/FKSelect';
11
+ import { DayPicker } from 'react-day-picker';
12
+ import { Button as Button$1 } from '@/components/ui/button';
13
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
14
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
15
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
16
+ import { Command as Command$1 } from 'cmdk';
17
+ import { Dialog as Dialog$1 } from '@/components/ui/dialog';
18
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
19
+ import * as LabelPrimitive from '@radix-ui/react-label';
20
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
21
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
22
+ import { FieldError } from 'react-hook-form';
23
+ import * as SelectPrimitive from '@radix-ui/react-select';
24
+
25
+ declare const buttonVariants: (props?: ({
26
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
27
+ size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
28
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
29
+ interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
30
+ asChild?: boolean;
31
+ icon?: React$1.ReactNode;
32
+ label?: React$1.ReactNode;
33
+ iconPosition?: "start" | "end";
34
+ /** Button height in pixels or any valid CSS length. */
35
+ height?: number | string;
36
+ /** Button width in pixels or any valid CSS length. */
37
+ width?: number | string;
38
+ }
39
+ /**
40
+ * Displays a button or a component that looks like a button.
41
+ *
42
+ * @example
43
+ * ```tsx
44
+ * <Button variant="default">Click me</Button>
45
+ * <Button variant="outline" size="sm">Action</Button>
46
+ * <Button
47
+ * label="Criar novo lote"
48
+ * icon={<SquarePlus size={16} />}
49
+ * width={200}
50
+ * />
51
+ * ```
52
+ */
53
+ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
54
+
55
+ interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
56
+ icon?: ReactNode;
57
+ }
58
+ /**
59
+ * Displays a styled input field with optional leading icon.
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * <Input placeholder="Enter text..." />
64
+ * <Input icon={<Search className="h-4 w-4" />} placeholder="Search..." />
65
+ * ```
66
+ */
67
+ declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
68
+
69
+ declare const Textarea: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & React$1.RefAttributes<HTMLTextAreaElement>>;
70
+
71
+ type StackProps = HTMLAttributes<HTMLDivElement> & {
72
+ children: ReactNode;
73
+ /** The direction of the stack. Defaults to 'col'. */
74
+ direction?: "row" | "col";
75
+ /** The gap between elements. Maps to Tailwind gap utility (e.g. 4 -> gap-4). */
76
+ gap?: number;
77
+ /** Click handler. When set, the stack becomes keyboard-accessible (role="button"). */
78
+ onClick?: () => void;
79
+ className?: string;
80
+ };
81
+ /**
82
+ * A layout component that arranges children in a stack (vertical or horizontal).
83
+ *
84
+ * When `onClick` is provided, the stack receives `role="button"`, `tabIndex={0}`,
85
+ * and responds to Enter and Space keys. Provide visible text or pass `aria-label`
86
+ * via props for accessibility.
87
+ *
88
+ * @example
89
+ * ```tsx
90
+ * <Stack direction="row" gap={4}>
91
+ * <Button>Btn 1</Button>
92
+ * <Button>Btn 2</Button>
93
+ * </Stack>
94
+ * ```
95
+ */
96
+ declare function Stack({ children, onClick, direction, gap, className, ...props }: StackProps): react_jsx_runtime.JSX.Element;
97
+
98
+ type DropzoneProps = {
99
+ children: ReactNode;
100
+ maxFiles?: number;
101
+ maxSize?: number;
102
+ accept?: Record<string, string[]>;
103
+ onFilesAccepted: (files: FileWithPath[]) => void;
104
+ };
105
+ /**
106
+ * A drag-and-drop zone for file uploads.
107
+ *
108
+ * @example
109
+ * ```tsx
110
+ * <Dropzone onFilesAccepted={(files) => console.log(files)}>
111
+ * <Button>Upload</Button>
112
+ * </Dropzone>
113
+ * ```
114
+ */
115
+ declare function PumpwoodDropzone({ children, maxFiles, maxSize, accept, onFilesAccepted, }: DropzoneProps): react_jsx_runtime.JSX.Element;
116
+
117
+ interface RootProps {
118
+ open: boolean;
119
+ onOpenChange: (open: boolean) => void;
120
+ children: ReactNode;
121
+ }
122
+ declare function Root$1({ open, onOpenChange, children }: RootProps): react_jsx_runtime.JSX.Element;
123
+ interface ContentProps {
124
+ children: ReactNode;
125
+ className?: string;
126
+ }
127
+ declare function Content$1({ children, className }: ContentProps): react_jsx_runtime.JSX.Element;
128
+ interface HeaderProps {
129
+ children: ReactNode;
130
+ }
131
+ declare function Header$1({ children }: HeaderProps): react_jsx_runtime.JSX.Element;
132
+ interface TitleProps {
133
+ children: ReactNode;
134
+ }
135
+ declare function Title({ children }: TitleProps): react_jsx_runtime.JSX.Element;
136
+ interface DescriptionProps {
137
+ children: ReactNode;
138
+ }
139
+ declare function Description({ children }: DescriptionProps): react_jsx_runtime.JSX.Element;
140
+ interface FooterProps {
141
+ children: ReactNode;
142
+ }
143
+ declare function Footer$1({ children }: FooterProps): react_jsx_runtime.JSX.Element;
144
+ interface ActionProps {
145
+ children: ReactNode;
146
+ onClick: () => void;
147
+ variant?: "default" | "destructive";
148
+ className?: string;
149
+ }
150
+ declare function Action$1({ children, onClick, variant, className, }: ActionProps): react_jsx_runtime.JSX.Element;
151
+ interface CancelProps {
152
+ children: ReactNode;
153
+ onClick?: () => void;
154
+ className?: string;
155
+ }
156
+ declare function Cancel({ children, onClick, className }: CancelProps): react_jsx_runtime.JSX.Element;
157
+ /**
158
+ * A dialog component for confirming actions (e.g., delete).
159
+ *
160
+ * @example
161
+ * ```tsx
162
+ * <ConfirmationDialog.Root open={isOpen} onOpenChange={setIsOpen}>
163
+ * <ConfirmationDialog.Content>
164
+ * <ConfirmationDialog.Header>
165
+ * <ConfirmationDialog.Title>Are you sure?</ConfirmationDialog.Title>
166
+ * <ConfirmationDialog.Description>This action cannot be undone.</ConfirmationDialog.Description>
167
+ * </ConfirmationDialog.Header>
168
+ * <ConfirmationDialog.Footer>
169
+ * <ConfirmationDialog.Cancel onClick={() => setIsOpen(false)}>Cancel</ConfirmationDialog.Cancel>
170
+ * <ConfirmationDialog.Action onClick={handleDelete} variant="destructive">Delete</ConfirmationDialog.Action>
171
+ * </ConfirmationDialog.Footer>
172
+ * </ConfirmationDialog.Content>
173
+ * </ConfirmationDialog.Root>
174
+ * ```
175
+ */
176
+ declare const ConfirmationDialog: {
177
+ Root: typeof Root$1;
178
+ Content: typeof Content$1;
179
+ Header: typeof Header$1;
180
+ Title: typeof Title;
181
+ Description: typeof Description;
182
+ Footer: typeof Footer$1;
183
+ Action: typeof Action$1;
184
+ Cancel: typeof Cancel;
185
+ };
186
+
187
+ type TypographyProps = HTMLAttributes<HTMLParagraphElement> & {
188
+ children: ReactNode;
189
+ className?: string;
190
+ };
191
+ declare function H1({ children, className, ...props }: TypographyProps): react_jsx_runtime.JSX.Element;
192
+ declare function Muted({ children, className, ...props }: TypographyProps): react_jsx_runtime.JSX.Element;
193
+ /**
194
+ * Typography components for consistent text styling.
195
+ *
196
+ * @example
197
+ * ```tsx
198
+ * <Typography.H1>Main Title</Typography.H1>
199
+ * <Typography.Muted>Subtitle text</Typography.Muted>
200
+ * ```
201
+ */
202
+ declare const Typography: {
203
+ H1: typeof H1;
204
+ Muted: typeof Muted;
205
+ };
206
+
207
+ /**
208
+ * A container for grouping related content.
209
+ *
210
+ * @example
211
+ * ```tsx
212
+ * <Card>
213
+ * <CardHeader>
214
+ * <CardTitle>Title</CardTitle>
215
+ * </CardHeader>
216
+ * <CardContent>Content</CardContent>
217
+ * </Card>
218
+ * ```
219
+ */
220
+ declare const Card: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
221
+ declare const CardHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
222
+ declare const CardTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
223
+ declare const CardDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
224
+ declare const CardContent: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
225
+ declare const CardFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
226
+
227
+ /**
228
+ * A Card component system for displaying content in boxes.
229
+ *
230
+ * @example
231
+ * ```tsx
232
+ * <Card.Root>
233
+ * <Card.Header>
234
+ * <Card.Title>Card Title</Card.Title>
235
+ * <Card.Description>Card Description</Card.Description>
236
+ * </Card.Header>
237
+ * <Card.Content>
238
+ * <p>Card Content</p>
239
+ * </Card.Content>
240
+ * </Card.Root>
241
+ * ```
242
+ */
243
+ declare const PumpwoodCard: {
244
+ Root: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
245
+ Content: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
246
+ Header: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
247
+ Title: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
248
+ Description: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
249
+ };
250
+
251
+ declare const badgeVariants: (props?: ({
252
+ variant?: "default" | "destructive" | "outline" | "secondary" | "success" | "warning" | "info" | null | undefined;
253
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
254
+ interface BadgeProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
255
+ }
256
+ /**
257
+ * Displays a badge or a component that looks like a badge.
258
+ *
259
+ * @example
260
+ * ```tsx
261
+ * <Badge>Default</Badge>
262
+ * <Badge variant="secondary">Secondary</Badge>
263
+ * ```
264
+ */
265
+ declare function Badge({ className, variant, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
266
+
267
+ declare const pumpwoodBadgeVariants: (props?: ({
268
+ variant?: "destructive" | "secondary" | "warning" | "primary" | "muted" | null | undefined;
269
+ size?: "default" | "sm" | "lg" | null | undefined;
270
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
271
+ interface PumpwoodBadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof pumpwoodBadgeVariants> {
272
+ }
273
+ /**
274
+ * A Badge component for status indicators and labels.
275
+ *
276
+ * @example
277
+ * ```tsx
278
+ * <Badge variant="primary">New</Badge>
279
+ * <Badge variant="destructive" size="sm">Error</Badge>
280
+ * ```
281
+ */
282
+ declare function PumpwoodBadge({ className, variant, size, ...props }: PumpwoodBadgeProps): React.JSX.Element;
283
+
284
+ interface FileDropzoneProps {
285
+ onFileSelected: (file: File) => void;
286
+ onFileDeleted?: () => void;
287
+ acceptExtensions?: string[];
288
+ accept?: Accept;
289
+ maxSizeMB?: number;
290
+ }
291
+ /**
292
+ * A specialized file dropzone with built-in preview and validation.
293
+ *
294
+ * @example
295
+ * ```tsx
296
+ * <FileDropzone
297
+ * onFileSelected={(file) => console.log(file)}
298
+ * maxSizeMB={5}
299
+ * acceptExtensions={['.pdf', '.docx']}
300
+ * />
301
+ * ```
302
+ */
303
+ declare function FileDropzone({ onFileSelected, onFileDeleted, acceptExtensions, accept, maxSizeMB, }: FileDropzoneProps): react_jsx_runtime.JSX.Element;
304
+
305
+ interface IUseSidebarCollapseOptions {
306
+ initialCollapsed?: boolean;
307
+ onPersist?: (collapsed: boolean) => void;
308
+ }
309
+ /**
310
+ * Hook for sidebar collapse state with optional persistence callback.
311
+ */
312
+ declare function useSidebarCollapse({ initialCollapsed, onPersist, }?: IUseSidebarCollapseOptions): {
313
+ isCollapsed: boolean;
314
+ isCollapsing: boolean;
315
+ expandedItems: Record<string, boolean>;
316
+ setExpandedItems: React$1.Dispatch<React$1.SetStateAction<Record<string, boolean>>>;
317
+ toggleCollapse: () => void;
318
+ expand: () => void;
319
+ handleTransitionEnd: () => void;
320
+ toggleExpanded: (title: string) => void;
321
+ setExpandedOnCollapse: () => void;
322
+ };
323
+
324
+ /**
325
+ * Props for the Sidebar Root component.
326
+ */
327
+ interface SidebarRootProps {
328
+ /** The content of the sidebar. */
329
+ children: ReactNode;
330
+ /** Whether the sidebar is currently collapsed. */
331
+ isCollapsed: boolean;
332
+ /** Whether the sidebar is mid-collapse transition. */
333
+ isCollapsing?: boolean;
334
+ /** Callback to toggle the collapsed state. */
335
+ onToggleCollapse: () => void;
336
+ /** Callback when width transition ends. */
337
+ onTransitionEnd?: () => void;
338
+ /** Additional CSS classes. */
339
+ className?: string;
340
+ }
341
+ declare function Root({ children, isCollapsed, isCollapsing, onToggleCollapse, onTransitionEnd, className, }: SidebarRootProps): react_jsx_runtime.JSX.Element;
342
+ /**
343
+ * Props for the Sidebar Header component.
344
+ */
345
+ interface SidebarHeaderProps {
346
+ children: ReactNode;
347
+ className?: string;
348
+ }
349
+ declare function Header({ children, className }: SidebarHeaderProps): react_jsx_runtime.JSX.Element;
350
+ /**
351
+ * Props for the Sidebar Content component.
352
+ */
353
+ interface SidebarContentProps {
354
+ children: ReactNode;
355
+ className?: string;
356
+ }
357
+ declare function Content({ children, className }: SidebarContentProps): react_jsx_runtime.JSX.Element;
358
+ /**
359
+ * Props for the Sidebar Footer component.
360
+ */
361
+ interface SidebarFooterProps {
362
+ children: ReactNode;
363
+ className?: string;
364
+ }
365
+ declare function Footer({ children, className }: SidebarFooterProps): react_jsx_runtime.JSX.Element;
366
+ /**
367
+ * Props for the Sidebar Toggle component.
368
+ */
369
+ interface SidebarToggleProps {
370
+ className?: string;
371
+ }
372
+ declare function Toggle({ className }: SidebarToggleProps): react_jsx_runtime.JSX.Element;
373
+ /**
374
+ * Props for the Sidebar Logo component.
375
+ */
376
+ interface SidebarLogoProps {
377
+ src: string;
378
+ alt: string;
379
+ width?: number;
380
+ height?: number;
381
+ /** Logo width when the sidebar is collapsed. Defaults to 48. */
382
+ collapsedWidth?: number;
383
+ /** Logo height when the sidebar is collapsed. */
384
+ collapsedHeight?: number;
385
+ className?: string;
386
+ ImageComponent?: ComponentType<{
387
+ src: string;
388
+ alt: string;
389
+ width: number;
390
+ height: number;
391
+ className?: string;
392
+ }>;
393
+ }
394
+ declare function Logo({ src, alt, width, height, collapsedWidth, collapsedHeight, className, ImageComponent, }: SidebarLogoProps): react_jsx_runtime.JSX.Element;
395
+ /**
396
+ * Props for the Sidebar Link component.
397
+ */
398
+ interface SidebarLinkProps {
399
+ icon: LucideIcon;
400
+ children: ReactNode;
401
+ href: any;
402
+ active?: boolean;
403
+ className?: string;
404
+ LinkComponent?: ComponentType<{
405
+ href: any;
406
+ className?: string;
407
+ children: ReactNode;
408
+ title?: string;
409
+ }>;
410
+ }
411
+ declare function Link({ icon: Icon, children, href, active, className, LinkComponent, }: SidebarLinkProps): react_jsx_runtime.JSX.Element;
412
+ interface SidebarNavGroupProps {
413
+ icon: LucideIcon;
414
+ title: string;
415
+ isExpanded: boolean;
416
+ isActive?: boolean;
417
+ onToggle: () => void;
418
+ children: ReactNode;
419
+ className?: string;
420
+ }
421
+ declare function NavGroup({ icon: Icon, title, isExpanded, isActive, onToggle, children, className, }: SidebarNavGroupProps): react_jsx_runtime.JSX.Element;
422
+ interface SidebarNavSubLinkProps {
423
+ title: string;
424
+ href: string | Record<string, unknown>;
425
+ active?: boolean;
426
+ className?: string;
427
+ LinkComponent?: ComponentType<{
428
+ href: any;
429
+ className?: string;
430
+ children: ReactNode;
431
+ title?: string;
432
+ }>;
433
+ }
434
+ declare function NavSubLink({ title, href, active, className, LinkComponent, }: SidebarNavSubLinkProps): react_jsx_runtime.JSX.Element;
435
+ interface SidebarActionProps {
436
+ icon: LucideIcon;
437
+ label: string;
438
+ onClick: () => void;
439
+ className?: string;
440
+ }
441
+ declare function Action({ icon: Icon, label, onClick, className }: SidebarActionProps): react_jsx_runtime.JSX.Element;
442
+ /**
443
+ * A composable Sidebar component.
444
+ *
445
+ * @example
446
+ * ```tsx
447
+ * const [collapsed, setCollapsed] = useState(false);
448
+ *
449
+ * return (
450
+ * <Sidebar.Root isCollapsed={collapsed} onToggleCollapse={() => setCollapsed(!collapsed)}>
451
+ * <Sidebar.Header>
452
+ * <Sidebar.Logo src="/logo.png" alt="Logo" />
453
+ * <Sidebar.Toggle />
454
+ * </Sidebar.Header>
455
+ * <Sidebar.Content>
456
+ * <Sidebar.Link icon={HomeIcon} href="/">Home</Sidebar.Link>
457
+ * </Sidebar.Content>
458
+ * <Sidebar.Footer>
459
+ * User Info
460
+ * </Sidebar.Footer>
461
+ * </Sidebar.Root>
462
+ * )
463
+ * ```
464
+ */
465
+ declare const Sidebar: {
466
+ Root: typeof Root;
467
+ Header: typeof Header;
468
+ Content: typeof Content;
469
+ Footer: typeof Footer;
470
+ Toggle: typeof Toggle;
471
+ Logo: typeof Logo;
472
+ Link: typeof Link;
473
+ NavGroup: typeof NavGroup;
474
+ NavSubLink: typeof NavSubLink;
475
+ Action: typeof Action;
476
+ };
477
+
478
+ /**
479
+ * A set of layered sections of content—known as tab panels—that are displayed one at a time.
480
+ *
481
+ * @example
482
+ * ```tsx
483
+ * <Tabs defaultValue="account">
484
+ * <TabsList>
485
+ * <TabsTrigger value="account">Account</TabsTrigger>
486
+ * </TabsList>
487
+ * <TabsContent value="account">Content</TabsContent>
488
+ * </Tabs>
489
+ * ```
490
+ */
491
+ declare const Tabs: React$1.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React$1.RefAttributes<HTMLDivElement>>;
492
+ declare const TabsList: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
493
+ declare const TabsTrigger: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
494
+ declare const TabsContent: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
495
+
496
+ declare const Accordion: React$1.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React$1.RefAttributes<HTMLDivElement>>;
497
+ declare const AccordionItem: React$1.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
498
+ declare const AccordionTrigger: React$1.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
499
+ declare const AccordionContent: React$1.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
500
+
501
+ /**
502
+ * A placeholder component for empty states.
503
+ *
504
+ * @example
505
+ * ```tsx
506
+ * <Empty>
507
+ * <EmptyHeader>
508
+ * <EmptyTitle>No data</EmptyTitle>
509
+ * </EmptyHeader>
510
+ * </Empty>
511
+ * ```
512
+ */
513
+ declare function Empty({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
514
+ declare function EmptyHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
515
+ declare const emptyMediaVariants: (props?: ({
516
+ variant?: "default" | "icon" | null | undefined;
517
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
518
+ declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>): react_jsx_runtime.JSX.Element;
519
+ declare function EmptyTitle({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
520
+ declare function EmptyDescription({ className, ...props }: React.ComponentProps<"p">): react_jsx_runtime.JSX.Element;
521
+ declare function EmptyContent({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
522
+
523
+ interface EmptyContainerProps {
524
+ title: string;
525
+ description: string;
526
+ }
527
+ /**
528
+ * A container to display an empty state.
529
+ *
530
+ * @example
531
+ * ```tsx
532
+ * <EmptyContainer
533
+ * title="No Data"
534
+ * description="There are no items to display at this time."
535
+ * />
536
+ * ```
537
+ */
538
+ declare function EmptyContainer({ title, description }: EmptyContainerProps): react_jsx_runtime.JSX.Element;
539
+
540
+ /**
541
+ * Parameters passed to the FK fetcher function.
542
+ */
543
+ type FKFetcherParams = {
544
+ search: string;
545
+ modelClass: string;
546
+ labelName: string;
547
+ additionalFilters?: Record<string, any>;
548
+ fields?: string[];
549
+ limit?: number;
550
+ offset?: number;
551
+ };
552
+ /**
553
+ * Props for the FKSelect component.
554
+ */
555
+ interface IFKSelectProps {
556
+ /** Optional id used as data-testid on the trigger. */
557
+ id?: string;
558
+ /** Function to fetch data from the API. */
559
+ fetcher: (params: FKFetcherParams) => Promise<any[]>;
560
+ /** Optional function to resolve a value not present in the list. */
561
+ resolveValue?: (params: {
562
+ modelClass: string;
563
+ value: string | number;
564
+ }) => Promise<any>;
565
+ /** The model class name to identify the resource. */
566
+ modelClass: string;
567
+ /** The field name to use as the display label. */
568
+ labelName: string;
569
+ /** The field name to use as the value (ID). Defaults to 'pk'. */
570
+ valueField?: string;
571
+ /** Placeholder text for the search input. */
572
+ placeholder?: string;
573
+ /** Message to show when no items are found. */
574
+ emptyMessage?: string;
575
+ /** The currently selected value. */
576
+ value: string | number | null;
577
+ /** Callback when an item is selected. */
578
+ onChange: (value: string | number, item?: any) => void;
579
+ /** Additional filters to apply to the API request. */
580
+ additionalFilters?: Record<string, any>;
581
+ /** Extra fields to include in search. */
582
+ fields?: string[];
583
+ /** Optional class names for the wrapper (e.g. width overrides). */
584
+ className?: string;
585
+ /** Debounce time in ms. Defaults to 300. */
586
+ debounceWait?: number;
587
+ }
588
+ /**
589
+ * A foreign key select component (async combobox).
590
+ *
591
+ * @example
592
+ * ```tsx
593
+ * <FKSelect
594
+ * fetcher={fetchData}
595
+ * modelClass="User"
596
+ * labelName="username"
597
+ * value={userId}
598
+ * onChange={setUserId}
599
+ * />
600
+ * ```
601
+ */
602
+ declare const FKSelect: ({ id, fetcher, resolveValue, modelClass, labelName, valueField, placeholder, emptyMessage, value, onChange, additionalFilters, fields, className, debounceWait, }: IFKSelectProps) => react_jsx_runtime.JSX.Element;
603
+
604
+ type Option = {
605
+ value: string;
606
+ label: string;
607
+ };
608
+ type SharedSelectProps = {
609
+ /** Optional id used as data-testid on the trigger. */
610
+ id?: string;
611
+ /** Optional class names for the select wrapper (width, layout). */
612
+ className?: string;
613
+ };
614
+ /**
615
+ * Props for the static (default) Select variant.
616
+ */
617
+ interface IStaticSelectProps extends SharedSelectProps {
618
+ variant?: "static";
619
+ /** Placeholder text when no value is selected. */
620
+ placeholder: string;
621
+ /** Static options with value and label. */
622
+ options: Option[];
623
+ /** Controlled selected value. */
624
+ value?: string;
625
+ /** Callback when the selected value changes. */
626
+ onValueChange?: (value: string) => void;
627
+ /** Marks the field as required in HTML forms. */
628
+ required?: boolean;
629
+ /** Name attribute for HTML form submission. */
630
+ name?: string;
631
+ }
632
+ /**
633
+ * Props for the FK variant of Select.
634
+ */
635
+ interface ISelectFKProps extends IFKSelectProps$1 {
636
+ variant: "fk";
637
+ }
638
+ /**
639
+ * Props for the Select component (static or FK variant).
640
+ */
641
+ type ISelectProps = IStaticSelectProps | ISelectFKProps;
642
+ /**
643
+ * A reusable dropdown component built with shadcn/ui.
644
+ *
645
+ * Supports a static variant (Radix Select) and an FK variant (async
646
+ * Combobox) for foreign-key fields.
647
+ *
648
+ * @example
649
+ * ```tsx
650
+ * <Select
651
+ * placeholder="Choose an option"
652
+ * options={[
653
+ * { value: "a", label: "Option A" },
654
+ * { value: "b", label: "Option B" },
655
+ * ]}
656
+ * value={selected}
657
+ * onValueChange={setSelected}
658
+ * />
659
+ *
660
+ * <Select
661
+ * variant="fk"
662
+ * fetcher={fetchUsers}
663
+ * modelClass="user"
664
+ * labelName="username"
665
+ * placeholder="Select user"
666
+ * value={userId}
667
+ * onChange={(id, item) => setUserId(id)}
668
+ * />
669
+ * ```
670
+ */
671
+ declare const Select$1: (props: ISelectProps) => react_jsx_runtime.JSX.Element;
672
+
673
+ /**
674
+ * Props for the DatePicker component.
675
+ */
676
+ interface IDatePickerProps {
677
+ /** Optional id used as data-testid on the trigger button. */
678
+ id?: string;
679
+ /** Placeholder text when no date is selected. */
680
+ placeholder: string;
681
+ /** Controlled ISO date string (empty = no selection). */
682
+ value?: string;
683
+ /** Callback when the selected date changes (ISO string or empty). */
684
+ onValueChange?: (value: string) => void;
685
+ /** Optional class names for the wrapper (width, layout). */
686
+ className?: string;
687
+ /** Day boundary when serializing to ISO. */
688
+ boundary?: "start" | "end";
689
+ /** Display format for the selected date. */
690
+ dateFormat?: string;
691
+ }
692
+ /**
693
+ * A reusable date picker built with shadcn/ui.
694
+ *
695
+ * @example
696
+ * ```tsx
697
+ * <DatePicker
698
+ * placeholder="Data inicial"
699
+ * boundary="start"
700
+ * value={filters.created_at__gte}
701
+ * onValueChange={(value) =>
702
+ * onFiltersChange({ target: "created_at__gte", value })
703
+ * }
704
+ * />
705
+ * ```
706
+ */
707
+ declare const DatePicker: ({ id, placeholder, value, onValueChange, className, boundary, dateFormat, }: IDatePickerProps) => react_jsx_runtime.JSX.Element;
708
+
709
+ /**
710
+ * A calendar component for date selection.
711
+ *
712
+ * @example
713
+ * ```tsx
714
+ * <Calendar
715
+ * mode="single"
716
+ * selected={date}
717
+ * onSelect={setDate}
718
+ * className="rounded-md border"
719
+ * />
720
+ * ```
721
+ */
722
+ declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React$1.ComponentProps<typeof DayPicker> & {
723
+ buttonVariant?: React$1.ComponentProps<typeof Button$1>["variant"];
724
+ }): react_jsx_runtime.JSX.Element;
725
+
726
+ /**
727
+ * A popover component for displaying rich content in a portal.
728
+ *
729
+ * @example
730
+ * ```tsx
731
+ * <Popover>
732
+ * <PopoverTrigger>Open</PopoverTrigger>
733
+ * <PopoverContent>Content</PopoverContent>
734
+ * </Popover>
735
+ * ```
736
+ */
737
+ declare const Popover: React$1.FC<PopoverPrimitive.PopoverProps>;
738
+ declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
739
+ declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
740
+
741
+ interface ComboboxItem {
742
+ value: any;
743
+ label: string;
744
+ }
745
+ interface GenericComboboxProps extends Omit<React$1.ComponentPropsWithoutRef<"div">, "onChange"> {
746
+ items: ComboboxItem[];
747
+ value: string | null;
748
+ onChange: (value: string, item: ComboboxItem | null) => void;
749
+ placeholder?: string;
750
+ emptyMessage?: string;
751
+ className?: string;
752
+ searchPlaceholder?: string;
753
+ onSearchChange?: (search: string) => void;
754
+ filterLocally?: boolean;
755
+ loading?: boolean;
756
+ displayLabel?: string;
757
+ disabled?: boolean;
758
+ }
759
+ /**
760
+ * A searchable select component (Combobox).
761
+ *
762
+ * @example
763
+ * ```tsx
764
+ * <Combobox
765
+ * items={[{ value: '1', label: 'Option 1' }]}
766
+ * value={selectedValue}
767
+ * onChange={setSelectedValue}
768
+ * />
769
+ * ```
770
+ */
771
+ declare function Combobox({ items, value, onChange, placeholder, emptyMessage, className, searchPlaceholder, onSearchChange, filterLocally, loading, displayLabel, disabled, }: GenericComboboxProps): react_jsx_runtime.JSX.Element;
772
+
773
+ /**
774
+ * Column definition for Table.
775
+ */
776
+ interface ITableColumn<T> {
777
+ /** Row field key used to read cell value. */
778
+ key: keyof T & string;
779
+ /** Header label. */
780
+ label: string;
781
+ /** Tailwind width classes for head and cell. */
782
+ width?: string;
783
+ /** Extra classes for the header cell. */
784
+ className?: string;
785
+ /** Extra classes for the body cell. */
786
+ cellClassName?: string;
787
+ /** Whether the column supports sorting. */
788
+ sortable?: boolean;
789
+ /** Custom cell renderer. */
790
+ render?: (value: unknown, row: T) => ReactNode;
791
+ }
792
+ /**
793
+ * Props for the Table component.
794
+ */
795
+ interface ITableProps<T> {
796
+ /** Rows to display. */
797
+ data: T[];
798
+ /** Column configuration. */
799
+ columns: ITableColumn<T>[];
800
+ /** Returns a stable key for each row. */
801
+ getRowKey: (row: T) => string | number;
802
+ /** Current sort field; prefix with '-' for descending. */
803
+ ordering?: string;
804
+ /** Called when a sortable column header is clicked. */
805
+ onSort?: (columnKey: string) => void;
806
+ /** Called when a row is clicked. */
807
+ onRowClick?: (row: T) => void;
808
+ /** Whether a data request is in progress. */
809
+ isLoading?: boolean;
810
+ /** Whether more rows can be loaded. */
811
+ hasMore?: boolean;
812
+ /** Called when the load-more button is clicked. */
813
+ onLoadMore?: () => void;
814
+ /** Extra classes for the scroll wrapper. */
815
+ className?: string;
816
+ }
817
+ /**
818
+ * Generic data table with loading, empty, sort, and load-more states.
819
+ *
820
+ * @example
821
+ * ```tsx
822
+ * <Table
823
+ * data={items}
824
+ * columns={columns}
825
+ * getRowKey={(row) => row.pk}
826
+ * ordering={ordering}
827
+ * onSort={handleSort}
828
+ * isLoading={isLoading}
829
+ * hasMore={hasMore}
830
+ * onLoadMore={handleLoadMore}
831
+ * />
832
+ * ```
833
+ */
834
+ declare function Table$1<T extends Record<string, unknown>>({ data, columns, getRowKey, ordering, onSort, onRowClick, isLoading, hasMore, onLoadMore, className, }: ITableProps<T>): react_jsx_runtime.JSX.Element;
835
+
836
+ interface ITableSkeletonColumn {
837
+ /** Tailwind width classes matching the table column. */
838
+ width?: string;
839
+ /** Extra classes for the skeleton cell. */
840
+ cellClassName?: string;
841
+ }
842
+ interface ITableSkeletonProps {
843
+ /** Column layout or column count. */
844
+ columns: ITableSkeletonColumn[] | number;
845
+ /** Number of skeleton rows. Defaults to 5. */
846
+ rows?: number;
847
+ }
848
+ /**
849
+ * Skeleton rows rendered inside TableBody while data is loading.
850
+ *
851
+ * @example
852
+ * ```tsx
853
+ * <TableBody>
854
+ * <TableSkeleton columns={columns} rows={5} />
855
+ * </TableBody>
856
+ * ```
857
+ */
858
+ declare function TableSkeleton({ columns, rows, }: ITableSkeletonProps): react_jsx_runtime.JSX.Element;
859
+
860
+ interface INoResultProps {
861
+ /** Title shown in the empty state. */
862
+ title?: string;
863
+ /** Description shown in the empty state. */
864
+ description?: string;
865
+ }
866
+ /**
867
+ * Default empty state for tables and lists with no data.
868
+ *
869
+ * @example
870
+ * ```tsx
871
+ * <NoResult />
872
+ * ```
873
+ */
874
+ declare function NoResult({ title, description, }: INoResultProps): react_jsx_runtime.JSX.Element;
875
+
876
+ /**
877
+ * A placeholder skeleton with pulse animation.
878
+ *
879
+ * @example
880
+ * ```tsx
881
+ * <Skeleton className="h-4 w-[200px]" />
882
+ * ```
883
+ */
884
+ declare function Skeleton({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
885
+
886
+ /**
887
+ * A modal dialog component.
888
+ *
889
+ * @example
890
+ * ```tsx
891
+ * <Dialog>
892
+ * <DialogTrigger>Open</DialogTrigger>
893
+ * <DialogContent>
894
+ * <DialogTitle>Title</DialogTitle>
895
+ * <DialogDescription>Desc</DialogDescription>
896
+ * </DialogContent>
897
+ * </Dialog>
898
+ * ```
899
+ */
900
+ declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
901
+ declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
902
+ declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
903
+ showCloseButton?: boolean;
904
+ } & React$1.RefAttributes<HTMLDivElement>>;
905
+ declare const DialogHeader: {
906
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
907
+ displayName: string;
908
+ };
909
+ declare const DialogFooter: {
910
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
911
+ displayName: string;
912
+ };
913
+ declare const DialogTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
914
+ declare const DialogDescription: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
915
+
916
+ /**
917
+ * A modal dialog that interrupts the user with important content and expects a response.
918
+ *
919
+ * @example
920
+ * ```tsx
921
+ * <AlertDialog>
922
+ * <AlertDialogTrigger>Open</AlertDialogTrigger>
923
+ * <AlertDialogContent>
924
+ * <AlertDialogHeader>
925
+ * <AlertDialogTitle>Are you sure?</AlertDialogTitle>
926
+ * </AlertDialogHeader>
927
+ * <AlertDialogFooter>
928
+ * <AlertDialogCancel>Cancel</AlertDialogCancel>
929
+ * <AlertDialogAction>Continue</AlertDialogAction>
930
+ * </AlertDialogFooter>
931
+ * </AlertDialogContent>
932
+ * </AlertDialog>
933
+ * ```
934
+ */
935
+ declare function AlertDialog({ ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
936
+ declare function AlertDialogTrigger({ ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
937
+ declare function AlertDialogPortal({ ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Portal>): react_jsx_runtime.JSX.Element;
938
+ declare function AlertDialogOverlay({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Overlay>): react_jsx_runtime.JSX.Element;
939
+ declare function AlertDialogContent({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Content>): react_jsx_runtime.JSX.Element;
940
+ declare function AlertDialogHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
941
+ declare function AlertDialogFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
942
+ declare function AlertDialogTitle({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
943
+ declare function AlertDialogDescription({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
944
+ declare function AlertDialogAction({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Action>): react_jsx_runtime.JSX.Element;
945
+ declare function AlertDialogCancel({ className, ...props }: React$1.ComponentProps<typeof AlertDialogPrimitive.Cancel>): react_jsx_runtime.JSX.Element;
946
+
947
+ /**
948
+ * A command palette component.
949
+ *
950
+ * @example
951
+ * ```tsx
952
+ * <Command>
953
+ * <CommandInput placeholder="Type a command..." />
954
+ * <CommandList>
955
+ * <CommandItem>Action</CommandItem>
956
+ * </CommandList>
957
+ * </Command>
958
+ * ```
959
+ */
960
+ declare function Command({ className, ...props }: React$1.ComponentProps<typeof Command$1>): react_jsx_runtime.JSX.Element;
961
+ declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: React$1.ComponentProps<typeof Dialog$1> & {
962
+ title?: string;
963
+ description?: string;
964
+ className?: string;
965
+ showCloseButton?: boolean;
966
+ }): react_jsx_runtime.JSX.Element;
967
+ declare function CommandInput({ className, ...props }: React$1.ComponentProps<typeof Command$1.Input>): react_jsx_runtime.JSX.Element;
968
+ declare function CommandList({ className, ...props }: React$1.ComponentProps<typeof Command$1.List>): react_jsx_runtime.JSX.Element;
969
+ declare function CommandEmpty({ ...props }: React$1.ComponentProps<typeof Command$1.Empty>): react_jsx_runtime.JSX.Element;
970
+ declare function CommandGroup({ className, ...props }: React$1.ComponentProps<typeof Command$1.Group>): react_jsx_runtime.JSX.Element;
971
+ declare function CommandSeparator({ className, ...props }: React$1.ComponentProps<typeof Command$1.Separator>): react_jsx_runtime.JSX.Element;
972
+ declare function CommandItem({ className, ...props }: React$1.ComponentProps<typeof Command$1.Item>): react_jsx_runtime.JSX.Element;
973
+ declare function CommandShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
974
+
975
+ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
976
+
977
+ declare const Label: React$1.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React$1.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: class_variance_authority_types.ClassProp | undefined) => string> & React$1.RefAttributes<HTMLLabelElement>>;
978
+
979
+ declare const TooltipProvider: React$1.FC<TooltipPrimitive.TooltipProviderProps>;
980
+ declare const Tooltip: React$1.FC<TooltipPrimitive.TooltipProps>;
981
+ declare const TooltipTrigger: React$1.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
982
+ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
983
+
984
+ declare const Alert: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
985
+ variant?: "default" | "destructive" | null | undefined;
986
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & React$1.RefAttributes<HTMLDivElement>>;
987
+ declare const AlertTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLHeadingElement> & React$1.RefAttributes<HTMLParagraphElement>>;
988
+ declare const AlertDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
989
+
990
+ declare function Breadcrumb({ ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
991
+ declare function BreadcrumbList({ className, ...props }: React$1.ComponentProps<"ol">): react_jsx_runtime.JSX.Element;
992
+ declare function BreadcrumbItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
993
+ declare function BreadcrumbLink({ asChild, className, ...props }: React$1.ComponentProps<"a"> & {
994
+ asChild?: boolean;
995
+ }): react_jsx_runtime.JSX.Element;
996
+ declare function BreadcrumbPage({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
997
+ declare function BreadcrumbSeparator({ children, className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
998
+ declare function BreadcrumbEllipsis({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
999
+
1000
+ declare const DropdownMenu: React$1.FC<DropdownMenuPrimitive.DropdownMenuProps>;
1001
+ declare const DropdownMenuTrigger: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
1002
+ declare const DropdownMenuGroup: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React$1.RefAttributes<HTMLDivElement>>;
1003
+ declare const DropdownMenuPortal: React$1.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
1004
+ declare const DropdownMenuSub: React$1.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
1005
+ declare const DropdownMenuRadioGroup: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React$1.RefAttributes<HTMLDivElement>>;
1006
+ declare const DropdownMenuSubTrigger: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
1007
+ inset?: boolean;
1008
+ } & React$1.RefAttributes<HTMLDivElement>>;
1009
+ declare const DropdownMenuSubContent: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1010
+ declare const DropdownMenuContent: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1011
+ declare const DropdownMenuItem: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
1012
+ inset?: boolean;
1013
+ } & React$1.RefAttributes<HTMLDivElement>>;
1014
+ declare const DropdownMenuCheckboxItem: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1015
+ declare const DropdownMenuRadioItem: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1016
+ declare const DropdownMenuLabel: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
1017
+ inset?: boolean;
1018
+ } & React$1.RefAttributes<HTMLDivElement>>;
1019
+ declare const DropdownMenuSeparator: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1020
+ declare const DropdownMenuShortcut: {
1021
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLSpanElement>): react_jsx_runtime.JSX.Element;
1022
+ displayName: string;
1023
+ };
1024
+
1025
+ declare const Radio: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
1026
+
1027
+ /**
1028
+ * Spinner component
1029
+ * @param size the size of the spinner in REM
1030
+ * @returns
1031
+ */
1032
+ declare const Spinner: ({ size }: {
1033
+ size?: number;
1034
+ }) => react_jsx_runtime.JSX.Element;
1035
+
1036
+ declare const ErrorMessage: ({ error }: {
1037
+ error: FieldError | undefined;
1038
+ }) => react_jsx_runtime.JSX.Element;
1039
+
1040
+ declare const ErrorToastContent: ({ message, error, }: {
1041
+ message: string;
1042
+ error: string;
1043
+ }) => react_jsx_runtime.JSX.Element;
1044
+
1045
+ interface IAlertWithIconProps {
1046
+ icon: ReactNode;
1047
+ title: string;
1048
+ description: string;
1049
+ variant?: "default" | "destructive";
1050
+ className?: string;
1051
+ }
1052
+ /**
1053
+ * Alert with icon, title and description.
1054
+ */
1055
+ declare function AlertWithIcon({ icon, title, description, variant, className, }: IAlertWithIconProps): react_jsx_runtime.JSX.Element;
1056
+
1057
+ type DynamicListFn = (modelClass: string, filterDict: Record<string, unknown>, searchFields?: string[]) => Promise<[
1058
+ Record<string, unknown>[] | null,
1059
+ {
1060
+ message: string;
1061
+ } | null
1062
+ ]>;
1063
+ type FKSelectFetcherParams = {
1064
+ search: string;
1065
+ modelClass: string;
1066
+ labelName: string;
1067
+ additionalFilters?: Record<string, unknown>;
1068
+ fields?: string[];
1069
+ };
1070
+ type CreateFKSelectFetcherOptions = {
1071
+ additionalFilters?: Record<string, unknown>;
1072
+ fields?: string[];
1073
+ };
1074
+ /**
1075
+ * Fetches FK select options via an injected dynamicList function.
1076
+ */
1077
+ declare const fkSelectFetcher: (dynamicList: DynamicListFn, { search, modelClass, labelName, additionalFilters, fields, }: FKSelectFetcherParams) => Promise<Record<string, unknown>[]>;
1078
+ /**
1079
+ * Creates a stable fetcher function for FKSelect.
1080
+ */
1081
+ declare const createFKSelectFetcher: (dynamicList: DynamicListFn, labelName: string, options?: CreateFKSelectFetcherOptions) => (params: FKFetcherParams) => Promise<Record<string, unknown>[]>;
1082
+
1083
+ interface IMarkdownEditorProps {
1084
+ value: string;
1085
+ onChange: (value: string) => void;
1086
+ placeholder?: string;
1087
+ error?: string;
1088
+ disabled?: boolean;
1089
+ className?: string;
1090
+ }
1091
+ /**
1092
+ * WYSIWYG markdown editor wrapper around Toast UI Editor.
1093
+ */
1094
+ declare function MarkdownEditor({ value, onChange, placeholder, error, disabled, className, }: IMarkdownEditorProps): react_jsx_runtime.JSX.Element;
1095
+
1096
+ declare function Loading(): react_jsx_runtime.JSX.Element;
1097
+
1098
+ interface ErrorBoundaryProps {
1099
+ children: ReactNode;
1100
+ hasError: boolean;
1101
+ message?: string;
1102
+ className?: string;
1103
+ }
1104
+ declare const ErrorBoundary: ({ children, hasError, message, }: ErrorBoundaryProps) => react_jsx_runtime.JSX.Element;
1105
+
1106
+ /**
1107
+ * DeleteDialog - Confirmation dialog component for delete documents.
1108
+ */
1109
+ declare const DeleteDialog: ({ openDialog, setOpenDialog, handleDelete, count, }: {
1110
+ openDialog: boolean;
1111
+ setOpenDialog: (value: boolean) => void;
1112
+ handleDelete: () => void;
1113
+ count?: number;
1114
+ }) => react_jsx_runtime.JSX.Element;
1115
+
1116
+ declare const ClearButton: ({ handleClear }: {
1117
+ handleClear: () => void;
1118
+ }) => react_jsx_runtime.JSX.Element;
1119
+
1120
+ type TooltipComponentProps = {
1121
+ trigger: React.ReactNode;
1122
+ children: React.ReactNode;
1123
+ className?: string;
1124
+ triggerClassName?: string;
1125
+ };
1126
+ declare const TooltipComponent: ({ triggerClassName, className, trigger, children, }: TooltipComponentProps) => react_jsx_runtime.JSX.Element;
1127
+
1128
+ type PaginationProps = {
1129
+ startRecord: number;
1130
+ endRecord: number;
1131
+ hasValidSearchValues: boolean;
1132
+ tabCount: number;
1133
+ disabledLoadBackButton: boolean;
1134
+ disabledLoadMoreButton: boolean;
1135
+ loadBack: () => void;
1136
+ loadMore: () => void;
1137
+ };
1138
+ declare const Pagination: ({ startRecord, endRecord, hasValidSearchValues, tabCount, disabledLoadBackButton, disabledLoadMoreButton, loadBack, loadMore, }: PaginationProps) => react_jsx_runtime.JSX.Element;
1139
+
1140
+ interface ITagItem {
1141
+ key: string;
1142
+ value: string;
1143
+ }
1144
+ interface ITagInputProps {
1145
+ value: ITagItem[];
1146
+ onChange: (tags: ITagItem[]) => void;
1147
+ keyPlaceholder?: string;
1148
+ valuePlaceholder?: string;
1149
+ disabled?: boolean;
1150
+ }
1151
+ declare function TagInput({ value, onChange, keyPlaceholder, valuePlaceholder, disabled, }: ITagInputProps): react_jsx_runtime.JSX.Element;
1152
+
1153
+ type ExpectedFile = {
1154
+ file: string;
1155
+ };
1156
+ type RetrieveFileFn = (modelClass: string, fileId: number) => Promise<[
1157
+ {
1158
+ data: number[];
1159
+ contentType: string;
1160
+ } | null,
1161
+ {
1162
+ message: string;
1163
+ } | null
1164
+ ]>;
1165
+ interface IDownloadButtonProps<T extends ExpectedFile> {
1166
+ item: T;
1167
+ propertyName: keyof T;
1168
+ modelClass: string;
1169
+ retrieveFile: RetrieveFileFn;
1170
+ }
1171
+ declare const DownloadButton: <T extends ExpectedFile>({ item, modelClass, propertyName, retrieveFile, }: IDownloadButtonProps<T>) => react_jsx_runtime.JSX.Element;
1172
+
1173
+ interface IMultiSelectOption {
1174
+ label: string;
1175
+ value: string;
1176
+ }
1177
+ interface IMultiSelectDropdownProps {
1178
+ options: IMultiSelectOption[];
1179
+ selected: string[];
1180
+ onChange: (selected: string[]) => void;
1181
+ placeholder?: string;
1182
+ className?: string;
1183
+ maxDisplay?: number;
1184
+ }
1185
+ declare function MultiSelectDropdown({ options, selected, onChange, placeholder, className, maxDisplay, }: IMultiSelectDropdownProps): react_jsx_runtime.JSX.Element;
1186
+
1187
+ /**
1188
+ * A responsive table component.
1189
+ *
1190
+ * @example
1191
+ * ```tsx
1192
+ * <Table>
1193
+ * <TableHeader>
1194
+ * <TableRow>
1195
+ * <TableHead>Header</TableHead>
1196
+ * </TableRow>
1197
+ * </TableHeader>
1198
+ * <TableBody>
1199
+ * <TableRow>
1200
+ * <TableCell>Cell</TableCell>
1201
+ * </TableRow>
1202
+ * </TableBody>
1203
+ * </Table>
1204
+ * ```
1205
+ */
1206
+ declare const Table: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableElement> & React$1.RefAttributes<HTMLTableElement>>;
1207
+ declare const TableHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;
1208
+ declare const TableBody: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;
1209
+ declare const TableFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;
1210
+ declare const TableRow: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableRowElement> & React$1.RefAttributes<HTMLTableRowElement>>;
1211
+ declare const TableHead: React$1.ForwardRefExoticComponent<React$1.ThHTMLAttributes<HTMLTableCellElement> & React$1.RefAttributes<HTMLTableCellElement>>;
1212
+ declare const TableCell: React$1.ForwardRefExoticComponent<React$1.TdHTMLAttributes<HTMLTableCellElement> & React$1.RefAttributes<HTMLTableCellElement>>;
1213
+ declare const TableCaption: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableCaptionElement> & React$1.RefAttributes<HTMLTableCaptionElement>>;
1214
+
1215
+ declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
1216
+ declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
1217
+ declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
1218
+ declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
1219
+ declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1220
+ declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1221
+ declare const SelectContent: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1222
+ declare const SelectLabel: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1223
+ declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1224
+ declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1225
+
1226
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlertWithIcon, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ClearButton, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmationDialog, DatePicker, DeleteDialog, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DownloadButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, PumpwoodDropzone as Dropzone, Empty, EmptyContainer, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, ErrorBoundary, ErrorMessage, ErrorToastContent, FKSelect, FileDropzone, Input, Label, Loading, MarkdownEditor, MultiSelectDropdown, NoResult, Pagination, Popover, PopoverContent, PopoverTrigger, PumpwoodBadge, PumpwoodCard, Radio, Select$1 as Select, SelectContent, SelectGroup, SelectItem, SelectLabel, Select as SelectPrimitive, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sidebar, Skeleton, Spinner, Stack, Table$1 as Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, Table as TablePrimitive, TableRow, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, Textarea, Tooltip, TooltipComponent, TooltipContent, TooltipProvider, TooltipTrigger, Typography, badgeVariants, createFKSelectFetcher, fkSelectFetcher, pumpwoodBadgeVariants, useSidebarCollapse };
1227
+ export type { ComboboxItem, CreateFKSelectFetcherOptions, DynamicListFn, FKFetcherParams, FKSelectFetcherParams, IAlertWithIconProps, IDatePickerProps, IFKSelectProps, IMarkdownEditorProps, IMultiSelectOption, ISelectFKProps, ISelectProps, IStaticSelectProps, ITableColumn, ITableProps, ITagItem, IUseSidebarCollapseOptions, RetrieveFileFn };