{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "esuiss-rn-nativewind",
  "homepage": "https://ui.suiss.app",
  "items": [
    {
      "name": "accordion",
      "type": "registry:ui",
      "title": "Accordion",
      "description": "A vertically stacked set of headings that each reveal a section of content.",
      "dependencies": [
        "class-variance-authority",
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-accordion",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/accordion.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/accordion"
        }
      }
    },
    {
      "name": "alert-dialog",
      "type": "registry:ui",
      "title": "Alert Dialog",
      "description": "A modal dialog that interrupts the user to confirm an important action or acknowledge information.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-screens",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-alert-dialog",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/alert-dialog.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/alert-dialog"
        }
      }
    },
    {
      "name": "alert-sheet",
      "type": "registry:ui",
      "title": "Alert Sheet",
      "description": "An action sheet that slides up from the bottom of the screen to confirm or choose an action.",
      "dependencies": [
        "class-variance-authority",
        "cn",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-screens",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-alert-dialog",
        "@esuiss-rn/primitives-dialog",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/alert-sheet.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/alert-sheet"
        }
      }
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "title": "Alert",
      "description": "A static callout that draws attention to an important message without interrupting the user.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/alert.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/alert"
        }
      }
    },
    {
      "name": "amount-input",
      "type": "registry:ui",
      "title": "Amount Input",
      "description": "A large, locale-formatted money display with an on-screen keypad for entering an amount.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/keypad",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/amount-input.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/amount-input"
        }
      }
    },
    {
      "name": "animated-view",
      "type": "registry:ui",
      "title": "Animated View",
      "description": "An animated view or pressable for entering, exiting and layout animations.",
      "dependencies": [
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/animated-view.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "aspect-ratio",
      "type": "registry:ui",
      "title": "Aspect Ratio",
      "description": "A container that keeps its content at a fixed width-to-height ratio.",
      "registryDependencies": [
        "@esuiss-rn/primitives-aspect-ratio"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/aspect-ratio.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/aspect-ratio"
        }
      }
    },
    {
      "name": "attachment",
      "type": "registry:ui",
      "title": "Attachment",
      "description": "A compact file card that shows a document or image with its name, details, upload state and actions.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-progress",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/progress",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/attachment.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/attachment"
        }
      }
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "title": "Avatar",
      "description": "A circular image that represents a person, with initials or an icon when no image is available.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-avatar",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/avatar.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/avatar"
        }
      }
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "A small inline label for status, counts or metadata.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/badge.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/badge"
        }
      }
    },
    {
      "name": "bottom-bar",
      "type": "registry:ui",
      "title": "Bottom Bar",
      "description": "A bar pinned to the bottom of a screen for primary actions, which rises above the keyboard.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/primitives-keyboard",
        "@esuiss-rn/screen"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/bottom-bar.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/bottom-bar"
        }
      }
    },
    {
      "name": "bubble",
      "type": "registry:ui",
      "title": "Bubble",
      "description": "A chat-style message bubble with variants, alignment, a tail and optional reactions.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/bubble.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/bubble"
        }
      }
    },
    {
      "name": "button-group",
      "type": "registry:ui",
      "title": "Button Group",
      "description": "A container that joins related buttons, inputs and menus into a single connected control.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/separator",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/button-group.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/button-group"
        }
      }
    },
    {
      "name": "button",
      "type": "registry:ui",
      "title": "Button",
      "description": "A pill-shaped button that triggers an action, with variants for every level of emphasis.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/button.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/button"
        }
      }
    },
    {
      "name": "calendar",
      "type": "registry:ui",
      "title": "Calendar",
      "description": "A month-grid date picker for selecting a single date, several dates or a date range.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-calendar",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/select",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/calendar.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/calendar"
        }
      }
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "A raised container that groups related content and actions about a single subject.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/card.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/card"
        }
      }
    },
    {
      "name": "carousel",
      "type": "registry:ui",
      "title": "Carousel",
      "description": "A swipeable track of slides with buttons, dots and optional autoplay, built on Embla Carousel.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-carousel",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/carousel.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/carousel"
        }
      }
    },
    {
      "name": "chart",
      "type": "registry:ui",
      "title": "Chart",
      "description": "Themed building blocks for Recharts charts, with a shared color config, tooltip and legend.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/chart.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/chart"
        }
      }
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "title": "Checkbox",
      "description": "A control that lets people turn a single option on or off.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-checkbox",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/checkbox.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/checkbox"
        }
      }
    },
    {
      "name": "chip",
      "type": "registry:ui",
      "title": "Chip",
      "description": "A compact, selectable pill for filters and tags, with an optional icon and remove button.",
      "dependencies": [
        "class-variance-authority",
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-toggle",
        "@esuiss-rn/primitives-toggle-group",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/chip.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/chip"
        }
      }
    },
    {
      "name": "collapsible",
      "type": "registry:ui",
      "title": "Collapsible",
      "description": "A section that people can expand and collapse to show or hide its content.",
      "registryDependencies": [
        "@esuiss-rn/primitives-collapsible"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/collapsible.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/collapsible"
        }
      }
    },
    {
      "name": "combobox",
      "type": "registry:ui",
      "title": "Combobox",
      "description": "A text input with a filterable list of options, for choosing one or more values by typing.",
      "dependencies": [
        "cn",
        "nativewind",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-combobox",
        "@esuiss-rn/primitives-field",
        "@esuiss-rn/primitives-positioner",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/combobox.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/combobox"
        }
      }
    },
    {
      "name": "context-menu",
      "type": "registry:ui",
      "title": "Context Menu",
      "description": "A menu of actions that opens at the pointer when people right-click an area.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-context-menu",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/context-menu.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/context-menu"
        }
      }
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "title": "Dialog",
      "description": "A modal window that appears above the page to focus people on a task or message.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-dialog",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/dialog.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/dialog"
        }
      }
    },
    {
      "name": "drawer",
      "type": "registry:ui",
      "title": "Drawer",
      "description": "A panel that slides in from an edge of the screen and can be dismissed with a swipe.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-drawer",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/drawer.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/drawer"
        }
      }
    },
    {
      "name": "dropdown-menu",
      "type": "registry:ui",
      "title": "Dropdown Menu",
      "description": "A menu of actions or options that opens from a button.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-menu",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/dropdown-menu.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/dropdown-menu"
        }
      }
    },
    {
      "name": "empty",
      "type": "registry:ui",
      "title": "Empty",
      "description": "A placeholder that explains why a view has no content and what people can do next.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/empty.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/empty"
        }
      }
    },
    {
      "name": "fab",
      "type": "registry:ui",
      "title": "FAB",
      "description": "A floating action button pinned to the bottom corner, with an optional label and speed-dial actions.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/fab.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/fab"
        }
      }
    },
    {
      "name": "field",
      "type": "registry:ui",
      "title": "Field",
      "description": "Building blocks for form fields that pair controls with labels, descriptions and error messages.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-field",
        "@esuiss-rn/primitives-fieldset",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/separator"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/field.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/field"
        }
      }
    },
    {
      "name": "haptics-expo",
      "type": "registry:ui",
      "title": "Haptics Expo",
      "description": "Plays the haptic feedback of the components through expo-haptics.",
      "dependencies": [
        "expo-haptics"
      ],
      "registryDependencies": [
        "@esuiss-rn/haptics"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/haptics-expo.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "haptics",
      "type": "registry:ui",
      "title": "Haptics",
      "description": "A provider that connects components to your haptics library, with a hook to trigger feedback.",
      "registryDependencies": [
        "@esuiss-rn/primitives-haptics"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/haptics.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/haptics"
        }
      }
    },
    {
      "name": "header",
      "type": "registry:ui",
      "title": "Header",
      "description": "A navigation bar with a back button, a centered title, actions and an optional large title that collapses on scroll.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/header.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/header"
        }
      }
    },
    {
      "name": "icon",
      "type": "registry:ui",
      "title": "Icon",
      "description": "Renders a Phosphor icon with size and color set through class names.",
      "dependencies": [
        "cn",
        "nativewind",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/icon.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/icon"
        }
      }
    },
    {
      "name": "input-accessory-bar",
      "type": "registry:ui",
      "title": "Input Accessory Bar",
      "description": "A toolbar above the keyboard with previous, next and done buttons for moving through form fields.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/input",
        "@esuiss-rn/keyboard-scroll-view",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-keyboard",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/input-accessory-bar.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/input-accessory-bar"
        }
      }
    },
    {
      "name": "input-group",
      "type": "registry:ui",
      "title": "Input Group",
      "description": "A text field with icons, text, buttons or keyboard hints attached inside its border.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/input",
        "@esuiss-rn/primitives-field",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text",
        "@esuiss-rn/textarea"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/input-group.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/input-group"
        }
      }
    },
    {
      "name": "input-otp",
      "type": "registry:ui",
      "title": "Input OTP",
      "description": "A segmented field for entering one-time passcodes, one character per slot.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-otp-field",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/input-otp.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/input-otp"
        }
      }
    },
    {
      "name": "input",
      "type": "registry:ui",
      "title": "Input",
      "description": "A single-line text field for entering and editing short values.",
      "dependencies": [
        "cn",
        "nativewind"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-input",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/input.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/input"
        }
      }
    },
    {
      "name": "item",
      "type": "registry:ui",
      "title": "Item",
      "description": "A flexible row that pairs media, a title, a description and actions, for lists and settings.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/item.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/item"
        }
      }
    },
    {
      "name": "keyboard-scroll-view",
      "type": "registry:ui",
      "title": "Keyboard Scroll View",
      "description": "A scroll view that keeps the focused text field visible above the on-screen keyboard.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-keyboard"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/keyboard-scroll-view.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/keyboard-scroll-view"
        }
      }
    },
    {
      "name": "keypad",
      "type": "registry:ui",
      "title": "Keypad",
      "description": "A numeric keypad with round digit keys, a delete key and an optional decimal or biometric key.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/keypad.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/keypad"
        }
      }
    },
    {
      "name": "label",
      "type": "registry:ui",
      "title": "Label",
      "description": "An accessible text label that names a form control.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-label",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/label.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/label"
        }
      }
    },
    {
      "name": "marker",
      "type": "registry:ui",
      "title": "Marker",
      "description": "An inline annotation for timelines and conversations, such as a date divider or system event.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/marker.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/marker"
        }
      }
    },
    {
      "name": "message-scroller",
      "type": "registry:ui",
      "title": "Message Scroller",
      "description": "A scroll container for chat transcripts that opens at the latest message and keeps scroll position stable.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/message-scroller.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/message-scroller"
        }
      }
    },
    {
      "name": "message",
      "type": "registry:ui",
      "title": "Message",
      "description": "Lays out a single chat message with an optional avatar, header and footer.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/bubble",
        "@esuiss-rn/icon",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/message.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/message"
        }
      }
    },
    {
      "name": "page-indicator",
      "type": "registry:ui",
      "title": "Page Indicator",
      "description": "A row of dots that shows the current page in a pager or carousel, with an elongated dot for the active page.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/primitives-haptics"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/page-indicator.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/page-indicator"
        }
      }
    },
    {
      "name": "pin-pad",
      "type": "registry:ui",
      "title": "Pin Pad",
      "description": "A passcode entry screen element with a row of dots and a numeric keypad.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/keypad",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-hooks"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/pin-pad.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/pin-pad"
        }
      }
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "title": "Popover",
      "description": "A floating panel anchored to a trigger, for supplementary content and lightweight controls.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-screens",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/primitives-popover",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/popover.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/popover"
        }
      }
    },
    {
      "name": "progress",
      "type": "registry:ui",
      "title": "Progress",
      "description": "A horizontal bar that shows the completion of a task.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-progress",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/progress.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/progress"
        }
      }
    },
    {
      "name": "qr-scanner",
      "type": "registry:ui",
      "title": "QR Scanner",
      "description": "A camera overlay with a rounded cut-out scan frame, rounded corner brackets, an optional scan line and an optional flashlight toggle.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/qr-scanner.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/qr-scanner"
        }
      }
    },
    {
      "name": "questionnaire",
      "type": "registry:ui",
      "title": "Questionnaire",
      "description": "A step-by-step form that shows one question at a time, with validation, skipping and keyboard shortcuts.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/input",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/questionnaire.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/questionnaire"
        }
      }
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "title": "Radio Group",
      "description": "A set of radio buttons where only one option can be selected at a time.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-radio",
        "@esuiss-rn/primitives-radio-group",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/radio-group.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/radio-group"
        }
      }
    },
    {
      "name": "screen",
      "type": "registry:ui",
      "title": "Screen",
      "description": "A full-screen container that pads for safe area insets and sets the status bar style.",
      "dependencies": [
        "cn",
        "react-native-safe-area-context"
      ],
      "registryDependencies": [
        "@esuiss-rn/keyboard-scroll-view"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/screen.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/screen"
        }
      }
    },
    {
      "name": "select",
      "type": "registry:ui",
      "title": "Select",
      "description": "A button that opens a list of options so people can pick one value.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-field",
        "@esuiss-rn/primitives-positioner",
        "@esuiss-rn/primitives-select",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/select.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/select"
        }
      }
    },
    {
      "name": "separator",
      "type": "registry:ui",
      "title": "Separator",
      "description": "A thin line that visually divides content, horizontally or vertically.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-separator",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/separator.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/separator"
        }
      }
    },
    {
      "name": "sheet",
      "type": "registry:ui",
      "title": "Sheet",
      "description": "A panel that slides in from an edge of the screen over the page.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-drawer",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/sheet.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/sheet"
        }
      }
    },
    {
      "name": "signature-pad",
      "type": "registry:ui",
      "title": "Signature Pad",
      "description": "A drawing area that captures a handwritten signature as strokes and can export it as an SVG string.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-gesture-handler",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/signature-pad.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/signature-pad"
        }
      }
    },
    {
      "name": "skeleton",
      "type": "registry:ui",
      "title": "Skeleton",
      "description": "A pulsing placeholder block that stands in for content while it loads.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/skeleton.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/skeleton"
        }
      }
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "A track with one or more draggable thumbs for choosing a value or range.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-slider",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/slider.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/slider"
        }
      }
    },
    {
      "name": "spinner",
      "type": "registry:ui",
      "title": "Spinner",
      "description": "An eight-spoke activity indicator that shows an indeterminate wait.",
      "dependencies": [
        "cn",
        "nativewind"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/spinner.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/spinner"
        }
      }
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "A toggle control that turns a single setting on or off.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-switch",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/switch.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/switch"
        }
      }
    },
    {
      "name": "tab-bar",
      "type": "registry:ui",
      "title": "Tab Bar",
      "description": "A floating bottom navigation bar whose overflow and extra sections expand from a More button.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-safe-area-context",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-tabs",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/tab-bar.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/tab-bar"
        }
      }
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "A set of tabs that switches between panels of related content in the same place.",
      "dependencies": [
        "class-variance-authority",
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-tabs",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/tabs.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/tabs"
        }
      }
    },
    {
      "name": "text",
      "type": "registry:ui",
      "title": "Text",
      "description": "Styled text with typography variants for headings, body copy, quotes, code and captions.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/text.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/text"
        }
      }
    },
    {
      "name": "textarea",
      "type": "registry:ui",
      "title": "Textarea",
      "description": "A multi-line text field that grows with its content, with an optional resize handle.",
      "dependencies": [
        "cn",
        "nativewind"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-input",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/textarea.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/textarea"
        }
      }
    },
    {
      "name": "theme",
      "type": "registry:ui",
      "title": "Theme",
      "description": "A theme provider with a light, dark and system toggle and an animated switch between them.",
      "dependencies": [
        "nativewind",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/theme.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/theming"
        }
      }
    },
    {
      "name": "toast",
      "type": "registry:ui",
      "title": "Toast",
      "description": "Brief, stacked notifications that appear at the bottom of the screen and dismiss themselves.",
      "dependencies": [
        "cn",
        "nativewind",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-toast",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/toast.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/toast"
        }
      }
    },
    {
      "name": "toggle-group",
      "type": "registry:ui",
      "title": "Toggle Group",
      "description": "A set of toggle buttons for choosing one or several related options, including segmented controls.",
      "dependencies": [
        "class-variance-authority",
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-toggle",
        "@esuiss-rn/primitives-toggle-group",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/toggle-group.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/toggle-group"
        }
      }
    },
    {
      "name": "toggle",
      "type": "registry:ui",
      "title": "Toggle",
      "description": "A two-state button that stays pressed until it's pressed again.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-toggle",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/toggle.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/toggle"
        }
      }
    },
    {
      "name": "wheel-picker",
      "type": "registry:ui",
      "title": "Wheel Picker",
      "description": "A scrolling, 3D-curved wheel of options, like the iOS picker, for choosing values such as dates and times.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/primitives-wheel-picker",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/wheel-picker.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/wheel-picker"
        }
      }
    },
    {
      "name": "widget",
      "type": "registry:ui",
      "title": "Widget",
      "description": "A rounded card in the style of home screen widgets, with fixed sizes and optional drag-to-resize.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-gesture-handler",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/ui/widget.tsx",
          "type": "registry:ui"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/components/widget"
        }
      }
    },
    {
      "name": "action-bar",
      "type": "registry:component",
      "title": "Action Bar",
      "description": "A row of menus that renders as a menubar on desktop and a single More actions sheet on mobile.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/alert-sheet",
        "@esuiss-rn/button",
        "@esuiss-rn/drawer",
        "@esuiss-rn/icon",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/action-bar.tsx",
          "type": "registry:component",
          "target": "@components/patterns/action-bar.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/action-bar"
        }
      }
    },
    {
      "name": "confirm",
      "type": "registry:component",
      "title": "Confirm",
      "description": "A confirmation prompt that opens as an alert dialog on desktop and an action sheet on mobile.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/alert-sheet"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/confirm.tsx",
          "type": "registry:component",
          "target": "@components/patterns/confirm.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/confirm"
        }
      }
    },
    {
      "name": "context-actions",
      "type": "registry:component",
      "title": "Context Actions",
      "description": "Actions for an element that open as a context menu on right click, or an action sheet on long press on mobile.",
      "registryDependencies": [
        "@esuiss-rn/alert-sheet"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/context-actions.tsx",
          "type": "registry:component",
          "target": "@components/patterns/context-actions.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/context-actions"
        }
      }
    },
    {
      "name": "date-picker",
      "type": "registry:component",
      "title": "Date Picker",
      "description": "A date field that opens a calendar popover on desktop and wheel pickers in a drawer on mobile.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/drawer",
        "@esuiss-rn/icon",
        "@esuiss-rn/text",
        "@esuiss-rn/wheel-picker"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/date-picker.tsx",
          "type": "registry:component",
          "target": "@components/patterns/date-picker.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/date-picker"
        }
      }
    },
    {
      "name": "paged-list",
      "type": "registry:component",
      "title": "Paged List",
      "description": "A list that pages through items with numbered pagination on desktop and a Load more button on mobile.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/paged-list.tsx",
          "type": "registry:component",
          "target": "@components/patterns/paged-list.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/paged-list"
        }
      }
    },
    {
      "name": "picker",
      "type": "registry:component",
      "title": "Picker",
      "description": "A single-choice picker that renders a custom Select on desktop and a native select on mobile.",
      "registryDependencies": [
        "@esuiss-rn/select"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/picker.tsx",
          "type": "registry:component",
          "target": "@components/patterns/picker.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/picker"
        }
      }
    },
    {
      "name": "preview",
      "type": "registry:component",
      "title": "Preview",
      "description": "A link preview that shows a hover card on desktop and a drawer on mobile.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/drawer",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/preview.tsx",
          "type": "registry:component",
          "target": "@components/patterns/preview.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/preview"
        }
      }
    },
    {
      "name": "search-picker",
      "type": "registry:component",
      "title": "Search Picker",
      "description": "A searchable single-choice picker that renders a Combobox on desktop and a search drawer on mobile.",
      "dependencies": [
        "cn",
        "nativewind",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/drawer",
        "@esuiss-rn/icon",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/search-picker.tsx",
          "type": "registry:component",
          "target": "@components/patterns/search-picker.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/search-picker"
        }
      }
    },
    {
      "name": "split-view",
      "type": "registry:component",
      "title": "Split View",
      "description": "A two- or three-column sidebar, list and detail layout that becomes a push navigation stack on mobile.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/split-view.tsx",
          "type": "registry:component",
          "target": "@components/patterns/split-view.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/split-view"
        }
      }
    },
    {
      "name": "table-list",
      "type": "registry:component",
      "title": "Table List",
      "description": "Tabular data that renders as a table on desktop and a grouped list on mobile.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/item",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/patterns/table-list.tsx",
          "type": "registry:component",
          "target": "@components/patterns/table-list.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/patterns/table-list"
        }
      }
    },
    {
      "name": "card-stack",
      "type": "registry:component",
      "title": "Card Stack",
      "description": "A deck of cards the user swipes left or right one at a time, with buttons, undo and an empty state.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-gesture-handler",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/card-stack.tsx",
          "type": "registry:component",
          "target": "@components/interactions/card-stack.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/card-stack"
        }
      }
    },
    {
      "name": "image-viewer",
      "type": "registry:component",
      "title": "Image Viewer",
      "description": "A full-screen photo viewer with swipe paging, pinch and double-tap zoom, and swipe down to close.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-image-viewer",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/image-viewer.tsx",
          "type": "registry:component",
          "target": "@components/interactions/image-viewer.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/image-viewer"
        }
      }
    },
    {
      "name": "island",
      "type": "registry:component",
      "title": "Island",
      "description": "A floating pill at the top of the screen that shows live activities and brief notifications, like the Dynamic Island.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-gesture-handler",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/island.tsx",
          "type": "registry:component",
          "target": "@components/interactions/island.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/island"
        }
      }
    },
    {
      "name": "otp-autofill",
      "type": "registry:component",
      "title": "OTP Autofill",
      "description": "A one-time code field that offers an incoming code, fills it digit by digit, and verifies it automatically.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/input-otp",
        "@esuiss-rn/primitives-keyboard",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/otp-autofill.tsx",
          "type": "registry:component",
          "target": "@components/interactions/otp-autofill.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/otp-autofill"
        }
      }
    },
    {
      "name": "preview-menu",
      "type": "registry:component",
      "title": "Preview Menu",
      "description": "A context menu that lifts the pressed item into an enlarged preview above its actions, like iOS context menus.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-screens",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-preview-menu",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/preview-menu.tsx",
          "type": "registry:component",
          "target": "@components/interactions/preview-menu.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/preview-menu"
        }
      }
    },
    {
      "name": "pull-to-refresh",
      "type": "registry:component",
      "title": "Pull to Refresh",
      "description": "A scroll container that refreshes its content when the user pulls down from the top.",
      "dependencies": [
        "cn",
        "nativewind"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-haptics"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/pull-to-refresh.tsx",
          "type": "registry:component",
          "target": "@components/interactions/pull-to-refresh.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/pull-to-refresh"
        }
      }
    },
    {
      "name": "reorder-list",
      "type": "registry:component",
      "title": "Reorder List",
      "description": "A list whose rows are dragged by a handle to change their order, with haptics and move up and down actions.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-gesture-handler",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/item",
        "@esuiss-rn/primitives-haptics"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/reorder-list.tsx",
          "type": "registry:component",
          "target": "@components/interactions/reorder-list.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/reorder-list"
        }
      }
    },
    {
      "name": "search-reveal",
      "type": "registry:component",
      "title": "Search Reveal",
      "description": "A scrolling list with a search field tucked above it that appears when the user scrolls up.",
      "dependencies": [
        "cn",
        "nativewind",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/search-reveal.tsx",
          "type": "registry:component",
          "target": "@components/interactions/search-reveal.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/search-reveal"
        }
      }
    },
    {
      "name": "section-index",
      "type": "registry:component",
      "title": "Section Index",
      "description": "An A to Z index bar for jumping between sections of a long list by tapping, dragging, or typing.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/primitives-section-index",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/section-index.tsx",
          "type": "registry:component",
          "target": "@components/interactions/section-index.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/section-index"
        }
      }
    },
    {
      "name": "selection-list",
      "type": "registry:component",
      "title": "Selection List",
      "description": "A list with an edit mode for selecting multiple rows and acting on them from a floating toolbar.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/selection-list.tsx",
          "type": "registry:component",
          "target": "@components/interactions/selection-list.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/selection-list"
        }
      }
    },
    {
      "name": "stepper",
      "type": "registry:component",
      "title": "Stepper",
      "description": "A numeric field with minus and plus buttons that step the value, accelerating while held.",
      "dependencies": [
        "cn",
        "nativewind",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-number-field",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/stepper.tsx",
          "type": "registry:component",
          "target": "@components/interactions/stepper.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/stepper"
        }
      }
    },
    {
      "name": "swipe-actions",
      "type": "registry:component",
      "title": "Swipe Actions",
      "description": "A list row that reveals action buttons when swiped sideways, with optional full swipe to run an action.",
      "dependencies": [
        "class-variance-authority",
        "cn",
        "react-native-gesture-handler",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/swipe-actions.tsx",
          "type": "registry:component",
          "target": "@components/interactions/swipe-actions.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/swipe-actions"
        }
      }
    },
    {
      "name": "tip",
      "type": "registry:component",
      "title": "Tip",
      "description": "A dismissible feature tip shown inline or as a popover, remembered once dismissed and sequenced in groups.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-screens",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-popover",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/tip.tsx",
          "type": "registry:component",
          "target": "@components/interactions/tip.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/tip"
        }
      }
    },
    {
      "name": "top-banner",
      "type": "registry:component",
      "title": "Top Banner",
      "description": "Short banners that slide in from the top of the screen, queue one at a time and can be swiped up to dismiss.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-gesture-handler",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/top-banner.tsx",
          "type": "registry:component",
          "target": "@components/interactions/top-banner.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/top-banner"
        }
      }
    },
    {
      "name": "undo-bar",
      "type": "registry:component",
      "title": "Undo Bar",
      "description": "A floating bar that offers to undo the last action for a few seconds before committing it.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-safe-area-context",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/interactions/undo-bar.tsx",
          "type": "registry:component",
          "target": "@components/interactions/undo-bar.tsx"
        }
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/interactions/undo-bar"
        }
      }
    },
    {
      "name": "bag-checkout",
      "type": "registry:block",
      "title": "Bag Checkout",
      "description": "A three-step checkout with delivery, payment, and review steps beside an order summary.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/radio-group",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/bag-checkout.tsx",
          "type": "registry:component",
          "target": "@components/blocks/bag-checkout.tsx"
        }
      ],
      "categories": [
        "blocks",
        "bag"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/bag-checkout"
        }
      }
    },
    {
      "name": "bag-configure",
      "type": "registry:block",
      "title": "Bag Configure",
      "description": "A product configurator for choosing a model, finish, and storage, with a live price and Add to Bag button.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/screen",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/bag-configure.tsx",
          "type": "registry:component",
          "target": "@components/blocks/bag-configure.tsx"
        }
      ],
      "categories": [
        "blocks",
        "bag"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/bag-configure"
        }
      }
    },
    {
      "name": "bag-review",
      "type": "registry:block",
      "title": "Bag Review",
      "description": "A shopping bag review page with quantity steppers, removable line items, and a totals summary.",
      "dependencies": [
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/screen",
        "@esuiss-rn/stepper",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/bag-review.tsx",
          "type": "registry:component",
          "target": "@components/blocks/bag-review.tsx"
        }
      ],
      "categories": [
        "blocks",
        "bag"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/bag-review"
        }
      }
    },
    {
      "name": "chat-conversations",
      "type": "registry:block",
      "title": "Chat Conversations",
      "description": "A messaging app layout with a conversation list beside the selected thread and a message composer.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/bubble",
        "@esuiss-rn/button",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-group",
        "@esuiss-rn/message",
        "@esuiss-rn/message-scroller",
        "@esuiss-rn/screen",
        "@esuiss-rn/swipe-actions",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/chat-conversations.tsx",
          "type": "registry:component",
          "target": "@components/blocks/chat-conversations.tsx"
        }
      ],
      "categories": [
        "blocks",
        "chat"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/chat-conversations"
        }
      }
    },
    {
      "name": "chat-support",
      "type": "registry:block",
      "title": "Chat Support",
      "description": "A support landing section with a floating chat panel, quick-reply suggestions, and a launcher button.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/bubble",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-group",
        "@esuiss-rn/message",
        "@esuiss-rn/message-scroller",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/chat-support.tsx",
          "type": "registry:component",
          "target": "@components/blocks/chat-support.tsx"
        }
      ],
      "categories": [
        "blocks",
        "chat"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/chat-support"
        }
      }
    },
    {
      "name": "chat-thread",
      "type": "registry:block",
      "title": "Chat Thread",
      "description": "A single message thread inside a phone frame, with heart reactions and simulated replies.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/attachment",
        "@esuiss-rn/avatar",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/bubble",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-group",
        "@esuiss-rn/message",
        "@esuiss-rn/message-scroller",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/chat-thread.tsx",
          "type": "registry:component",
          "target": "@components/blocks/chat-thread.tsx"
        }
      ],
      "categories": [
        "blocks",
        "chat"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/chat-thread"
        }
      }
    },
    {
      "name": "dash-analytics",
      "type": "registry:block",
      "title": "Dash Analytics",
      "description": "An app analytics dashboard with a metric switcher, an interactive area chart, and a regional breakdown.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/chart",
        "@esuiss-rn/dropdown-menu",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/item",
        "@esuiss-rn/screen",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/dash-analytics.tsx",
          "type": "registry:component",
          "target": "@components/blocks/dash-analytics.tsx"
        }
      ],
      "categories": [
        "blocks",
        "dash"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/dash-analytics"
        }
      }
    },
    {
      "name": "dash-health",
      "type": "registry:block",
      "title": "Dash Health",
      "description": "A health summary dashboard with pinned metric cards, sparklines, and category views in a sidebar.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/item",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/dash-health.tsx",
          "type": "registry:component",
          "target": "@components/blocks/dash-health.tsx"
        }
      ],
      "categories": [
        "blocks",
        "dash"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/dash-health"
        }
      }
    },
    {
      "name": "dash-store",
      "type": "registry:block",
      "title": "Dash Store",
      "description": "A store admin overview with sales stats, an online versus in-store bar chart, and a filterable orders list.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/chart",
        "@esuiss-rn/chip",
        "@esuiss-rn/dropdown-menu",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/item",
        "@esuiss-rn/screen",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/dash-store.tsx",
          "type": "registry:component",
          "target": "@components/blocks/dash-store.tsx"
        }
      ],
      "categories": [
        "blocks",
        "dash"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/dash-store"
        }
      }
    },
    {
      "name": "empty-bag",
      "type": "registry:block",
      "title": "Empty Bag",
      "description": "An empty shopping bag state with sign-in and shopping actions above a row of recommended products.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/empty",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/empty-bag.tsx",
          "type": "registry:component",
          "target": "@components/blocks/empty-bag.tsx"
        }
      ],
      "categories": [
        "blocks",
        "empty"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/empty-bag"
        }
      }
    },
    {
      "name": "empty-offline",
      "type": "registry:block",
      "title": "Empty Offline",
      "description": "An offline empty state with a retry action that reconnects and reveals a grid of albums.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/empty",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/spinner",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/empty-offline.tsx",
          "type": "registry:component",
          "target": "@components/blocks/empty-offline.tsx"
        }
      ],
      "categories": [
        "blocks",
        "empty"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/empty-offline"
        }
      }
    },
    {
      "name": "empty-search",
      "type": "registry:block",
      "title": "Empty Search",
      "description": "A search page showing live suggestions, a no-results state, and suggested queries.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/empty",
        "@esuiss-rn/icon",
        "@esuiss-rn/input",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/empty-search.tsx",
          "type": "registry:component",
          "target": "@components/blocks/empty-search.tsx"
        }
      ],
      "categories": [
        "blocks",
        "empty"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/empty-search"
        }
      }
    },
    {
      "name": "grid-accessories",
      "type": "registry:block",
      "title": "Grid Accessories",
      "description": "A filterable accessories grid with category chips and add-to-bag buttons that update a bag counter.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/chip",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/grid-accessories.tsx",
          "type": "registry:component",
          "target": "@components/blocks/grid-accessories.tsx"
        }
      ],
      "categories": [
        "blocks",
        "grid"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/grid-accessories"
        }
      }
    },
    {
      "name": "grid-carousel",
      "type": "registry:block",
      "title": "Grid Carousel",
      "description": "A horizontally scrolling carousel of product cards with previous and next controls.",
      "dependencies": [
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/carousel",
        "@esuiss-rn/page-indicator",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/grid-carousel.tsx",
          "type": "registry:component",
          "target": "@components/blocks/grid-carousel.tsx"
        }
      ],
      "categories": [
        "blocks",
        "grid"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/grid-carousel"
        }
      }
    },
    {
      "name": "grid-lineup",
      "type": "registry:block",
      "title": "Grid Lineup",
      "description": "A product lineup comparing models side by side, each with finish swatches, a price, and buy actions.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/screen",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/grid-lineup.tsx",
          "type": "registry:component",
          "target": "@components/blocks/grid-lineup.tsx"
        }
      ],
      "categories": [
        "blocks",
        "grid"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/grid-lineup"
        }
      }
    },
    {
      "name": "inbox-categories",
      "type": "registry:block",
      "title": "Inbox Categories",
      "description": "A mail inbox sorted into Primary, Transactions, Updates, and Promotions, with a message reader and inline reply.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/split-view",
        "@esuiss-rn/swipe-actions",
        "@esuiss-rn/text",
        "@esuiss-rn/textarea",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/inbox-categories.tsx",
          "type": "registry:component",
          "target": "@components/blocks/inbox-categories.tsx"
        }
      ],
      "categories": [
        "blocks",
        "inbox"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/inbox-categories"
        }
      }
    },
    {
      "name": "inbox-mail",
      "type": "registry:block",
      "title": "Inbox Mail",
      "description": "A three-column mail client with mailboxes, a searchable message list, and a message reader with reply.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-group",
        "@esuiss-rn/screen",
        "@esuiss-rn/split-view",
        "@esuiss-rn/swipe-actions",
        "@esuiss-rn/text",
        "@esuiss-rn/textarea"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/inbox-mail.tsx",
          "type": "registry:component",
          "target": "@components/blocks/inbox-mail.tsx"
        }
      ],
      "categories": [
        "blocks",
        "inbox"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/inbox-mail"
        }
      }
    },
    {
      "name": "inbox-support",
      "type": "registry:block",
      "title": "Inbox Support",
      "description": "A support ticket inbox with status views, a ticket list with priorities, and a detail pane for replying and resolving.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/split-view",
        "@esuiss-rn/text",
        "@esuiss-rn/textarea",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/inbox-support.tsx",
          "type": "registry:component",
          "target": "@components/blocks/inbox-support.tsx"
        }
      ],
      "categories": [
        "blocks",
        "inbox"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/inbox-support"
        }
      }
    },
    {
      "name": "log-activity",
      "type": "registry:block",
      "title": "Log Activity",
      "description": "An admin activity log grouped by day, with a type filter and expandable before-and-after details.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/chip",
        "@esuiss-rn/collapsible",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/log-activity.tsx",
          "type": "registry:component",
          "target": "@components/blocks/log-activity.tsx"
        }
      ],
      "categories": [
        "blocks",
        "log"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/log-activity"
        }
      }
    },
    {
      "name": "log-live",
      "type": "registry:block",
      "title": "Log Live",
      "description": "A live admin activity feed that streams new events, with session stats and a pause control.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/log-live.tsx",
          "type": "registry:component",
          "target": "@components/blocks/log-live.tsx"
        }
      ],
      "categories": [
        "blocks",
        "log"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/log-live"
        }
      }
    },
    {
      "name": "log-security",
      "type": "registry:block",
      "title": "Log Security",
      "description": "A security overview with a computed score ring, alert counts by severity, and resolvable alerts.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/chip",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/log-security.tsx",
          "type": "registry:component",
          "target": "@components/blocks/log-security.tsx"
        }
      ],
      "categories": [
        "blocks",
        "log"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/log-security"
        }
      }
    },
    {
      "name": "login-account",
      "type": "registry:block",
      "title": "Login Account",
      "description": "A two-step account sign-in form that asks for an email, then reveals a password field.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/checkbox",
        "@esuiss-rn/icon",
        "@esuiss-rn/input",
        "@esuiss-rn/keyboard-scroll-view",
        "@esuiss-rn/label",
        "@esuiss-rn/screen",
        "@esuiss-rn/spinner",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/login-account.tsx",
          "type": "registry:component",
          "target": "@components/blocks/login-account.tsx"
        }
      ],
      "categories": [
        "blocks",
        "login"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/login-account"
        }
      }
    },
    {
      "name": "login-passkey",
      "type": "registry:block",
      "title": "Login Passkey",
      "description": "A passwordless sign-in screen that runs a simulated face scan in a dialog, then welcomes the user.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/dialog",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/login-passkey.tsx",
          "type": "registry:component",
          "target": "@components/blocks/login-passkey.tsx"
        }
      ],
      "categories": [
        "blocks",
        "login"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/login-passkey"
        }
      }
    },
    {
      "name": "login-sheet",
      "type": "registry:block",
      "title": "Login Sheet",
      "description": "A mobile app welcome screen with a Sign in with suiss bottom sheet for sharing or hiding an email.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/button",
        "@esuiss-rn/drawer",
        "@esuiss-rn/icon",
        "@esuiss-rn/radio-group",
        "@esuiss-rn/screen",
        "@esuiss-rn/spinner",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/login-sheet.tsx",
          "type": "registry:component",
          "target": "@components/blocks/login-sheet.tsx"
        }
      ],
      "categories": [
        "blocks",
        "login"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/login-sheet"
        }
      }
    },
    {
      "name": "nav-categories",
      "type": "registry:block",
      "title": "Nav Categories",
      "description": "A store landing header with a draggable carousel of category tiles and a heading that follows the selection.",
      "dependencies": [
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/chip",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/nav-categories.tsx",
          "type": "registry:component",
          "target": "@components/blocks/nav-categories.tsx"
        }
      ],
      "categories": [
        "blocks",
        "nav"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/nav-categories"
        }
      }
    },
    {
      "name": "onboarding",
      "type": "registry:block",
      "title": "Onboarding",
      "description": "A paged onboarding flow with illustrations, a page indicator and Continue and Skip buttons.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/carousel",
        "@esuiss-rn/icon",
        "@esuiss-rn/page-indicator",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/onboarding.tsx",
          "type": "registry:component",
          "target": "@components/blocks/onboarding.tsx"
        }
      ],
      "categories": [
        "blocks",
        "onboarding"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/onboarding"
        }
      }
    },
    {
      "name": "permission-primer",
      "type": "registry:block",
      "title": "Permission Primer",
      "description": "A screen that explains why the app needs a permission before asking, with Allow and Not now buttons.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/permission-primer.tsx",
          "type": "registry:component",
          "target": "@components/blocks/permission-primer.tsx"
        }
      ],
      "categories": [
        "blocks",
        "permission"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/permission-primer"
        }
      }
    },
    {
      "name": "price-bundle",
      "type": "registry:block",
      "title": "Price Bundle",
      "description": "A dark subscription bundle picker comparing three plans and the services each one includes.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/price-bundle.tsx",
          "type": "registry:component",
          "target": "@components/blocks/price-bundle.tsx"
        }
      ],
      "categories": [
        "blocks",
        "price"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/price-bundle"
        }
      }
    },
    {
      "name": "price-care",
      "type": "registry:block",
      "title": "Price Care",
      "description": "A device protection plan picker with device chips, payment options, an optional theft add-on, and a live total.",
      "dependencies": [
        "cn",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/radio-group",
        "@esuiss-rn/screen",
        "@esuiss-rn/switch",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/price-care.tsx",
          "type": "registry:component",
          "target": "@components/blocks/price-care.tsx"
        }
      ],
      "categories": [
        "blocks",
        "price"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/price-care"
        }
      }
    },
    {
      "name": "price-storage",
      "type": "registry:block",
      "title": "Price Storage",
      "description": "A cloud storage plan picker with a monthly or yearly toggle, four plan cards, and a switch action.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/radio-group",
        "@esuiss-rn/screen",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/price-storage.tsx",
          "type": "registry:component",
          "target": "@components/blocks/price-storage.tsx"
        }
      ],
      "categories": [
        "blocks",
        "price"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/price-storage"
        }
      }
    },
    {
      "name": "roles-editor",
      "type": "registry:block",
      "title": "Roles Editor",
      "description": "A role editor that lists roles beside grouped permission switches, with save and revert for unsaved changes.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/item",
        "@esuiss-rn/screen",
        "@esuiss-rn/split-view",
        "@esuiss-rn/switch",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/roles-editor.tsx",
          "type": "registry:component",
          "target": "@components/blocks/roles-editor.tsx"
        }
      ],
      "categories": [
        "blocks",
        "roles"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/roles-editor"
        }
      }
    },
    {
      "name": "roles-requests",
      "type": "registry:block",
      "title": "Roles Requests",
      "description": "An access request queue where admins approve or deny permission requests, with an approval length setting.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/empty",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/picker",
        "@esuiss-rn/screen",
        "@esuiss-rn/swipe-actions",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/roles-requests.tsx",
          "type": "registry:component",
          "target": "@components/blocks/roles-requests.tsx"
        }
      ],
      "categories": [
        "blocks",
        "roles"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/roles-requests"
        }
      }
    },
    {
      "name": "settings-account",
      "type": "registry:block",
      "title": "Settings Account",
      "description": "An account settings page with a profile sidebar and a Sign-In and Security section of editable cards.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/input",
        "@esuiss-rn/item",
        "@esuiss-rn/screen",
        "@esuiss-rn/switch",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/settings-account.tsx",
          "type": "registry:component",
          "target": "@components/blocks/settings-account.tsx"
        }
      ],
      "categories": [
        "blocks",
        "settings"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/settings-account"
        }
      }
    },
    {
      "name": "settings-device",
      "type": "registry:block",
      "title": "Settings Device",
      "description": "A phone-style Settings screen with a search field, an account row, and grouped rows with switches.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/avatar",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-group",
        "@esuiss-rn/item",
        "@esuiss-rn/screen",
        "@esuiss-rn/switch",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/settings-device.tsx",
          "type": "registry:component",
          "target": "@components/blocks/settings-device.tsx"
        }
      ],
      "categories": [
        "blocks",
        "settings"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/settings-device"
        }
      }
    },
    {
      "name": "settings-notifications",
      "type": "registry:block",
      "title": "Settings Notifications",
      "description": "Per-app notification settings with a live lock screen preview that reflects each choice.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/item",
        "@esuiss-rn/picker",
        "@esuiss-rn/screen",
        "@esuiss-rn/switch",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/settings-notifications.tsx",
          "type": "registry:component",
          "target": "@components/blocks/settings-notifications.tsx"
        }
      ],
      "categories": [
        "blocks",
        "settings"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/settings-notifications"
        }
      }
    },
    {
      "name": "signup-form",
      "type": "registry:block",
      "title": "Signup Form",
      "description": "A full account creation form with name, country, birthday, email, and password fields and live password rules.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-accessory-bar",
        "@esuiss-rn/keyboard-scroll-view",
        "@esuiss-rn/picker",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/signup-form.tsx",
          "type": "registry:component",
          "target": "@components/blocks/signup-form.tsx"
        }
      ],
      "categories": [
        "blocks",
        "signup"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/signup-form"
        }
      }
    },
    {
      "name": "signup-steps",
      "type": "registry:block",
      "title": "Signup Steps",
      "description": "A one-question-at-a-time signup flow for name, email, and password, with a progress indicator.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/input",
        "@esuiss-rn/keyboard-scroll-view",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/signup-steps.tsx",
          "type": "registry:component",
          "target": "@components/blocks/signup-steps.tsx"
        }
      ],
      "categories": [
        "blocks",
        "signup"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/signup-steps"
        }
      }
    },
    {
      "name": "signup-trial",
      "type": "registry:block",
      "title": "Signup Trial",
      "description": "A free trial signup split between a promotional image panel and a short form with a password strength meter.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/checkbox",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-accessory-bar",
        "@esuiss-rn/keyboard-scroll-view",
        "@esuiss-rn/label",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/signup-trial.tsx",
          "type": "registry:component",
          "target": "@components/blocks/signup-trial.tsx"
        }
      ],
      "categories": [
        "blocks",
        "signup"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/signup-trial"
        }
      }
    },
    {
      "name": "users-detail",
      "type": "registry:block",
      "title": "Users Detail",
      "description": "A user directory with a member list beside a detail pane for profile, sessions, and security settings.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/avatar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/item",
        "@esuiss-rn/picker",
        "@esuiss-rn/screen",
        "@esuiss-rn/split-view",
        "@esuiss-rn/switch",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/users-detail.tsx",
          "type": "registry:component",
          "target": "@components/blocks/users-detail.tsx"
        }
      ],
      "categories": [
        "blocks",
        "users"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/users-detail"
        }
      }
    },
    {
      "name": "users-invite",
      "type": "registry:block",
      "title": "Users Invite",
      "description": "An invite form that collects several email addresses as chips, assigns a role, and lists pending invitations.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/button",
        "@esuiss-rn/chip",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/input",
        "@esuiss-rn/item",
        "@esuiss-rn/keyboard-scroll-view",
        "@esuiss-rn/picker",
        "@esuiss-rn/screen",
        "@esuiss-rn/switch",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text",
        "@esuiss-rn/toast"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/users-invite.tsx",
          "type": "registry:component",
          "target": "@components/blocks/users-invite.tsx"
        }
      ],
      "categories": [
        "blocks",
        "users"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/users-invite"
        }
      }
    },
    {
      "name": "users-table",
      "type": "registry:block",
      "title": "Users Table",
      "description": "A searchable users table with role filters, row selection, and bulk role and status actions.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/avatar",
        "@esuiss-rn/badge",
        "@esuiss-rn/button",
        "@esuiss-rn/chip",
        "@esuiss-rn/header",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-group",
        "@esuiss-rn/screen",
        "@esuiss-rn/selection-list",
        "@esuiss-rn/tab-bar",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/users-table.tsx",
          "type": "registry:component",
          "target": "@components/blocks/users-table.tsx"
        }
      ],
      "categories": [
        "blocks",
        "users"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/users-table"
        }
      }
    },
    {
      "name": "verify-code",
      "type": "registry:block",
      "title": "Verify Code",
      "description": "A two-factor authentication screen with a six-digit code entry, error feedback, and a resend countdown.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-otp",
        "@esuiss-rn/keyboard-scroll-view",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/verify-code.tsx",
          "type": "registry:component",
          "target": "@components/blocks/verify-code.tsx"
        }
      ],
      "categories": [
        "blocks",
        "verify"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/verify-code"
        }
      }
    },
    {
      "name": "verify-device",
      "type": "registry:block",
      "title": "Verify Device",
      "description": "A trusted-device sign-in flow that pairs instructions with a simulated approval alert and code entry.",
      "dependencies": [
        "cn",
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/icon",
        "@esuiss-rn/input-otp",
        "@esuiss-rn/keyboard-scroll-view",
        "@esuiss-rn/screen",
        "@esuiss-rn/spinner",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/verify-device.tsx",
          "type": "registry:component",
          "target": "@components/blocks/verify-device.tsx"
        }
      ],
      "categories": [
        "blocks",
        "verify"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/verify-device"
        }
      }
    },
    {
      "name": "verify-email",
      "type": "registry:block",
      "title": "Verify Email",
      "description": "A check-your-inbox screen after signup, with open mail and resend actions and a cooldown timer.",
      "dependencies": [
        "phosphor-react-native",
        "react-native-reanimated",
        "react-native-svg",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/animated-view",
        "@esuiss-rn/bottom-bar",
        "@esuiss-rn/button",
        "@esuiss-rn/icon",
        "@esuiss-rn/screen",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/blocks/verify-email.tsx",
          "type": "registry:component",
          "target": "@components/blocks/verify-email.tsx"
        }
      ],
      "categories": [
        "blocks",
        "verify"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/blocks/verify-email"
        }
      }
    },
    {
      "name": "area-chart-axes",
      "type": "registry:block",
      "title": "Area Chart Axes",
      "description": "A gradient area with visible dots and a value axis on the right edge of the plot.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-axes.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-axes.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-axes"
        }
      }
    },
    {
      "name": "area-chart-default",
      "type": "registry:block",
      "title": "Area Chart Default",
      "description": "A single filled area with a smooth curve showing one series across six months.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-default.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-default.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-default"
        }
      }
    },
    {
      "name": "area-chart-gradient",
      "type": "registry:block",
      "title": "Area Chart Gradient",
      "description": "Two overlapping areas whose fills fade out toward the bottom using SVG linear gradients.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-gradient.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-gradient.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-gradient"
        }
      }
    },
    {
      "name": "area-chart-interactive",
      "type": "registry:block",
      "title": "Area Chart Interactive",
      "description": "A stock price chart with time-range toggles, a scrubbing cursor that updates the header, and animated transitions between ranges.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-interactive.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-interactive.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-interactive"
        }
      }
    },
    {
      "name": "area-chart-linear",
      "type": "registry:block",
      "title": "Area Chart Linear",
      "description": "A single filled area whose points are joined by straight segments instead of a smoothed curve.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-linear.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-linear.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-linear"
        }
      }
    },
    {
      "name": "area-chart-range",
      "type": "registry:block",
      "title": "Area Chart Range",
      "description": "A heart-rate band showing each hour's low-to-high range as a shaded area with an average line through it.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-range.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-range.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-range"
        }
      }
    },
    {
      "name": "area-chart-sparkline",
      "type": "registry:block",
      "title": "Area Chart Sparkline",
      "description": "A watchlist with a tiny gradient area chart beside each price, colored by whether the stock is rising or falling.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-sparkline.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-sparkline.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-sparkline"
        }
      }
    },
    {
      "name": "area-chart-stacked-expand",
      "type": "registry:block",
      "title": "Area Chart Stacked Expand",
      "description": "Two stacked areas normalized so every month fills 100%, showing each series' share rather than its value.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-stacked-expand.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-stacked-expand.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-stacked-expand"
        }
      }
    },
    {
      "name": "area-chart-stacked",
      "type": "registry:block",
      "title": "Area Chart Stacked",
      "description": "Two areas stacked on top of each other so the top edge shows the combined total, with a legend.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-stacked.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-stacked.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-stacked"
        }
      }
    },
    {
      "name": "area-chart-step",
      "type": "registry:block",
      "title": "Area Chart Step",
      "description": "A single filled area drawn as steps, holding each value flat until the next reading.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/area-chart-step.tsx",
          "type": "registry:component",
          "target": "@components/charts/area-chart-step.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-area"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/area-chart-step"
        }
      }
    },
    {
      "name": "bar-chart-active",
      "type": "registry:block",
      "title": "Bar Chart Active",
      "description": "A week of step counts where clicking a bar selects it, dims the others and updates the header.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-active.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-active.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-active"
        }
      }
    },
    {
      "name": "bar-chart-default",
      "type": "registry:block",
      "title": "Bar Chart Default",
      "description": "A single series of rounded vertical bars, one per month.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-default.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-default.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-default"
        }
      }
    },
    {
      "name": "bar-chart-horizontal",
      "type": "registry:block",
      "title": "Bar Chart Horizontal",
      "description": "Horizontal bars with category names on the left and a distinct color for each category.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-horizontal.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-horizontal.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-horizontal"
        }
      }
    },
    {
      "name": "bar-chart-hourly",
      "type": "registry:block",
      "title": "Bar Chart Hourly",
      "description": "Twenty-four thin bars of screen time per hour, with a dashed line marking the hourly average.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-hourly.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-hourly.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-hourly"
        }
      }
    },
    {
      "name": "bar-chart-interactive",
      "type": "registry:block",
      "title": "Bar Chart Interactive",
      "description": "A screen-time report with stacked category bars, a week and day toggle, selectable days and a most-used apps list.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-interactive.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-interactive.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-interactive"
        }
      }
    },
    {
      "name": "bar-chart-labeled",
      "type": "registry:block",
      "title": "Bar Chart Labeled",
      "description": "A single bar series with each value printed above its bar and no grid lines.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-labeled.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-labeled.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-labeled"
        }
      }
    },
    {
      "name": "bar-chart-multiple",
      "type": "registry:block",
      "title": "Bar Chart Multiple",
      "description": "Two series drawn as grouped bars side by side for each month.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-multiple.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-multiple.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-multiple"
        }
      }
    },
    {
      "name": "bar-chart-negative",
      "type": "registry:block",
      "title": "Bar Chart Negative",
      "description": "Monthly cash flow bars that turn green above zero and red below it, with a zero baseline.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-negative.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-negative.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-negative"
        }
      }
    },
    {
      "name": "bar-chart-range",
      "type": "registry:block",
      "title": "Bar Chart Range",
      "description": "A weather forecast where each horizontal pill spans the day's low and high on a shared gradient scale.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-range.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-range.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-range"
        }
      }
    },
    {
      "name": "bar-chart-stacked",
      "type": "registry:block",
      "title": "Bar Chart Stacked",
      "description": "Two series stacked into one bar per month, with a legend below the plot.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/bar-chart-stacked.tsx",
          "type": "registry:component",
          "target": "@components/charts/bar-chart-stacked.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-bar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/bar-chart-stacked"
        }
      }
    },
    {
      "name": "line-chart-default",
      "type": "registry:block",
      "title": "Line Chart Default",
      "description": "A single smooth line through six months of values, without point markers.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-default.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-default.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-default"
        }
      }
    },
    {
      "name": "line-chart-dots",
      "type": "registry:block",
      "title": "Line Chart Dots",
      "description": "A weight trend with a dot at every monthly reading and a fixed value axis on the right.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-dots.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-dots.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-dots"
        }
      }
    },
    {
      "name": "line-chart-forecast",
      "type": "registry:block",
      "title": "Line Chart Forecast",
      "description": "A solid line for actual values that continues as a dashed forecast over a shaded future range.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-forecast.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-forecast.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-forecast"
        }
      }
    },
    {
      "name": "line-chart-goal-dots",
      "type": "registry:block",
      "title": "Line Chart Goal Dots",
      "description": "Nightly sleep hours with a goal line and dots colored green or orange depending on whether the goal was met.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-goal-dots.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-goal-dots.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-goal-dots"
        }
      }
    },
    {
      "name": "line-chart-goal",
      "type": "registry:block",
      "title": "Line Chart Goal",
      "description": "Daily step counts plotted against a labeled dashed goal line at 10,000 steps.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-goal.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-goal.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-goal"
        }
      }
    },
    {
      "name": "line-chart-interactive",
      "type": "registry:block",
      "title": "Line Chart Interactive",
      "description": "Monthly temperatures for several cities, with chips to show or hide each city and an average, high or low switch.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-interactive.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-interactive.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-interactive"
        }
      }
    },
    {
      "name": "line-chart-labeled",
      "type": "registry:block",
      "title": "Line Chart Labeled",
      "description": "A single line with a dot and a printed value at every point, and no grid.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-labeled.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-labeled.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-labeled"
        }
      }
    },
    {
      "name": "line-chart-linear",
      "type": "registry:block",
      "title": "Line Chart Linear",
      "description": "A single line drawn with straight segments between readings instead of a smoothed curve.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-linear.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-linear.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-linear"
        }
      }
    },
    {
      "name": "line-chart-multiple",
      "type": "registry:block",
      "title": "Line Chart Multiple",
      "description": "Two lines compared on the same axes, with a legend identifying each series.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-multiple.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-multiple.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-multiple"
        }
      }
    },
    {
      "name": "line-chart-step",
      "type": "registry:block",
      "title": "Line Chart Step",
      "description": "A single line drawn as horizontal steps, holding each value until the next reading.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/line-chart-step.tsx",
          "type": "registry:component",
          "target": "@components/charts/line-chart-step.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-line"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/line-chart-step"
        }
      }
    },
    {
      "name": "pie-chart-active",
      "type": "registry:block",
      "title": "Pie Chart Active",
      "description": "A donut where one slice is enlarged and outlined with an outer arc to highlight it.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-active.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-active.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-active"
        }
      }
    },
    {
      "name": "pie-chart-default",
      "type": "registry:block",
      "title": "Pie Chart Default",
      "description": "A full pie split into five device slices, separated by thin card-colored borders.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-default.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-default.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-default"
        }
      }
    },
    {
      "name": "pie-chart-donut-text",
      "type": "registry:block",
      "title": "Pie Chart Donut Text",
      "description": "A donut with the total number of users displayed in the center of the ring.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-donut-text.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-donut-text.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-donut-text"
        }
      }
    },
    {
      "name": "pie-chart-donut",
      "type": "registry:block",
      "title": "Pie Chart Donut",
      "description": "A donut chart with a hollow center and small gaps between slices.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-donut.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-donut.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-donut"
        }
      }
    },
    {
      "name": "pie-chart-half",
      "type": "registry:block",
      "title": "Pie Chart Half",
      "description": "A semicircular gauge-style pie showing battery share by device, with a caption under the arc.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-half.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-half.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-half"
        }
      }
    },
    {
      "name": "pie-chart-interactive",
      "type": "registry:block",
      "title": "Pie Chart Interactive",
      "description": "A storage breakdown donut with a device switch, hover-linked list and lifted slices, plus a linear usage bar.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-interactive.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-interactive.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-interactive"
        }
      }
    },
    {
      "name": "pie-chart-label",
      "type": "registry:block",
      "title": "Pie Chart Label",
      "description": "A pie with each category name drawn outside its slice and joined by a leader line.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-label.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-label.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-label"
        }
      }
    },
    {
      "name": "pie-chart-legend",
      "type": "registry:block",
      "title": "Pie Chart Legend",
      "description": "A donut with a legend beneath it that lists every category and its color.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-legend.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-legend.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-legend"
        }
      }
    },
    {
      "name": "pie-chart-nested",
      "type": "registry:block",
      "title": "Pie Chart Nested",
      "description": "Two concentric pies: an inner ring of grouped totals surrounded by an outer ring of individual categories.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-nested.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-nested.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-nested"
        }
      }
    },
    {
      "name": "pie-chart-separated",
      "type": "registry:block",
      "title": "Pie Chart Separated",
      "description": "A donut whose slices are pulled apart with wide gaps and rounded corners.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/pie-chart-separated.tsx",
          "type": "registry:component",
          "target": "@components/charts/pie-chart-separated.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-pie"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/pie-chart-separated"
        }
      }
    },
    {
      "name": "radar-chart-default",
      "type": "registry:block",
      "title": "Radar Chart Default",
      "description": "A single filled radar shape showing this month's scores across six training skills.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-default.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-default.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-default"
        }
      }
    },
    {
      "name": "radar-chart-dots",
      "type": "registry:block",
      "title": "Radar Chart Dots",
      "description": "A single radar shape with a solid dot marking the value on every axis.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-dots.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-dots.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-dots"
        }
      }
    },
    {
      "name": "radar-chart-grid-circle",
      "type": "registry:block",
      "title": "Radar Chart Grid Circle",
      "description": "A single radar shape drawn over circular rings instead of polygonal grid lines.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-grid-circle.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-grid-circle.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-grid-circle"
        }
      }
    },
    {
      "name": "radar-chart-grid-filled",
      "type": "registry:block",
      "title": "Radar Chart Grid Filled",
      "description": "A borderless radar shape over shaded circular rings separated by card-colored lines.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-grid-filled.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-grid-filled.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-grid-filled"
        }
      }
    },
    {
      "name": "radar-chart-grid-none",
      "type": "registry:block",
      "title": "Radar Chart Grid None",
      "description": "A single solid radar shape with no grid and no outline, leaving only the shape and axis labels.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-grid-none.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-grid-none.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-grid-none"
        }
      }
    },
    {
      "name": "radar-chart-interactive",
      "type": "registry:block",
      "title": "Radar Chart Interactive",
      "description": "A phone model comparison where toggle chips show up to three models, which grow in and out of the radar.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-interactive.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-interactive.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-interactive"
        }
      }
    },
    {
      "name": "radar-chart-legend",
      "type": "registry:block",
      "title": "Radar Chart Legend",
      "description": "Two overlapping radar shapes with a legend beneath that names each series.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-legend.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-legend.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-legend"
        }
      }
    },
    {
      "name": "radar-chart-lines-only",
      "type": "registry:block",
      "title": "Radar Chart Lines Only",
      "description": "Two radar outlines with no fill, comparing this month and last month by stroke alone.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-lines-only.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-lines-only.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-lines-only"
        }
      }
    },
    {
      "name": "radar-chart-multiple",
      "type": "registry:block",
      "title": "Radar Chart Multiple",
      "description": "Two overlapping radar shapes comparing this month with last month.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-multiple.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-multiple.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-multiple"
        }
      }
    },
    {
      "name": "radar-chart-radius-axis",
      "type": "registry:block",
      "title": "Radar Chart Radius Axis",
      "description": "A single radar shape with a visible 0 to 100 value scale along the vertical axis.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radar-chart-radius-axis.tsx",
          "type": "registry:component",
          "target": "@components/charts/radar-chart-radius-axis.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radar"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radar-chart-radius-axis"
        }
      }
    },
    {
      "name": "radial-chart-batteries",
      "type": "registry:block",
      "title": "Radial Chart Batteries",
      "description": "A row of small battery rings, one per device, that turn red when charge is at or below 20%.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-batteries.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-batteries.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-batteries"
        }
      }
    },
    {
      "name": "radial-chart-default",
      "type": "registry:block",
      "title": "Radial Chart Default",
      "description": "Concentric radial bars, one per device, each running around a gray background track.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-default.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-default.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-default"
        }
      }
    },
    {
      "name": "radial-chart-gauge",
      "type": "registry:block",
      "title": "Radial Chart Gauge",
      "description": "A 240-degree gauge arc showing an air quality reading with its value and rating below the center.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-gauge.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-gauge.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-gauge"
        }
      }
    },
    {
      "name": "radial-chart-interactive",
      "type": "registry:block",
      "title": "Radial Chart Interactive",
      "description": "A weekly activity view where picking a day animates three large rings and updates each ring's totals.",
      "dependencies": [
        "cn",
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text",
        "@esuiss-rn/toggle-group"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-interactive.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-interactive.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-interactive"
        }
      }
    },
    {
      "name": "radial-chart-label",
      "type": "registry:block",
      "title": "Radial Chart Label",
      "description": "Concentric radial bars with each category's name printed at the start of its bar.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-label.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-label.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-label"
        }
      }
    },
    {
      "name": "radial-chart-progress",
      "type": "registry:block",
      "title": "Radial Chart Progress",
      "description": "A three-quarter arc tracking progress toward a goal, with the count shown in the center.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-progress.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-progress.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-progress"
        }
      }
    },
    {
      "name": "radial-chart-rings",
      "type": "registry:block",
      "title": "Radial Chart Rings",
      "description": "Three nested activity rings for move, exercise and stand, drawn as plain SVG circles.",
      "dependencies": [
        "react-native-svg"
      ],
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-rings.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-rings.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-rings"
        }
      }
    },
    {
      "name": "radial-chart-stacked",
      "type": "registry:block",
      "title": "Radial Chart Stacked",
      "description": "A half-circle arc with two series stacked end to end and the combined total beneath it.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-stacked.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-stacked.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-stacked"
        }
      }
    },
    {
      "name": "radial-chart-text",
      "type": "registry:block",
      "title": "Radial Chart Text",
      "description": "A single full-circle progress ring with a percentage and caption centered inside.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart",
        "@esuiss-rn/text"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-text.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-text.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-text"
        }
      }
    },
    {
      "name": "radial-chart-tinted",
      "type": "registry:block",
      "title": "Radial Chart Tinted",
      "description": "Concentric radial bars whose unfilled track is a soft tint of each bar's own color.",
      "registryDependencies": [
        "@esuiss-rn/card",
        "@esuiss-rn/chart"
      ],
      "files": [
        {
          "path": "nativewind/components/charts/radial-chart-tinted.tsx",
          "type": "registry:component",
          "target": "@components/charts/radial-chart-tinted.tsx"
        }
      ],
      "categories": [
        "charts",
        "charts-radial"
      ],
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/charts/radial-chart-tinted"
        }
      }
    },
    {
      "name": "primitives-accordion",
      "type": "registry:component",
      "title": "Accordion Primitive",
      "description": "The headless accordion behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/accordion.tsx",
          "type": "registry:component",
          "target": "@components/primitives/accordion.tsx"
        }
      ]
    },
    {
      "name": "primitives-alert-dialog",
      "type": "registry:component",
      "title": "Alert Dialog Primitive",
      "description": "The headless alert dialog behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-dialog",
        "@esuiss-rn/primitives-floating-root"
      ],
      "files": [
        {
          "path": "components/primitives/alert-dialog.tsx",
          "type": "registry:component",
          "target": "@components/primitives/alert-dialog.tsx"
        }
      ]
    },
    {
      "name": "primitives-aspect-ratio",
      "type": "registry:component",
      "title": "Aspect Ratio Primitive",
      "description": "The headless aspect ratio behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/aspect-ratio.tsx",
          "type": "registry:component",
          "target": "@components/primitives/aspect-ratio.tsx"
        }
      ]
    },
    {
      "name": "primitives-avatar",
      "type": "registry:component",
      "title": "Avatar Primitive",
      "description": "The headless avatar behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/avatar.tsx",
          "type": "registry:component",
          "target": "@components/primitives/avatar.tsx"
        }
      ]
    },
    {
      "name": "primitives-calendar",
      "type": "registry:component",
      "title": "Calendar Primitive",
      "description": "The headless calendar behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/calendar.tsx",
          "type": "registry:component",
          "target": "@components/primitives/calendar.tsx"
        }
      ]
    },
    {
      "name": "primitives-carousel",
      "type": "registry:component",
      "title": "Carousel Primitive",
      "description": "The headless carousel behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/carousel.tsx",
          "type": "registry:component",
          "target": "@components/primitives/carousel.tsx"
        }
      ]
    },
    {
      "name": "primitives-chart",
      "type": "registry:component",
      "title": "Chart Primitive",
      "description": "The headless chart behavior the components build on.",
      "dependencies": [
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-haptics"
      ],
      "files": [
        {
          "path": "components/primitives/chart.tsx",
          "type": "registry:component",
          "target": "@components/primitives/chart.tsx"
        }
      ]
    },
    {
      "name": "primitives-checkbox-group",
      "type": "registry:component",
      "title": "Checkbox Group Primitive",
      "description": "The headless checkbox group behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/checkbox-group.tsx",
          "type": "registry:component",
          "target": "@components/primitives/checkbox-group.tsx"
        }
      ]
    },
    {
      "name": "primitives-checkbox",
      "type": "registry:component",
      "title": "Checkbox Primitive",
      "description": "The headless checkbox behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-checkbox-group",
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/checkbox.tsx",
          "type": "registry:component",
          "target": "@components/primitives/checkbox.tsx"
        }
      ]
    },
    {
      "name": "primitives-collapsible",
      "type": "registry:component",
      "title": "Collapsible Primitive",
      "description": "The headless collapsible behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/collapsible.tsx",
          "type": "registry:component",
          "target": "@components/primitives/collapsible.tsx"
        }
      ]
    },
    {
      "name": "primitives-combobox",
      "type": "registry:component",
      "title": "Combobox Primitive",
      "description": "The headless combobox behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-floating-root",
        "@esuiss-rn/primitives-positioner",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/combobox.tsx",
          "type": "registry:component",
          "target": "@components/primitives/combobox.tsx"
        }
      ]
    },
    {
      "name": "primitives-context-menu",
      "type": "registry:component",
      "title": "Context Menu Primitive",
      "description": "The headless context menu behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-menu",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/context-menu.tsx",
          "type": "registry:component",
          "target": "@components/primitives/context-menu.tsx"
        }
      ]
    },
    {
      "name": "primitives-dialog",
      "type": "registry:component",
      "title": "Dialog Primitive",
      "description": "The headless dialog behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-floating-root",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/dialog.tsx",
          "type": "registry:component",
          "target": "@components/primitives/dialog.tsx"
        }
      ]
    },
    {
      "name": "primitives-drawer",
      "type": "registry:component",
      "title": "Drawer Primitive",
      "description": "The headless drawer behavior the components build on.",
      "dependencies": [
        "react-native-gesture-handler",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-dialog",
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-floating-root",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/drawer.tsx",
          "type": "registry:component",
          "target": "@components/primitives/drawer.tsx"
        }
      ]
    },
    {
      "name": "primitives-event-details",
      "type": "registry:component",
      "title": "Event Details Primitive",
      "description": "The headless event details behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-types"
      ],
      "files": [
        {
          "path": "components/primitives/event-details.ts",
          "type": "registry:component",
          "target": "@components/primitives/event-details.ts"
        }
      ]
    },
    {
      "name": "primitives-field",
      "type": "registry:component",
      "title": "Field Primitive",
      "description": "The headless field behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-fieldset",
        "@esuiss-rn/primitives-form",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/field.tsx",
          "type": "registry:component",
          "target": "@components/primitives/field.tsx"
        }
      ]
    },
    {
      "name": "primitives-fieldset",
      "type": "registry:component",
      "title": "Fieldset Primitive",
      "description": "The headless fieldset behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/fieldset.tsx",
          "type": "registry:component",
          "target": "@components/primitives/fieldset.tsx"
        }
      ]
    },
    {
      "name": "primitives-floating-root",
      "type": "registry:component",
      "title": "Floating Root Primitive",
      "description": "The headless floating root behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state"
      ],
      "files": [
        {
          "path": "components/primitives/floating-root.tsx",
          "type": "registry:component",
          "target": "@components/primitives/floating-root.tsx"
        }
      ]
    },
    {
      "name": "primitives-form",
      "type": "registry:component",
      "title": "Form Primitive",
      "description": "The headless form behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/form.tsx",
          "type": "registry:component",
          "target": "@components/primitives/form.tsx"
        }
      ]
    },
    {
      "name": "primitives-haptics",
      "type": "registry:component",
      "title": "Haptics Primitive",
      "description": "The headless haptics behavior the components build on.",
      "files": [
        {
          "path": "components/primitives/haptics.tsx",
          "type": "registry:component",
          "target": "@components/primitives/haptics.tsx"
        }
      ]
    },
    {
      "name": "primitives-hooks",
      "type": "registry:component",
      "title": "Hooks Primitive",
      "description": "The headless hooks behavior the components build on.",
      "files": [
        {
          "path": "components/primitives/hooks.ts",
          "type": "registry:component",
          "target": "@components/primitives/hooks.ts"
        }
      ]
    },
    {
      "name": "primitives-image-viewer",
      "type": "registry:component",
      "title": "Image Viewer Primitive",
      "description": "The headless image viewer behavior the components build on.",
      "dependencies": [
        "react-native-gesture-handler",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/image-viewer.tsx",
          "type": "registry:component",
          "target": "@components/primitives/image-viewer.tsx"
        }
      ]
    },
    {
      "name": "primitives-input",
      "type": "registry:component",
      "title": "Input Primitive",
      "description": "The headless input behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-field"
      ],
      "files": [
        {
          "path": "components/primitives/input.tsx",
          "type": "registry:component",
          "target": "@components/primitives/input.tsx"
        }
      ]
    },
    {
      "name": "primitives-keyboard",
      "type": "registry:component",
      "title": "Keyboard Primitive",
      "description": "The headless keyboard behavior the components build on.",
      "files": [
        {
          "path": "components/primitives/keyboard.ts",
          "type": "registry:component",
          "target": "@components/primitives/keyboard.ts"
        }
      ]
    },
    {
      "name": "primitives-label",
      "type": "registry:component",
      "title": "Label Primitive",
      "description": "The headless label behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/label.tsx",
          "type": "registry:component",
          "target": "@components/primitives/label.tsx"
        }
      ]
    },
    {
      "name": "primitives-menu",
      "type": "registry:component",
      "title": "Menu Primitive",
      "description": "The headless menu behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-floating-root",
        "@esuiss-rn/primitives-positioner",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/menu.tsx",
          "type": "registry:component",
          "target": "@components/primitives/menu.tsx"
        }
      ]
    },
    {
      "name": "primitives-merge-props",
      "type": "registry:component",
      "title": "Merge Props Primitive",
      "description": "The headless merge props behavior the components build on.",
      "files": [
        {
          "path": "components/primitives/merge-props.ts",
          "type": "registry:component",
          "target": "@components/primitives/merge-props.ts"
        }
      ]
    },
    {
      "name": "primitives-number-field",
      "type": "registry:component",
      "title": "Number Field Primitive",
      "description": "The headless number field behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/number-field.tsx",
          "type": "registry:component",
          "target": "@components/primitives/number-field.tsx"
        }
      ]
    },
    {
      "name": "primitives-otp-field",
      "type": "registry:component",
      "title": "OTP Field Primitive",
      "description": "The headless otp field behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/otp-field.tsx",
          "type": "registry:component",
          "target": "@components/primitives/otp-field.tsx"
        }
      ]
    },
    {
      "name": "primitives-popover",
      "type": "registry:component",
      "title": "Popover Primitive",
      "description": "The headless popover behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-floating-root",
        "@esuiss-rn/primitives-positioner",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/popover.tsx",
          "type": "registry:component",
          "target": "@components/primitives/popover.tsx"
        }
      ]
    },
    {
      "name": "primitives-portal",
      "type": "registry:component",
      "title": "Portal Primitive",
      "description": "The headless portal behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-haptics"
      ],
      "files": [
        {
          "path": "components/primitives/portal.tsx",
          "type": "registry:component",
          "target": "@components/primitives/portal.tsx"
        }
      ]
    },
    {
      "name": "primitives-positioner",
      "type": "registry:component",
      "title": "Positioner Primitive",
      "description": "The headless positioner behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-floating-root",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/positioner.tsx",
          "type": "registry:component",
          "target": "@components/primitives/positioner.tsx"
        }
      ]
    },
    {
      "name": "primitives-preview-menu",
      "type": "registry:component",
      "title": "Preview Menu Primitive",
      "description": "The headless preview menu behavior the components build on.",
      "dependencies": [
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-menu",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/preview-menu.tsx",
          "type": "registry:component",
          "target": "@components/primitives/preview-menu.tsx"
        }
      ]
    },
    {
      "name": "primitives-progress",
      "type": "registry:component",
      "title": "Progress Primitive",
      "description": "The headless progress behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/progress.tsx",
          "type": "registry:component",
          "target": "@components/primitives/progress.tsx"
        }
      ]
    },
    {
      "name": "primitives-radio-group",
      "type": "registry:component",
      "title": "Radio Group Primitive",
      "description": "The headless radio group behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/radio-group.tsx",
          "type": "registry:component",
          "target": "@components/primitives/radio-group.tsx"
        }
      ]
    },
    {
      "name": "primitives-radio",
      "type": "registry:component",
      "title": "Radio Primitive",
      "description": "The headless radio behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-radio-group",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/radio.tsx",
          "type": "registry:component",
          "target": "@components/primitives/radio.tsx"
        }
      ]
    },
    {
      "name": "primitives-section-index",
      "type": "registry:component",
      "title": "Section Index Primitive",
      "description": "The headless section index behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/section-index.tsx",
          "type": "registry:component",
          "target": "@components/primitives/section-index.tsx"
        }
      ]
    },
    {
      "name": "primitives-select",
      "type": "registry:component",
      "title": "Select Primitive",
      "description": "The headless select behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-floating-root",
        "@esuiss-rn/primitives-positioner",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/select.tsx",
          "type": "registry:component",
          "target": "@components/primitives/select.tsx"
        }
      ]
    },
    {
      "name": "primitives-separator",
      "type": "registry:component",
      "title": "Separator Primitive",
      "description": "The headless separator behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/separator.tsx",
          "type": "registry:component",
          "target": "@components/primitives/separator.tsx"
        }
      ]
    },
    {
      "name": "primitives-slider",
      "type": "registry:component",
      "title": "Slider Primitive",
      "description": "The headless slider behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/slider.tsx",
          "type": "registry:component",
          "target": "@components/primitives/slider.tsx"
        }
      ]
    },
    {
      "name": "primitives-switch",
      "type": "registry:component",
      "title": "Switch Primitive",
      "description": "The headless switch behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/switch.tsx",
          "type": "registry:component",
          "target": "@components/primitives/switch.tsx"
        }
      ]
    },
    {
      "name": "primitives-tabs",
      "type": "registry:component",
      "title": "Tabs Primitive",
      "description": "The headless tabs behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/tabs.tsx",
          "type": "registry:component",
          "target": "@components/primitives/tabs.tsx"
        }
      ]
    },
    {
      "name": "primitives-toast",
      "type": "registry:component",
      "title": "Toast Primitive",
      "description": "The headless toast behavior the components build on.",
      "dependencies": [
        "react-native-gesture-handler",
        "react-native-reanimated",
        "react-native-worklets"
      ],
      "registryDependencies": [
        "@esuiss-rn/primitives-portal",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/toast.tsx",
          "type": "registry:component",
          "target": "@components/primitives/toast.tsx"
        }
      ]
    },
    {
      "name": "primitives-toggle-group",
      "type": "registry:component",
      "title": "Toggle Group Primitive",
      "description": "The headless toggle group behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/toggle-group.tsx",
          "type": "registry:component",
          "target": "@components/primitives/toggle-group.tsx"
        }
      ]
    },
    {
      "name": "primitives-toggle",
      "type": "registry:component",
      "title": "Toggle Primitive",
      "description": "The headless toggle behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-toggle-group",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/toggle.tsx",
          "type": "registry:component",
          "target": "@components/primitives/toggle.tsx"
        }
      ]
    },
    {
      "name": "primitives-types",
      "type": "registry:component",
      "title": "Types Primitive",
      "description": "The headless types behavior the components build on.",
      "files": [
        {
          "path": "components/primitives/types.ts",
          "type": "registry:component",
          "target": "@components/primitives/types.ts"
        }
      ]
    },
    {
      "name": "primitives-use-controllable-state",
      "type": "registry:component",
      "title": "Use Controllable State Primitive",
      "description": "The headless use controllable state behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types"
      ],
      "files": [
        {
          "path": "components/primitives/use-controllable-state.ts",
          "type": "registry:component",
          "target": "@components/primitives/use-controllable-state.ts"
        }
      ]
    },
    {
      "name": "primitives-use-render",
      "type": "registry:component",
      "title": "Use Render Primitive",
      "description": "The headless use render behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-merge-props",
        "@esuiss-rn/primitives-types"
      ],
      "files": [
        {
          "path": "components/primitives/use-render.tsx",
          "type": "registry:component",
          "target": "@components/primitives/use-render.tsx"
        }
      ]
    },
    {
      "name": "primitives-wheel-picker",
      "type": "registry:component",
      "title": "Wheel Picker Primitive",
      "description": "The headless wheel picker behavior the components build on.",
      "registryDependencies": [
        "@esuiss-rn/primitives-event-details",
        "@esuiss-rn/primitives-haptics",
        "@esuiss-rn/primitives-hooks",
        "@esuiss-rn/primitives-types",
        "@esuiss-rn/primitives-use-controllable-state",
        "@esuiss-rn/primitives-use-render"
      ],
      "files": [
        {
          "path": "components/primitives/wheel-picker.tsx",
          "type": "registry:component",
          "target": "@components/primitives/wheel-picker.tsx"
        }
      ]
    },
    {
      "name": "theme-suiss",
      "title": "suiss/ui Theme",
      "description": "The suiss/ui colors for light and dark mode as CSS variables, with the Tailwind CSS v3 colors, type scale, shadows and radius scale.",
      "meta": {
        "links": {
          "docs": "https://ui.suiss.app/docs/theming"
        }
      },
      "type": "registry:theme",
      "tailwind": {
        "config": {
          "darkMode": "class",
          "theme": {
            "extend": {
              "colors": {
                "background": "var(--background)",
                "foreground": "var(--foreground)",
                "card": "var(--card)",
                "card-foreground": "var(--card-foreground)",
                "popover": "var(--popover)",
                "popover-foreground": "var(--popover-foreground)",
                "primary": "var(--primary)",
                "primary-foreground": "var(--primary-foreground)",
                "secondary": "var(--secondary)",
                "secondary-foreground": "var(--secondary-foreground)",
                "muted": "var(--muted)",
                "muted-foreground": "var(--muted-foreground)",
                "accent": "var(--accent)",
                "accent-foreground": "var(--accent-foreground)",
                "destructive": "var(--destructive)",
                "border": "var(--border)",
                "input": "var(--input)",
                "ring": "var(--ring)",
                "chart-1": "var(--chart-1)",
                "chart-2": "var(--chart-2)",
                "chart-3": "var(--chart-3)",
                "chart-4": "var(--chart-4)",
                "chart-5": "var(--chart-5)",
                "sidebar": "var(--sidebar)",
                "sidebar-foreground": "var(--sidebar-foreground)",
                "sidebar-primary": "var(--sidebar-primary)",
                "sidebar-primary-foreground": "var(--sidebar-primary-foreground)",
                "sidebar-accent": "var(--sidebar-accent)",
                "sidebar-accent-foreground": "var(--sidebar-accent-foreground)",
                "sidebar-border": "var(--sidebar-border)",
                "sidebar-ring": "var(--sidebar-ring)",
                "background-20": "var(--background-20)",
                "border-30": "var(--border-30)",
                "border-40": "var(--border-40)",
                "border-50": "var(--border-50)",
                "destructive-5": "var(--destructive-5)",
                "destructive-10": "var(--destructive-10)",
                "destructive-20": "var(--destructive-20)",
                "foreground-5": "var(--foreground-5)",
                "foreground-10": "var(--foreground-10)",
                "foreground-15": "var(--foreground-15)",
                "foreground-20": "var(--foreground-20)",
                "foreground-25": "var(--foreground-25)",
                "muted-50": "var(--muted-50)",
                "muted-60": "var(--muted-60)",
                "muted-foreground-50": "var(--muted-foreground-50)",
                "muted-foreground-60": "var(--muted-foreground-60)",
                "primary-10": "var(--primary-10)",
                "primary-12": "var(--primary-12)",
                "primary-20": "var(--primary-20)",
                "primary-25": "var(--primary-25)",
                "ring-50": "var(--ring-50)",
                "red": {
                  "500": "#fb2c36"
                },
                "orange": {
                  "500": "#ff6900"
                },
                "amber": {
                  "400": "#ffb900",
                  "500": "#fe9a00",
                  "600": "#e17100"
                },
                "yellow": {
                  "500": "#f0b100"
                },
                "green": {
                  "400": "#05df72",
                  "500": "#00c950",
                  "600": "#00a63e"
                },
                "teal": {
                  "400": "#00d5be",
                  "500": "#00bba7"
                },
                "cyan": {
                  "500": "#00b8db"
                },
                "blue": {
                  "500": "#2b7fff"
                },
                "indigo": {
                  "500": "#615fff"
                },
                "purple": {
                  "500": "#ad46ff"
                },
                "pink": {
                  "500": "#f6339a"
                },
                "zinc": {
                  "500": "#71717b"
                }
              },
              "borderRadius": {
                "xs": "3px",
                "sm": "5px",
                "md": "8px",
                "lg": "10px",
                "xl": "12px",
                "2xl": "18px",
                "3xl": "28px"
              },
              "fontSize": {
                "xs": [
                  "12px",
                  {
                    "lineHeight": "16px"
                  }
                ],
                "sm": [
                  "14px",
                  {
                    "lineHeight": "20px"
                  }
                ],
                "base": [
                  "16px",
                  {
                    "lineHeight": "24px"
                  }
                ],
                "lg": [
                  "18px",
                  {
                    "lineHeight": "28px"
                  }
                ],
                "xl": [
                  "20px",
                  {
                    "lineHeight": "28px"
                  }
                ],
                "2xl": [
                  "24px",
                  {
                    "lineHeight": "32px"
                  }
                ],
                "3xl": [
                  "30px",
                  {
                    "lineHeight": "36px"
                  }
                ]
              },
              "boxShadow": {
                "md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
                "lg": "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"
              }
            }
          }
        }
      },
      "css": {
        "@layer base": {
          ":root": {
            "--background": "#ffffff",
            "--foreground": "#1d1d1f",
            "--card": "#ffffff",
            "--card-foreground": "#1d1d1f",
            "--popover": "#ffffff",
            "--popover-foreground": "#1d1d1f",
            "--primary": "#0071e3",
            "--primary-foreground": "#ffffff",
            "--secondary": "rgba(0, 0, 0, 0.04)",
            "--secondary-foreground": "#1d1d1f",
            "--muted": "#f5f5f7",
            "--muted-foreground": "#6e6e73",
            "--accent": "rgba(0, 0, 0, 0.06)",
            "--accent-foreground": "#1d1d1f",
            "--destructive": "#d0000a",
            "--border": "#d2d2d7",
            "--input": "#86868b",
            "--ring": "#0071e3",
            "--chart-1": "#007aff",
            "--chart-2": "#30b0c7",
            "--chart-3": "#5856d6",
            "--chart-4": "#ff9500",
            "--chart-5": "#8e8e93",
            "--sidebar": "#f5f5f7",
            "--sidebar-foreground": "#1d1d1f",
            "--sidebar-primary": "#0071e3",
            "--sidebar-primary-foreground": "#ffffff",
            "--sidebar-accent": "rgba(0, 0, 0, 0.06)",
            "--sidebar-accent-foreground": "#1d1d1f",
            "--sidebar-border": "#d2d2d7",
            "--sidebar-ring": "#0071e3",
            "--background-20": "rgba(255, 255, 255, 0.2)",
            "--border-30": "rgba(210, 210, 215, 0.3)",
            "--border-40": "rgba(210, 210, 215, 0.4)",
            "--border-50": "rgba(210, 210, 215, 0.5)",
            "--destructive-5": "rgba(208, 0, 10, 0.05)",
            "--destructive-10": "rgba(208, 0, 10, 0.1)",
            "--destructive-20": "rgba(208, 0, 10, 0.2)",
            "--foreground-5": "rgba(29, 29, 31, 0.05)",
            "--foreground-10": "rgba(29, 29, 31, 0.1)",
            "--foreground-15": "rgba(29, 29, 31, 0.15)",
            "--foreground-20": "rgba(29, 29, 31, 0.2)",
            "--foreground-25": "rgba(29, 29, 31, 0.25)",
            "--muted-50": "rgba(245, 245, 247, 0.5)",
            "--muted-60": "rgba(245, 245, 247, 0.6)",
            "--muted-foreground-50": "rgba(110, 110, 115, 0.5)",
            "--muted-foreground-60": "rgba(110, 110, 115, 0.6)",
            "--primary-10": "rgba(0, 113, 227, 0.1)",
            "--primary-12": "rgba(0, 113, 227, 0.12)",
            "--primary-20": "rgba(0, 113, 227, 0.2)",
            "--primary-25": "rgba(0, 113, 227, 0.25)",
            "--ring-50": "rgba(0, 113, 227, 0.5)"
          },
          ".dark:root": {
            "--background": "#000000",
            "--foreground": "#f5f5f7",
            "--card": "#1d1d1f",
            "--card-foreground": "#f5f5f7",
            "--popover": "#1d1d1f",
            "--popover-foreground": "#f5f5f7",
            "--primary": "#2997ff",
            "--primary-foreground": "#ffffff",
            "--secondary": "rgba(255, 255, 255, 0.1)",
            "--secondary-foreground": "#f5f5f7",
            "--muted": "#161617",
            "--muted-foreground": "#a1a1a6",
            "--accent": "rgba(255, 255, 255, 0.1)",
            "--accent-foreground": "#f5f5f7",
            "--destructive": "#ff5447",
            "--border": "#424245",
            "--input": "#6e6e73",
            "--ring": "#0071e3",
            "--chart-1": "#0a84ff",
            "--chart-2": "#40c8e0",
            "--chart-3": "#5e5ce6",
            "--chart-4": "#ff9f0a",
            "--chart-5": "#8e8e93",
            "--sidebar": "#161617",
            "--sidebar-foreground": "#f5f5f7",
            "--sidebar-primary": "#2997ff",
            "--sidebar-primary-foreground": "#ffffff",
            "--sidebar-accent": "rgba(255, 255, 255, 0.1)",
            "--sidebar-accent-foreground": "#f5f5f7",
            "--sidebar-border": "#424245",
            "--sidebar-ring": "#0071e3",
            "--background-20": "rgba(0, 0, 0, 0.2)",
            "--border-30": "rgba(66, 66, 69, 0.3)",
            "--border-40": "rgba(66, 66, 69, 0.4)",
            "--border-50": "rgba(66, 66, 69, 0.5)",
            "--destructive-5": "rgba(255, 84, 71, 0.05)",
            "--destructive-10": "rgba(255, 84, 71, 0.1)",
            "--destructive-20": "rgba(255, 84, 71, 0.2)",
            "--foreground-5": "rgba(245, 245, 247, 0.05)",
            "--foreground-10": "rgba(245, 245, 247, 0.1)",
            "--foreground-15": "rgba(245, 245, 247, 0.15)",
            "--foreground-20": "rgba(245, 245, 247, 0.2)",
            "--foreground-25": "rgba(245, 245, 247, 0.25)",
            "--muted-50": "rgba(22, 22, 23, 0.5)",
            "--muted-60": "rgba(22, 22, 23, 0.6)",
            "--muted-foreground-50": "rgba(161, 161, 166, 0.5)",
            "--muted-foreground-60": "rgba(161, 161, 166, 0.6)",
            "--primary-10": "rgba(41, 151, 255, 0.1)",
            "--primary-12": "rgba(41, 151, 255, 0.12)",
            "--primary-20": "rgba(41, 151, 255, 0.2)",
            "--primary-25": "rgba(41, 151, 255, 0.25)",
            "--ring-50": "rgba(0, 113, 227, 0.5)"
          }
        }
      }
    }
  ]
}
