@rock10/ui 1.0.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.
@@ -0,0 +1,12 @@
1
+ export interface ConfirmDialogProps {
2
+ isOpen: boolean;
3
+ onClose: () => void;
4
+ onConfirm: () => void;
5
+ title: string;
6
+ message: string;
7
+ confirmText?: string;
8
+ cancelText?: string;
9
+ isLoading?: boolean;
10
+ }
11
+ export declare function ConfirmDialog({ isOpen, onClose, onConfirm, title, message, confirmText, cancelText, isLoading, }: ConfirmDialogProps): import("react").JSX.Element;
12
+ export default ConfirmDialog;
@@ -0,0 +1,22 @@
1
+ import { ReactNode, ButtonHTMLAttributes } from 'react';
2
+
3
+ export type IconButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
4
+ export type IconButtonSize = 'sm' | 'md' | 'lg';
5
+ export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
6
+ /** Ícone a ser exibido (emoji, SVG ou ReactNode) */
7
+ icon: ReactNode;
8
+ /** Variante visual do botão */
9
+ variant?: IconButtonVariant;
10
+ /** Tamanho do botão */
11
+ size?: IconButtonSize;
12
+ /** Se true, exibe apenas o ícone em formato circular */
13
+ rounded?: boolean;
14
+ /** Label para acessibilidade (obrigatório) */
15
+ ariaLabel: string;
16
+ /** Se true, botão fica desabilitado */
17
+ disabled?: boolean;
18
+ /** Se true, mostra estado de loading */
19
+ loading?: boolean;
20
+ }
21
+ export declare const IconButton: ({ icon, variant, size, rounded, ariaLabel, disabled, loading, className, ...props }: IconButtonProps) => JSX.Element;
22
+ export default IconButton;
@@ -0,0 +1,8 @@
1
+ export interface LoadingProps {
2
+ variant?: 'spinner' | 'skeleton';
3
+ size?: 'sm' | 'md' | 'lg';
4
+ text?: string;
5
+ fullScreen?: boolean;
6
+ }
7
+ export declare const Loading: ({ variant, size, text, fullScreen }: LoadingProps) => JSX.Element;
8
+ export default Loading;
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ export interface ModalProps {
4
+ isOpen: boolean;
5
+ onClose: () => void;
6
+ title: string;
7
+ children: ReactNode;
8
+ footer?: ReactNode;
9
+ size?: 'sm' | 'md' | 'lg' | 'xl';
10
+ }
11
+ export declare function Modal({ isOpen, onClose, title, children, footer, size }: ModalProps): import("react").JSX.Element | null;
12
+ export default Modal;
@@ -0,0 +1,5 @@
1
+ export { cn } from './utils/cn';
2
+ export { Loading, type LoadingProps } from './components/Loading';
3
+ export { IconButton, type IconButtonProps, type IconButtonVariant, type IconButtonSize } from './components/IconButton';
4
+ export { Modal, type ModalProps } from './components/Modal';
5
+ export { ConfirmDialog, type ConfirmDialogProps } from './components/ConfirmDialog';