analytica-frontend-lib 1.0.22 → 1.0.24

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 (88) hide show
  1. package/dist/chunk-CETSS3RA.mjs +52 -0
  2. package/dist/chunk-GSEO6POW.mjs +93 -0
  3. package/dist/chunk-IB4IJ3GF.mjs +60 -0
  4. package/dist/chunk-IH5TEC64.mjs +35 -0
  5. package/dist/chunk-JNPCNN67.mjs +86 -0
  6. package/dist/chunk-KT6HNGRV.mjs +241 -0
  7. package/dist/chunk-LYOJCBOM.mjs +195 -0
  8. package/dist/chunk-MI5FIRHM.mjs +75 -0
  9. package/dist/chunk-NWGRQN6R.mjs +108 -0
  10. package/dist/chunk-QODEDLAX.mjs +142 -0
  11. package/dist/chunk-QOFMTSHE.mjs +44 -0
  12. package/dist/chunk-RPYPJ5O5.mjs +55 -0
  13. package/dist/chunk-SESX5OEP.mjs +57 -0
  14. package/dist/chunk-TT3VCQGR.mjs +53 -0
  15. package/dist/chunk-WIOCQOM7.mjs +20 -0
  16. package/dist/client-components.d.mts +9 -0
  17. package/dist/client-components.d.ts +9 -0
  18. package/dist/client-components.js +755 -0
  19. package/dist/client-components.mjs +39 -0
  20. package/dist/components/Alert/Alert.d.mts +13 -0
  21. package/dist/components/Alert/Alert.d.ts +13 -0
  22. package/dist/components/Alert/Alert.js +158 -0
  23. package/dist/components/Alert/Alert.mjs +7 -0
  24. package/dist/components/Badge/Badge.d.mts +47 -0
  25. package/dist/components/Badge/Badge.d.ts +47 -0
  26. package/dist/components/Badge/Badge.js +117 -0
  27. package/dist/components/Badge/Badge.mjs +6 -0
  28. package/dist/components/Button/Button.d.mts +46 -0
  29. package/dist/components/Button/Button.d.ts +46 -0
  30. package/dist/components/Button/Button.js +84 -0
  31. package/dist/components/Button/Button.mjs +6 -0
  32. package/dist/components/CheckBox/CheckBox.d.mts +74 -0
  33. package/dist/components/CheckBox/CheckBox.d.ts +74 -0
  34. package/dist/components/CheckBox/CheckBox.js +264 -0
  35. package/dist/components/CheckBox/CheckBox.mjs +8 -0
  36. package/dist/components/DropdownMenu/DropdownMenu.d.mts +29 -0
  37. package/dist/components/DropdownMenu/DropdownMenu.d.ts +29 -0
  38. package/dist/components/DropdownMenu/DropdownMenu.js +262 -0
  39. package/dist/components/DropdownMenu/DropdownMenu.mjs +17 -0
  40. package/dist/components/IconButton/IconButton.d.mts +77 -0
  41. package/dist/components/IconButton/IconButton.d.ts +77 -0
  42. package/dist/components/IconButton/IconButton.js +79 -0
  43. package/dist/components/IconButton/IconButton.mjs +6 -0
  44. package/dist/components/IconRoundedButton/IconRoundedButton.d.mts +35 -0
  45. package/dist/components/IconRoundedButton/IconRoundedButton.d.ts +35 -0
  46. package/dist/components/IconRoundedButton/IconRoundedButton.js +68 -0
  47. package/dist/components/IconRoundedButton/IconRoundedButton.mjs +6 -0
  48. package/dist/components/NavButton/NavButton.d.mts +58 -0
  49. package/dist/components/NavButton/NavButton.d.ts +58 -0
  50. package/dist/components/NavButton/NavButton.js +76 -0
  51. package/dist/components/NavButton/NavButton.mjs +6 -0
  52. package/dist/components/SelectionButton/SelectionButton.d.mts +58 -0
  53. package/dist/components/SelectionButton/SelectionButton.d.ts +58 -0
  54. package/dist/components/SelectionButton/SelectionButton.js +81 -0
  55. package/dist/components/SelectionButton/SelectionButton.mjs +6 -0
  56. package/dist/components/Table/Table.d.mts +17 -0
  57. package/dist/components/Table/Table.d.ts +17 -0
  58. package/dist/components/Table/Table.js +139 -0
  59. package/dist/components/Table/Table.mjs +20 -0
  60. package/dist/components/Text/Text.d.mts +59 -0
  61. package/dist/components/Text/Text.d.ts +59 -0
  62. package/dist/components/Text/Text.js +77 -0
  63. package/dist/components/Text/Text.mjs +6 -0
  64. package/dist/components/TextArea/TextArea.d.mts +69 -0
  65. package/dist/components/TextArea/TextArea.d.ts +69 -0
  66. package/dist/components/TextArea/TextArea.js +211 -0
  67. package/dist/components/TextArea/TextArea.mjs +8 -0
  68. package/dist/components/Toast/Toast.d.mts +17 -0
  69. package/dist/components/Toast/Toast.d.ts +17 -0
  70. package/dist/components/Toast/Toast.js +100 -0
  71. package/dist/components/Toast/Toast.mjs +7 -0
  72. package/dist/components/Toast/utils/ToastStore.d.mts +19 -0
  73. package/dist/components/Toast/utils/ToastStore.d.ts +19 -0
  74. package/dist/components/Toast/utils/ToastStore.js +44 -0
  75. package/dist/components/Toast/utils/ToastStore.mjs +6 -0
  76. package/dist/components/Toast/utils/Toaster.d.mts +11 -0
  77. package/dist/components/Toast/utils/Toaster.d.ts +11 -0
  78. package/dist/components/Toast/utils/Toaster.js +145 -0
  79. package/dist/components/Toast/utils/Toaster.mjs +11 -0
  80. package/dist/index.d.mts +168 -355
  81. package/dist/index.d.ts +168 -355
  82. package/dist/index.js +341 -936
  83. package/dist/index.mjs +340 -941
  84. package/dist/server-components.d.mts +11 -0
  85. package/dist/server-components.d.ts +11 -0
  86. package/dist/server-components.js +629 -0
  87. package/dist/server-components.mjs +52 -0
  88. package/package.json +76 -3
