/** * @fileoverview Main entry point for @fpkit/acss component library * @module @fpkit/acss * * @description * A lightweight React UI component library with 25+ accessible components. * Uses CSS custom properties for reactive styling and emphasizes semantic HTML. * * @example * ```tsx * import { Button, Card, Alert } from '@fpkit/acss'; * import '@fpkit/acss/styles'; * * function App() { * return ( * * Welcome! * * * ); * } * ``` * * @see {@link https://www.npmjs.com/package/@fpkit/acss} NPM Package * @packageDocumentation */ // import { TextToSpeech } from "./components/text-to-speech/TextToSpeech"; // import { Popover } from './hooks/popover/popover' // export { Textarea } from './components/form/textarea'; // export { ModalDialog as Dialog } from "./components/modal/dialog"; /** * Core UI Components * * Essential interactive components for building user interfaces. * Includes buttons, cards, alerts, modals, forms, and more. * * All components support: * - CSS custom properties for theming * - WCAG 2.1 Level AA accessibility * - Keyboard navigation * - Screen reader support * * @example * ```tsx * import { Button, Card, Alert, Modal } from '@fpkit/acss'; * * * Operation completed * * * ``` */ export { Button, type ButtonProps } from "./components/buttons/button"; export { IconButton, type IconButtonProps, } from "./components/buttons/icon-button"; export { Card, Title as CardTitle, Content as CardContent, Footer as CardFooter, type CardProps, } from "./components/cards/card"; export { Alert, type AlertProps } from "./components/alert/alert"; export { Field, type FieldProps } from "./components/form/fields"; export { Input, type InputProps } from "./components/form/inputs"; /** * Checkbox wrapper component (uses Input type="checkbox") * This is the recommended checkbox component. */ export { Checkbox, type CheckboxProps } from "./components/form/checkbox"; export { Icon, type IconProps } from "./components/icons/icon"; export { Img } from "./components/images/img"; export type { ImgProps } from "./components/images/img.types"; export { default as Link } from "./components/link/link"; export type { LinkProps } from "./components/link/link.types"; export { default as List, type ListProps, type ListItemProps, } from "./components/list/list"; export { Modal, type ModalProps } from "./components/modal/modal"; export { Popover, type PopoverProps } from "./components/popover/popover"; export { RenderTable as TBL, type TableProps } from "./components/tables/table"; export { Dialog } from "./components/dialog/dialog"; export { DialogModal } from "./components/dialog/dialog-modal"; export type { DialogProps, DialogModalProps, DialogSize, DialogPosition, } from "./components/dialog/dialog.types"; /** * Layout Components * * Semantic HTML5 landmark elements and layout primitives for page structure. * * Components include: * - **Landmarks**: Header, Main, Footer, Aside (semantic page regions) * - **Box**: General-purpose container with spacing/sizing controls * - **Stack**: Simplified vertical/horizontal layouts with gap spacing * - **Cluster**: Wrapping flex layout for inline groups (tags, buttons) * - **Flex**: Flexbox container with responsive utilities and type-safe props * * Landmarks provide proper ARIA roles and improve screen reader navigation. * Layout primitives offer polymorphic, type-safe APIs for flexible layouts with * unified spacing scales and CSS custom properties for theming. * * @example * ```tsx * import { Header, Main, Footer, Box, Flex } from '@fpkit/acss'; * *
* * *
*
* *
* *
*