// Copyright (c) Meta Platforms, Inc. and affiliates.

'use client';

/**
 * @file index.ts
 * @input Imports from component directories (Button/, Card/, Layout/, Layer/, Toast/)
 * @output Exports all public components, hooks, and types for @astryxdesign/core
 * @position Package entry point; consumed by external applications
 *
 * SYNC: When modified, update this header and /packages/core/src/README.md
 */

// Base types
// Components
export * from "./AppShell/index.js";
export * from "./AspectRatio/index.js";
export * from "./Avatar/index.js";
export * from "./AvatarGroup/index.js";
export * from "./Badge/index.js";
export * from "./Banner/index.js";
export * from "./Blockquote/index.js";
export * from "./Breadcrumbs/index.js";
export * from "./Button/index.js";
export * from "./ButtonGroup/index.js";
export * from "./IconButton/index.js";
export * from "./Card/index.js";
export * from "./ClickableCard/index.js";
export * from "./Carousel/index.js";
export * from "./Calendar/index.js";
export * from "./Center/index.js";
export * from "./CodeBlock/index.js";
export * from "./CommandPalette/index.js";
export * from "./ComplexSelector/index.js";
export * from "./Chat/index.js";
export * from "./Markdown/index.js";
export * from "./Citation/index.js";
export * from "./CheckboxInput/index.js";
export * from "./CheckboxList/index.js";
export * from "./Collapsible/index.js";
export * from "./RadioList/index.js";
export * from "./Resizable/index.js";
export * from "./Divider/index.js";
export * from "./VisuallyHidden/index.js";
export * from "./EmptyState/index.js";
export * from "./Lightbox/index.js";
export * from "./Link/index.js";
export * from "./List/index.js";
export * from "./MetadataList/index.js";
export * from "./NavIcon/index.js";
// NavItem (navItemStyles) is internal — shared styles consumed by SideNav/TopNav/MobileNav
export * from "./NavMenu/index.js";
export * from "./Slider/index.js";
export * from "./Stack/index.js";
export * from "./Switch/index.js";
export * from "./DateInput/index.js";
export * from "./DateTimeInput/index.js";
export * from "./DateRangeInput/index.js";
export * from "./Field/index.js";
export * from "./FileInput/index.js";
export * from "./FormLayout/index.js";
export * from "./Grid/index.js";
export * from "./Section/index.js";
export * from "./SegmentedControl/index.js";
export * from "./SelectableCard/index.js";
export * from "./Selector/index.js";
export * from "./MultiSelector/index.js";
export * from "./Icon/index.js";
export * from "./InputGroup/index.js";
export * from "./Item/index.js";
export * from "./Text/index.js";
export * from "./TextInput/index.js";
export * from "./TabList/index.js";
export * from "./TextArea/index.js";
export * from "./TimeInput/index.js";
export * from "./NumberInput/index.js";
export * from "./Table/index.js";
export * from "./ToggleButton/index.js";
export * from "./Token/index.js";
export * from "./Typeahead/index.js";
export * from "./Tokenizer/index.js";
export * from "./Thumbnail/index.js";
export * from "./PowerSearch/index.js";
export * from "./TreeList/index.js";

// Keyboard shortcut display
export * from "./Kbd/index.js";
export * from "./AlertDialog/index.js";
export * from "./Dialog/index.js";
export * from "./ContextMenu/index.js";
export * from "./DropdownMenu/index.js";
export * from "./MoreMenu/index.js";
export * from "./InteractiveRoleContext/index.js";
export * from "./SizeContext/index.js";
export * from "./Toolbar/index.js";
export * from "./TopNav/index.js";
export * from "./SideNav/index.js";
export * from "./MobileNav/index.js";
export * from "./Pagination/index.js";
export * from "./ProgressBar/index.js";

// Layout utilities and components (includes HStack, VStack)
export * from "./Layout/index.js";

// Layer utilities (useLayer hook and core types)
export { useLayer } from "./Layer/index.js";
// Layer provider
export { LayerProvider } from "./Layer/index.js";
// Toast
export { Toast, useToast } from "./Toast/index.js";
// Popover component and hook
export * from "./Popover/index.js";

// HoverCard component and hook
export * from "./HoverCard/index.js";

// Tooltip component and hook
export * from "./Tooltip/index.js";

// Skeleton loading placeholder
export * from "./Skeleton/index.js";

// Status dot indicator
export * from "./StatusDot/index.js";

// Spinner loading indicator
export * from "./Spinner/index.js";

// Timestamp display
export * from "./Timestamp/index.js";

// Overlay
export * from "./Overlay/index.js";
export * from "./Outline/index.js";

// Overflow list
export * from "./OverflowList/index.js";

// Hooks
export * from "./hooks/index.js";

// Utilities
export * from "./utils/index.js";

// Theme

export * from "./theme/index.js";

// Internationalization
export * from "./i18n/index.js";