package/dist/index.d.mts CHANGED
@@ -1,134 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import react__default, { ReactNode, ButtonHTMLAttributes, ElementType, ComponentPropsWithoutRef, TextareaHTMLAttributes, HTMLAttributes, InputHTMLAttributes, TdHTMLAttributes } from 'react';
4
- import * as zustand from 'zustand';
5
-
6
- /**
7
- * Button component props interface
8
- */
9
- type ButtonProps = {
10
- /** Content to be displayed inside the button */
11
- children: ReactNode;
12
- /** Ícone à esquerda do texto */
13
- iconLeft?: ReactNode;
14
- /** Ícone à direita do texto */
15
- iconRight?: ReactNode;
16
- /** Size of the button */
17
- size?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';
18
- /** Visual variant of the button */
19
- variant?: 'solid' | 'outline' | 'link';
20
- /** Action type of the button */
21
- action?: 'primary' | 'positive' | 'negative';
22
- /** Additional CSS classes to apply */
23
- className?: string;
24
- } & ButtonHTMLAttributes<HTMLButtonElement>;
25
- /**
26
- * Button component for Analytica Ensino platforms
27
- *
28
- * A flexible button component with multiple variants, sizes and actions.
29
- * Fully compatible with Next.js 15 and React 19.
30
- *
31
- * @param children - The content to display inside the button
32
- * @param size - The size variant (extra-small, small, medium, large, extra-large)
33
- * @param variant - The visual style variant (solid, outline, link)
34
- * @param action - The action type (primary, positive, negative)
35
- * @param className - Additional CSS classes
36
- * @param props - All other standard button HTML attributes
37
- * @returns A styled button element
38
- *
39
- * @example
40
- * ```tsx
41
- * <Button variant="solid" action="primary" size="medium" onClick={() => console.log('clicked')}>
42
- * Click me
43
- * </Button>
44
- * ```
45
- */
46
- declare const Button: ({ children, iconLeft, iconRight, size, variant, action, className, disabled, type, ...props }: ButtonProps) => react_jsx_runtime.JSX.Element;
47
-
48
- /**
49
- * IconRoundedButton component props interface
50
- */
51
- type IconRoundedButtonProps = {
52
- /** Ícone a ser exibido no botão */
53
- icon: ReactNode;
54
- /** Additional CSS classes to apply */
55
- className?: string;
56
- } & ButtonHTMLAttributes<HTMLButtonElement>;
57
- /**
58
- * IconRoundedButton component for Analytica Ensino platforms
59
- *
60
- * Um botão redondo simples que exibe apenas um ícone.
61
- * Ideal para ações como navegação, fechar, editar, etc.
62
- * Compatível com Next.js 15 e React 19.
63
- *
64
- * @param icon - O ícone a ser exibido no botão
65
- * @param className - Classes CSS adicionais
66
- * @param props - Todos os outros atributos HTML padrão de button
67
- * @returns Um elemento button estilizado e redondo
68
- *
69
- * @example
70
- * ```tsx
71
- * <IconRoundedButton
72
- * icon={<ChevronRightIcon />}
73
- * onClick={() => console.log('clicked')}
74
- * />
75
- * ```
76
- */
77
- declare const IconRoundedButton: ({ icon, className, disabled, ...props }: IconRoundedButtonProps) => react_jsx_runtime.JSX.Element;
78
-
79
- /**
80
- * SelectionButton component for Analytica Ensino platforms
81
- *
82
- * Um botão com ícone e texto para ações e navegação com estado de seleção.
83
- * Ideal para filtros, tags, categorias, seleção de tipos, etc.
84
- * Compatível com Next.js 15 e React 19.
85
- * Suporta forwardRef para acesso programático ao elemento DOM.
86
- *
87
- * @param icon - O ícone a ser exibido no botão
88
- * @param label - O texto/label a ser exibido
89
- * @param selected - Estado de seleção do botão
90
- * @param className - Classes CSS adicionais
91
- * @param props - Todos os outros atributos HTML padrão de button
92
- * @returns Um elemento button estilizado
93
- *
94
- * @example
95
- * ```tsx
96
- * <SelectionButton
97
- * icon={<TagIcon />}
98
- * label="Categoria"
99
- * selected={false}
100
- * onClick={() => handleSelection()}
101
- * />
102
- * ```
103
- *
104
- * @example
105
- * ```tsx
106
- * // Usando ref para foco programático
107
- * const buttonRef = useRef<HTMLButtonElement>(null);
108
- *
109
- * const handleFocus = () => {
110
- * buttonRef.current?.focus();
111
- * };
112
- *
113
- * <SelectionButton
114
- * ref={buttonRef}
115
- * icon={<TagIcon />}
116
- * label="Categoria"
117
- * selected={isSelected}
118
- * onClick={() => setSelected(!isSelected)}
119
- * />
120
- * ```
121
- */
122
- declare const SelectionButton: react.ForwardRefExoticComponent<{
123
- /** Ícone a ser exibido no botão */
124
- icon: ReactNode;
125
- /** Texto/label a ser exibido ao lado do ícone */
126
- label: string;
127
- /** Estado de seleção do botão */
128
- selected?: boolean;
129
- /** Additional CSS classes to apply */
130
- className?: string;
131
- } & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
3
+ import { ElementType, ReactNode, ComponentPropsWithoutRef, ButtonHTMLAttributes, HTMLAttributes, TdHTMLAttributes } from 'react';
132
4
 
