// The public surface of @ultimat3/ui. Explicit exports only — this list is the // design system's contract, and anything not named here is internal. // Ambient declarations are not reachable through imports, so a consuming app's // program would never load them — every `*.module.scss` import in this package // would be TS2307 there. The reference pulls the contract along with the entry. /// // Bare, and above every re-export: `theme/ambient.ts` registers the server's `useUi()` reader at // import, and a bundler may drop a re-exported module whose binding nobody used. A browser build // resolves this specifier to `theme/ambient.browser.ts` through `package.json`'s `browser` field, // so an island never carries the i18n barrel for it (issue #490). import './theme/ambient'; export type { FocusTrap, LiveRegionAttrs, Politeness, RovingOptions, RovingOrientation, } from './a11y'; export { announce, ariaBool, FOCUSABLE_SELECTOR, focusableWithin, focusTrap, LIVE_REGION_LEVELS, liveRegionAttrs, resetUseIdCounter, rovingTabindex, useId, } from './a11y'; export type { AccordionItem, AccordionProps } from './components/Accordion'; // --- components -------------------------------------------------------------- export { Accordion } from './components/Accordion'; export type { AlertProps } from './components/Alert'; export { Alert } from './components/Alert'; export type { AppShellProps } from './components/AppShell'; export { AppShell } from './components/AppShell'; export type { AsyncRegionProps } from './components/AsyncRegion'; // --- async regions: the one four-way decision, and the component that renders it -------------- export { AsyncRegion } from './components/AsyncRegion'; export type { AvatarProps } from './components/Avatar'; export { Avatar, initialsOf } from './components/Avatar'; export type { AccordionSection } from './components/accordion-view'; export type { ShellIds, ShellLandmark, ShellSlots } from './components/app-shell-view'; export { shellIds } from './components/app-shell-view'; export type { AsyncBranch, AsyncFlags, ReserveBox, } from './components/async-branch'; export { asyncBranch, asyncStateOf, isBusyBranch, isEmptyData, reserveBlockSize, } from './components/async-branch'; export type { BadgeProps } from './components/Badge'; export { Badge } from './components/Badge'; export type { BarChartProps } from './components/BarChart'; export { BarChart } from './components/BarChart'; export type { BreadcrumbItem, BreadcrumbProps } from './components/Breadcrumb'; export { Breadcrumb } from './components/Breadcrumb'; export type { ButtonProps } from './components/Button'; export { Button } from './components/Button'; export type { BarRect, ChartPoint } from './components/bar-chart-view'; export { barRects } from './components/bar-chart-view'; export type { CardProps, Elevation } from './components/Card'; export { Card } from './components/Card'; export type { ChartFrameProps, ChartLegendItem } from './components/ChartFrame'; export { ChartFrame } from './components/ChartFrame'; export type { CheckboxProps } from './components/Checkbox'; export { Checkbox } from './components/Checkbox'; export type { ComboboxProps } from './components/Combobox'; export { Combobox } from './components/Combobox'; export type { CommandPaletteLabels, CommandPaletteProps } from './components/CommandPalette'; export { CommandPalette } from './components/CommandPalette'; export type { ContainerProps, ContainerSize } from './components/Container'; export { Container } from './components/Container'; export type { CopyButtonProps } from './components/CopyButton'; export { COPIED_MS, CopyButton } from './components/CopyButton'; export type { ChartSeries, ChartTable, ChartTableInput, ChartTableRow, MarkerShape, SeriesStyle, } from './components/chart-frame-view'; export { CHART_SERIES_SLOTS, chartTable, seriesStyle } from './components/chart-frame-view'; export type { NiceScale, NiceTicksOptions } from './components/chart-ticks-view'; export { niceTicks } from './components/chart-ticks-view'; export type { ComboboxOption } from './components/combobox-filter'; export { filterOptions, normalizeQuery } from './components/combobox-filter'; export type { CommandPaletteItem, PaletteKeyAction } from './components/command-palette-view'; export { filterItems, keyAction, settleActive, stepActive, } from './components/command-palette-view'; export type { Column, DataTableCallbackProps, DataTableLinkProps, DataTableNarrow, DataTableProps, } from './components/DataTable'; export { DataTable } from './components/DataTable'; export type { DateTimeProps } from './components/DateTime'; export { DateTime } from './components/DateTime'; export type { DialogProps } from './components/Dialog'; export { Dialog } from './components/Dialog'; export type { DividerProps } from './components/Divider'; export { Divider } from './components/Divider'; export type { DonutChartProps, DonutSegment } from './components/DonutChart'; export { DonutChart } from './components/DonutChart'; export type { DrawerProps, DrawerSide } from './components/Drawer'; export { Drawer } from './components/Drawer'; export type { DropzoneProps } from './components/Dropzone'; export { Dropzone } from './components/Dropzone'; export type { ColumnPriority } from './components/data-table-view'; export type { DateStyle, DateTimeFormatter, DateTimeView, DateTimeViewOptions, TimeInput, } from './components/date-time-view'; export { dateTimeView, toDate, toInstant, toIsoInstant } from './components/date-time-view'; export type { EmptyStateProps } from './components/EmptyState'; export { EmptyState } from './components/EmptyState'; export type { ErrorStateProps } from './components/ErrorState'; export { ErrorState, errorParts } from './components/ErrorState'; export type { FieldControl, FieldProps } from './components/Field'; export { Field } from './components/Field'; export type { FileInputProps } from './components/FileInput'; export { FileInput } from './components/FileInput'; export type { FormProps } from './components/Form'; export { Form } from './components/Form'; export type { FileCandidate, FileRejection, FileRejectionReason, FileSelection, FileSelectionLimits, FileTarget, } from './components/file-input-view'; export { formatFileSize, selectFiles, } from './components/file-input-view'; export type { GaugeProps } from './components/Gauge'; export { Gauge } from './components/Gauge'; export type { GridProps } from './components/Grid'; export { Grid } from './components/Grid'; export type { HeadingLevel, HeadingTag } from './components/heading-level'; export { HEADING_LEVELS, headingTag, nextHeadingLevel } from './components/heading-level'; export type { IconProps } from './components/Icon'; // --- icons: the glyphs themselves are per-icon modules, `@ultimat3/ui/icons/` --------- export { Icon } from './components/Icon'; export type { IconButtonProps } from './components/IconButton'; export { IconButton } from './components/IconButton'; export type { ImageBaseProps, ImageDimensions, ImageProps } from './components/Image'; export { Image } from './components/Image'; export type { InfiniteScrollProps } from './components/InfiniteScroll'; export { InfiniteScroll } from './components/InfiniteScroll'; export type { InlineBarProps } from './components/InlineBar'; export { InlineBar } from './components/InlineBar'; export type { InputProps, InputType } from './components/Input'; export { Input } from './components/Input'; export type { IconElement, IconGlyph, IconTag } from './components/icon-glyph'; export { ICON_TAGS, iconElements } from './components/icon-glyph'; export type { ImageAspectRatio, ImageBox, ImageLoadingHints, ImageSourceSet, ImageSources, ImageVariant, } from './components/image-source'; export { boxFor, reservedRatio, sourceSetsFor, variantSrcset } from './components/image-source'; export type { LoadMoreInput, LoadMoreState } from './components/infinite-scroll-view'; export type { KbdProps } from './components/Kbd'; export { Kbd } from './components/Kbd'; export type { AreaChartProps, LineChartProps } from './components/LineChart'; export { AreaChart, LineChart } from './components/LineChart'; export type { ButtonLinkProps, LinkProps, TextLinkProps } from './components/Link'; export { Link } from './components/Link'; export type { LocaleSwitcherProps } from './components/LocaleSwitcher'; export { LocaleSwitcher, localeLabel } from './components/LocaleSwitcher'; export type { LinkTarget } from './components/link-target'; export type { MenuItem, MenuProps } from './components/Menu'; export { Menu } from './components/Menu'; export type { MeterProps } from './components/Meter'; export { Meter } from './components/Meter'; export type { MoneyProps } from './components/Money'; export { Money } from './components/Money'; export type { MoneyFormatter, MoneyInput, MoneyViewOptions } from './components/money-view'; // --- formatting cores (pure, renderer-free) ---------------------------------- export { moneyText, toMoney } from './components/money-view'; export type { PageHeaderProps } from './components/PageHeader'; export { PageHeader } from './components/PageHeader'; export type { PaginationCallbackProps, PaginationLinkProps, PaginationProps, } from './components/Pagination'; export { Pagination } from './components/Pagination'; export type { Placement, PopoverProps } from './components/Popover'; export { Popover } from './components/Popover'; export type { QrCodeProps } from './components/QrCode'; export { QrCode } from './components/QrCode'; export type { QrMatrix } from './components/qr-matrix'; export { encodeQr } from './components/qr-matrix'; export type { RadioOption, RadioProps } from './components/Radio'; export { Radio } from './components/Radio'; export type { RelativeTimeProps } from './components/RelativeTime'; export { RelativeTime } from './components/RelativeTime'; export type { RelativeTimeOptions } from './components/relative-time-view'; export type { SectionProps } from './components/Section'; export { Section } from './components/Section'; export type { SelectOption, SelectProps } from './components/Select'; export { Select } from './components/Select'; export type { SkeletonProps } from './components/Skeleton'; export { Skeleton } from './components/Skeleton'; export type { SparklineProps } from './components/Sparkline'; export { Sparkline } from './components/Sparkline'; export type { SpinnerProps } from './components/Spinner'; export { Spinner } from './components/Spinner'; export type { StackProps } from './components/Stack'; export { Stack } from './components/Stack'; export type { StatTileProps } from './components/StatTile'; export { StatTile } from './components/StatTile'; export type { SwitchProps } from './components/Switch'; export { Switch } from './components/Switch'; export type { SortDirection, SortState } from './components/sort-state'; export type { SparkPoint } from './components/sparkline-view'; export { sparklinePath } from './components/sparkline-view'; export type { StatDelta, StatTrend } from './components/stat-delta'; export { deltaOf } from './components/stat-delta'; export type { TableProps } from './components/Table'; export { Table } from './components/Table'; export type { TabItem, TabsProps } from './components/Tabs'; export { Tabs } from './components/Tabs'; export type { TextProps, TextSize, TextTone, TextWeight } from './components/Text'; export { TEXT_TONES, Text } from './components/Text'; export type { TextareaProps } from './components/Textarea'; export { Textarea } from './components/Textarea'; export type { ThemeChoice, ThemeToggleProps } from './components/ThemeToggle'; export { ThemeToggle } from './components/ThemeToggle'; export type { ToastPlacement, ToastProps, ToastRegionProps } from './components/Toast'; export { Toast, ToastRegion } from './components/Toast'; export type { ToasterProps } from './components/Toaster'; export { Toaster } from './components/Toaster'; export type { ToolbarProps } from './components/Toolbar'; export { Toolbar } from './components/Toolbar'; export type { TooltipProps } from './components/Tooltip'; export { Tooltip } from './components/Tooltip'; export type { Align, ButtonVariant, Size, SpaceStep, Tone } from './components/variants'; // --- variants ---------------------------------------------------------------- export { BUTTON_VARIANTS, SIZES, TONES } from './components/variants'; export type { ClassValue } from './cx'; // --- helpers ----------------------------------------------------------------- export { cx } from './cx'; export type { Debounced } from './debounce'; export { DEBOUNCE_DEFAULT_MS, debounce } from './debounce'; export type { UiErrorCode } from './errors'; export { conflictingFieldNameError, insufficientContrastError, invalidBrandTokenError, invalidFieldPathError, invalidGlyphError, invalidIconDataError, invalidThemeError, invalidValueError, providerNeedsRuntimeError, runtimeMissingError, UI_ERROR_CODES, UiError, unknownTokenError, } from './errors'; // --- forms: the binding between an action's input schema and Field's error slot --------------- export type { FieldPathSegment, IssuePathSegment } from './form/field-path'; export { fieldSelector, formatFieldPath, MAX_FIELD_INDEX, parseFieldPath } from './form/field-path'; export type { FormBinding, FormBindingOptions } from './form/form-binding'; export { formBinding } from './form/form-binding'; export type { FormIssue, FormSchema, FormValidationIssue, FormValidationResult, } from './form/form-issue'; export { issuesFromRejection, issuesFromValidation } from './form/form-issue'; export type { FormErrors, FormState, FormStatus } from './form/form-state'; export { errorOf, firstInvalidField, IDLE_FORM_STATE, NO_FORM_ERRORS, } from './form/form-state'; export type { FormTouch } from './form/form-touch'; export { isFormDirty, markDirty, markTouched, NO_FORM_TOUCH, } from './form/form-touch'; export { valuesOfForm } from './form/form-values'; export { useForm } from './form/use-form'; export type { UiKey } from './i18n-keys'; export { UI_KEYS } from './i18n-keys'; export type { ArrowKeyElement, RovingItem } from './roving'; export { handlesOwnArrowKeys, MENU_ITEM_SELECTOR, TAB_SELECTOR, tabStopIndex, } from './roving'; export { ambientUiContext } from './theme/ambient'; export type { Brand, BrandInput, FontSlot } from './theme/brand'; export { brandStyleCspSource, brandStyleTag, defineTheme, FONT_SLOTS } from './theme/brand'; export type { Direction, UiContextValue } from './theme/context'; export { defaultUiContext, fallbackTranslator, UI_DEFAULT_CURRENCY, UI_DEFAULT_LOCALE, UI_DEFAULT_TIME_ZONE, uiContext, useUi, } from './theme/context'; export { INERT_SOLID_RUNTIME } from './theme/inert-runtime'; export type { ThemePreset } from './theme/preset-shape'; export type { ThemePresetName } from './theme/presets'; export { THEME_PRESET_NAMES, THEME_PRESETS } from './theme/presets'; export type { UiProviderProps } from './theme/provider'; export { UiProvider } from './theme/provider'; // The slot is its own module so that registering a runtime does not drag `errors.ts` — and with it // @ultimat3/core's error registry — into an island chunk. `barrel-bytes.test.ts` holds the ceiling. export { hasSolidRuntime, setSolidRuntime } from './theme/runtime-slot'; export type { Accessor, Setter, SolidContext, SolidRuntime } from './theme/solid-adapter'; export { solid } from './theme/solid-adapter'; export type { ThemeEnv } from './theme/theme'; // --- theme ------------------------------------------------------------------- export { browserThemeEnv, clearTheme, defaultTheme, initTheme, isTheme, osTheme, resolveTheme, setTheme, storedTheme, THEME_ATTRIBUTE, THEME_DEFAULT_ATTRIBUTE, THEME_MEDIA_QUERY, toggleTheme, watchOsTheme, } from './theme/theme'; export type { ToastAction, ToastDwell, ToastHold, ToastInput, ToastItem, ToastQueue, } from './toast/toast-state'; // --- toasts: the queue behind ToastRegion ------------------------------------ export { TOAST_DWELL_MS, TOAST_MAX_VISIBLE, } from './toast/toast-state'; export type { ToastEnv, ToastStore } from './toast/toast-store'; export { browserToastEnv, INERT_TOAST_ENV, toastStore } from './toast/toast-store'; export { useToasts } from './toast/use-toasts'; export type { ColourVision } from './tokens/colour-vision'; export { CHART_DISTINCT_MIN, COLOUR_VISIONS, closestChartPair, colourDistance, simulateColourVision, } from './tokens/colour-vision'; export type { Channels } from './tokens/contrast'; export { AA_LARGE, AA_TEXT, contrastRatio, meetsContrast, relativeLuminance, roleContrast, } from './tokens/contrast'; export type { ContrastPair } from './tokens/contrast-pairs'; export { CONTRAST_PAIRS } from './tokens/contrast-pairs'; export type { ChartRole, ColorRole, RadiusName, ShadowName, Theme } from './tokens/tokens'; // --- tokens ------------------------------------------------------------------ export { assertColorRole, breakpointTokens, CHART_ROLES, COLOR_ROLES, color, colorRgb, colorTokens, colorVar, durationTokens, easingTokens, fontSizeTokens, fontWeightTokens, lineHeightTokens, radiusTokens, SHADOW_NAMES, shadowTokens, spaceTokens, strokeTokens, touchTokens, zTokens, } from './tokens/tokens'; export { uiCatalog } from './ui-catalog';