{
  "name": "anywhere-ui",
  "homepage": "https://kata-ui-rho.vercel.app",
  "items": [
    {
      "name": "cn",
      "type": "registry:lib",
      "title": "cn",
      "description": "Zero-dependency class name joiner.",
      "url": "https://kata-ui-rho.vercel.app/r/cn.json"
    },
    {
      "name": "use-network",
      "type": "registry:hook",
      "title": "useNetwork",
      "description": "Observe online state, Save-Data, and connection quality without hydration mismatches.",
      "url": "https://kata-ui-rho.vercel.app/r/use-network.json"
    },
    {
      "name": "locale",
      "type": "registry:lib",
      "title": "Locale facts",
      "description": "Writing direction, calendar, numbering system, and first day of week for any BCP 47 tag.",
      "url": "https://kata-ui-rho.vercel.app/r/locale.json"
    },
    {
      "name": "use-locale",
      "type": "registry:hook",
      "title": "LocaleProvider / useLocale",
      "description": "Share resolved locale facts through a subtree.",
      "url": "https://kata-ui-rho.vercel.app/r/use-locale.json"
    },
    {
      "name": "announce",
      "type": "registry:lib",
      "title": "announce",
      "description": "Shared ARIA live regions that screen readers actually read.",
      "url": "https://kata-ui-rho.vercel.app/r/announce.json"
    },
    {
      "name": "format",
      "type": "registry:lib",
      "title": "Intl formatters",
      "description": "Memoised Intl formatters plus relative-time formatting.",
      "url": "https://kata-ui-rho.vercel.app/r/format.json"
    },
    {
      "name": "draft-storage",
      "type": "registry:lib",
      "title": "Draft storage",
      "description": "Persist in-progress form input, excluding credentials and payment fields.",
      "url": "https://kata-ui-rho.vercel.app/r/draft-storage.json"
    },
    {
      "name": "sanitize",
      "type": "registry:lib",
      "title": "sanitizeHref",
      "description": "Neutralise javascript: and other executable URL schemes before they reach an href or src.",
      "url": "https://kata-ui-rho.vercel.app/r/sanitize.json"
    },
    {
      "name": "async-boundary",
      "type": "registry:ui",
      "title": "AsyncBoundary",
      "description": "Loading, error, empty, and offline states — announced, focus-managed, and shift-free.",
      "url": "https://kata-ui-rho.vercel.app/r/async-boundary.json"
    },
    {
      "name": "connection-status",
      "type": "registry:ui",
      "title": "ConnectionStatus",
      "description": "A live banner for offline, restored, and constrained connections.",
      "url": "https://kata-ui-rho.vercel.app/r/connection-status.json"
    },
    {
      "name": "adaptive-image",
      "type": "registry:ui",
      "title": "AdaptiveImage",
      "description": "An image that defers its own download on Save-Data and 2G-class connections.",
      "url": "https://kata-ui-rho.vercel.app/r/adaptive-image.json"
    },
    {
      "name": "field",
      "type": "registry:ui",
      "title": "Field",
      "description": "A text field with label, description, and error wired to assistive technology.",
      "url": "https://kata-ui-rho.vercel.app/r/field.json"
    },
    {
      "name": "resilient-form",
      "type": "registry:ui",
      "title": "ResilientForm",
      "description": "A form that keeps drafts, queues offline submits, and gives errors a focusable summary.",
      "url": "https://kata-ui-rho.vercel.app/r/resilient-form.json"
    },
    {
      "name": "error-boundary",
      "type": "registry:ui",
      "title": "ErrorBoundary",
      "description": "Contains a render crash to its own subtree instead of the whole page, with a focusable, announced fallback.",
      "url": "https://kata-ui-rho.vercel.app/r/error-boundary.json"
    },
    {
      "name": "visually-hidden",
      "type": "registry:ui",
      "title": "VisuallyHidden",
      "description": "Content for assistive technology only, removed from the visual layout without leaving the accessibility tree.",
      "url": "https://kata-ui-rho.vercel.app/r/visually-hidden.json"
    },
    {
      "name": "kbd",
      "type": "registry:ui",
      "title": "Kbd",
      "description": "A single keyboard key, styled and marked up as one.",
      "url": "https://kata-ui-rho.vercel.app/r/kbd.json"
    },
    {
      "name": "divider",
      "type": "registry:ui",
      "title": "Divider",
      "description": "A horizontal or vertical rule, with an optional inline label.",
      "url": "https://kata-ui-rho.vercel.app/r/divider.json"
    },
    {
      "name": "use-focus-trap",
      "type": "registry:hook",
      "title": "useFocusTrap",
      "description": "Traps Tab/Shift+Tab inside a container and restores focus on exit — what makes a modal actually modal for keyboard users.",
      "url": "https://kata-ui-rho.vercel.app/r/use-focus-trap.json"
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "A small status label where color never carries meaning alone.",
      "url": "https://kata-ui-rho.vercel.app/r/badge.json"
    },
    {
      "name": "status-dot",
      "type": "registry:ui",
      "title": "StatusDot",
      "description": "A coloured status indicator with an always-present text label.",
      "url": "https://kata-ui-rho.vercel.app/r/status-dot.json"
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "title": "Avatar",
      "description": "A person's picture, or script-aware initials when there is none.",
      "url": "https://kata-ui-rho.vercel.app/r/avatar.json"
    },
    {
      "name": "avatar-group",
      "type": "registry:ui",
      "title": "AvatarGroup",
      "description": "An overlapping avatar stack with an accessible overflow indicator.",
      "url": "https://kata-ui-rho.vercel.app/r/avatar-group.json"
    },
    {
      "name": "chip",
      "type": "registry:ui",
      "title": "Chip",
      "description": "A dismissible tag with a real accessible name for its remove action.",
      "url": "https://kata-ui-rho.vercel.app/r/chip.json"
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "A bordered content container with header, title, and description parts.",
      "url": "https://kata-ui-rho.vercel.app/r/card.json"
    },
    {
      "name": "container",
      "type": "registry:ui",
      "title": "Container",
      "description": "A centred, max-width content column.",
      "url": "https://kata-ui-rho.vercel.app/r/container.json"
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "title": "Alert",
      "description": "A static in-flow message, polite or assertive by tone.",
      "url": "https://kata-ui-rho.vercel.app/r/alert.json"
    },
    {
      "name": "progress-bar",
      "type": "registry:ui",
      "title": "ProgressBar",
      "description": "A determinate or indeterminate progress bar with a real accessible value.",
      "url": "https://kata-ui-rho.vercel.app/r/progress-bar.json"
    },
    {
      "name": "spinner",
      "type": "registry:ui",
      "title": "Spinner",
      "description": "A loading indicator announced once via role=status.",
      "url": "https://kata-ui-rho.vercel.app/r/spinner.json"
    },
    {
      "name": "skeleton",
      "type": "registry:ui",
      "title": "Skeleton",
      "description": "A placeholder shape that reserves space for content that has not arrived yet.",
      "url": "https://kata-ui-rho.vercel.app/r/skeleton.json"
    },
    {
      "name": "relative-time",
      "type": "registry:ui",
      "title": "RelativeTime",
      "description": "Live, localised relative time (\"3 days ago\") with the exact timestamp always available.",
      "url": "https://kata-ui-rho.vercel.app/r/relative-time.json"
    },
    {
      "name": "plural-text",
      "type": "registry:ui",
      "title": "PluralText",
      "description": "Grammatically correct plural forms via Intl.PluralRules, not an English if/else.",
      "url": "https://kata-ui-rho.vercel.app/r/plural-text.json"
    },
    {
      "name": "list-text",
      "type": "registry:ui",
      "title": "ListText",
      "description": "\"A, B, and C\" formatted correctly for the current locale via Intl.ListFormat.",
      "url": "https://kata-ui-rho.vercel.app/r/list-text.json"
    },
    {
      "name": "currency-text",
      "type": "registry:ui",
      "title": "CurrencyText",
      "description": "Locale- and currency-correct money formatting via Intl.NumberFormat.",
      "url": "https://kata-ui-rho.vercel.app/r/currency-text.json"
    },
    {
      "name": "empty-state",
      "type": "registry:ui",
      "title": "EmptyState",
      "description": "A placeholder for a list, table, or panel with nothing in it yet.",
      "url": "https://kata-ui-rho.vercel.app/r/empty-state.json"
    },
    {
      "name": "tooltip",
      "type": "registry:ui",
      "title": "Tooltip",
      "description": "A hover/focus label bound with aria-describedby, keyboard accessible.",
      "url": "https://kata-ui-rho.vercel.app/r/tooltip.json"
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "A binary toggle built on role=switch, not a disguised checkbox.",
      "url": "https://kata-ui-rho.vercel.app/r/switch.json"
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "title": "Checkbox",
      "description": "A checkbox with a real, clickable, bound label.",
      "url": "https://kata-ui-rho.vercel.app/r/checkbox.json"
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "title": "RadioGroup",
      "description": "A fieldset/legend group of real radio inputs.",
      "url": "https://kata-ui-rho.vercel.app/r/radio-group.json"
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "A native range input with an RTL-correct thumb direction.",
      "url": "https://kata-ui-rho.vercel.app/r/slider.json"
    },
    {
      "name": "rating",
      "type": "registry:ui",
      "title": "Rating",
      "description": "A star rating, read-only or editable, announced as one value.",
      "url": "https://kata-ui-rho.vercel.app/r/rating.json"
    },
    {
      "name": "accordion",
      "type": "registry:ui",
      "title": "Accordion",
      "description": "Collapsible sections built on the WAI-ARIA Accordion pattern.",
      "url": "https://kata-ui-rho.vercel.app/r/accordion.json"
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "Keyboard-navigable tabs whose arrow-key direction flips correctly under RTL.",
      "url": "https://kata-ui-rho.vercel.app/r/tabs.json"
    },
    {
      "name": "breadcrumb",
      "type": "registry:ui",
      "title": "Breadcrumb",
      "description": "A landmark trail with the current page marked aria-current.",
      "url": "https://kata-ui-rho.vercel.app/r/breadcrumb.json"
    },
    {
      "name": "pagination",
      "type": "registry:ui",
      "title": "Pagination",
      "description": "Page controls with locale-correct numerals.",
      "url": "https://kata-ui-rho.vercel.app/r/pagination.json"
    },
    {
      "name": "stepper",
      "type": "registry:ui",
      "title": "Stepper",
      "description": "A wizard's progress, with each step's status in its accessible name.",
      "url": "https://kata-ui-rho.vercel.app/r/stepper.json"
    },
    {
      "name": "copy-button",
      "type": "registry:ui",
      "title": "CopyButton",
      "description": "Copies to the clipboard and announces success.",
      "url": "https://kata-ui-rho.vercel.app/r/copy-button.json"
    },
    {
      "name": "share-button",
      "type": "registry:ui",
      "title": "ShareButton",
      "description": "Web Share API with a plain-link fallback.",
      "url": "https://kata-ui-rho.vercel.app/r/share-button.json"
    },
    {
      "name": "portal",
      "type": "registry:ui",
      "title": "Portal",
      "description": "Renders children into document.body, deferred to a client-only mount.",
      "url": "https://kata-ui-rho.vercel.app/r/portal.json"
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "title": "Dialog",
      "description": "A modal with a focus trap, Escape to close, and focus returned on exit.",
      "url": "https://kata-ui-rho.vercel.app/r/dialog.json"
    },
    {
      "name": "drawer",
      "type": "registry:ui",
      "title": "Drawer",
      "description": "A modal panel anchored to a screen edge, using logical start/end sides.",
      "url": "https://kata-ui-rho.vercel.app/r/drawer.json"
    },
    {
      "name": "toast",
      "type": "registry:ui",
      "title": "ToastProvider / useToast",
      "description": "A toast queue with correctly-timed live regions.",
      "url": "https://kata-ui-rho.vercel.app/r/toast.json"
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "title": "Popover",
      "description": "A disclosure panel that closes on outside click and Escape.",
      "url": "https://kata-ui-rho.vercel.app/r/popover.json"
    },
    {
      "name": "menu",
      "type": "registry:ui",
      "title": "Menu",
      "description": "A dropdown menu following the WAI-ARIA Menu Button pattern.",
      "url": "https://kata-ui-rho.vercel.app/r/menu.json"
    },
    {
      "name": "theme-toggle",
      "type": "registry:ui",
      "title": "ThemeToggle",
      "description": "A light/dark/system toggle that persists its choice.",
      "url": "https://kata-ui-rho.vercel.app/r/theme-toggle.json"
    },
    {
      "name": "locale-switcher",
      "type": "registry:ui",
      "title": "LocaleSwitcher",
      "description": "A native, per-option lang-tagged language switcher.",
      "url": "https://kata-ui-rho.vercel.app/r/locale-switcher.json"
    },
    {
      "name": "back-to-top",
      "type": "registry:ui",
      "title": "BackToTop",
      "description": "Appears after scrolling a screenful; honours reduced motion.",
      "url": "https://kata-ui-rho.vercel.app/r/back-to-top.json"
    },
    {
      "name": "scroll-progress",
      "type": "registry:ui",
      "title": "ScrollProgress",
      "description": "A reading-progress bar with a real accessible value.",
      "url": "https://kata-ui-rho.vercel.app/r/scroll-progress.json"
    },
    {
      "name": "timeline",
      "type": "registry:ui",
      "title": "Timeline",
      "description": "A vertical event sequence marked up as a real ordered list.",
      "url": "https://kata-ui-rho.vercel.app/r/timeline.json"
    },
    {
      "name": "stat-card",
      "type": "registry:ui",
      "title": "StatCard",
      "description": "A single KPI figure with an optional trend line.",
      "url": "https://kata-ui-rho.vercel.app/r/stat-card.json"
    },
    {
      "name": "search-field",
      "type": "registry:ui",
      "title": "SearchField",
      "description": "A search input with a clear button that returns focus correctly.",
      "url": "https://kata-ui-rho.vercel.app/r/search-field.json"
    },
    {
      "name": "tag-input",
      "type": "registry:ui",
      "title": "TagInput",
      "description": "A free-text tag list that announces additions and removals.",
      "url": "https://kata-ui-rho.vercel.app/r/tag-input.json"
    },
    {
      "name": "password-field",
      "type": "registry:ui",
      "title": "PasswordField",
      "description": "A password field with an accessible visibility toggle and strength meter.",
      "url": "https://kata-ui-rho.vercel.app/r/password-field.json"
    },
    {
      "name": "otp-input",
      "type": "registry:ui",
      "title": "OtpInput",
      "description": "One-time-code entry wired for platform SMS autofill.",
      "url": "https://kata-ui-rho.vercel.app/r/otp-input.json"
    },
    {
      "name": "number-field",
      "type": "registry:ui",
      "title": "NumberField",
      "description": "A numeric field with increment/decrement buttons for motor-impaired users.",
      "url": "https://kata-ui-rho.vercel.app/r/number-field.json"
    },
    {
      "name": "honeypot-field",
      "type": "registry:ui",
      "title": "HoneypotField",
      "description": "A bot trap invisible to real users without trapping keyboard or screen reader users.",
      "url": "https://kata-ui-rho.vercel.app/r/honeypot-field.json"
    },
    {
      "name": "consent-banner",
      "type": "registry:ui",
      "title": "ConsentBanner",
      "description": "A cookie banner where decline is exactly as easy to press as accept.",
      "url": "https://kata-ui-rho.vercel.app/r/consent-banner.json"
    },
    {
      "name": "reduced-motion-toggle",
      "type": "registry:ui",
      "title": "ReducedMotionToggle",
      "description": "An in-page opt-in to reduced motion, for people who never touch OS settings.",
      "url": "https://kata-ui-rho.vercel.app/r/reduced-motion-toggle.json"
    },
    {
      "name": "data-saver-toggle",
      "type": "registry:ui",
      "title": "DataSaverToggle",
      "description": "A manual override for the library's constrained-connection behaviour.",
      "url": "https://kata-ui-rho.vercel.app/r/data-saver-toggle.json"
    },
    {
      "name": "accessibility-menu",
      "type": "registry:ui",
      "title": "AccessibilityMenu",
      "description": "One panel for larger text and higher contrast.",
      "url": "https://kata-ui-rho.vercel.app/r/accessibility-menu.json"
    },
    {
      "name": "table-of-contents",
      "type": "registry:ui",
      "title": "TableOfContents",
      "description": "A jump-list that tracks the visible heading via IntersectionObserver.",
      "url": "https://kata-ui-rho.vercel.app/r/table-of-contents.json"
    },
    {
      "name": "code-block",
      "type": "registry:ui",
      "title": "CodeBlock",
      "description": "A code sample, always left-to-right regardless of page direction, with copy.",
      "url": "https://kata-ui-rho.vercel.app/r/code-block.json"
    },
    {
      "name": "quote-block",
      "type": "registry:ui",
      "title": "QuoteBlock",
      "description": "A real blockquote/cite pair, not a styled div.",
      "url": "https://kata-ui-rho.vercel.app/r/quote-block.json"
    },
    {
      "name": "select",
      "type": "registry:ui",
      "title": "Select",
      "description": "A native select — fully accessible, in every language, at zero extra bytes.",
      "url": "https://kata-ui-rho.vercel.app/r/select.json"
    },
    {
      "name": "virtual-list",
      "type": "registry:ui",
      "title": "VirtualList",
      "description": "Renders only visible rows plus overscan, for smooth scrolling on low-end devices.",
      "url": "https://kata-ui-rho.vercel.app/r/virtual-list.json"
    },
    {
      "name": "table",
      "type": "registry:ui",
      "title": "Table",
      "description": "A real, sortable table screen readers can navigate by row and column.",
      "url": "https://kata-ui-rho.vercel.app/r/table.json"
    },
    {
      "name": "keyboard-shortcuts-help",
      "type": "registry:ui",
      "title": "KeyboardShortcutsHelp",
      "description": "A shortcut reference dialog inheriting the focus trap every overlay gets.",
      "url": "https://kata-ui-rho.vercel.app/r/keyboard-shortcuts-help.json"
    },
    {
      "name": "command-palette",
      "type": "registry:ui",
      "title": "CommandPalette",
      "description": "A keyboard-first fuzzy launcher following the ARIA combobox pattern.",
      "url": "https://kata-ui-rho.vercel.app/r/command-palette.json"
    },
    {
      "name": "file-upload",
      "type": "registry:ui",
      "title": "FileUpload",
      "description": "A drag-and-drop zone that is a real keyboard-activatable button first.",
      "url": "https://kata-ui-rho.vercel.app/r/file-upload.json"
    },
    {
      "name": "infinite-scroll",
      "type": "registry:ui",
      "title": "InfiniteScroll",
      "description": "Loads more content near the viewport, and refuses to on constrained connections.",
      "url": "https://kata-ui-rho.vercel.app/r/infinite-scroll.json"
    },
    {
      "name": "lazy-mount",
      "type": "registry:ui",
      "title": "LazyMount",
      "description": "Defers mounting expensive children until visible, sooner on good connections.",
      "url": "https://kata-ui-rho.vercel.app/r/lazy-mount.json"
    },
    {
      "name": "context-menu",
      "type": "registry:ui",
      "title": "ContextMenu",
      "description": "A right-click menu also reachable via the keyboard Menu key.",
      "url": "https://kata-ui-rho.vercel.app/r/context-menu.json"
    },
    {
      "name": "navbar",
      "type": "registry:ui",
      "title": "Navbar",
      "description": "A labelled nav landmark with the current page marked aria-current.",
      "url": "https://kata-ui-rho.vercel.app/r/navbar.json"
    },
    {
      "name": "footer",
      "type": "registry:ui",
      "title": "Footer",
      "description": "A simple site footer with locale-aware link list.",
      "url": "https://kata-ui-rho.vercel.app/r/footer.json"
    },
    {
      "name": "sidebar",
      "type": "registry:ui",
      "title": "Sidebar",
      "description": "A landmark navigation column with a logical-side active indicator.",
      "url": "https://kata-ui-rho.vercel.app/r/sidebar.json"
    },
    {
      "name": "directional-icon",
      "type": "registry:ui",
      "title": "DirectionalIcon",
      "description": "Mirrors a directional icon (arrows, chevrons) under RTL.",
      "url": "https://kata-ui-rho.vercel.app/r/directional-icon.json"
    },
    {
      "name": "masonry-grid",
      "type": "registry:ui",
      "title": "MasonryGrid",
      "description": "A zero-JS masonry layout via CSS columns.",
      "url": "https://kata-ui-rho.vercel.app/r/masonry-grid.json"
    },
    {
      "name": "calendar",
      "type": "registry:ui",
      "title": "Calendar",
      "description": "A month grid in the reader's own calendar system and week start.",
      "url": "https://kata-ui-rho.vercel.app/r/calendar.json"
    },
    {
      "name": "time-field",
      "type": "registry:ui",
      "title": "TimeField",
      "description": "A native time input matching the platform's own 12/24-hour convention.",
      "url": "https://kata-ui-rho.vercel.app/r/time-field.json"
    },
    {
      "name": "combobox",
      "type": "registry:ui",
      "title": "Combobox",
      "description": "A searchable single-select following the ARIA combobox pattern.",
      "url": "https://kata-ui-rho.vercel.app/r/combobox.json"
    },
    {
      "name": "multi-select",
      "type": "registry:ui",
      "title": "MultiSelect",
      "description": "A real multi-select control rendered as removable chips plus toggle buttons.",
      "url": "https://kata-ui-rho.vercel.app/r/multi-select.json"
    },
    {
      "name": "disclosure",
      "type": "registry:ui",
      "title": "Disclosure",
      "description": "A single collapsible section.",
      "url": "https://kata-ui-rho.vercel.app/r/disclosure.json"
    },
    {
      "name": "print-button",
      "type": "registry:ui",
      "title": "PrintButton",
      "description": "A button that prints the page.",
      "url": "https://kata-ui-rho.vercel.app/r/print-button.json"
    },
    {
      "name": "countdown",
      "type": "registry:ui",
      "title": "Countdown",
      "description": "A live countdown with locale-correct digits.",
      "url": "https://kata-ui-rho.vercel.app/r/countdown.json"
    },
    {
      "name": "unit-text",
      "type": "registry:ui",
      "title": "UnitText",
      "description": "Locale-correct unit formatting (distance, data, temperature) via Intl.NumberFormat.",
      "url": "https://kata-ui-rho.vercel.app/r/unit-text.json"
    },
    {
      "name": "live-region",
      "type": "registry:ui",
      "title": "LiveRegion",
      "description": "A declarative live region for components that track their own message as state.",
      "url": "https://kata-ui-rho.vercel.app/r/live-region.json"
    },
    {
      "name": "skip-link",
      "type": "registry:ui",
      "title": "SkipLink",
      "description": "The page's first focusable element, visible only once focused.",
      "url": "https://kata-ui-rho.vercel.app/r/skip-link.json"
    },
    {
      "name": "use-stored-value",
      "type": "registry:hook",
      "title": "useStoredValue",
      "description": "A localStorage-backed string via useSyncExternalStore, with no wasted render correcting a server-rendered default.",
      "url": "https://kata-ui-rho.vercel.app/r/use-stored-value.json"
    },
    {
      "name": "use-hydrated",
      "type": "registry:hook",
      "title": "useHydrated",
      "description": "True once the client has taken over from server-rendered markup — the useSyncExternalStore replacement for the useEffect 'mounted' idiom.",
      "url": "https://kata-ui-rho.vercel.app/r/use-hydrated.json"
    },
    {
      "name": "compact-number",
      "type": "registry:ui",
      "title": "CompactNumber",
      "description": "A large number shortened the way the reader's locale shortens it — 1.2K, 1.2万, 12 lakh.",
      "url": "https://kata-ui-rho.vercel.app/r/compact-number.json"
    },
    {
      "name": "bytes-text",
      "type": "registry:ui",
      "title": "BytesText",
      "description": "A file size with a translated, locale-positioned unit, in decimal or binary.",
      "url": "https://kata-ui-rho.vercel.app/r/bytes-text.json"
    },
    {
      "name": "ordinal-text",
      "type": "registry:ui",
      "title": "OrdinalText",
      "description": "An ordinal via Intl.PluralRules — correct at 11th, and silent where suffixes do not apply.",
      "url": "https://kata-ui-rho.vercel.app/r/ordinal-text.json"
    },
    {
      "name": "read-time",
      "type": "registry:ui",
      "title": "ReadTime",
      "description": "Estimated reading time, in the locale's own digits and word order.",
      "url": "https://kata-ui-rho.vercel.app/r/read-time.json"
    },
    {
      "name": "name-fields",
      "type": "registry:ui",
      "title": "NameFields",
      "description": "Given and family name inputs, ordered the way the reader's locale orders them.",
      "url": "https://kata-ui-rho.vercel.app/r/name-fields.json"
    },
    {
      "name": "address-fields",
      "type": "registry:ui",
      "title": "AddressFields",
      "description": "An address form whose field order and required fields follow the country being addressed.",
      "url": "https://kata-ui-rho.vercel.app/r/address-fields.json"
    },
    {
      "name": "segmented-control",
      "type": "registry:ui",
      "title": "SegmentedControl",
      "description": "A real radiogroup with roving tabindex and direction-aware arrow keys.",
      "url": "https://kata-ui-rho.vercel.app/r/segmented-control.json"
    },
    {
      "name": "save-status",
      "type": "registry:ui",
      "title": "SaveStatus",
      "description": "The autosave indicator, announced — and distinguishing 'failed' from 'offline'.",
      "url": "https://kata-ui-rho.vercel.app/r/save-status.json"
    },
    {
      "name": "retry-button",
      "type": "registry:ui",
      "title": "RetryButton",
      "description": "A retry control with visible exponential backoff that stays disabled while offline.",
      "url": "https://kata-ui-rho.vercel.app/r/retry-button.json"
    },
    {
      "name": "text-size-control",
      "type": "registry:ui",
      "title": "TextSizeControl",
      "description": "In-page text scaling for low-vision readers, persisted and announced.",
      "url": "https://kata-ui-rho.vercel.app/r/text-size-control.json"
    },
    {
      "name": "tree-view",
      "type": "registry:ui",
      "title": "TreeView",
      "description": "A disclosure tree following the ARIA tree pattern, with one tab stop and RTL-aware arrows.",
      "url": "https://kata-ui-rho.vercel.app/r/tree-view.json"
    },
    {
      "name": "bidi-text",
      "type": "registry:ui",
      "title": "BidiText",
      "description": "Isolates user-controlled text so a mixed-direction sentence does not reorder around it.",
      "url": "https://kata-ui-rho.vercel.app/r/bidi-text.json"
    },
    {
      "name": "truncate-text",
      "type": "registry:ui",
      "title": "TruncateText",
      "description": "Truncation that counts user-perceived characters, so emoji and Devanagari clusters are never split.",
      "url": "https://kata-ui-rho.vercel.app/r/truncate-text.json"
    },
    {
      "name": "date-range-text",
      "type": "registry:ui",
      "title": "DateRangeText",
      "description": "A date range formatted as one range, collapsing shared parts in the locale's own calendar.",
      "url": "https://kata-ui-rho.vercel.app/r/date-range-text.json"
    },
    {
      "name": "character-counter",
      "type": "registry:ui",
      "title": "CharacterCounter",
      "description": "A character counter that counts graphemes, so one emoji costs one, not eleven.",
      "url": "https://kata-ui-rho.vercel.app/r/character-counter.json"
    },
    {
      "name": "currency-field",
      "type": "registry:ui",
      "title": "CurrencyField",
      "description": "A money input that parses the locale's own separators, so \"1.234,56\" means what a German user meant.",
      "url": "https://kata-ui-rho.vercel.app/r/currency-field.json"
    },
    {
      "name": "unit-field",
      "type": "registry:ui",
      "title": "UnitField",
      "description": "A measurement input shown in the reader's units and always stored in metric.",
      "url": "https://kata-ui-rho.vercel.app/r/unit-field.json"
    },
    {
      "name": "timezone-select",
      "type": "registry:ui",
      "title": "TimezoneSelect",
      "description": "A timezone picker labelled in the reader's language and ordered by current offset.",
      "url": "https://kata-ui-rho.vercel.app/r/timezone-select.json"
    },
    {
      "name": "heading-level",
      "type": "registry:ui",
      "title": "Heading",
      "description": "Headings that know their own level, so a reusable component never breaks the page outline.",
      "url": "https://kata-ui-rho.vercel.app/r/heading-level.json"
    },
    {
      "name": "landmark-nav",
      "type": "registry:ui",
      "title": "LandmarkNav",
      "description": "Skip links for every landmark, giving sighted keyboard users the rotor screen readers already have.",
      "url": "https://kata-ui-rho.vercel.app/r/landmark-nav.json"
    },
    {
      "name": "error-summary",
      "type": "registry:ui",
      "title": "ErrorSummary",
      "description": "The focusable list of what went wrong, at the top of a form — usable with any form library.",
      "url": "https://kata-ui-rho.vercel.app/r/error-summary.json"
    },
    {
      "name": "sortable-table",
      "type": "registry:ui",
      "title": "SortableTable",
      "description": "A table that sorts text with Intl.Collator, so accents and non-Latin scripts file correctly.",
      "url": "https://kata-ui-rho.vercel.app/r/sortable-table.json"
    },
    {
      "name": "stale-data-notice",
      "type": "registry:ui",
      "title": "StaleDataNotice",
      "description": "Tells the reader how old the data is, and says it differently when offline explains why.",
      "url": "https://kata-ui-rho.vercel.app/r/stale-data-notice.json"
    }
  ]
}