133
5
  /**
134
6
  * Base text component props
@@ -186,70 +58,46 @@ type TextProps<T extends ElementType = 'p'> = BaseTextProps & {
186
58
  declare const Text: <T extends ElementType = "p">({ children, size, weight, color, as, className, ...props }: TextProps<T>) => react_jsx_runtime.JSX.Element;
187
59
 
188
60
  /**
189
- * TextArea size variants
190
- */
191
- type TextAreaSize = 'small' | 'medium' | 'large' | 'extraLarge';
192
- /**
193
- * TextArea visual state
194
- */
195
- type TextAreaState = 'default' | 'hovered' | 'focused' | 'invalid' | 'disabled';
196
- /**
197
- * TextArea component props interface
61
+ * Button component props interface
198
62
  */
199
- type TextAreaProps = {
200
- /** Label text to display above the textarea */
201
- label?: ReactNode;
202
- /** Size variant of the textarea */
203
- size?: TextAreaSize;
204
- /** Visual state of the textarea */
205
- state?: TextAreaState;
206
- /** Error message to display */
207
- errorMessage?: string;
208
- /** Helper text to display */
209
- helperMessage?: string;
210
- /** Additional CSS classes */
63
+ type ButtonProps = {
64
+ /** Content to be displayed inside the button */
65
+ children: ReactNode;
66
+ /** Ícone à esquerda do texto */
67
+ iconLeft?: ReactNode;
68
+ /** Ícone à direita do texto */
69
+ iconRight?: ReactNode;
70
+ /** Size of the button */
71
+ size?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';
72
+ /** Visual variant of the button */
73
+ variant?: 'solid' | 'outline' | 'link';
74
+ /** Action type of the button */
75
+ action?: 'primary' | 'positive' | 'negative';
76
+ /** Additional CSS classes to apply */
211
77
  className?: string;
212
- /** Label CSS classes */
213
- labelClassName?: string;
214
- } & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>;
78
+ } & ButtonHTMLAttributes<HTMLButtonElement>;
215
79
  /**
216
- * TextArea component for Analytica Ensino platforms
80
+ * Button component for Analytica Ensino platforms
217
81
  *
218
- * A textarea component with essential states, sizes and themes.
219
- * Uses exact design specifications with 288px width, 96px height, and specific
220
- * color values. Includes Text component integration for consistent typography.
82
+ * A flexible button component with multiple variants, sizes and actions.
83
+ * Fully compatible with Next.js 15 and React 19.
84
+ *
85
+ * @param children - The content to display inside the button
86
+ * @param size - The size variant (extra-small, small, medium, large, extra-large)
87
+ * @param variant - The visual style variant (solid, outline, link)
88
+ * @param action - The action type (primary, positive, negative)
89
+ * @param className - Additional CSS classes
90
+ * @param props - All other standard button HTML attributes
91
+ * @returns A styled button element
221
92
  *
222
93
  * @example
223
94
  * ```tsx
224
- * // Basic textarea
225
- * <TextArea label="Description" placeholder="Enter description..." />
226
- *
227
- * // Small size
228
- * <TextArea size="small" label="Comment" />
229
- *
230
- * // Invalid state
231
- * <TextArea state="invalid" label="Required field" errorMessage="This field is required" />
232
- *
233
- * // Disabled state
234
- * <TextArea disabled label="Read-only field" />
95
+ * <Button variant="solid" action="primary" size="medium" onClick={() => console.log('clicked')}>
96
+ * Click me
97
+ * </Button>
235
98
  * ```
236
99
  */
237
- declare const TextArea: react__default.ForwardRefExoticComponent<{
238
- /** Label text to display above the textarea */
239
- label?: ReactNode;
240
- /** Size variant of the textarea */
241
- size?: TextAreaSize;
242
- /** Visual state of the textarea */
243
- state?: TextAreaState;
244
- /** Error message to display */
245
- errorMessage?: string;
246
- /** Helper text to display */
247
- helperMessage?: string;
248
- /** Additional CSS classes */
249
- className?: string;
250
- /** Label CSS classes */
251
- labelClassName?: string;
252
- } & Omit<react__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & react__default.RefAttributes<HTMLTextAreaElement>>;
100
+ declare const Button: ({ children, iconLeft, iconRight, size, variant, action, className, disabled, type, ...props }: ButtonProps) => react_jsx_runtime.JSX.Element;
253
101
 
254
102
  /**
255
103
  * Badge component props interface
@@ -294,112 +142,118 @@ type BadgeProps = {
294
142
  */
295
143
  declare const Badge: ({ children, iconLeft, iconRight, size, variant, action, className, notificationActive, ...props }: BadgeProps) => react_jsx_runtime.JSX.Element;
296
144
 
145
+ type AlertProps = {
146
+ title?: string;
147
+ description: string;
148
+ variant?: 'solid' | 'outline';
149
+ action?: 'default' | 'info' | 'success' | 'warning' | 'error';
150
+ className?: string;
151
+ } & HTMLAttributes<HTMLDivElement>;
152
+ declare const Alert: ({ variant, title, description, action, className, ...props }: AlertProps) => react_jsx_runtime.JSX.Element;
153
+
297
154
  /**
298
- * CheckBox size variants
299
- */
300
- type CheckBoxSize = 'small' | 'medium' | 'large';
301
- /**
302
- * CheckBox visual state
303
- */
304
- type CheckBoxState = 'default' | 'hovered' | 'focused' | 'invalid' | 'disabled';
305
- /**
306
- * CheckBox component props interface
155
+ * IconButton component props interface
307
156
  */
308
- type CheckBoxProps = {
309
- /** Label text to display next to the checkbox */
310
- label?: ReactNode;
311
- /** Size variant of the checkbox */
312
- size?: CheckBoxSize;
313
- /** Visual state of the checkbox */
314
- state?: CheckBoxState;
315
- /** Indeterminate state for partial selections */
316
- indeterminate?: boolean;
317
- /** Error message to display */
318
- errorMessage?: string;
319
- /** Helper text to display */
320
- helperText?: string;
321
- /** Additional CSS classes */
157
+ type IconButtonProps = {
158
+ /** Ícone a ser exibido no botão */
159
+ icon: ReactNode;
160
+ /** Tamanho do botão */
161
+ size?: 'sm' | 'md';
162
+ /** Estado de seleção/ativo do botão - permanece ativo até ser clicado novamente ou outro botão ser ativado */
163
+ active?: boolean;
164
+ /** Additional CSS classes to apply */
322
165
  className?: string;
323
- /** Label CSS classes */
324
- labelClassName?: string;
325
- } & Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>;
166
+ } & ButtonHTMLAttributes<HTMLButtonElement>;
326
167
  /**
327
- * CheckBox component for Analytica Ensino platforms
168
+ * IconButton component for Analytica Ensino platforms
328
169
  *
329
- * A checkbox component with essential states, sizes and themes.
330
- * Uses the Analytica Ensino Design System colors from styles.css with automatic
331
- * light/dark mode support. Includes Text component integration for consistent typography.
170
+ * Um botão compacto apenas com ícone, ideal para menus dropdown,
171
+ * barras de ferramentas e ações secundárias.
172
+ * Oferece dois tamanhos com estilo consistente.
173
+ * Estado ativo permanece até ser clicado novamente ou outro botão ser ativado.
174
+ * Compatível com Next.js 15 e React 19.
175
+ * Suporta forwardRef para acesso programático ao elemento DOM.
176
+ *
177
+ * @param icon - O ícone a ser exibido no botão
178
+ * @param size - Tamanho do botão (sm, md)
179
+ * @param active - Estado ativo/selecionado do botão
180
+ * @param className - Classes CSS adicionais
181
+ * @param props - Todos os outros atributos HTML padrão de button
182
+ * @returns Um elemento button compacto estilizado apenas com ícone
332
183
  *
333
184
  * @example
334
185
  * ```tsx
335
- * // Basic checkbox
336
- * <CheckBox label="Option" />
186
+ * <IconButton
187
+ * icon={<MoreVerticalIcon />}
188
+ * size="sm"
189
+ * onClick={() => openMenu()}
190
+ * />
191
+ * ```
337
192
  *
338
- * // Small size
339
- * <CheckBox size="small" label="Small option" />
193
+ * @example
194
+ * ```tsx
195
+ * // Botão ativo em uma barra de ferramentas - permanece ativo até outro clique
196
+ * <IconButton
197
+ * icon={<BoldIcon />}
198
+ * active={isBold}
199
+ * onClick={toggleBold}
200
+ * />
201
+ * ```
340
202
  *
341
- * // Invalid state
342
- * <CheckBox state="invalid" label="Required field" />
203
+ * @example
204
+ * ```tsx
205
+ * // Usando ref para controle programático
206
+ * const buttonRef = useRef<HTMLButtonElement>(null);
343
207
  *
344
- * // Disabled state
345
- * <CheckBox disabled label="Disabled option" />
208
+ * <IconButton
209
+ * ref={buttonRef}
210
+ * icon={<EditIcon />}
211
+ * size="md"
212
+ * onClick={() => startEditing()}
213
+ * />
346
214
  * ```
347
215
  */
348
- declare const CheckBox: react.ForwardRefExoticComponent<{
349
- /** Label text to display next to the checkbox */
350
- label?: ReactNode;
351
- /** Size variant of the checkbox */
352
- size?: CheckBoxSize;
353
- /** Visual state of the checkbox */
354
- state?: CheckBoxState;
355
- /** Indeterminate state for partial selections */
356
- indeterminate?: boolean;
357
- /** Error message to display */
358
- errorMessage?: string;
359
- /** Helper text to display */
360
- helperText?: string;
361
- /** Additional CSS classes */
216
+ declare const IconButton: react.ForwardRefExoticComponent<{
217
+ /** Ícone a ser exibido no botão */
218
+ icon: ReactNode;
219
+ /** Tamanho do botão */
220
+ size?: "sm" | "md";
221
+ /** Estado de seleção/ativo do botão - permanece ativo até ser clicado novamente ou outro botão ser ativado */
222
+ active?: boolean;
223
+ /** Additional CSS classes to apply */
362
224
  className?: string;
363
- /** Label CSS classes */
364
- labelClassName?: string;
365
- } & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & react.RefAttributes<HTMLInputElement>>;
366
-
367
- type TableRowState = 'default' | 'selected' | 'invalid' | 'disabled';
368
- interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
369
- state?: TableRowState;
370
- }
371
- declare const Table: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableElement> & react.RefAttributes<HTMLTableElement>>;
372
- declare const TableHeader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
373
- declare const TableBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
374
- declare const TableFooter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
375
- declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
376
- declare const TableHead: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
377
- declare const TableCell: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
378
- declare const TableCaption: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableCaptionElement> & react.RefAttributes<HTMLTableCaptionElement>>;
225
+ } & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
379
226
 
380
- interface DropdownMenuProps {
381
- children: ReactNode;
382
- open?: boolean;
383
- onOpenChange?: (open: boolean) => void;
384
- }
385
- declare const DropdownMenu: ({ children, open, onOpenChange }: DropdownMenuProps) => react_jsx_runtime.JSX.Element;
386
- declare const DropdownMenuTrigger: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
387
- declare const MenuLabel: react.ForwardRefExoticComponent<HTMLAttributes<HTMLFieldSetElement> & {
388
- inset?: boolean;
389
- } & react.RefAttributes<HTMLFieldSetElement>>;
390
- declare const MenuContent: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
391
- align?: "start" | "center" | "end";
392
- side?: "top" | "right" | "bottom" | "left";
393
- sideOffset?: number;
394
- } & react.RefAttributes<HTMLDivElement>>;
395
- declare const MenuItem: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
396
- inset?: boolean;
397
- size?: "small" | "medium";
398
- iconLeft?: ReactNode;
399
- iconRight?: ReactNode;
400
- disabled?: boolean;
401
- } & react.RefAttributes<HTMLDivElement>>;
402
- declare const MenuSeparator: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
227
+ /**
228
+ * IconRoundedButton component props interface
229
+ */
230
+ type IconRoundedButtonProps = {
231
+ /** Ícone a ser exibido no botão */
232
+ icon: ReactNode;
233
+ /** Additional CSS classes to apply */
234
+ className?: string;
235
+ } & ButtonHTMLAttributes<HTMLButtonElement>;
236
+ /**
237
+ * IconRoundedButton component for Analytica Ensino platforms
238
+ *
239
+ * Um botão redondo simples que exibe apenas um ícone.
240
+ * Ideal para ações como navegação, fechar, editar, etc.
241
+ * Compatível com Next.js 15 e React 19.
242
+ *
243
+ * @param icon - O ícone a ser exibido no botão
244
+ * @param className - Classes CSS adicionais
245
+ * @param props - Todos os outros atributos HTML padrão de button
246
+ * @returns Um elemento button estilizado e redondo
247
+ *
248
+ * @example
249
+ * ```tsx
250
+ * <IconRoundedButton
251
+ * icon={<ChevronRightIcon />}
252
+ * onClick={() => console.log('clicked')}
253
+ * />
254
+ * ```
255
+ */
256
+ declare const IconRoundedButton: ({ icon, className, disabled, ...props }: IconRoundedButtonProps) => react_jsx_runtime.JSX.Element;
403
257
 
404
258
  /**
405
259
  * NavButton component for Analytica Ensino platforms
@@ -456,111 +310,70 @@ declare const NavButton: react.ForwardRefExoticComponent<{
456
310
  } & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
457
311
 
458
312
  /**
459
- * IconButton component props interface
460
- */
461
- type IconButtonProps = {
462
- /** Ícone a ser exibido no botão */
463
- icon: ReactNode;
464
- /** Tamanho do botão */
465
- size?: 'sm' | 'md';
466
- /** Estado de seleção/ativo do botão - permanece ativo até ser clicado novamente ou outro botão ser ativado */
467
- active?: boolean;
468
- /** Additional CSS classes to apply */
469
- className?: string;
470
- } & ButtonHTMLAttributes<HTMLButtonElement>;
471
- /**
472
- * IconButton component for Analytica Ensino platforms
313
+ * SelectionButton component for Analytica Ensino platforms
473
314
  *
474
- * Um botão compacto apenas com ícone, ideal para menus dropdown,
475
- * barras de ferramentas e ações secundárias.
476
- * Oferece dois tamanhos com estilo consistente.
477
- * Estado ativo permanece até ser clicado novamente ou outro botão ser ativado.
315
+ * Um botão com ícone e texto para ações e navegação com estado de seleção.
316
+ * Ideal para filtros, tags, categorias, seleção de tipos, etc.
478
317
  * Compatível com Next.js 15 e React 19.
479
318
  * Suporta forwardRef para acesso programático ao elemento DOM.
480
319
  *
481
320
  * @param icon - O ícone a ser exibido no botão
482
- * @param size - Tamanho do botão (sm, md)
483
- * @param active - Estado ativo/selecionado do botão
321
+ * @param label - O texto/label a ser exibido
322
+ * @param selected - Estado de seleção do botão
484
323
  * @param className - Classes CSS adicionais
485
324
  * @param props - Todos os outros atributos HTML padrão de button
486
- * @returns Um elemento button compacto estilizado apenas com ícone
487
- *
488
- * @example
489
- * ```tsx
490
- * <IconButton
491
- * icon={<MoreVerticalIcon />}
492
- * size="sm"
493
- * onClick={() => openMenu()}
494
- * />
495
- * ```
325
+ * @returns Um elemento button estilizado
496
326
  *
497
327
  * @example
498
328
  * ```tsx
499
- * // Botão ativo em uma barra de ferramentas - permanece ativo até outro clique
500
- * <IconButton
501
- * icon={<BoldIcon />}
502
- * active={isBold}
503
- * onClick={toggleBold}
329
+ * <SelectionButton
330
+ * icon={<TagIcon />}
331
+ * label="Categoria"
332
+ * selected={false}
333
+ * onClick={() => handleSelection()}
504
334
  * />
505
335
  * ```
506
336
  *
507
337
  * @example
508
338
  * ```tsx
509
- * // Usando ref para controle programático
339
+ * // Usando ref para foco programático
510
340
  * const buttonRef = useRef<HTMLButtonElement>(null);
511
341
  *
512
- * <IconButton
342
+ * const handleFocus = () => {
343
+ * buttonRef.current?.focus();
344
+ * };
345
+ *
346
+ * <SelectionButton
513
347
  * ref={buttonRef}
514
- * icon={<EditIcon />}
515
- * size="md"
516
- * onClick={() => startEditing()}
348
+ * icon={<TagIcon />}
349
+ * label="Categoria"
350
+ * selected={isSelected}
351
+ * onClick={() => setSelected(!isSelected)}
517
352
  * />
518
353
  * ```
519
354
  */
520
- declare const IconButton: react.ForwardRefExoticComponent<{
355
+ declare const SelectionButton: react.ForwardRefExoticComponent<{
521
356
  /** Ícone a ser exibido no botão */
522
357
  icon: ReactNode;
523
- /** Tamanho do botão */
524
- size?: "sm" | "md";
525
- /** Estado de seleção/ativo do botão - permanece ativo até ser clicado novamente ou outro botão ser ativado */
526
- active?: boolean;
358
+ /** Texto/label a ser exibido ao lado do ícone */
359
+ label: string;
360
+ /** Estado de seleção do botão */
361
+ selected?: boolean;
527
362
  /** Additional CSS classes to apply */
528
363
  className?: string;
529
364
  } & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
530
365
 
531
- type ToastPosition$1 = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
532
- type ToastProps = {
533
- title: string;
534
- description?: string;
535
- onClose: () => void;
536
- /** Visual variant of the badge */
537
- variant?: 'solid' | 'outlined';
538
- /** Action type of the badge */
539
- action?: 'warning' | 'success' | 'info';
540
- position?: ToastPosition$1;
541
- } & HTMLAttributes<HTMLDivElement>;
542
- declare const Toast: ({ variant, action, className, onClose, title, description, position, ...props }: ToastProps) => react_jsx_runtime.JSX.Element;
543
-
544
- type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'default';
545
- type ToastData = {
546
- id: string;
547
- title: string;
548
- description?: string;
549
- variant?: 'solid' | 'outlined';
550
- action?: 'warning' | 'success' | 'info';
551
- position?: ToastPosition;
552
- };
553
- type ToastStore = {
554
- toasts: ToastData[];
555
- addToast: (toast: Omit<ToastData, 'id'>) => void;
556
- removeToast: (id: string) => void;
557
- };
558
- declare const useToastStore: zustand.UseBoundStore<zustand.StoreApi<ToastStore>>;
559
-
560
- declare const Toaster: () => react_jsx_runtime.JSX.Element;
561
- declare const useToast: () => {
562
- addToast: (toast: Omit<ToastData, "id">) => void;
563
- removeToast: (id: string) => void;
564
- };
366
+ type TableRowState = 'default' | 'selected' | 'invalid' | 'disabled';
367
+ interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
368
+ state?: TableRowState;
369
+ }
370
+ declare const Table: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableElement> & react.RefAttributes<HTMLTableElement>>;
371
+ declare const TableHeader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
372
+ declare const TableBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
373
+ declare const TableFooter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
374
+ declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
375
+ declare const TableHead: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
376
+ declare const TableCell: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
377
+ declare const TableCaption: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableCaptionElement> & react.RefAttributes<HTMLTableCaptionElement>>;
565
378
 
566
- export { Badge, Button, CheckBox, type CheckBoxProps, DropdownMenu, DropdownMenuTrigger, IconButton, type IconButtonProps, IconRoundedButton, MenuContent, MenuItem, MenuLabel, MenuSeparator, NavButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text, TextArea, type TextAreaProps, Toast, type ToastData, Toaster, useToast, useToastStore };
379
+ export { Alert, Badge, Button, IconButton, type IconButtonProps, IconRoundedButton, NavButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text };